6

我是ABAP的新手。开始学习内部表。我正在阅读创建内部表的方法。

我遇到了以下从现有数据库表创建内部表的语法:

data: it_mara type table of mara.

我很困惑,因为 mara 是一张桌子,如果 lhs 和 rhs 都是同一类型,那么它不应该只是:

data: it_mara type mara.

mara已经是表了,还需要转换成表吗?

4

3 回答 3

4

MARA是一个透明表,这意味着它与结构类型同时起作用MARA。这就是 SAP 的工作方式。:)

于 2016-06-09T12:32:35.277 回答
4

历史原因(总是一个很好的猜测......)。

声明表格的原始和如今已过时的方式(带有标题行是DATA it_mara TYPE mara OCCURS 10. 没有OCCURS,你没有声明一个表格,所以它变成了一个结构。我的猜测是为了保持向后兼容性,这没有改变什么时候TYPE TABLE OF介绍的。

于 2016-06-08T18:40:40.903 回答
1

SAP DDIC 表(透明表、池表、集群表)作为结构发挥作用。

内部表是结构(= DDIC 表)值的列表。

在您的 SAP DDIC 表MARA(通用材料数据)示例中,我们可以将其定义为内部表,例如

data: it_mara type STANDARD table of mara.

创建一个标准内部表

data: it_mara type SORTED table of mara.

它创建了一个SORTED内部表

于 2016-07-07T00:51:30.510 回答