【发布时间】:2019-01-23 14:49:14
【问题描述】:
对于 CALL METHOD - Static Method Call (Obsolete),ABAP 关键字文档说:“如果 CALL METHOD 用于独立方法调用,则不可能进行链式方法调用......”
尽管如此,以下内容在 7.40 系统上运行良好。这不是独立方法调用的示例吗?不然,我哪里错了?
REPORT ZUTEST3.
CLASS class_parent Definition.
PUBLIC Section.
METHODS m1 returning value(r) type ref to class_parent.
ENDCLASS.
CLASS class_parent Implementation.
Method m1.
create object r.
write / 'm1'.
EndMethod.
ENDCLASS.
start-of-selection.
data cl type ref to class_parent.
CREATE OBJECT cl.
CALL METHOD cl->m1( )->m1( ).
编辑:免责声明
我们正在用 Java 编写一个工具来解析和转换 ABAP 代码。特别是,我们无意编写新的 ABAP 代码。但相反,我们的工具必须处理所有 ABAP,甚至是过时的语句和晦涩的语法变体。此外,我想提一下,我不是 ABAP 专家。
【问题讨论】:
-
你能把链接添加到文档吗?
-
另外一个注意事项:为什么不设置一个小型的 NetWeaver 并让 ABAP 自己的解析器进行解析呢?将解析器公开为 REST 服务并将 Java 连接到它。
-
@Florian。一个吸引人的想法,但对我们来说不可行。我们的工具已经很老了,早于提到的功能。因此,使用它意味着完全重写该工具。我们的工具可以在本地运行而无需连接到 SAP 系统。当然,我们所做的不仅仅是解析,因此需要控制解析树的外观。
-
与问题无关,关于“解析器”免责声明,你看过用 TypeScript 编写的 abaplint 吗?
-
我们的工具 smartTool 已经开发了 10 多年,使我们 (smartShift) 能够帮助主要的 SAP 客户完成他们的传统转型项目。 abaplint 有一些相似之处,但我们在这里谈论的是不同的球场
标签: abap