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

来源:互联网 发布:淘宝网店怎么设置客服 编辑:程序博客网 时间:2024/06/05 05:12
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 0