SAP ABAP 三种汇总方法

1.select sum 汇总

select key1 key2 sum ( case zhiduan
                 when 1  then suliang1
                 when 2  then suliang2
                 end
) as cnt
from table
where satue in (1,2)
order by  key1 key2               "必有         
group by  key1 key2               "必有

2.loop 汇总
在loop中累加,结果给一个变量,变量使用结束后注意要清空,便于下个循环使用

COLLECT  t_data1 INTO  t_data2. 

3.collect汇总
如果内表存在相同主表键的行,则将数值类型字段的值累加到现有的一行中,主表键是指非数值类型的字段
使用时也要注意clear变量
汇总模板

TYPES:
    BEGIN OF TY_MENG,

*      VBELN_VL TYPE LIKP-VBELN,                 "参考凭证(交货单号)
      FKDAT TYPE LIKP-FKDAT,                 "定价日期(开票日期)
      MATNR TYPE VBAP-MATNR,                 "款号
      VKORG TYPE LIKP-VKORG,                 "销售组织
      KUNAG TYPE LIKP-KUNAG,                 "售达方
      LFIMG TYPE LIPS-LFIMG,                 "SKU 计的开票数量
      KBETR TYPE LIPS-NETWR,                 "税额
      KPEIN TYPE LIPS-NETWR,                 "净值

    END OF TY_MENG.

  DATA: GTT_DATA TYPE TABLE OF TY_MENG,
        GSS_DATA TYPE TY_MENG.
  
  "按日期,款号,销售组织,售达方 汇总数量和金额
  CLEAR GTT_DATA.
  LOOP AT GT_SAVE INTO GS_SAVE.
    MOVE-CORRESPONDING GS_SAVE TO GSS_DATA.
    COLLECT GSS_DATA INTO GTT_DATA.
    CLEAR GS_SAVE.
    CLEAR GSS_DATA.
  ENDLOOP.
  SORT GTT_DATA BY FKDAT MATNR VKORG KUNAG.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值