如何查找CDHDR/CDPOS表中的对象类(OBJECTCLAS)、对象值(OBJECTID)详解编程语言

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

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

如何查找CDHDR/CDPOS表中的对象类(OBJECTCLAS)、对象值(OBJECTID)详解编程语言

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

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

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

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

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

如何查找CDHDR/CDPOS表中的对象类(OBJECTCLAS)、对象值(OBJECTID)详解编程语言

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

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

如何查找CDHDR/CDPOS表中的对象类(OBJECTCLAS)、对象值(OBJECTID)详解编程语言

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

如何查找CDHDR/CDPOS表中的对象类(OBJECTCLAS)、对象值(OBJECTID)详解编程语言

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

如何查找CDHDR/CDPOS表中的对象类(OBJECTCLAS)、对象值(OBJECTID)详解编程语言

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

如何查找CDHDR/CDPOS表中的对象类(OBJECTCLAS)、对象值(OBJECTID)详解编程语言

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

如何查找CDHDR/CDPOS表中的对象类(OBJECTCLAS)、对象值(OBJECTID)详解编程语言

以上。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/19331.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论