abap collect 如何按自己需要的字段汇总
时间: 2024-01-27 19:04:57 浏览: 141
SAP ABAP 通过Eclipse扩展MSEG字段教程.pdf
5星 · 资源好评率100%
ABAP中的COLLECT语句可以用来对内表进行汇总操作,但是默认只能按照所有字段进行汇总。如果需要按照自己需要的字段进行汇总,可以使用GROUP BY子句。
例如,假设有如下内表:
```
DATA: BEGIN OF itab OCCURS 0,
field1 TYPE i,
field2 TYPE i,
field3 TYPE i,
END OF itab.
itab-field1 = 1.
itab-field2 = 2.
itab-field3 = 3.
APPEND itab.
itab-field1 = 1.
itab-field2 = 3.
itab-field3 = 5.
APPEND itab.
itab-field1 = 2.
itab-field2 = 4.
itab-field3 = 6.
APPEND itab.
itab-field1 = 2.
itab-field2 = 5.
itab-field3 = 7.
APPEND itab.
```
如果要按照field1字段进行汇总,可以这样写:
```
DATA: BEGIN OF itab_grouped OCCURS 0,
field1 TYPE i,
sum_field2 TYPE i,
sum_field3 TYPE i,
END OF itab_grouped.
SELECT field1
SUM( field2 ) AS sum_field2
SUM( field3 ) AS sum_field3
FROM TABLE itab
INTO CORRESPONDING FIELDS OF TABLE itab_grouped
GROUP BY field1.
```
这样,itab_grouped内表中的每一行就是按照field1字段进行汇总后的结果,sum_field2和sum_field3分别表示field2和field3的总和。
阅读全文