繁体   English   中英

确定类继承层次结构。 如何?

[英]Determining the class inheritance hierarchy. How?

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM