Daten liegen in Geschäftsanwendungen oft nicht flach vor, sondern in hierarchischen Strukturen. Typische Beispiele sind Organisationsbäume, Stücklisten, Kostenstellenhierarchien oder Positionsstrukturen. Damit solche Szenarien auch in ABAP CDS abgebildet werden können, gibt es die Möglichkeit, Hierarchien explizit zu definieren.
Mit der Syntax define hierarchy lässt sich eine Parent-Child-Hierarchie modellieren. Im Unterschied zu einer einfachen View, die Tabellen lediglich verknüpft oder filtert, können Hierarchien Beziehungen zwischen Objekten in verschiedenen Ebenen ausdrücken. Eine Hierarchie kennt immer einen Knoten und eine Kante, also das Element selbst und seine Beziehung zu einem übergeordneten Element.
Eine solche Hierarchie kann zum Beispiel beschreiben, dass eine Organisationseinheit zu einem bestimmten Bereich gehört oder dass ein Material Teil einer Baugruppe ist. Im Reporting oder in analytischen Szenarien werden diese Strukturen benötigt, um Daten nicht nur isoliert, sondern im Kontext ihrer übergeordneten und untergeordneten Elemente auszuwerten.
Der Vorteil einer expliziten Hierarchie-Definition in CDS ist, dass sie standardisiert konsumierbar wird. Sie kann sowohl in analytischen Anwendungen als auch in OData-Services direkt genutzt werden, ohne dass man aufwändig rekursive Logik in SQL nachbilden müsste.
Damit schließt die Hierarchie-Definition in CDS eine wichtige Lücke: Sie macht komplexe Strukturen im Datenmodell explizit sichtbar und wiederverwendbar. Für Entwicklerinnen und Entwickler bedeutet das weniger Eigenlogik und mehr Konsistenz in der Modellierung.
ABAP Core Data Services (CDS) sind eine moderne Möglichkeit in SAP ABAP, Datenbankabfragen und Datenmodelle zu definieren.
Sie sind ein semantisches Schichtmodell auf der Datenbank, mit dem man Daten deklarativ beschreibt, statt rein prozedural in ABAP zu programmieren.