有没有办法一般性地搜索(透明)表之间的关系?

时间:2013-08-18 14:29:40

标签: foreign-key-relationship abap relation

我正在寻找通过外键关系从表A到表B的方法。

比如说(这只是一个淡化的例子),我想知道表AFPOVEKP是如何相关的。

查看这些表的定义,我可以看到它们可以像这样相关(不包括所有细节):

AFPO~AUFNR = AUFK~AUFNR
AUFK~AUFNR = LIKP~TERNR
LIKP~TERNR = VEKO~VBELN
VEKO~VENUM = VEKP~VENUM

当然,可以有更多方法可以以有意义的方式定义这两个表之间的关系(例如,仅包括主数据和事务数据。这是为了排除像MARA这样的关系 - > T000 - > SOOD)。

所以有人知道这样做的通用方法吗?像报告/交易/功能模块......?

2 个答案:

答案 0 :(得分:1)

有一个功能模块,可以为您提供表格的所有信息。它被称为“DDIF_TABL_GET” 您可以使用所请求表的所有设置和属性来接收多个表。例如,您可以接收表DD05M,并且有一些名为“FORTABLE”的字段,它为您提供外键字段表的名称和字段“FORKEY”,其中包含所请求表的外键名称。这是你想要的吗?

答案 1 :(得分:1)

我想这个问题的简短回答是“欢迎ERP开发。”

如果两个表之间存在关系,则它们的字段通过外键引用主/表中的相应字段(在SAP中检查表)。不幸的是,这并不总是发生,或者由于语义原因不可能发生。

SAP预计了这一点并提供了数据字典 - 这是SAP开发环境中最被低估的优势之一。可重用的数据元素和域提供了查看数据之间语义和句法相关性的好方法。

链接:Data Element, Domain, and the Way They Interact

因此,如果未定义外键字段,那么您的下一个最佳选择是在数据元素上进行使用过的搜索。