ABAP中Collect的用法


vaule:collect在非數值字段相同的情況下,起到了數值字段匯總作用。

非數值字段不同的情況下,效果和append相同執行插入內表操作,當非數值字段相同的時候,則相當於modify的效果,只不過是將數值字段進行匯總相加后更新。

語法:collect W_table into I_table .

代碼如下:

 TYPES:BEGIN OF TY_TEST, ID(3) TYPE C, MENGE TYPE I, END OF TY_TEST. DATA:I_TEST TYPE TABLE OF TY_TEST, W_TEST TYPE TY_TEST. DATA:I_TEST2 TYPE TABLE OF TY_TEST. W_TEST-ID = '001'. W_TEST-MENGE = 10. APPEND W_TEST TO I_TEST. W_TEST-ID = '001'. W_TEST-MENGE = 70. APPEND W_TEST TO I_TEST. W_TEST-ID = '002'. W_TEST-MENGE = 20. APPEND W_TEST TO I_TEST. W_TEST-ID = '002'. W_TEST-MENGE = 50. APPEND W_TEST TO I_TEST. W_TEST-ID = '002'. W_TEST-MENGE = 80. APPEND W_TEST TO I_TEST. W_TEST-ID = '003'. W_TEST-MENGE = 30. APPEND W_TEST TO I_TEST. W_TEST-ID = '003'. W_TEST-MENGE = 90. APPEND W_TEST TO I_TEST. LOOP AT I_TEST INTO W_TEST. COLLECT W_TEST INTO I_TEST2."關鍵一步。。。" CLEAR:W_TEST. ENDLOOP. WRITE:/ 'Collect前的內容:' . WRITE:/1(12) '編號' , '數量'. LOOP AT I_TEST INTO W_TEST. WRITE:/ W_TEST-ID, ' ',W_TEST-MENGE. CLEAR:W_TEST. ENDLOOP. WRITE:/ . WRITE:/ 'Collect后的結果:' . WRITE:/1(12) '編號' , '數量'. LOOP AT I_TEST2 INTO W_TEST. WRITE:/ W_TEST-ID , ' ',W_TEST-MENGE. CLEAR:W_TEST. ENDLOOP.



免責聲明!

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



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