View Extensions in ABAP CDS

CDS Views sind ein mächtiges Werkzeug, um Datenmodelle im ABAP-System zu definieren. Doch was passiert, wenn man eine bestehende View um zusätzliche Informationen erweitern möchte, ohne die ursprüngliche Definition direkt zu verändern? Genau dafür gibt es View Extensions.


Es gibt zwei Varianten:

extend view entity

Die moderne Form ist extend view entity. Sie wird genutzt, um eine View Entity um zusätzliche Felder, Annotationen oder Assoziationen zu erweitern. Das Besondere ist, dass die ursprüngliche View unverändert bleibt, aber bei Nutzung der View automatisch auch die Erweiterungen sichtbar sind. Damit können Standard-CDS-Views von SAP flexibel ergänzt werden, ohne dass man sie kopieren oder überschreiben muss. Dies ist auch der empfohlene Ansatz für neue Entwicklungen.

extend view

Daneben gibt es noch extend view. Diese Variante gehört zur älteren Syntax, also zu klassischen CDS Views, die im Hintergrund ein DDIC-SQL-View erzeugen. Sie ist nach wie vor lauffähig, sollte aber wie die zugrunde liegende define view-Syntax nur noch für Bestandscode verwendet werden. Ein praktisches Beispiel: Angenommen, man hat eine Standard-View von SAP, die Materialstammdaten liefert, aber ohne das Feld für den Erstellungsbenutzer. Mit einer View Extension lässt sich dieses Feld unkompliziert hinzufügen, ohne dass die ursprüngliche SAP-View angepasst werden muss.