我是ABAP的新手。开始学习内部表格。我正在阅读创建内部表的方法。
我遇到了以下语法,用于从现有数据库表创建内部表:
data: it_mara type table of mara.
我很困惑,因为mara是一个表,如果l.h.s和r.h.s属于同一类型,那么它不应该只是:
data: it_mara type mara.
当mara已经是一张桌子时,有什么需要将mara转换为表格?
答案 0 :(得分:4)
历史原因(总是很好的猜测......)。
声明表格的原始和现在过时的方式(标题行为DATA it_mara TYPE mara OCCURS 10
。没有OCCURS
,你没有声明表格,所以它变成了一个结构。我的猜测是为了保持向后兼容性,在引入TYPE TABLE OF
时没有改变。
答案 1 :(得分:4)
MARA
是一个透明表,这意味着它与结构类型MARA
同时起作用。这是SAP的工作方式。 :)
答案 2 :(得分:1)
SAP DDIC表(透明表,池表,集群表)作为结构。
内部表格是结构(= DDIC表)值的列表。
在SAP DDIC表MARA(常规材料数据)的示例中,我们可以将其定义为内部表,如
data: it_mara type STANDARD table of mara.
创建 STANDARD 内部表
data: it_mara type SORTED table of mara.
创建 SORTED 内部表