TYPES和DATA
- types:用来定义数据结构类型
- data:用来定义数据结构对象
注意:TYPES是用来声明Table Work Area的数据。
TYPES定义某种类型后,需要使用DATA语句后使用
TYPE和LIKE
like也可以定义变量
DATA <name> [<length>] LIKE<object>|<type>[].
TYPE与LIKE的区别:
-
LIKE用在已有值的数据类型,如系统变量
例如: DATA: TRAN LIKE SY-TCODE.
-
TYPE用在定义数据类型
-
参照结构体对象生成内表时只能使用LIKE,不能使用TYPE,因为结构体对象不是类型,而是实例对象。
-
参照结构类型生成内表时可以用LIKE也可使用TYPE,其中通过LIKE定义的内表直接拥有参照结构类型的元素结构。
-
定义的内表只能间接拥有被参照结构类型的元素结构,结构类型不能作为内表的工作区,只有结构体对象才可以。
例子:
-
定义type1结构体类型
types:begin of type1, name(20) type c, age type i, end of type1.
-
定义name对象,类型为type2
data:name type type2.
-
定义type3结构体对象
data:begin of type3, name(20) type c, age type i, end fo type3.