SELECT多个字段单独汇总数据到变量
SELECT SUM( ZSJCLYL ),SUM( ZSJYWCGL ) FROM ZFIT_KO_HIS
WHERE AUFNR EQ @I_AUFNR
INTO (@E_MENGE,@E_MENGE_SUM).
取数代替LOOP
<f_data_sum>-menge_sj = reduce menge_d( init x = lv_p->* for gw_alv_data1 in gt_alv_data1
where ( bukrs = <f_data_sum>-bukrs
and setname = <f_data_sum>-setname
and subsetname = <f_data_sum>-subsetname
and aufnr = <f_data_sum>-aufnr )
next x = x + gw_alv_data1-menge ).
DATA:BEGIN OF ls_data, a TYPE char1, b TYPE numc2, END OF ls_data, lt_data LIKE TABLE OF ls_data. lt_data = VALUE #( ( a = 'A' b = 10 ) ( a = 'B' b = 30 ) ( a = 'C' b = 50 ) ) . DATA(lv_sum) = REDUCE #( INIT sum TYPE menge_d"定义求和的字段SUM类型QUAN,名字随便 FOR ls_wa IN lt_data "创建一个工作区ls_wa对应内表 WHERE ( a = 'A' OR a = 'B' ) "汇总如果有条件,可以添加汇总条件 NEXT sum = sum + ls_wa-b )."把值和工作区wa取的值相加 WRITE lv_sum.
网友评论