Hi,
Two pass solution:
FORM test_04 . TYPES: BEGIN OF tp_data_1 . TYPES: racct TYPE racct , shkzg TYPE shkzg , hslvt TYPE hslvt . TYPES: END OF tp_data_1 . DATA: it_data_1 TYPE TABLE OF tp_data_1 . DATA: st_data_1 LIKE LINE OF it_data_1 . st_data_1-racct = '0000120000'. st_data_1-shkzg = 'H'. st_data_1-hslvt = '853.47'. APPEND st_data_1 TO it_data_1. st_data_1-racct = '0000120000'. st_data_1-shkzg = 'S'. st_data_1-hslvt = ' 0.00'. APPEND st_data_1 TO it_data_1. st_data_1-racct = '0000120001'. st_data_1-shkzg = 'H'. st_data_1-hslvt = ' 0.00'. APPEND st_data_1 TO it_data_1. st_data_1-racct = '0000120001'. st_data_1-shkzg = 'S'. st_data_1-hslvt = '0.00'. APPEND st_data_1 TO it_data_1. st_data_1-racct = '0000120007'. st_data_1-shkzg = 'S'. st_data_1-hslvt = '0.00'. APPEND st_data_1 TO it_data_1. st_data_1-racct = '0000120007'. st_data_1-shkzg = 'H'. st_data_1-hslvt = '0.00'. APPEND st_data_1 TO it_data_1. st_data_1-racct = '0000120080'. st_data_1-shkzg = 'H'. st_data_1-hslvt = '564258.37'. APPEND st_data_1 TO it_data_1. st_data_1-racct = '0000120080'. st_data_1-shkzg = 'S'. st_data_1-hslvt = '0.00'. APPEND st_data_1 TO it_data_1. TYPES: BEGIN OF tp_sums_1 . TYPES: racct TYPE racct , counter TYPE integer . TYPES: END OF tp_sums_1 . DATA: it_sums_1 TYPE TABLE OF tp_sums_1 . DATA: st_sums_1 LIKE LINE OF it_sums_1 . FIELD-SYMBOLS: <st_data_1> LIKE LINE OF it_data_1 . LOOP AT it_data_1 ASSIGNING <st_data_1> . st_sums_1-racct = <st_data_1>-racct . IF <st_data_1>-hslvt NE 0 . st_sums_1-counter = 1 . ELSE . st_sums_1-counter = 0 . ENDIF . COLLECT st_sums_1 INTO it_sums_1 . ENDLOOP. DELETE it_sums_1 WHERE counter EQ 0 . SORT it_sums_1 BY racct . LOOP AT it_data_1 ASSIGNING <st_data_1> . READ TABLE it_sums_1 TRANSPORTING NO FIELDS WITH KEY racct = <st_data_1>-racct . IF sy-subrc NE 0 . DELETE it_data_1 . ENDIF . ENDLOOP . BREAK-POINT . ENDFORM . "test_04