at event will not work properly for loop at itab with condition.
It will work for loop at itab without any condition.
You can add this logic to your program..
TABLES: VBUK, VBUP.
DATA: itab_vbuk TYPETABLEOF VBUK WITHHEADERLINE,
itab_vbup TYPETABLEOF VBUP,
itab_vbup1 TYPETABLEOF VBUP,
wa_vbup1 likelineof itab_vbup1,
wa_vbeln(10) typec.
DATA: counter TYPEi.
START-OF-SELECTION.
SELECT * FROM VBUK INTOTABLE itab_vbuk .
SELECT * FROM VBUP INTOTABLE itab_vbup .
sort itab_vbuk by vbeln.
sort itab_vbup by vbeln.
LOOPAT itab_vbuk.
clear itab_vbup1.
itab_vbup1[] = itab_vbup[].
delete itab_vbup1 where vbeln ne itab_vbuk-vbeln.
wa_vbeln = itab_vbuk-vbeln.
LOOPAT itab_vbup1 into wa_vbup1.
IF wa_vbup1-wbsta = 'C' .
counter = counter + 1.
ENDIF.
ATLAST.
WRITE:/ wa_vbeln, counter.
CLEAR counter.
ENDAT.
ENDLOOP.
ENDLOOP.