Código exemplo abaixo, pegando dados de remessa
sELECT likp~vbeln,
likp~ernam,
lips~matnr,
lips~lfimg
INTO TABLE @DATA(lt_likp)
WHERE likp~lfart = 'ZVME'.
TYPES: BEGIN OF ty_rem,
matnr TYPE lips-matnr,
lfimg TYPE lips-lfimg,
END OF ty_rem.
GROUP BY ( matnr = <ls_collect>-matnr )
LET coll_line = REDUCE #( INIT ls_sum TYPE ty_rem
FOR ls_sum_likp IN GROUP w_lips_x
NEXT ls_sum-lfimg = ls_sum-lfimg + ls_sum_likp-lfimg
ls_sum-matnr = ls_sum_likp-matnr
) IN ( coll_line ) ).
BREAK-POINT.
types: begin of ty_doc,
bukrs type bukrs,
belnr type belnr_d,
gjahr type gjahr,
buzei type buzei,
end of ty_doc.
data t_doc type STANDARD TABLE OF ty_doc WITH DEFAULT KEY.
t_doc = value #(
( bukrs = '1000' belnr = '1' gjahr = '2025' buzei = 1 )
( bukrs = '1000' belnr = '1' gjahr = '2025' buzei = 2 )
( bukrs = '1000' belnr = '1' gjahr = '2025' buzei = 3 )
( bukrs = '1000' belnr = '2' gjahr = '2025' buzei = 1 )
( bukrs = '1000' belnr = '3' gjahr = '2025' buzei = 1 )
( bukrs = '1000' belnr = '3' gjahr = '2025' buzei = 2 )
( bukrs = '2000' belnr = '4' gjahr = '2025' buzei = 1 )
( bukrs = '2000' belnr = '5' gjahr = '2025' buzei = 1 )
( bukrs = '2000' belnr = '6' gjahr = '2025' buzei = 1 )
( bukrs = '3000' belnr = '7' gjahr = '2025' buzei = 1 )
( bukrs = '3000' belnr = '7' gjahr = '2025' buzei = 2 )
( bukrs = '3000' belnr = '8' gjahr = '2025' buzei = 1 )
).
BREAK-POINT.
loop at t_doc into data(ls_doc) GROUP BY ls_doc-bukrs into data(lv_bukrs).
loop at group lv_bukrs into data(lv_docs).
if 1 = 1.
endif.
endloop.
endloop.
Nenhum comentário:
Postar um comentário