递归结构:编译器错误

2020-09-21 15:01发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我想定义一个递归结构,例如

类型:
   开始于st_assembly_element,
     matnr TYPE matnr,
     brkup TYPE c,
     状态TYPE icon_d,
     " ...
     带有默认键的雅宝式标准表,
     用默认键删除st_assembly_element的标准类型表,
   结束于st_assembly_element
 。
 

编译此代码会导致"未知类型:st_assembly_element"错误。

ABAP中是否有一种向前声明的方法(需要语法)?

如何避免此错误(不使用TYPE REF TO数据)?

此致

休伯特

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我想定义一个递归结构,例如

类型:
   开始于st_assembly_element,
     matnr TYPE matnr,
     brkup TYPE c,
     状态TYPE icon_d,
     " ...
     带有默认键的雅宝式标准表,
     用默认键删除st_assembly_element的标准类型表,
   结束于st_assembly_element
 。
 

编译此代码会导致"未知类型:st_assembly_element"错误。

ABAP中是否有一种向前声明的方法(需要语法)?

如何避免此错误(不使用TYPE REF TO数据)?

此致

休伯特

付费偷看设置
发送
3条回答
哎,真难
1楼-- · 2020-09-21 15:54

即使编译器允许它,我也不会这样做。

如果没有某种动态引用,您将无法正确阅读。 而且,如果我们要这样做,则分层列表更容易编码,理解和调试。 如果要递归,请使用对象; 很整洁。

shere_lin
2楼-- · 2020-09-21 15:42

对不起,措辞不好。 我的意思是动态处理或引用。 您将需要某种循环或嵌套访问方法。

我不认为OO是巨大的开销。 清晰度/易用性是一个不错的折衷,对性能影响很小。 对我来说,这是面向对象的尖叫:-)

compass1988
3楼-- · 2020-09-21 15:41

在我看来," elems"应该只是matnr的STANDARD TABLE,因为这是下一层的关键。

(物料清单[BOM]中的标准)

一周热门 更多>