问题:TYPE、LIKE、LIKE TABLE OF、LIKE LINE OF、TYPE TABLE OF 的区别?
1、TYPE 用于变量的类型定义,可以是表中预定义好的字段,也可以是C(字符),F(浮点型),I(整型)等。
例如: DATA: NAME TYPE C LENGTH 40.
2、LIKE
(1)加标准表中预定义的字段类型,表示定义了一个变量。
例如: DATA: NAME LIKE LFA1-NAME1. "名称和供应商名称类型一样
(2)加结构或标准表,表示定义了一个工作区。
例如: DATA: GS_TABLE LIKE LFA1.
"加标准表,表示 工作区GS_TABLE内部结构和标准表一致.
"如果加自定义结构,表示 工作区GS_TABLE,和自定义的结构,内部字段一致
3、LIKE TABLE OF
(1) 加标准表,表示定义了一个内表,内部字段和标准表一致。
例如: DATA: GT_TABLE LIKE TABLE OF LFA1.
(2) 加自定义表,表示在表中嵌套了一个表。
4、LIKE LINE OF 加内表,表示定义了一个工作区,和内表的字段一致。
例如:DATA: LS_TABLE LIKE LINE OF GT_TABLE. "LS_TABLE 是一个工作区,内容和内表GT_TABLE一致。
5、TYPE TABLE OF 加自定义的结构,表示定义了一个内表,和定义的结构里字段一致。
例如:DATA: GT_ITA TYPE TABLE OF TY_IN. "
6、LIKE RANGE OF 加一个标准字段,表示定义一个RANGE表,LOW和HIGH字段类型与OF后的标准字段类型一致。
RANGE表内部结构如图所示:
上述各种定义举例: