Xml 确定类继承层次结构。怎么用?

Xml 确定类继承层次结构。怎么用?,xml,abap,class-hierarchy,rtts,Xml,Abap,Class Hierarchy,Rtts,我公司提供离线ABAP系统分析服务。也就是说,系统的ABAP代码被提取并以XML的形式发送给我们。我们使用Java编写的工具分析系统。就我个人而言,我不是ABAP专家 接下来的一项任务是构建类继承图。我们当然可以基于XML实现这一点。但既然ABAP提供RTTS/RTTI,为什么不使用它呢?我的想法是: 编写一个ABAP程序,查询RTTI并提取完整的类层次结构 将结果作为XML发送,并提供访问该信息的接口(不是此问题的一部分) 现在我的问题是:第一点听起来像是一个好的/可行的想法吗?是否存在任

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

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

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

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

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

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


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

根据您所说的,我猜RTT不遵守本地类,对吗?但是全局类的层次结构有什么问题?如果我有每个全局类的单独信息,构建图应该很容易。您可以使用RTT检查本地类,但首先需要知道它们在那里。RTTS对于使用
GET\u SUPER\u CLASS\u TYPE
沿着继承树向上移动非常有用,但是无法沿着继承树向下导航。实际上,我们的目标是Java工具中的一个接口,可以以任意方式查询,那么您拥有的已经是正确的方向了。设计一个合适的分层XML方案。设计一个Z-Function-module,从java调用它,反映其中的类,填充xml int-it并将xml结果返回给java调用方。我们一直在使用.net进行此操作。