Code: Alles auswählen.
FIELD-SYMBOLS <tab> TYPE INDEX TABLE.
FIELD-SYMBOLS <line> TYPE any.
FIELD-SYMBOLS <field> TYPE any.
.......
LOOP AT <tab> ASSIGNING <line>.
* ------------------------------------------------------- Stornokennzeichen
ASSIGN COMPONENT 'UMMMRDWSTO' OF STRUCTURE <line> TO <field>.
IF <field> IS ASSIGNED.
IF <field> IS NOT INITIAL.
* DELETE <line> WHERE <field> IS NOT INITIAL.
UNASSIGN <field>.
CONTINUE.
ELSE.
UNASSIGN <field>.
ENDIF.
ENDIF.
ENDLOOP.
Code: Alles auswählen.
LOOP AT <tab> ASSIGNING <line>.
unassign <field>.
ASSIGN COMPONENT 'UMMMRDWSTO' OF STRUCTURE <line> TO <field>.
IF <field> IS ASSIGNED.
IF <field> eq abap_true.
DELETE <tab>.
ENDIF.
ENDIF.
ENDLOOP.
Seit Release 7.2 gibt es eine dynamische WHERE-Bedingung im LOOP, mit dem das geht.Gabriel99 hat geschrieben:Der Befehlt DELETE funktioniert leider nicht auf einer generisch erzeugten Tabelle.
Code: Alles auswählen.
REPORT.
DATA: gt_t000 TYPE STANDARD TABLE OF t000.
FIELD-SYMBOLS: <gt_table> TYPE STANDARD TABLE.
SELECT *
FROM t000
INTO TABLE gt_t000.
ASSIGN gt_t000 TO <gt_table>.
DELETE <gt_table> WHERE (`MWAER = 'EUR'`) .
BREAK-POINT.