Ansicht
Dokumentation
ABENABAP_SQL_PATH_FILTER - ABAP SQL PATH FILTER
CL_GUI_FRONTEND_SERVICES - Frontend Services CPI1466 during BackupDiese Dokumentation steht unter dem Copyright der SAP AG.
- Pfadausdrücke, attributes
... [ $[(n$|*) $[INNER$|${LEFT$|RIGHT OUTER$}$]$] $[$[WHERE$] sql_cond$] ] ...
Zusätze:
1. ... (n$|*)
2. ... INNER$|${LEFT$|RIGHT OUTER$}
3. ... $[WHERE$] sql_cond
Wirkung
Für jede CDS-Assoziation oder CTE-Assoziation _assoc eines in einer Datenquelle einer FROM-Klausel oder einer Spaltenangabe angegebenen Pfadausdrucks können in eckigen Klammern Attribute für diesen Abschnitt des Pfadausdrucks definiert werden. Mit diesen Attributen kann
- die Kardinalität des Abschnitts deklariert werden
- die Art des Join-Ausdrucks festgelegt werden
- eine Filterbedingung sql_cond angegeben werden
Zusatz 1
... (n$|*)
Wirkung
Mit der Angabe einer Zahl n oder des Zeichens * in runden Klammern ( ) wird die Kardinalität der aktuellen Assoziation _assoc deklariert. Für n können die Zahlen 1 und 2 angegeben werden. Die Angabe der Kardinalität überschreibt die Definition der Kardinalität [min..max] bzw. TO ONE$|MANY der aktuellen Assoziation mit "zu 1", "zu 2" oder "zu *".
- Mit der Angabe der Kardinalität können Syntaxwarnungen bzw. Syntaxfehler verhindert werden, wenn die Kardinalität der Assoziation nicht zu ihrer Verwendung in einem Pfadausdruck einer SELECT-Anweisung passt oder diese beeinflusst.
- Bei der Angabe von (1) wird auf Datenbanksystemen, die dies unterstützen, ein links äußerer Join (LEFT OUTER JOIN) implizit mit dem Zusatz MANY TO ONE ausgeprägt und es sind die entsprechenden Auswirkungen zu beachten.
Hinweis
Bei der Angabe der Kardinalität in einem Pfadausdruck wird die Syntaxprüfung im strikten Modus ab Release ausgeführt.
Beispiel
Pfadangaben mit expliziter Angabe der Kardinalität von CDS-Assoziationen in der SELECT-Liste.
Auf einer Datenbank, die dies unterstützt, ist nur der links äußere Join zwischen
den DDIC-Datenbanktabellen SPFLI und SAIRPORT mit dem Zusatz MANY TO ONE ausgeprägt.
Zusatz 2
... INNER$|${LEFT$|RIGHT OUTER$}
Wirkung
Dieser Zusatz definiert die Art des Joins, in den die aktuelle Assoziation _assoc umgesetzt wird:
- INNER bewirkt einen inneren Join
- LEFT$|RIGHT OUTER bewirkt einen links äußeren Join bzw. einen rechts äußeren Join
Die Art des Joins kann nur zusammen mit der Kardinalität angegeben werden.
Wenn die Art des Joins nicht explizit angegeben ist, hängt sie von der Stelle ab, an welcher der Pfadausdruck verwendet wird:
- In Spaltenangaben von SELECT-Anweisungen ist es ein links äußerer Join ( LEFT OUTER JOIN).
- Als Datenquelle der FROM-Klausel ist es einen innerer Join (INNER JOIN).
Hinweis
Bei der Angabe Art des Joins in einem Pfadausdruck wird die Syntaxprüfung im strikten Modus ab Release ausgeführt.
Beispiel
Pfadangaben mit expliziter Angabe der Kardinalität und Umstellung der links äußeren Joins in den Spaltenangaben der SELECT-Liste auf innere Joins.
Zusatz 3
... $[WHERE$] sql_cond
Wirkung
Angabe einer Filterbedingung sql_cond für die aktuelle Assoziation _assoc. Der Zusatz WHERE ist optional wenn die Filterbedingung die einzige Angabe in den eckigen Klammern ist und er muss angegeben werden, wenn davor einer der anderen Zusätze verwendet wird.
Die Filterbedingung wird bei der Auflösung der Assoziation in einen Join in eine erweiterte Bedingung für den Join umgesetzt. Wenn im Pfadausdruck keine Filterbedingung angegeben ist, wird bei einer CDS-Assoziation implizit die mit WITH DEFAULT FILTER definierte Standardfilterbedingung verwendet.
Spaltenangaben in der Filterbedingung sql_cond beziehen sich immer auf das Ziel target oder target der Assoziation, für welche die Bedingung angegeben ist. Vor einer Spaltenangabe muss und darf kein expliziter Name mit dem Spaltenselektor ~ angegeben werden.
Hinweise
- Die in einer Filterbedingung möglichen relationalen Ausdrücke sind eine Teilmenge der relationalen Ausdrücke für Anweisungen, ermöglichen aber auch SQL-Ausdrücke als Operanden der rechten Seite.
- Bei der Angabe einer Filterbedingung in einem Pfadausdruck wird die Syntaxprüfung im strikten Modus ab Release ausgeführt.
Beispiel
Angabe von Filterbedingungen in einem Pfadausdruck.
CPI1466 during Backup ABAP Short Reference
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 8589 Date: 20240523 Time: 172546 sap01-206 ( 106 ms )