Ansicht
Dokumentation

ABENABAP_SQL_PATH_FILTER - ABAP SQL PATH FILTER

ABENABAP_SQL_PATH_FILTER - ABAP SQL PATH FILTER

CL_GUI_FRONTEND_SERVICES - Frontend Services   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- 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 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:

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

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

  • 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 )