DATA:BEGIN OF LINE,
COL1 TYPE C,
COL2 TYPE P DECIMALS 5,
COL3 TYPE I,
COL4 TYPE I,
END OF LINE.
DATA ITAB LIKE LINE OCCURS 10 WITH HEADER LINE.
DO 10 TIMES.
LINE-COL1 = SY-INDEX.
LINE-COL2 = SQRT( SY-INDEX ).
LINE-COL3 = SY-INDEX ** 2.
LINE-COL4 = SY-INDEX ** 3.
APPEND LINE TO ITAB.
ENDDO.
*SY-TABIX和SY-TABIX都是系统字段,用来记录循环的次数。
*sy-index 在DO....ENDDO循环里有效,而SY-TABIX在LOOP AT......ENDLOOP里有效。
LOOP AT ITAB.
DO 2 TIMES.
WRITE:/ 'SY-TABIX:',SY-TABIX,ITAB-COL1,'SY-INDEX:',SY-INDEX,ITAB-COL3.
ENDDO.
ENDLOOP.
输出结果:
SY-TABIX: 1 1 SY-INDEX: 1 1
SY-TABIX: 1 1 SY-INDEX: 2 1
SY-TABIX: 2 2 SY-INDEX: 1 4
SY-TABIX: 2 2 SY-INDEX: 2 4
SY-TABIX: 3 3 SY-INDEX: 1 9
SY-TABIX: 3 3 SY-INDEX: 2 9
SY-TABIX: 4 4 SY-INDEX: 1 16
SY-TABIX: 4 4 SY-INDEX: 2 16
SY-TABIX: 5 5 SY-INDEX: 1 25
SY-TABIX: 5 5 SY-INDEX: 2 25
SY-TABIX: 6 6 SY-INDEX: 1 36
SY-TABIX: 6 6 SY-INDEX: 2 36
SY-TABIX: 7 7 SY-INDEX: 1 49
SY-TABIX: 7 7 SY-INDEX: 2 49
SY-TABIX: 8 8 SY-INDEX: 1 64
SY-TABIX: 8 8 SY-INDEX: 2 64
SY-TABIX: 9 9 SY-INDEX: 1 81
SY-TABIX: 9 9 SY-INDEX: 2 81
SY-TABIX: 10 * SY-INDEX: 1 100
SY-TABIX: 10 * SY-INDEX: 2 100