Ansicht
Dokumentation
ABENSELECT_HIERARCHY - SELECT HIERARCHY
ROGBILLS - Synchronize billing plans BAL_S_LOG - Application Log: Log header dataDiese Dokumentation steht unter dem Copyright der SAP AG.
SELECT, FROM hierarchy
... cds_hierarchy
$| HIERARCHY( ... )
$| cte_hierarchy
Wirkung
Angabe einer SQL-Hierarchie als Datenquelle in einer Query von .
- Gepflegt werden können z.B.:
- Eine SQL-Hierarchie kann an folgenden Stellen angegeben werden:
- Als Datenquelle data_source in einer Query von .
- Als Quelle eines Hierarchienavigators
- Als Quelle des Hierarchiegenerators HIERARCHY
Eine SQL-Hierarchie ist eine tabellarische Menge von Zeilen, welche die Hierarchieknoten darstellen.
- Eine CDS-Hierarchie und der Hierarchiegenerator HIERARCHY erzeugen ihre Ergebnismenge aus der für sie definierten Datenquelle auf der Grundlage einer in einer Hierarchieassoziation definierten Eltern-Kind-Beziehung.
- Eine CTE-Hierarchie repräsentiert die Hierarchie, die in der Subquery des CTEs als alleinige Datenquelle angegeben ist, unter dem Namen des CTEs in den nachfolgenden Queries der aktuellen WITH-Anweisung.
Die Spalten einer SQL-Hierarchie setzen sich wie folgt zusammen:
- Komponenten der bei der Hierarchieerzeugung durch eine CDS-Hierarchie oder durch den Hierarchiegenerator verwendeten Datenquelle.
- Bei CDS-Hierarchien und CTE-Hierarchien sind es genau die dort aufgelisteten Komponenten.
- Beim Hierarchiegenerator HIERARCHY sind es alle Komponenten der Quelle der SQL-Hierarchie.
- Zusätzliche Hierarchiespalten. Die Hierarchiespalten enthalten für jeden Hierarchieknoten dessen Hierarchieattribute, die bestimmte hierarchiespezifische Eigenschaften beschreiben.
Bei Verwendung einer SQL-Hierarchie als Datenquelle einer Query in kann wie folgt auf die zusätzlichen Hierarchiespalten zugegriffen werden:
- In der SELECT-Liste
- Hierarchiespalten können wie normale Spalten als Spaltenangaben colname angegeben werden und tragen dann zur Ergebnismenge der Query bei.
- Bei der Angabe von * oder ...~* tragen Hierarchiespalten nicht zur Ergebnismenge der Query bei. Es werden nur die Komponenten der Quelle der SQL-Hierarchie berücksichtigt. Die Hierarchiespalten tragen in diesem Fall auch nicht zu einer in der INTO-Klausel mit einer Inline-Deklaration @DATA$|@FINAL(...) erzeugten Struktur bzw. internen Tabelle bei.
- In anderen Klauseln können Hierarchiespalten unabhängig von der SELECT-Liste als Spaltenangaben angegeben werden und werden entsprechend ausgewertet.
Hinweise
- Die Hierarchiespalten können in einer Query ausgewertet werden, müssen aber nicht. In der Regel ist man nur am Dateninhalt einer SQL-Hierarchie interessiert, aber nicht an den technischen Eigenschaften der Hierarchieknoten.
- Auf einer SAP-HANA-Datenbank beruht die Erzeugung der Ergebnismengen von CDS-Hierarchien und des Hierarchiegenerators HIERARCHY auf der Verwendung der dortigen Hierarchie-Generator-Funktionen HIERARCHY und ähnlichen. Für mehr Informationen siehe die Dokumentation zu SAP HANA.
- Für eine Übersicht siehe den Spickzettel Arbeiten mit Hierarchien.
Beispiele
Die folgenden Programme demonstrieren jeweils die drei möglichen Angaben von SQL-Hierarchien als Datenquelle einer SELECT-Anweisung, wobei auch alle möglichen Hierarchiespalten ausgelesen werden.
SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up ROGBILLS - Synchronize billing plans
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7081 Date: 20240523 Time: 113104 sap01-206 ( 137 ms )