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:

... EXCEPT

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

Zusatz

... 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' ) ).



Weiterlesen
FILTER - Grundform
FILTER - Filtertabelle
Beispiele zu Tabellenfilterungen