SAP NetWeaver AS ABAP Release 751, ©Copyright 2017 SAP AG. Alle Rechte vorbehalten.
ABAP - Schlüsselwortdokumentation → ABAP - Referenz → Interne Daten verarbeiten → Interne Tabellen → Ausdrücke und Funktionen für interne Tabellen →FILTER - Filteroperator
Syntaxformen
Grundform
1. ... FILTER type( itab [EXCEPT] [USING KEY
keyname]
WHERE c1 op f1 [AND c2 op f2 [...]] ) ...
Filtertabelle
2. ... FILTER type( itab [EXCEPT] IN ftab [USING KEY
keyname]
WHERE c1 op f1 [AND c2 op f2 [...]] ) ...
Zusatz:
Wirkung
Ein Konstruktorausdruck mit dem Komponentenoperator FILTER erzeugt ein Resultat eines mit type angegebenen Tabellentyps. Die Zeilen werden einer vorhandenen internen Tabelle itab gemäß der Bedingung hinter WHERE entnommen, in den Zeilentyp von type konvertiert und nach den Regeln von INSERT ... INTO TABLE in die Zieltabelle eingefügt.
Für type kann angegeben werden:
Bei itab handelt es sich um eine funktionale Operandenposition. Der Zeilentyp von itab muss in den Zeilentyp des Zieltyps type konvertierbar sein. Mit USING KEY kann oder muss ein Tabellenschlüssel spezifiziert werden, mit dem je nach Variante itab oder ftab ausgewertet wird.
Hinweise
... EXCEPT
Wirkung
Wenn EXCEPT nicht angegeben ist, werden die Zeilen aus itab verwendet, welche die WHERE-Bedingung erfüllen. Wenn EXCEPT angegeben ist, werden die Zeilen aus itab verwendet, welche die WHERE-Bedingung nicht erfüllen.
Hinweis
Der Zusatz EXCEPT ist insbesondere bei der Variante mit Filtertabelle nicht mit einer Negierung der WHERE-Bedingung gleichbedeutend.
Beispiel
Verwendung des Zusatzes EXCEPT in der Grundform des FILTER-Operators.
DATA messages TYPE SORTED TABLE OF t100 WITH NON-UNIQUE KEY sprsl.
SELECT *
FROM t100
WHERE arbgb = 'SABAPDEMOS'
INTO TABLE @messages.
cl_demo_output=>display(
FILTER #( messages EXCEPT WHERE sprsl = 'D' ) ).