Ich habe jetzt in der Hilfe zwar bei DELETE - itab_lines den Befehl WHERE log_exp gefunden. Nur leider bin ich anscheinend zu blöd diesen richtig anzuwenden.ewx hat geschrieben:DELETE itab WHERE log_expr.
Hilft vielleicht noch dieses kleine Beispiel weiter? Aus der Tabelle gt_itab werden im Beispielcode alle Einträge entfernt, in denen die Komponente 'name' nicht mit 'ma' beginnt.thobi hat geschrieben:Ich habe jetzt in der Hilfe zwar bei DELETE - itab_lines den Befehl WHERE log_exp gefunden. Nur leider bin ich anscheinend zu blöd diesen richtig anzuwenden.ewx hat geschrieben:DELETE itab WHERE log_expr.
Code: Alles auswählen.
************************************ Interne Tabelle erstellen.
TYPES: BEGIN OF tt_itab,
name TYPE c LENGTH 30,
value TYPE n LENGTH 10,
END OF tt_itab.
DATA gs_itab TYPE tt_itab. " Arbeitsbereich
DATA gt_itab LIKE TABLE OF gs_itab. " Interne Tabelle
************************************ Interne Tabelle füllen.
CLEAR gs_itab.
gs_itab-name = 'peter'.
gs_itab-value = 25.
APPEND gs_itab TO gt_itab.
CLEAR gs_itab.
gs_itab-name = 'manuel'.
gs_itab-value = 45.
APPEND gs_itab TO gt_itab.
CLEAR gs_itab.
gs_itab-name = 'hans'.
gs_itab-value = 87.
APPEND gs_itab TO gt_itab.
************************************ Interne Tabelle 'filtern'.
" 'This is where the magic happens' ;)
DELETE gt_itab WHERE name NP 'ma*'.
************************************ Und das Ergebnis zeigen.
WRITE: / 'name', 30 'value'.
LOOP AT gt_itab INTO gs_itab.
WRITE: / gs_itab-name, 30 gs_itab-value.
ENDLOOP.