自建表数据修改记录实现——CDHDR/CDPOS
需积分: 43 126 浏览量
更新于2024-09-11
收藏 209KB DOC 举报
"这篇文档介绍了如何使用ABAP编程在自建表中创建更新程序,以记录数据修改的历史,特别是针对ZFI16表的退税率维护更改历史。通过配置特定字段的数据元素和调用相关程序,可以实现对自建表的修改记录存储到标准记录表CDHDR/CDPOS中。"
在 SAP ABAP 开发环境中,记录自建表的数据修改历史是非常重要的,这有助于追踪系统中关键数据的变化情况。本文档主要涉及两个关键知识点:
1. **配置数据元素的更改文档功能**:
当需要记录特定字段的修改历史时,首先需要在数据元素的Further characteristics视图中启用更改文档功能。这样做会确保每次该字段被修改时,系统都会自动创建一个更改记录。例如,对于ZFI16表的退税率字段,需要在对应的TCODE: SCDO中进行配置,设置参数以触发更改文档的创建。
2. **编写程序FORMCHANGE_DOCUMENT_CREATE**:
为了实际创建和存储这些更改记录,需要编写ABAP程序。文中提到的`FORMCHANGE_DOCUMENT_CREATE`是一个关键的程序段,它定义了如何处理数据的旧值和新值,并调用函数模块`ZFI16_WRITE_DOCUMENT`来写入更改记录。在这个过程中,`DA_OBJECTID`用于存储对象ID,`UTIME`和`UDATE`记录更改时间,`USERNAME`记录执行更改的用户,而`OBJECT_CHANGE_INDICATOR='U'`表示是更新操作。
- `READTABLE`语句用于获取字段的新值。
- 函数模块`ZFI16_WRITE_DOCUMENT`接收必要的参数,如对象ID、事务码(在本例中是'ZS69')、更改时间、用户名等,以及包含旧值和新值的表格,然后将这些信息写入CDHDR/CDPOS表。
在实际操作中,这个程序会在数据保存时被调用,通过`WHEN 'SAVE'.`语句触发`PERFORM CHANGE_DOCUMENT_CREATE`,从而确保每次保存时都记录修改。
参考文档BC414的P220-P227提供了更深入的信息,对于理解更改凭证的创建过程和细节至关重要。
通过这样的方法,不仅能够满足ZFI16表退税率维护更改历史的记录需求,还可以扩展到其他自建表的关键字段,以实现整个系统的数据变更审计。这种做法对于符合合规性要求,尤其是在财务或审计领域,是非常有价值的。
2116 浏览量
5343 浏览量
154 浏览量
2853 浏览量
384 浏览量
222 浏览量
2024-10-30 上传
2024-10-31 上传
2024-10-30 上传
huanxia1008
- 粉丝: 0
- 资源: 3