从现有数据库 table 创建内部 table 的语法?
Syntax for creating internal table from existing database table?
我是 ABAP 新手。开始学习内部 tables。我正在阅读有关创建内部 tables 的方法。
我遇到了以下从现有数据库 table 创建内部 table 的语法:
data: it_mara type table of mara.
我很困惑,因为 mara 是 table,如果 l.h.s 和 r.h.s 是同一类型,那么它不应该只是:
data: it_mara type mara.
当 mara 已经是 table 时,还需要将其转换为 table 吗?
历史原因(总是一个很好的猜测...)。
声明 table(带有 header 行的原始方式和现在已过时的方式是 DATA it_mara TYPE mara OCCURS 10
。没有 OCCURS
,您没有声明 table,所以它变成了一个结构。我的猜测是为了保持向后兼容性,在引入 TYPE TABLE OF
时没有改变。
MARA
是透明的table,这意味着它与结构类型MARA
同时起作用。这就是 SAP 的工作方式。 :)
SAP DDIC table(透明 table、池化 table、集群 table)函数作为 结构.
内部table是结构(=DDICtable)值的列表。
在您的 SAP DDIC table MARA(一般 Material 数据)示例中,我们可以将其定义为内部 table,例如
data: it_mara type STANDARD table of mara.
创建一个 STANDARD 内部 table
data: it_mara type SORTED table of mara.
它创建一个 SORTED 内部 table
我是 ABAP 新手。开始学习内部 tables。我正在阅读有关创建内部 tables 的方法。
我遇到了以下从现有数据库 table 创建内部 table 的语法:
data: it_mara type table of mara.
我很困惑,因为 mara 是 table,如果 l.h.s 和 r.h.s 是同一类型,那么它不应该只是:
data: it_mara type mara.
当 mara 已经是 table 时,还需要将其转换为 table 吗?
历史原因(总是一个很好的猜测...)。
声明 table(带有 header 行的原始方式和现在已过时的方式是 DATA it_mara TYPE mara OCCURS 10
。没有 OCCURS
,您没有声明 table,所以它变成了一个结构。我的猜测是为了保持向后兼容性,在引入 TYPE TABLE OF
时没有改变。
MARA
是透明的table,这意味着它与结构类型MARA
同时起作用。这就是 SAP 的工作方式。 :)
SAP DDIC table(透明 table、池化 table、集群 table)函数作为 结构.
内部table是结构(=DDICtable)值的列表。
在您的 SAP DDIC table MARA(一般 Material 数据)示例中,我们可以将其定义为内部 table,例如
data: it_mara type STANDARD table of mara.
创建一个 STANDARD 内部 table
data: it_mara type SORTED table of mara.
它创建一个 SORTED 内部 table