2008/11/07

COLLECT wa INTO itab [result]. 数值字段汇总

COLLECT wa INTO itab [result]. 数值字段汇总
在加入新元素时将有相同standard key(非数值字段)的
ABAP COLLECT

DATA: BEGIN OF seats, 
        carrid   TYPE sflight-carrid, 
        connid   TYPE sflight-connid, 
        seatsocc TYPE sflight-seatsocc, 
      END OF seats. 

DATA seats_tab LIKE HASHED TABLE OF seats 
               WITH UNIQUE KEY carrid connid. 

SELECT carrid connid seatsocc 
       FROM sflight 
       INTO seats. 
  COLLECT seats INTO seats_tab. 
ENDSELECT.
----------------------------------------
Example:
 DATA: BEGIN OF ITAB OCCURS 3,
        COL1(3) TYPE C,
        COL2    TYPE I,
       END OF ITAB.
       ITAB-COL1 = 'ABC'. ITAB �COL2 = 10.
       COLLECT ITAB.

       ITAB-COL1 = 'XYZ'. ITAB-COL2 = 20.
      COLLECT ITAB.

      ITAB-COL1 = 'ABC'.   ITAB-COL2 = 30.
      COLLECT ITAB.    "汇总COL2 至 COL1=ABC 的元素上
      LOOP AT ITAB.
         WRITE: / ITAB-COL1,ITAB-COL2.
      ENDLOOP.
      执行结果:
         ABC      40
         XYZ      20

No comments: