Hallo,UserBC hat geschrieben:Hallo Zusammen,
ich bin von der Verwendung von Workareas auf die Verwendung von Field-Symbols umgestiegen.
Allerdings habe ich ein Problem bei internen Tabellen - wie kann ich bei der Verwendung von Field-Symbols
eine Zeile der internen Tabelle löschen?
Bei WA geht's ja einfach ;
loop itab into wa.
...
delete itab from wa.
...
endloop.
Bei field-symbols funktioniert dies ja nicht;
loop at itab assinging fs.
...
delete ...??? -> Was muss hier stehen bei delete itab from fs - würde ja die Zuweisung verloren gehen und ein Dump produziert werden.
...
endloop.
Wäre euch echt dankbar für eure Tips.
Danke
UserBC
Was hat diese Lösung mit Feldsymbolen zu tun?ewx hat geschrieben:loop itab into wa.
...
delete itab index sy-tabix.
...
endloop.
Das war die Frage:michlbartl hat geschrieben:Was hat diese Lösung mit Feldsymbolen zu tun?
Das ist die Antwort:userBC hat geschrieben:wie kann ich bei der Verwendung von Field-Symbols
eine Zeile der internen Tabelle löschen?
ewx hat geschrieben:delete itab index sy-tabix.
Der Loop war nur verwirrend. Wollte Dir nicht zu nahe treten.ewx hat geschrieben:Das war die Frage:michlbartl hat geschrieben:Was hat diese Lösung mit Feldsymbolen zu tun?Das ist die Antwort:userBC hat geschrieben:wie kann ich bei der Verwendung von Field-Symbols
eine Zeile der internen Tabelle löschen?ewx hat geschrieben:delete itab index sy-tabix.
Sy-Tabix ist wahrscheinlich nur selten die richtige Wahl.frankiescat hat geschrieben:ich vertraue dem sy-tabix trotzdem nicht, deshalb clear ich das field symbol gerne. Ist paranoid, ich weiss!
...
Code: Alles auswählen.
LOOP AT lt_itab ASSIGNING <lt_itab>.
lx_itab = sy-tabix. "<<--gleich hier und sofort den aktuellen Index merken
IF ... Wert <> Bedingung.
delete lt_itab index lx_itab. "<<-- hier den aktuellen Satz dieser Tabelle löschen
ENDIF.
ENDLOOP.