ABAP內表中列累加的两种方法。

1 使用指针类:将对应列数据数据放入指针进行累加
2 使用do..times varying from … next ...

REPORT ytfi010. 


TABLES: bseg , bkpf, faglflext.

DATA: BEGIN OF gwa_bseg,
  bukrs LIKE bseg- bukrs,
  END OF gwa_bseg. 
DATA: gt_bseg LIKE STANDARD TABLE OF gwa_bseg. 

DATA: BEGIN OF gwa_bkpf,
  bukrs LIKE bkpf- bukrs,
  belnr LIKE bkpf- belnr,
  gjahr LIKE bkpf- gjahr,
  END OF gwa_bkpf. 
DATA: gt_bkpf LIKE STANDARD TABLE OF gwa_bkpf. 


DATA: BEGIN OF gwa_faglflext,
  racct LIKE faglflext- racct,"科目 
  drcrk LIKE faglflext- drcrk,"借方/贷方标识 
  hslvt LIKE faglflext- hslvt,
  hsl01 LIKE faglflext- hsl01,"本币金额 
  hsl02 LIKE faglflext- hsl02,
  hsl03 LIKE faglflext- hsl03,
  hsl04 LIKE faglflext- hsl04,
  hsl05 LIKE faglflext- hsl05,
  hsl06 LIKE faglflext- hsl06,
  hsl07 LIKE faglflext- hsl07,
  hsl08 LIKE faglflext- hsl08,
  hsl09 LIKE faglflext- hsl09,
  hsl10 LIKE faglflext- hsl10,
  hsl11 LIKE faglflext- hsl11,
  hsl12 LIKE faglflext- hsl12,
  hsl13 LIKE faglflext- hsl13,
  hsl14 LIKE faglflext- hsl14,
  hsl15 LIKE faglflext- hsl15,
  hsl16 LIKE faglflext- hsl16,
  END OF gwa_faglflext. 
DATA: gt_faglflext LIKE STANDARD TABLE OF gwa_faglflext. 

FIELD-SYMBOLS <fs>. 
DATA: g_index TYPE i.
DATA: g_tot LIKE faglflext- hsl16.
DATA: g_tot2 LIKE faglflext- hsl16.

SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_faglflext FROM faglflext
  WHERE ryear = '2014'
  AND rbukrs = '5009'.

LOOP AT gt_faglflext INTO gwa_faglflext.

  g_index = 4. 

  DATA: g_tot21 LIKE faglflext- hsl16.
  DO 3 TIMES 
    VARYING g_tot21 FROM gwa_faglflext-hsl01 NEXT gwa_faglflext- hsl02.
    g_tot2 = g_tot2 + g_tot21.
  ENDDO.

  DO 3 TIMES .

    ASSIGN COMPONENT g_index OF STRUCTURE gwa_faglflext TO <fs>. 
    g_tot = g_tot + <fs>.

    g_index = g_index + 1. 

  ENDDO.

  WRITE: '1' , gwa_faglflext- hsl01.
  WRITE: '2' , gwa_faglflext- hsl02.
  WRITE: '3' , gwa_faglflext- hsl03.
  WRITE: '4' , g_tot. 
  WRITE: '5' , g_tot2. 
  CLEAR g_tot. 
  CLEAR g_tot2. 
*  WRITE: gwa_faglflext-hsl04. 
*  WRITE: gwa_faglflext-hsl05. 
*  WRITE: gwa_faglflext-hsl06. 
*  WRITE: gwa_faglflext-hsl07. 
*  WRITE: gwa_faglflext-hsl08. 
  WRITE: / .


ENDLOOP.



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值