like standard table of和type standard table of有什么区别.下面的程序用前面就对,用后面就错.

问题描述:

like standard table of和type standard table of有什么区别.下面的程序用前面就对,用后面就错.
DATA :BEGIN OF line,
num TYPE i,
sqr TYPE i,
END OF line,
itab like STANDARD TABLE OF line with KEY TABLE_LINE.
DO 5 TIMES.
line-num = sy-index.
line-sqr = sy-index ** 2.
APPEND line to itab.
ENDDO.
LOOP AT itab INTO line.
write:/ line-num,line-sqr.
ENDLOOP.
CLEAR itab.

TYPE与LIKE区别:
TYPE后面跟随的只能是某种类(型),而LIKE后面可以跟实例对象,参照结构体对象生成内表时只能用LIKE,不能用TYPE,因为结构体对象不是类型,只是一种实例对象,参照结构类型生成内表时可以用LIKE也可以用TYPE.其中通过LIKE定义的内表直接拥有参照结构类型的元素结构,而通过TYPE定义的内表只能间接拥有被参照结构类型的元素结构,结构类型不能作为内表的工作区,只有结构体对象才可以.