刚开始学习ABAP时,总是对Like / Like table of / Like line of 定义的东西不是很清楚!
现在把自己的理解记下来,以备后查,不对之处请各位指正!
data: begin of itab OCCURS 0,
col1 type i,
col2 type i,
end of itab.
*&*&*可跟内表,结构
data: itab1a like itab. "定义一个结构
data: itab1b like itab occurs 0." 定义一个没有表头的内表
data: itab1c like itab occurs 0 WITH HEADER LINE." 定义一个有表头的内表
*&*&可跟内表结构
data: itab2b like table of itab . "定义一个没有表头的内表
****data: itab2b like table of itab occurs 0.
data: itab2c like table of itab with HEADER LINE ."定义一个有表头的
****&**只能跟内表, 不能跟结构
data: itab4a like line of itab. "定义一个结构
data: itab4b like LINE OF itab occurs 0. "定义一个没有表头的内表
data: itab4c like line of itab occurs 0 WITH HEADER LINE. "定义一个有表头的
do 7 times.
itab-col1 = sy-index.
itab-col2 = sy-index ** 2.
APPEND ITAB.
enddo.
move itab to itab1a.
move itab[] to itab1b[].
move itab to itab1c.
move itab[] to itab2b[].
move itab to itab2c.
move itab to itab4a.
move itab[] to itab4b[].
move itab to itab4c.
*&***
补充 LIKE RANGE OF 的用法:
定义: DATA: ITAB LIKE RANGE OF MARA-MATNR.
说明:上句定义了一个表,结构是RANGES表结构,LOW跟HIGH值的类型就是MARA-MATNR的类型。