Search This Blog

Monday, April 25, 2005

Sample Code - Control Break Processing Option

Loop Control Break Processing if you can’t use AT NEW or ON CHANGE stuff

LOOP AT itab.

IF sy-tabix = 1.
MOVE-CORRESPONDING itab TO sav_itab.
ENDIF.

IF sav_itab-key <> itab-key OR
sav_itab-key2 <> itab-key2.

PERFORM append_itab USING sav_itab sum_wrbtr.
CLEAR: sav_itab, sum_wrbtr.
MOVE-CORRESPONDING itab TO sav_itab.
sum_wrbtr = sum_wrbtr + itab-wrbtr.
ELSE.
sum_wrbtr = sum_wrbtr + itab-wrbtr.
CLEAR sav_itab.
MOVE-CORRESPONDING itab TO sav_itab.

AT LAST.
PERFORM append_itab USING sav_itab sum_wrbtr.
ENDAT.

ENDIF.

ENDLOOP.

2 comments:

Dfloth said...

Replace this crap with something like this:

SORT itab BY t1 t2.

LOOP at itab.

AT FIRST.
WRITE 'Start of LOOP'.
ULINE.
ENDAT.

AT NEW t1.
WRITE / ' New T1:'.
ENDAT.

AT NEW t2.
WRITE / ' New T2:'.
ENDAT.

WRITE: /14 itab-t1, itab-t2, itab-t3.

AT END OF t2.
WRITE / 'End of T2'.
ENDAT.

AT END OF t1.
WRITE / 'End of T1'.
ENDAT.

AT LAST.
ULINE.
ENDAT.

ENDLOOP.

Dfloth said...

SORT t_escrow BY aufnr hkont.

LOOP AT t_escrow.
s2_escrow = t_escrow.
CLEAR: s2_escrow-sgtxt.
g_count = g_count + 1.

sum_wrbtr = sum_wrbtr + s2_escrow-wrbtr.

AT END OF hkont.
MOVE-CORRESPONDING s2_escrow TO s_escrow.
PERFORM append_escrow USING s_escrow sum_wrbtr.
CLEAR: s_escrow, s2_escrow, sum_wrbtr.
ENDAT.

ENDLOOP.