Abstract Entities in ABAP CDS

Neben klassischen View Entities und Table Functions gibt es in ABAP CDS auch sogenannte Abstract Entities. Sie nehmen eine besondere Rolle ein, weil sie nicht direkt Daten liefern, sondern eher als Schnittstellen- oder Modellierungselemente dienen.


Eine Abstract Entity ist eine CDS-Definition, die keine physische Entsprechung in der Datenbank hat. Sie ist also kein View auf Tabellen und auch keine persistente Struktur. Stattdessen beschreibt sie ein Datenmodell, das an anderer Stelle mit Inhalt gefüllt wird. Typischerweise wird sie eingesetzt, wenn man Daten aus externen Quellen, aus APIs oder aus speziellen Zugriffsszenarien modellieren möchte, bei denen eine normale View nicht geeignet ist.

In ADT kann man Abstract Entities mit Parametern anlegen, was über die Syntax define abstract entity with parameters geschieht. Dadurch lässt sich ein flexibles Modell aufbauen, das von außen gesteuert werden kann. Analog zu anderen CDS-Artefakten lassen sich auch Abstract Entities mit extend abstract entity erweitern. Die Stärke von Abstract Entities liegt darin, dass sie eine lose Koppelung zwischen Datenquelle und Konsum ermöglichen. Ein Beispiel ist die Integration von OData- oder SOAP-Services, bei der die Daten nicht in einer SAP-Tabelle liegen, aber dennoch im CDS-Modell sichtbar und nutzbar gemacht werden sollen. Abstract Entities bieten hier den „Platzhalter“ für diese Daten. Zusammengefasst kann man sagen, dass Abstract Entities keine eigenständigen Datenobjekte sind, sondern Modellierungsbausteine. Sie erweitern die Möglichkeiten von CDS um den Aspekt der Abstraktion, sodass auch externe oder nicht-tabellenbasierte Datenmodelle in die CDS-Welt eingebunden werden können.