SAP ABAP 写更改记录到表CDHDR/CDPOS 下篇

表更改记录上篇

写入表更改记录下篇

发布日期:2024/07/11

继上一篇的内容,用户测试的过程中发现,还是查不到写入记录。最后发现,我使用的系统环境,更改表equp时,对象类是QUOTEN2。基于此,当一个通过表TCDOB能查出多个对象类时,我们最好通过标准功能更改任意一条目标表的数据。再去查表CDHDR确定对象类和对象ID的格式。

下图中,我通过事务码MEQ3修改了一条配额,可以确定对象类(QUOTEN2)和对象ID(物料+工厂)。
在这里插入图片描述
因此我调整了代码:

*&---------------------------------------------------------------------*
*& Report ZMM_RPT_538_WU
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zmm_rpt_538_wu.

DATA: lv_objectid TYPE cdobjectv,
      lt_xequk    TYPE STANDARD TABLE OF equku,
      lt_xequp    TYPE STANDARD TABLE OF uequp,
      lt_yequk    TYPE STANDARD TABLE OF equku,
      lt_yequp    TYPE STANDARD TABLE OF uequp.
DATA :lv_matnr    TYPE char40 VALUE '000000000001000473',
      lv_werks    TYPE char4  VALUE '3121'.

*物料去掉前导0,与工厂拼接时保留了空格占位
lv_matnr = |{ lv_matnr ALPHA = OUT }|.
CONCATENATE lv_matnr lv_werks INTO lv_objectid RESPECTING BLANKS.

SELECT * FROM equp AS a
 WHERE a~qunum = '0000001381'
   AND a~qupos ='002'
  INTO TABLE @DATA(lt_del).

MOVE-CORRESPONDING lt_del TO lt_yequp.
CALL FUNCTION 'ME_UPDATE_QUOTA'
  TABLES
    xequk = lt_xequk
    xequp = lt_xequp   "new
    yequk = lt_yequk
    yequp = lt_yequp.  "old

CALL FUNCTION 'QUOTEN2_WRITE_DOCUMENT'
  EXPORTING
    objectid                = lv_objectid
    tcode                   = sy-tcode
    utime                   = sy-uzeit
    udate                   = sy-datum
    username                = sy-uname
*   PLANNED_CHANGE_NUMBER   = ' '
    object_change_indicator = 'D'
*   PLANNED_OR_REAL_CHANGES = ' '
*   NO_CHANGE_POINTERS      = ' '
*   UPD_EQUKC               = ' '
    upd_equp                = 'D'
  TABLES
*   XEQUKC                  =
*   YEQUKC                  =
    xequp                   = lt_xequp
    yequp                   = lt_yequp.

1.删除前的配额记录
在这里插入图片描述
在这里插入图片描述

2.配额项目删除后,确认删除记录。记录成功啦!
在这里插入图片描述
在这里插入图片描述

  • 21
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值