ABAP中SY-INDEX和SY-TABIX的区别

来源:互联网 发布:java引用类型 编辑:程序博客网 时间:2024/04/28 22:58

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

 


 

原创粉丝点击