COLLECT 的用法

*&---------------------------------------------------------------------*
*& Report Z_SALAH_COLLECT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_SALAH_COLLECT.
**********************************************************************
*REPORT DESCRIBE:COLLECT的用法
*DEVELOPER:SALAH
*DEVELOP DATE:20191011
*MODIFY DATE:
*FUNCTION SPEC:
*KEY USER:
**********************************************************************
DATABEGIN OF ITAB OCCURS 4,
        COLUMN1(3TYPE C,
        COLUMN2(2TYPE N,
        COLUMN3    TYPE I,
        COLUMN4(5TYPE 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 就是将相同属性字段的值放到一起但是不累加,然后将其余的不相等属性值相加成为结果。

原文地址:https://www.cnblogs.com/salah/p/11917891.html