日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP—COLLECT的用法

發布時間:2025/3/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP—COLLECT的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ABAP—COLLECT的用法

??

ABAP中COLLECT的用法:
SAP中ABAP對內表插入數據的時候有3種:APPEND,COLLECT,INSERT。

要填充內表 ,既可逐行 添加數據, 也可復制另 一個表格的 內容。

要逐行填充 內表,可以 使用 APPEND、 COLLECT 或 INSERT 語句。

_ 要將內表 僅用于存儲 數據,出于 性能方面的 考慮,建議 使用 APPEND。 用 APPEND 也可以創建序列清單。

_ 要計算數 字字段之和 或要確保內 表中沒有出 現重復條目 ,請使用 COLLECT 語句,它根 據標準關鍵字處理行。

_ 要在內表 現有行之前 插入新行, 請使用 INSERT 語句。

要將內表內 容復制到另 一個內表中 ,請使用 APPEND、 INSERT 或 MOVE 語句的變式 。

_ 要將內表 行附加到另 一個內表中 ,請使用 APPEND 語句的變式 。

_ 要將內表 行插入另一 個內表中, 請使用 INSERT 語句的變式 。

_ 要將內表 條目內容復 制到另一個 內表中,并 且覆蓋該目 標表格,請 使用 MOVE 語句。

?


COLLECT的特性讓我看到了企業寫報表的曙光。有的時候我們需要對某個區域或者某個客戶年度營業額進行匯總,于是COLLECT就大派用場了,甚至可以不用跟QAD一樣判斷是否有存在這個記錄而進行匯總,SAP就已經幫你處理好這一切!

不過,默認COLLECT只是對非P和I進行匯總,所以有的時候這也帶來很多不方便。這個問題留下一篇博文解決吧!請看如下例子:

REPORT? Z_COLLECT.
DATA: BEGIN OF ITAB OCCURS 4,
? COLUMN1(3) TYPE C,
? COLUMN2(2) TYPE N,
?COLUMN3??? TYPEI,
? COLUMN4(5) TYPE C,
END OF ITAB.
ITAB-COLUMN1 = 'abc'. ITAB-COLUMN2 = '12'. ITAB-COLUMN3 = 3.ITAB-COLUMN4 = 'xyz'.
COLLECT ITAB.
WRITE / SY-TABIX.
ITAB-COLUMN1 = 'def'. ITAB-COLUMN2 = '34'. ITAB-COLUMN3 = 5.ITAB-COLUMN4 = 'xyz'.
COLLECT ITAB.
WRITE / SY-TABIX.
ITAB-COLUMN1 = 'abc'. ITAB-COLUMN2 = '12'. ITAB-COLUMN3 = 15.ITAB-COLUMN4 = 'xyz'.
COLLECT ITAB.
WRITE / SY-TABIX.
LOOP AT ITAB.
? WRITE: / ITAB-COLUMN1, ITAB-COLUMN2,ITAB-COLUMN3, ITAB-COLUMN4.
ENDLOOP.

?


結果:

1

2

1

abc 12 18 xyz

def 34 5 xyz

?


總結:collect 就是將相同屬性字段的值放到一起但是不累加,然后將其余的不相等屬性值相加成為結果。


與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的ABAP—COLLECT的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。