ABAP中的系統變量SY-INDEX與SY-TABIX


  系統變量SY-INDEX與SY-TABIX是用來記錄循環的次數或者索引的,不同的是SY-INDEX在DO....ENDDO中是有效的,而SY-TABIX在LOOP....ENDLOOP中及READ內表時獲取相應的索引。

  DATA:BEGIN OF STUDENT OCCURS 0,
         NAME(10) TYPE C,
         AGE TYPE I,
       END OF STUDENT.
     
  DATA DENT LIKE LINE OF STUDENT.
     
  STUDENT-NAME = 'JACK'.
  STUDENT-AGE = 20.
  APPEND STUDENT.

  STUDENT-NAME = 'JIM'.
  STUDENT-AGE = 25.
  APPEND STUDENT.

  STUDENT-NAME = 'TOMMY'.
  STUDENT-AGE = 28.
  APPEND STUDENT.

  STUDENT-NAME = 'BUSHI'.
  STUDENT-AGE = 20.
  APPEND STUDENT.

  STUDENT-NAME = 'LILY'.
  STUDENT-AGE = 26.
  APPEND STUDENT.

  STUDENT-NAME = 'ALEX'.
  STUDENT-AGE = 28.
  APPEND STUDENT.

  WRITE: '1.LOOP循環'.
  WRITE: / '-----------------------------------------------'.
  LOOP AT STUDENT.
  
    WRITE: / 'SY-INDEX=',SY-INDEX LEFT-JUSTIFIED, "LEFT-JUSTIFIED  輸出向左對齊
             'SY-TABIX=',SY-TABIX LEFT-JUSTIFIED,
             'NAME=',STUDENT-NAME LEFT-JUSTIFIED,
             'AGE=',STUDENT-AGE LEFT-JUSTIFIED.
  ENDLOOP.

  WRITE: / '-----------------------------------------------'.
  WRITE: / '2.READ INTERNAL TABLE'.
  WRITE: / '-----------------------------------------------'.
  READ TABLE STUDENT INTO DENT WITH KEY NAME = 'ALEX'"按具體字段值讀取內表
  WRITE: / 'SY-INDEX=',SY-INDEX LEFT-JUSTIFIED,
           'SY-TABIX=',SY-TABIX LEFT-JUSTIFIED, "讀取內表時,返回相應數據在內表中的索引
           'NAME=',DENT-NAME LEFT-JUSTIFIED,
           'AGE=',DENT-AGE LEFT-JUSTIFIED.


  READ TABLE STUDENT INTO DENT WITH KEY NAME = 'BUSHI'"按具體字段值讀取內表
  WRITE: / 'SY-INDEX=',SY-INDEX LEFT-JUSTIFIED,
           'SY-TABIX=',SY-TABIX LEFT-JUSTIFIED,
           'NAME=',DENT-NAME LEFT-JUSTIFIED,
           'AGE=',DENT-AGE LEFT-JUSTIFIED.
  CLEAR SY-TABIX.

  WRITE: / '-----------------------------------------------'.
  WRITE: / '3.DO...ENDDO'.
  WRITE: / '-----------------------------------------------'.

  DO TIMES.
    WRITE:/ 'SY-INDEX=',SY-INDEX LEFT-JUSTIFIED,
            'SY-TABIX=',SY-TABIX LEFT-JUSTIFIED.
  ENDDO.

  WRITE: / '-----------------------------------------------'.

  
  從上面的測試例子中,我們不難看出結果。嘎嘎。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM