2

我司离线提供ABAP系统分析服务。也就是说,系统的 ABAP 代码被提取出来并作为 XML 发送给我们。我们使用 Java 编写的工具来分析系统。就个人而言,我不是 ABAP 专家。

即将到来的一项任务是构建类继承图。当然可以基于 XML 做到这一点。但是由于 ABAP 提供了 RTTS/RTTI,为什么不使用它呢?我的想法是:

  • 编写一个查询 RTTI 并提取完整类层次结构的 ABAP 程序
  • 将结果作为 XML 发送并提供一个接口来访问该信息(不是这个问题的一部分)

现在我的问题是:第一点听起来像是一个好/可行的主意吗?是否有任何陷阱,例如性能瓶颈?

4

2 回答 2

2

只要您将分析限制在全局类中,这应该很容易。本地类和类层次结构提供了一个挑战:它们可以是任何类型的程序的一部分并且不容易被发现。您必须为潜在候选人检查大量程序,这可能非常耗时。除此之外,这是一个完全可行的想法。

于 2015-03-19T08:44:12.590 回答
1

正如 vwegert 指出的那样,只要您的类是在对象存储库中设计的,使用 se80/se24 等工具,这将相对容易,RTT 服务提供所有必要的方法来自省层次结构、继承和 IIRC 接口- 实施。报告/类方法、功能模块或接口方法实现中的本地类,它们被简单地从上到下进行编码,将导致更多的工作量。但它也可以做到。如何 ?请参阅包 SFUNC。在那里进行了代码检查,你当然可以提取那些逻辑,这是由 control-F2 触发的代码检查完成的。顺便说一句,您想要创建的图表也可能已经由您的 ABAP 伙伴创建。他们似乎已经提供 XML,所以也许他们可以在这里调用它:“ATRA_SHOW_UML_DIAGRAM_JNET” 并将图表发送给您。全部完成并授权。:-D。还有其他方法可以在 ABAP 中可视化内容,并将其放到 hd 中,然后可以通过电子邮件发送。一种方法是模块“RS_DD_GRAPHIC”,我们相对经常使用它。功能组“SDG1”也提供了一些其他功能。

我的提示是:如果您可以在一个系统中完成所有要求,并且结果是一个文件(位图,.pdf,任何只显示层次图的东西,那么最后,如果目标只是可视化),并且您确定仅反映对象存储库中存在的类,然后尝试 SAP-Stuff-ONLY。它具有您或您的团队需要的所有方法,并且您在一个系统中行动。让它称为一种职责分离。

于 2015-03-19T09:51:37.047 回答