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