繁体   English   中英

ABAP中的内部表声明

[英]Internal tables declaration in ABAP

我刚开始学习ABAP,我使用acroos声明了一些内部表的不同方法,但是我不了解这些方法之间的区别。 哪一种是最好的方法?

样品1

types: begin of ty_tab,
  field1,
  field 2,  
end of ty_tab.

data x_tab type ty_tab.
data itab like standard table of x_Tab.

样品2

types: begin of ty_tab,
  field1,
  field2,
end of ty_tab.

types x_tab type standard table of ty_tab.
data itab type x_tab.

样品3

data t_sflight type sflight.

样本1首先声明带有一些字段的ty_tab类型。 ty_tab不是表类型,它是本地定义的平面结构类型。 类型定义后面的数据声明定义了一个名称为x_Tab且类型为ty_tab的局部变量。 然后,第三个数据声明使用“ like”关键字创建一个表,该表的行“ like”为x_Tab结构。

样本2再次从类型的定义开始。 但是,数据定义不是先声明结构,而是定义类型为ty_tab的标准表。

正如hennes在其评论中提到的那样,示例3实际上并未定义表。 它基于SAP数据字典中定义的结构或表定义本地结构,在这种情况下为透明表“ sflight”。 如果要基于DDIC table sflight创建内部标准表,则必须将语句更改为:

data t_sflight type standard table of sflight.

所有三个变体均有效。 变体1和2使用不同的方式创建相同的内部表(与“相同的字段,相同的属性”相同)。 没有最好的方法,每种变体都可以在适合的地方使用。 如果您需要一个表,看起来像DDIC中已经存在的表,请使用#3。 乍一看,#1和#2似乎是多余的,但是有时您可能会收到一个结构作为参数,现在想要一个具有该结构的内部表,因此可以在#1中使用“ like”关键字。

请查看SAP帮助页面以获取更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM