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

如何将表更改记录写入表CDHDR/CDPOS。
发布日期:2024/7/10
案例,删除配额项目EQUP时记录删除记录。

1.在表TCDOB中查询表的对象类OBJECTCLAS
在这里插入图片描述

2.执行事务码SCDO,查询对象类的生成信息
在这里插入图片描述
3.找出对象类的更新函数模块
在这里插入图片描述
4.调用该更新函数模块记录更改。
下面的代码是删除配额0000000110行项目002,并写下了删除记录。

DATA: lv_objectid TYPE cdhdr-objectid,
      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.
*删除配额0000000110,行项目002
SELECT * FROM equp AS a
WHERE a~qunum = '0000000110'
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   "更新后
    yequk = lt_yequk
    yequp = lt_yequp.  "更新前

*写删除记录
lv_objectid = '0000000110'.
CALL FUNCTION 'QUOTEN_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.

5.查看更改记录,可以看到记录成功!
在这里插入图片描述
在这里插入图片描述

竟然有后续???
写表更改记录下篇

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值