Ansicht
Dokumentation
ABENCONSTRUCTOR_EXPRESSION_FILTER - CONSTRUCTOR EXPRESSION FILTER
General Data in Customer Master RFUMSV00 - Advance Return for Tax on Sales/PurchasesDiese Dokumentation steht unter dem Copyright der SAP AG.
FILTER, Filteroperator
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. Die Reihenfolge der aus itab entnommenen Zeilen hängt von ihrer Tabellenart und dem Zusatz USING KEY ab und ist die Gleiche wie bei LOOP AT itab.
- In der Grundform wird die Bedingung mit Einzelwerten gebildet
- Bei Verwendung einer Filtertabelle wird die Bedingung mit Werten aus der Filtertabelle ftab gebildet.
Für type kann angegeben werden:
- Ein nicht generischer Tabellentyp.
- Das Zeichen # als Symbol für den Operandentyp. Wenn der an einer Operandenposition benötigte Datentyp nicht eindeutig und vollständig erkennbar ist, wird der Typ von itab verwendet, falls dieser erkennbar ist.
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
- Eine Tabellenfilterung kann auch über eine Tabellen-Comprehension oder eine Tabellenreduzierung mit einem Iterationsausdruck für Tabelleniterationen mit FOR vorgenommen werden. Der Operator FILTER bietet für diesen Spezialfall eine kürzere Notation und ist in der Ausführung effizienter.
- Eine Tabellenfilterung baut das Ergebnis Zeile für Zeile auf. Wenn das Ergebnis fast alle
Zeilen der Ausgangstabelle enthält kann diese Vorgehensweise langsamer sein, als die Ausgangstabelle zu kopieren und die überflüssigen Zeilen aus der Zieltabelle zu löschen.
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.
RFUMSV00 - Advance Return for Tax on Sales/Purchases BAL_S_LOG - Application Log: Log header data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 5707 Date: 20240523 Time: 180148 sap01-206 ( 73 ms )