matinal:SAP ABAP 7.40及以上新语法-内表分类汇总

1个内表里有3个字段,字段1、2是主键,汇总放到字段3:

公众号:matinal

REPORT zmatinal.
 
TYPES:
  BEGIN OF struct,
    key1 TYPE string,
    key2 TYPE string,
    col      TYPE i,
  END OF struct,
  itab TYPE STANDARD TABLE OF struct WITH EMPTY KEY.
 
DATA(itab) = VALUE itab(
                         ( key1 = `a` key2 = `a` col = 1 )
                         ( key1 = `a` key2 = `b` col = 2 )
                         ( key1 = `a` key2 = `a` col = 3 )
                         ( key1 = `a` key2 = `a` col = 4 )
                         ( key1 = `a` key2 = `b` col = 5 )
                         ( key1 = `b` key2 = `a` col = 6 )
                         ( key1 = `b` key2 = `a` col = 7 )  ).
 
DATA gt_co TYPE TABLE OF struct.
DATA gs_co TYPE  struct.
 
LOOP AT itab INTO DATA(wa_itab) GROUP BY ( key1 = wa_itab-KEY1 key2 = wa_itab-KEY2 ).  "这里去重
 
         gs_co-key1 = wa_itab-key1.
         gs_co-key2 = wa_itab-key2.
 
        LOOP AT GROUP wa_itab INTO DATA(tmp).
            gs_co-col = gs_co-col + tmp-col.
        ENDLOOP.
      
        APPEND gs_co TO gt_co.
 
ENDLOOP.
 
cl_demo_output=>write( gt_co ).
cl_demo_output=>display( ).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值