ABAP:从现有数据库表创建内部表的语法

时间:2016-06-08 18:13:54

标签: abap

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

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

data: it_mara type table of mara.

我很困惑,因为mara是一个表,如果l.h.s和r.h.s属于同一类型,那么它不应该只是:

data: it_mara type mara.

当mara已经是一张桌子时,有什么需要将mara转换为表格?

3 个答案:

答案 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 内部表