Philipp Schurr
6. März 2020

CDS Annotations – der neue Star der SAP Entwicklung?

SAP IDoc

Geht es um moderne ABAP-Entwicklung, sind CDS Views momentan in aller Munde. In S/4HANA werden sie fester Bestandteil und bringen Benefits wie eine bessere Performance und Zeitersparnis mit sich. Ihr Manko: Sie werden schnell unübersichtlich. Erst mit CDS Annotations kann ihr voller Mehrwert richtig ausgeschöpft werden. Was genau CDS Annotations sind, wie sie funktionieren und wie Sie davon profitieren können, verrate ich Ihnen in diesem Beitrag. 

Was sind CDS?

CDS (kurz für Core Data Services) ist eine Infrastruktur, die Daten im SAP-System modelliert. CDS Views stellen Entwicklern Informationen für die Programmierung zur Verfügung und greifen dabei auf bereits vordefinierte Modelle zuKunden und Entwickler können außerdem eigene Views erstellen und erhalten einige Vorteile: So kann beispielsweise die Performance gesteigert und viel Zeit bei der Entwicklung von Fiori Apps gespart werden.  

Jedoch bringen CDS Views auch Nachteile mit sich: 

  • Ohne eine semantische Beschreibung werden sie schnell unübersichtlich. 
  • Da sie die alte DDIC View aus der SE11 ersetzen, fehlen den Entwicklern die alten Funktionen 
  • Zeitsparende Frameworks wie Fiori Elements können CDS Views nicht ohne weiteres verarbeiten. 

Hier setzen CDS Annotations ihr Können ein: Sie sind ein integraler Bestandteil der Datenmodellierung und schöpfen den Mehrwert von CDS Views voll aus. 

Was genau sind denn nun Annotationen? 

Allgemein bedeuten Annotationen „Anmerkung“ oder „Vermerk“. In der Programmierung sind sie zudem Strukturierungsmittel. Annotationen reichern die CDS Views und deren Bestandteile mit Metadaten, also beschreibenden Daten, an. Dabei haben sie verschiedene Zwecke: Sie dienen zur semantischen Beschreibung der Entität, ersetzen die Eigenschaften aus der alten SAP GUI und geben auch Informationen für aufsetzende Entwicklungsframeworks (z. B. Fiori Elements). Doch Annotation ist nicht gleich Annotation. Sie werden nämlich in zwei Typen unterschieden: View- und Element-AnnotationBei der View-Annotation beziehen sich die Vermerke auf die komplette ViewElement-Annotationen beziehen sich nur auf ein bestimmtes Element.  

CDS Basics: Erste Schritte in die Core Data Services (CDS)

Whitepaper: CDS Basics

Erfahren Sie in unserem Whitepaper die Grundidee und die ersten Schritte in die Core Data Services (CDS).

Wie sind Annotationen aufgebaut? 

Die Namensgebung von Annotationen ist hierarchisch. Dabei ist die Struktur nicht einfach wahllos, sie folgt immer einer bestimmten Syntax. Diese zeigt die richtige Verbindung der unterschiedlichen Elemente auf. Um eine Annotation als solche zu kennzeichnen, beginnt sie zunächst mit dem Zeichen „@“. Darauf folgt die jeweilige Domäne, in der die Annotation verankert ist. Ein Zwischenknoten führt dann zuletzt zum Blattknoten. Dabei trennt ein Punkt die jeweiligen Elemente. Der Variablenwert oder die Konstante wird schließlich hinter dem Doppelpunkt geschrieben. Variablen werden dabei, wie auch in ABAP üblich, in Hochkommata geschrieben und die Konstanten nach einer Raute. Die Definitionen der Konstanten finden Sie in der annotationsspezifischen Werteliste.  

Beispiel: 

@Semantics.quantity.unitOfMeasure: ‘Zieleinheit’
Semantics = Domäne
quantity = Zwischenknoten
unitOfMeasure = Blattknoten
‚Zieleinheit‘ = Wert 

Annotationen: Do-It-Yourself 

SAP stellt Ihnen bereits festgelegte Annotationen zur Verfügung, wie bspw. @Schema, @Catalog oder @nokey. Die integrierten Festlegungen finden Sie im Namespace sap.cds. Aber was, wenn Ihnen diese nicht ausreichenBei CDS haben Sie die Möglichkeit, Ihre eigenen Annotationen zu definieren, wobei die Syntax wie bei den festgelegten Annotationen aufgebaut ist. Die Erstellung findet im ABAP Development Tool Eclipse IDE statt, wie auch die gesamte Entwicklung von CDS ViewsCDS unterstützt dabei drei Typen: 

  • Scalar annotationsDieser Typ von Annotation fungiert als eine eigene Seite und ist somit sehr flexibelSie können getaggt, Pfaden hinzugefügt oder auch selbst ein Pfad oder Tag werden. 
  • Structured annotations: Wie der Name es schon verrät, besitzen structured annotations zusätzliche strukturierte Informationen. Die Informationen können eine Vielzahl von Datentypen darstellen, die in erster Linie zur Verschachtelung von Annotationen dienen. 
  • Array annotationsDiese Art wird verwendet, wenn Sie die gleiche Annotation mehrmals dem gleichen Objekt zuordnen wollen.  

Wo können Annotationen angewendet werden? 

Die bereits festgelegten Annotationen können Sie breit gefächert einsetzenSo können Sie beispielsweise mit sqlViewName den Anzeigename der DDIC View festlegenDafür verwenden Sie „@AbapCatalo.sqlViewName und deren Bezeichnung nach einem Doppelpunkt in HochklammerungEin weiterer Anwendungsbereich ist die Nutzung von Einheiten- und Währungs-Referenzenum sie ihren zugehörigen Feldern zuzuweisenUm eine Einheiten-Referenz herzustellen, wählen Sie die Domäne „@Semantics“. Für die Kennzeichnung einer Einheit wählen Sie „@Semantics.unitOfMeasure“ und für einen Wert „@Semantics.quantity.unitOfMeasure“. Achtung: Unbedingt auf die Groß- und Kleinschreibung achten! 

Abbildung 1: Stellen Sie mit Annotationen Einheiten-Referenzen her.

Abbildung 1: Stellen Sie mit Annotationen Einheiten-Referenzen her.

Für eine neue Zielwährung und ihren dazugehörigen Wert existieren die passenden Annotationen „@Semantics.currencyCode“ und „@Semantics.amount.currencyCode“. Weitere Anwendungsfälle wären beispielsweise: 

  • Das Angeben der Spaltenüberschrift für ALVs und weiteren Anwendungen mit „@EndUserText“. 
  • Das Abbilden von Fremdschlüsselbeziehungen für Frameworks mit „@ObjectModel.foreignKeyassociation“ (für Buchungen) oder „@ObjectModel.representativeKey“ (Fremdschlüssel). 
  • Das Modellieren von Textbeziehungen mit „@ObjectModel.text.element“.  

In diesem halbtägigen Online-Learning erhalten ABAP-Entwicklerinnen und -Entwickler eine Einführung in die Grundlagen von ABAP Core Data Services (CDS). Sie bekommen alle grundlegenden Informationen rund um das neue S/4HANA-Programmiermodell vermittelt und werden befähigt, selbst CDS Views zu erstellen.

Automatisiert Apps erstellen 

Annotationen können auch in Entwicklungs-Frameworks wie Fiori Elements eingesetzt werdenDie Frameworks nutzen die Datengrundlage aus den Views und lesen die Metadaten aus den Annotationen. So versteht das Framework den Zusammenhang und kann dadurch Entwicklungsobjekte automatisch generieren. Bei Fiori Elements werden auf der Basis von CDS Views und Annotationen SAP Fiori Apps erstellt. Entwickler müssen nur die CDS Views mit Annotationen aufsetzen, der Rest verläuft dann selbstständig. Dabei wird auch die Generierung von folgenden Frameworks automatisiert 

  • BOPF-Objekte für das Lesen, Schreiben und Sperren der Daten. 
  • OData-Service zur Datenversorgung aus dem Backend an die Fiori-App. 
  • UI5-Oberfläche mit der JavaScript Ablauflogik.  

Obwohl der reine Quellcode einer CDS View einer Struktur folgt, ist durch die Größe nicht direkt ersichtlich, welche Annotationen überhaupt genutzt wurden. Damit Sie also einen Überblick der verwendeten Annotationen haben, können Sie sich eine Übersicht dieser anzeigen lassen. Rufen Sie dafür die Funktion „Show Active Annotations“ auf.  

Werden CDS Annotations auch zu Ihrem Star? 

CDS Annotations reichern nicht nur die CDS Views mit Informationen an und bringen in der App-Entwicklung ihr Können zum Einsatz: Sie sind elementarer Bestandteil der Entwicklung von CDS Views. Ohne Annotationen können Views nicht ihren Mehrwert ausschöpfen, sind weniger verständlich und nur schwierig wartbar. Die Umstellung auf S/4HANA mit CDS Views als festem Bestandteil und die Tatsache, dass sie von immer mehr Frameworks und Programmiermodellen gebraucht werden, zeigen es: CDS Annotations werden insbesondere für Entwickler mehr und mehr zum Most Valuable Player in der ABAP-Entwicklung. 

Darum mein Tipp an Sie: Beschäftigen Sie sich jetzt mit CDS Annotations! Schaffen Sie ein einheitliches Verständnis in Ihrer Entwicklungsabteilung und einigen Sie sich auf einen Standard für semantische Dokumentationen. So verbessern Sie nämlich nicht nur die Lesbarkeit und Wartbarkeit, sondern bewahren sich auch noch vor manuellem Programmieraufwand. 

Ihnen fehlt das Knowhow für ABAP-CDS-Projekte? Dann kommen Sie gerne auf uns zu. Unsere ABAP CDS Entwickler helfen Ihnen weiter und unterstützen Sie neben der Projektbegleitung auch beim Knowhow-Aufbau:

ABAP CDS Entwickler

ABAP CDS Entwickler

Spätestens mit der S/4HANA-Migration kommen Unternehmen um ABAP Core Data Services (ABAP CDS) als neues Programmiermodell nicht herum. Da SAP S/4HANA auf CDS in Form des virtuellen Datenmodells basiert, müssen Ihre ABAP-Entwicklerinnen und -Entwickler in der Lage sein, CDS sinnvoll anzuwenden u ...

Philipp Schurr

Philipp Schurr

Ich helfe dabei, Integrationslösungen für Systemlandschaften nach dem aktuellen Stand der Technik einzuführen. Als Management & Technologieberater für Integration & Schnittstellen verbinde ich tiefgehende technische Expertise mit langjährigem Projektleitungs-Knowhow. Diese Kombination liefert mir die Grundlage, meine Kunden-Projekte zum Erfolg zu führen.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Übersicht Hier finden Sie eine Übersicht über die wichtigsten Tabellen im SAP ECC 6.0:

weiterlesen

Was bedeutet eigentlich der Wechsel auf HANA für die ABAP-Entwicklung? S/4HANA löst immer mehr die alte SAP Business Suite ab. Der Support dieser läuft nur noch bis 2027. Damit steht […]

weiterlesen

SAP HANA hat viele neue Konzepte modernisiert und überarbeitet, wie u. a. CDS Views. Bei diesem Thema kommen die Begriffe „ABAP CDS Views“ und „HANA CDS Views“ vor. Beide entsprechen […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice