1.TYPES与DATA区别:TYPES是用来定义某种类(型)的,需(用DATA语句)实例化以后才可以使用,而DATA是用来定义数据对象(实例变量)的,对于用DATA直接定义的结构体对象(不参照其它结构类型),其同时也是一个结构类型.
2.TYPE与LIKE区别:TYPE后面跟随的只能是某种类(型),而LIKE后面可以跟随类型或实例对象,参照结构体对象生成内表时只能用LIKE,不能用TYPE,因为结构体对象不是类型,只是一种实例对象,参照结构类型生成内表时可以用LIKE也可以用TYPE.其中通过LIKE定义的内表直接拥有参照结构类型的元素结构,而通过TYPE定义的内表只能间接拥有被参照结构类型的元素结构,结构类型不能作为内表的工作区,只有结构体对象才可以.
内表定义语法:
1.标准表:可指定或不指定关键词,可重复.逻辑索引,操作数据时数据内存位置不峦,系统只重排数据行的索引值.
DATA itab TYPE|LIKE [STANDARD] TABLE OF structure [WITH KEY comp1 … compn(DEFAULT KEY) WITH HEADER LINE INITIAL SIZE n].
2.排序表:可指定唯一或不唯一的关键词,也可不指定,逻辑索引,按关键词升序存储.
DATA itab TYPE|LIKE SORTED TABLE OF structure [WITH NON-UNIQUE(UNIQUE) KEY comp1 … compn(DEFAULT KEY) WITH HEADER LINE INITIAL SIZE n].
3.哈希表:必须指定唯一关键词.无索引
DATA itab TYPE|LIKE HASHED TABLE OF structure WITH UNIQUE KEY comp1 … compn(DEFAULT KEY) [WITH HEADER LINE INITIAL SIZE n].
注:如果n值为0或不指定的话,程序会为内表对象分配8KB大小内存,所以,如果内表比较小,不要把该值设为0,以避免内存浪费.
旧版标准表定义语法:
DATA itab TYPE|LIKE [STANDARD] TABLE OF structure OCCURS n.或者
DATA:BEGIN OF itab OCCURS n,
…,
fi…,
END OF itab.
ABAP:TYPES与DATA,LINE 区别
最新推荐文章于 2024-03-22 17:56:16 发布