at end of
hi experts
i have a problem with my code:
SORT i_data by lifnr grund.
loop for summing quantity for each vendor and reason
for movment:
LOOP at i_data INTO wa_data.
if i_data-shkzg = 'H'.
i_data-erfmg = i_data-erfmg * -1.
modify i_data.
ENDIF.
at END OF grund.
SUM.
flag = 1.
outtab-erfmg = wa_data-erfmg.
ENDAT.
if flag = 1.
outtab-lifnr = wa_data-lifnr.
outtab-name1 = wa_data-name1.
outtab-kvgr1 = wa_data-kvgr1.
outtab-bezei = wa_data-bezei.
outtab-stras = wa_data-stras.
outtab-ort01 = wa_data-ort01.
outtab-telef1 = wa_data-telf1.
outtab-kunnr = wa_data-kunnr.
outtab-grund = wa_data-grund.
outtab-preis = wa_data-preis.
outtab-bwaer = wa_data-bwaer.
outtab-peinh = wa_data-peinh.
outtab-bprme = wa_data-bprme.
APPEND outtab.
flag = 0.
endif.
ENDLOOP.
the statement at end of grund works only in the first time i.e.,
when i have for example three first rows with the same grund it takes the third row but in
the next three rows with the same grund it takes the first instead of third
what's the problem?
thanks
amit
Tags:
François Henrotte replied
probably they have a different value in LIFNR
when you do "AT END OF grund." the statement considers all fields up to the field "grund"
so if you want to break on this field only, you have to put it in front !