Ansicht
Dokumentation

ABAPWITH_HIERARCHY - WITH HIERARCHY

ABAPWITH_HIERARCHY - WITH HIERARCHY

RFUMSV00 - Advance Return for Tax on Sales/Purchases   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

WITH, HIERARCHY

... WITH HIERARCHY hierarchy
                 $| (hierarchy_syntax)


Wirkung

Der Zusatz WITH HIERARCHY exponiert einen allgemeinen Tabellenausdruck als CTE-Hierarchie. Ein solcher allgemeiner Tabellenausdruck kann in den nachfolgenden Queries der aktuellen WITH-Anweisung unter seinem Namen als SQL-Hierarchie hierarchy verwendet werden.

In der Subquery des allgemeinen Tabellenausdrucks darf nur auf eine einzige Datenquelle zugegriffen werden und diese muss eine SQL-Hierarchie hierarchy sein. Hinter HIERARCHY kann die als Datenquelle der Subquery verwendete SQL-Hierarchie statisch oder dynamisch angegeben werden:

  • Mit hierarchy wird entweder der Name der SQL-Hierarchie oder ihr mit AS definierter Aliasname angegeben. Bei der Verwendung des Hierarchiegenerators HIERARCHY muss dieser einen Aliasnamen haben und dieser muss angegeben werden.
  • In runden Klammern, kann ein eingeklammertes Datenobjekt hierarchy_syntax angegeben werden, das bei Ausführung der Anweisung entweder die statische Syntax für die Angabe der SQL-Hierarchie enthalten muss oder initial ist. In diesem Fall kann der allgemeine Tabellenausdruck nur in anderen dynamischen Tokens der WITH-Anweisung verwendet werden. Das Datenobjekt hierarchy_syntax kann ein zeichenartiges Datenobjekt oder eine Standardtabelle mit zeichenartigem Zeilentyp sein. Die Syntax in hierarchy_syntax ist wie in der statischen Syntax unabhängig von Groß- und Kleinschreibung. Ungültige Syntax führt zu einer behandelbaren Ausnahme der Klasse CX_SY_DYNAMIC_OSQL_ERROR. Wenn hierarchy_syntax initial ist, wird der allgemeine Tabellenausdruck nicht als SQL-Hierarchie exponiert.

Die Ergebnismenge eines als CTE-Hierarchie exponierten allgemeinen Tabellenausdrucks umfasst die Hierarchiespalten der in der Subquery angegebenen SQL-Hierarchie. Die SELECT-Liste der Subquery darf keine Spalten enthalten, die den gleichen Namen oder Aliasnamen wie eine Hierarchiespalte haben.

Hinweis

Bei der dynamischen Angabe hierarchy_syntax kann zur Laufzeit entschieden werden, ob ein allgemeiner Tabellenausdruck als CTE-Hierarchie exponiert wird, oder nicht.

Beispiel

Zugriff auf CTE-Hierarchien in zwei Hierarchienavigatoren HIERARCHY_DESCENDANTS, die in der Hauptquery einer WITH-Anweisung über einen links äußeren Join miteinander verknüpft sind, im Ausschnitt des Programms DEMO_HIERARCHY_CTE. Die erste CTE-Hierarchie repräsentiert die CDS-Hierarchie DEMO_CDS_PARENT_CHILD, auf die in ihrer Subquery zugegriffen wird. Die zweite CTE-Hierarchie repräsentiert die Ergebnismenge des Hierarchiegenerators HIERARCHY, der in ihrer Subquery verwendet wird. Die ON-Bedingung des Joins vergleicht zwei Hierarchiespalten der CTE-Hierarchien. Ein Ausführen des Programm zeigt das Ergebnis des Zugriffs.






ABAP Short Reference   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4944 Date: 20240523 Time: 124123     sap01-206 ( 79 ms )