在SAP维护主数据、创建单据过程中,如果发生修改,则会生成更改日志,而这些日志则存放到CDHDR、CDPOS两张主子表中,其中CDHDR是抬头表,CDPOS是项目表。
在抬头表CDHDR和项目表CDPOS中,都包含字段OBJECTCLAS(对象),它的值决定变更的主数据和凭证类型,部分值如表 1所示。
OBJECTCLAS值 | 主数据或凭证类型 |
VERKBELEG | 销售凭证(含合同、订单等) |
EINKBELEG | 采购订单(PO) |
BANF | 采购申请(PR) |
MATERIAL | 物料 |
DEBI | 客户 |
KRED | 供应商 |
KLIM | 信用(FD32) |
表 1 OBJECTCLAS值(部分)
表CDHDR和表CDPOS的字段OBJECTID(对象值)是主数据或凭证的编号,一个主数据或凭证有多次修改,则其修改号存放在字段CHANGENR(凭证编号)中。
表CDHDR的字段CHANGE_IND(应用类型变更标志)记录变更的类型,有U更改、I插入、D删除等。
表CDPOS中包含存有旧计量单位、新计量单位、旧货币码、新货币码、旧数量、新数量等用于存放变更数值的字段。
以一张销售合同的变更为例,销售合同编号40000002,用SE16查表CDHDR表如图 1所示,可见有1543、1551、1561等三个编号的变更。
图 1 SE16查询CDHDR
用SE16查看表CDPOS的凭证40000002变更号1543的值,如图 2所示,可见在合同的项目(表VBAP)和抬头状态(表VBUK)都有变更,其中在项目中将数量(VBAP-ZMENG)由旧值20.00变更为新值25.00。
图 2 SE16查询CDPOS