*&---------------------------------------------------------------------*
*& Report Z_SALAH_COLLECT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_SALAH_COLLECT.
**********************************************************************
*REPORT DESCRIBE:COLLECT的用法
*DEVELOPER:SALAH
*DEVELOP DATE:20191011
*MODIFY DATE:
*FUNCTION SPEC:
*KEY USER:
**********************************************************************
DATA: BEGIN OF ITAB OCCURS 4,
COLUMN1(3) TYPE C,
COLUMN2(2) TYPE N,
COLUMN3 TYPE I,
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.
*默认COLLECT只是对非P和I(也就是文本类型)进行汇总,对非文本类型进行累加。
*collect 就是将相同属性字段的值放到一起但是不累加,然后将其余的不相等属性值相加成为结果。