【问题标题】:SAP logical database includes macro implicitly. How?SAP 逻辑数据库隐式包含宏。如何?
【发布时间】:2017-11-21 15:34:21
【问题描述】:

我们正在用 Java 编写一个工具来解析和转换 ABAP 代码。因此,我们无意编写新的 ABAP 代码,但我们的工具必须处理所有 ABAP,甚至是过时的语句。此外,我不是 ABAP 专家。

我们看到的一个对象使用了在对象RFDBRMAC 中定义的宏begin_of_block。如果使用逻辑数据库BRF,则加载该包含;使用另一个逻辑数据库以及根本没有逻辑数据库将不会加载它。但它的对应对象SAPDBBRF 和它都没有提及RFDBRMAC。特别是前者都不包括后者。

将逻辑数据库BRF 分配给程序如何使其包含RFDBRMAC

使用逻辑数据库 BRF 的演示程序。宏是已知的

演示程序使用不同的逻辑数据库。宏未知

【问题讨论】:

    标签: abap


    【解决方案1】:

    在事务SE36 中显示逻辑数据库BRF。然后单击按钮“选择”(或菜单:转到/选择或 Shift + F1)。这将显示包含DBBRFSEL,其中为逻辑数据库定义了选择屏幕。在此包含的底部,您会找到您正在寻找的内容。

    为了对所有逻辑数据库进行概括,选择屏幕被命名为DBxxxSEL,其中xxx 是逻辑数据库的名称,并自动包含在使用该逻辑数据库的所有程序中。

    【讨论】:

    • 我编辑了你关于如何为所有程序推广解决方案的答案,我看不出它为什么不起作用。
    【解决方案2】:

    除了 Jozsef 的完美答案之外,我还可以补充一点,您可以使用表 D010INC 来保存程序和包含之间的所有包含关系。

    因此很容易以编程方式找到此类包含。

    【讨论】:

    • 好吧,表 D010INC 对我们没有多大帮助,因为我们需要知道一个对象包含另一个对象的确切机制/路径。此表仅说明包含它的事实
    • 此表中显示了确切的路径,或者您可能只是误用了单词 path。对于您的工具,这种包含形式化的表格方式比挖掘您甚至直到现在都不知道的 SE36/SLDB 更有用。
    猜你喜欢
    • 2021-07-03
    • 2017-11-05
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 2018-02-05
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多