Philipp Schurr
6. März 2020

CDS Annotations – der neue Star der SAP Entwicklung?

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. 

In diesem Webinar erfahren Sie alles rund um die SAP-Entwicklungsthemen.

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.  

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“.  

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.  

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).

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. Sie wollen sich mehr über CDS und CDS Annotations informieren und lernen, die Vorteile dieser Technologie voll auszuschöpfen? Dann empfehle ich Ihnen unsere Schulung „ABAP Core Data Services: Grundlagen und Entwicklung“. Kontaktieren Sie uns bei weiteren Fragen gerne.  

 

Philipp Schurr

Philipp Schurr

Als SAP Integration Consultant bei der mindsquare freue ich mich über spannende Herausforderungen im Bereich Intergation & Schnittstellen. Gemeinsam mit meinem Team erarbeite ich Integrationslösungen für Ihre Systemlandschaft nach aktuellem Stand der Technik.

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

Mit SAP HANA wurden viele Konzepte der Unternehmenssoftware aus Walldorf vollständig überarbeitert und modernisiert. Eines dieser Neuerungen waren die CDS Views. Bestimmt sind Sie bereits auf die Begriffe "ABAP CDS Views" oder "HANA CDS Views" gestoßen. Wer jetzt denkt, dass beide […]

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 fest - moderne ABAP-Entwicklung kommt nicht mehr an der S/4HANA […]

weiterlesen

Schreiben Sie einen Kommentar

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





Angebot anfordern
Preisliste herunterladen
Expert Session
Support