ABAP編程中對內表的定義,后面接一個OCCURS (n)是代表什么意思。


對內表的定義,我只說下有沒occurs的區別。

*
*DATA: BEGIN OF itab OCCURS 0,
*  matnr LIKE mara-matnr,
*  maktx LIKE makt-maktx,
*  END OF itab.
*
*SELECT * FROM makt INTO CORRESPONDING FIELDS OF TABLE itab .
*
*LOOP AT itab.
*  WRITE:/
*  itab-matnr,
*  itab-maktx.
*ENDLOOP.



DATA: BEGIN OF itab,
  matnr LIKE mara-matnr,
  maktx LIKE makt-maktx,
  END OF itab.

DATA it_itab LIKE TABLE OF itab.

SELECT * FROM makt INTO CORRESPONDING FIELDS OF TABLE it_itab .


LOOP AT it_itab INTO itab.
  WRITE:/
  itab-matnr,
  itab-maktx.
ENDLOOP.



這是我寫的1點特別簡單的很基礎的代碼。
簡單的看出了,帶有OCCURS的這個關鍵字的內表,有表存儲還有表輸出。就是說,它可以不用再次的寫like table of 內表。這樣做的目的,就是它有存儲功能。如果沒有occurs,就只有輸出顯示的功能,只是1個結構。有occurs,就是可以存儲了。

 

指定內存。<n> 是指定行(ex:10)的初始號。當第一行寫入內表后,就為指定行保留了內存。如果添加到內表中的行比 <n> 指定的要多 ,則自動擴展保留的內存。
這是老寫法了,應該直接  data ittab type standard table of spfli


免責聲明!

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



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