我们公司离线提供ABAP系统分析服务。也就是说,系统的ABAP代码被提取并作为XML发送给我们。我们使用Java编写的工具分析系统。就个人而言,我不是ABAP专家。
即将开展的一项任务是构建一个类继承图。人们当然可以基于XML来做到这一点。但是,由于ABAP提供RTTS / RTTI,为什么不使用它呢?我的想法是:
现在我的问题:第一点听起来像是一个好/可行的想法吗?有没有任何陷阱,例如性能瓶颈?
答案 0 :(得分:2)
只要将分析限制为全局类,这应该很简单。本地类和类层次结构提出了一个挑战:它们可以是任何类型程序的一部分,并且不容易被发现。您必须为潜在候选人检查大量计划,这可能非常耗时。除此之外,它是一个非常可行的想法。
答案 1 :(得分:1)
正如vwegert所指出的,只要您的类在对象存储库中设计,使用se80 / se24等工具,这将相对容易,RTT服务提供了所有必要的方法来内省层次结构,继承,以及IIRC,接口实现。报告/类方法,函数模块或接口方法实现中的本地类,从上到下简单地编码,将导致更多的努力。但它也可以做到。怎么样 ?请参阅包SFUNC。那里进行了代码检查,你肯定可以提取那些逻辑,这是由control-F2触发的代码检查完成的。 顺便说一下,您想要创建的图表也可能已由您的ABAP伙伴创建。他们似乎已经提供了XML,所以也许他们可以在这里调用它: “ATRA_SHOW_UML_DIAGRAM_JNET”并将图表发送给您。全部完成和已发送。 :-D。 还有其他方法可以将ABAP中的内容可视化,并将其放到hd中,可以通过电子邮件发送。一种方法是模块“RS_DD_GRAPHIC”,我们相对经常使用它。功能组“SDG1”也提供了其他功能。
我的tipp是:如果你可以在一个系统中完成所有要求,结果是一个文件(位图,.pdf,任何只显示层次结构图的东西,所以在END中,如果目标是唯一的可视化),您确定只反映存在于对象存储库中的类,然后尝试SAP-Stuff-ONLY。它拥有您或您的团队需要的所有方法,并且您在一个系统中执行操作。让它称之为一种职责分离。