如何将表更改记录写入表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.查看更改记录,可以看到记录成功!
竟然有后续???
写表更改记录下篇