FavoriteLoading
0

如何查找CDHDR/CDPOS表中的对象类(OBJECTCLAS)、对象值(OBJECTID)

众所周知,更改凭证抬头表CDHDR和更改凭证项目表CDPOS中保存了SAP中业务数据的创建和变更历史。

但是在查询这两个表时,通常会面临不知道如何填写OBJECTCLAS和OBJECTID这两个字段的值。

对于OBJECTCLAS,可以通过表TCDOB查找到,以TABNAME为条件,查询对应的OBJECTCLAS。

比如下图,输入EKKO、EKPO...等表名就能找到对项目

采购订单抬头行项目,对应的对象名就是EINKBELEG;

销售订单抬头行项目,对应的对象名是VERKBELEG;

交货单抬头行项目数据,对应的对象名是LIEFERUNG。

对于对象值OBJECTID的查找稍微复杂一些,以采购订单的对象类EINKBELEG举例说明:

首先通过tcode SCDO找到对象类OBJECTCLAS的生成信息。

这里也可以看到对象类下所有的可以更改的表。

在生成信息中能找到更新函数EINKBELEG_WRITE_DOCUMENT

SE37,通过where use list找到所有用到EINKBELEG_WRITE_DOCUMENT的程序,找一个双击跳转到对应的程序中,

然后就看到这个对象值,objectID填写的是采购订单号(EKKO-EBELN)。通过此方法也可以找到其他对象类的对象值。

以上。