项目中遇到了一个需求:对自建表的数据进行操作的时候,需要对更改信息进行记录,到字段级别~
使用到了SAP 的chenge document 功能.
Tcode : SCDO
首先建立一个自己的change document object ,在对象里面填上需要记录的表的名字. 要是需要记录删除字段信息的话,把第二个checkbox选上.
然后选择生成更新程序 -> 保存.
点击生成信息的话,可以看见生成的程序还有function module信息,要是上面截图第一个checkbox被选择的话,还会生成新的structure .
到这里,change document object就建立好了~
在程序里面直接调用生成的function module把原始值和更新值传进去就可以了`
*------------------start-----------------------------------------------*
REFRESH : lt_icdtxt .
CALL FUNCTION 'ZYW8_WRITE_DOCUMENT'
EXPORTING
objectid = ls-objectid
tcode = ls-tcode
utime = ls-utime
udate = ls-udate
username = ls-username
* PLANNED_CHANGE_NUMBER = ' '
object_change_indicator = 'U'
* PLANNED_OR_REAL_CHANGES = ' '
* NO_CHANGE_POINTERS = ' '
* UPD_ICDTXT_ZYW8 = ' '
upd_zidowndata = 'U'
TABLES
icdtxt_zyw8 = lt_icdtxt
xzidowndata = lt_8_new
yzidowndata = lt_8_old .
*------------------end-------------------------------------------------*
SAP提供了一个标准的报表查看修改记录: RSSCD100 .
需要注意的一点,凡是需要记录的字段,dataelement里面的 changedocument属性必须设置~
其他注意事项,可以参见下面的link~