Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
sapdepp
Code: Alles auswählen.
loop at ltr_filter ASSIGNING <lsr_filter>.
* bzw.
loop at ltr_filter into lsr_filter.
loop at LT_N1LSTAMB into LS_N1LSTAMB where <lsr_filter>-selname = lsr_filter-low.
* bzw.
loop at LT_N1LSTAMB into LS_N1LSTAMB where (lsr_filter-selname) = lsr_filter-low.
* APPEND LS_N1LSTAMB ...
endloop.
endloop.
Code: Alles auswählen.
DATA:
lt_filter_index TYPE LVC_T_FIDX,
lt_data TYPE ISH_T_LSTSTELLE_LIST,
lt_index TYPE lvc_t_rows.
FIELD-SYMBOLS:
<ld_index> TYPE int4.
* Man könnte es auch mit ET_FILTER_INDEX_INSIDE, dann würde man keine
* Umwandlungstabelle benötigen, aber es addieren sich auch die
* langen Zeilen der Ausgabetabelle.
* Daher ist es besser, die unnötigen Zeilen herauszulöschen als die gültigen
* zu kopieren.
IF lt_filter_index IS NOT INITIAL.
* Leider lässt sich LVC_T_FIDX nicht umsortieren, daher müssen die
* Index-Werte zuerst umgewandelt werden.
lt_index = lt_filter_index.
CLEAR lt_filter_index.
SORT lt_index DESCENDING.
* Jetzt kann ich der Reihe nach die Index-Einträge löschen
LOOP AT lt_index ASSIGNING <ld_index>.
DELETE lt_data INDEX <ld_index>.
ENDLOOP.
ENDIF.
Code: Alles auswählen.
DATA:
lt_filter_index TYPE LVC_T_FIDX,
lt_data TYPE ISH_T_LSTSTELLE_LIST.
FIELD-SYMBOLS:
<ld_index> TYPE int4.
SORT lt_filter_index DESCENDING.
* Jetzt kann ich der Reihe nach die Index-Einträge löschen
LOOP AT lt_filter_index ASSIGNING <ld_index>.
DELETE lt_data INDEX <ld_index>.
ENDLOOP.