TYPES: BEGIN OF LINE,
COLUMN1 TYPE I,
COLUMN2 TYPE I,
COLUMN3 TYPE I,
END OF LINE.
TYPES ITAB TYPE LINE OCCURS 10.
DATA TAB1 TYPE ITAB.
DATA TAB2 LIKE TAB1 WITH HEADER LINE.
同创建内表数据类型(页93)中所示,该示例创建数据类型ITAB作为内表。通过使用DATA语句的TYPE参数引用ITAB,使数据对象TAB1与ITAB结构相同。通过使用DATA语句的LIKE参数引用TAB1,使数据对象TAB2结构相同。创建的TAB2带表头行。因此,可以在程序中使用TAB2-COLUMN1、TAB2-COLUMN2和TAB2-COLUMN3等定位表格工作区域TAB2。
附加内表行
APPEND LINES OF <itab1> [FROM <n1>] [TO <n2>] TO <itab2>.
更改内行表
MODIFY <itab> [FROM <wa>] [INDEX <idx>].
WRITE <f>[+<o1>][(<l1>)] TO <itab>[+<o2>][(<l2>)] INDEX <idx>.
内表排序
SORT <itab> [<order>] [AS TEXT]
[BY <F1> [<order>] [AS TEXT] ... <fn> [<order>] [AS TEXT]].
Ex. SORT ITAB DESCENDING BY LAND WEIGHT ASCENDING.
创建次序表
Ex. APPEND ITAB SORTED BY COLUMN2.
求和 sum 只能在loop-endloop块中处理该语句。如果是在最后显示 则放在at last ---at endat
Ex. DATA: BEGIN OF LINE,
COL1 TYPE I,
COL2 TYPE I,
END OF LINE.
DATA ITAB LIKE LINE OCCURS 10.
DO 3 TIMES.
LINE-COL1 = SY-INDEX.
LINE-COL2 = SY-INDEX ** 2.
APPEND LINE TO ITAB.
ENDDO.
LOOP AT ITAB INTO LINE.
WRITE: / LINE-COL1, LINE-COL2.
SUM.
WRITE: / LINE-COL1, LINE-COL2.
ENDLOOP.
使用行组的控制级别
语法
AT <line>.
<statement block>
ENDAT.
在其中处理AT-ENDAT内语句块的行条件<line>可以是:
<line>含义
FIRST内表的第一行
LAST内表的最后一行
NEW<f>行组的开头,与字段<f>和<f>剩余字段中的内容相同
END Of <f>行组的结尾,与字段<f>和<f>剩余字段中的内容相同
初始化内表 要初始化有或没有表头的内表,请使用REFRESH 语句
REFRESH <itab>.该语句将内表重置为填充它以前的状态。这意味着表格将不包含任何行。
CLEAR <itab>[].
内表名称之后的方括号指内表体。
使用REFRESH或CLEAR初始化内表后,系统保持在内存中保留的空间。可以用FREE语句释放内存,用法如下:
语法
FREE <itab>.