1,types与data区别:types是用来自定义某种类型的,需要data实例化才能使用,data是用来声明基本类型数据对象,也就是实例变量,对于用data直接定义的结构体对象(不参照其它结构类型)
参照自定义类型生成新数据语法格式:
TYPES|DATA …… TYPE type type1 …… “type1代表程序内部类型
参照程序中已经声明的数据对象生成新数据语法格式:
TYPES|DATA …… LIKE DOBJ …… “DOBJ代表数据对象
2,type与like区别:
type后面跟随的只能是某种类型
like后面可以跟实例对象
参照结构体对象生成内表时只能用like,不能用type,因为结构体对象不是类型,只是一中实例对象
参照结构类型生成内表时可以用like也可以用type
通过like定义的内表直接拥有参数结构类型的元素结构,而type定义的内表只能间接拥有被参数结构类型的元素结构,结构类型不能作为内表的工作区,只有结构体对象才可以
简述:types就是一个类型,一个框架。data则是对这个types的东西进行了初始化,即分配内存和初始值
3,type和data声明的区别:
type声明一个类型
data声明一个变量
type定义的类型不能直接使用,必须通过data来定义变量后才能使用;
data定义的变量可以直接使用,并且可以在其他data声明时来like,表示声明相同数据类型的变量。
例如:data a type c,
data b like a.( 等价于 data b type c)
变量声明按类型定义:DATE <变量名>(<长度>) TYPE <数据类型> VALUE <默认值>按参考定义:DATE <变量1> LIKE <变量2>