abap - 如何构建功能模块的调用图?

标签 abap call-graph bapi function-module

不久前,在记录遗留代码时,我发现有一个工具可以显示任何标准程序的调用图(调用堆栈)。可笑的是,我很多年都不知道这个工具了:D

enter image description here

它提供了程序调用的奇特列表/层次结构,尽管它不是 call graph in a full sense ,在某些情况下非常有帮助。

enter image description here

问题是该工具仅链接到 SE93,因此它只能用于交易。 我尝试搜索,但没有找到任何类似的报告或功能模块工具。是的,我可以为报告创建一个tcode,但是对于功能模块,这种方法不起作用。

如果我将 FM 调用放入报告中并使用此工具构建图表,它将将此调用包装为单个单元并且不会进行更深入的分析。就是这样

enter image description here

有人知道除了事务之外我们如何构建图表的解决方法吗?

最佳答案

愤世嫉俗的我认为 RS_CALL_HIERARCHY 已经被腐烂了。桑德拉是对的,它过去确实有效。一旦面向对象进入abap,接口(interface)和动态/通用代码就成为可能。因此,基于静态代码分析的调用层次结构正在将众所周知的事情推向高峰。

IMO 解决此问题的最佳方法是完整跟踪,然后从跟踪中提取数据。 甚至有外部工具可以做到这一点。 当然,这仍然是有限的,因为在每个执行路径上运行跟踪可能非常耗时。我是否听到有人说小类授课?

跨 SAT。 确保您使用的配置文件没有聚合,并测量您感兴趣的 block 。

Trace profile Make sure the profile isnt aggregating calls And set to measure the relevant callable blocks

现在带你穿过这条踪迹。 https://help.sap.com/doc/saphelp_ewm93/9.3/en-US/4e/c3e66b6e391014adc9fffe4e204223/content.htm?no_cache=true

玩得开心:)

关于abap - 如何构建功能模块的调用图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61183156/

相关文章:

c - 获取代码的图形函数调用图的工具

c# - 获取可用的 BAPI 和/或表

abap - BAPI、BAdI、增强和修改有什么区别?

abap - 在 MIRO tcode 中以编程方式更改付款 block ?

abap - 在 OpenSQL 中动态 WHERE 中引用参数

sql - 4个表的JOIN,如何将SELECT列限制为一张表?

javascript - 基于 JS 文件/片段的调用图创建器

aggregate-functions - 按 FOR ALL ENTRIES itab 键求和总计

abap - 有没有办法在维护 View 中找到给定记录的定制请求编号?

c - 调用图如何解析函数指针?