CubeServ Blog
Bleiben Sie auf dem neuesten Stand, rund um das Data Driven Business mit Tools für Analytics von SAP & Co. und verpassen Sie keine Neuigkeiten, Downloads & Veranstaltungen.

SAP S/4HANA Embedded Analytics – User Defined Annotation

Die Macht der Metadaten

ABAP Core Data Services (CDS-Views) bilden den zentralen Baustein bei der Verwendung von Embedded Analytics auf S/4HANA. In den CDS-Views können sogenannte Annotationen verwendet werden, welche die View um Metadaten anreichern. Diese Metadaten erfüllen verschiedene Zwecke. Beispielsweise:

  • dienen sie der semantischen Beschreibung des Datenmodells.
  • definieren sie, ob CDS-View einer Berechtigungsprüfung unterliegt.
  • liefern sie wichtige Metadaten für aufsetzende Frameworks wie Fiori.

Mit anderen Worten, CDS-Annotationen erweitern eine CDS-View um Kontext und Bedeutung, die zur Laufzeit ausgewertet werden können. Man unterscheidet grob zwischen View-Annotationen und Element-Annotationen. Erstere beziehen sich auf die gesamte CDS-View, während sich Element-Annotationen auf einzelne Felder (Elemente) innerhalb der View beziehen.

SAP bietet einen umfangreichen Standard an Annotationen, deren Erkennungszeichen das vorangestellte @-Zeichen ist. Je nach Verwendungszweck sind die Annotationen in semantische Namenräumen unterteilt, wie z.B.:

  • @AbapCatalog – technische Einstellungen und Informationen für das ABAP Dictionary
  • @ObjectModel – Hinweise zur OData-/ABAP-Runtime, z.B. das Verhalten von Assoziationen
  • @UI – UI-relevante Einstellungen, insbesondere für Fiori und SAP UI5-Anwendungen

User Defined Annotations: Flexibilität über den SAP-Standard hinaus

Jedes Unternehmen hat besondere Anforderungen, und manchmal reicht der Standard nicht aus, um diese im Datenmodell abbilden zu können. Hier kommen User Defined Annotations (benutzerdefinierte Annotationen) ins Spiel, die maßgeschneidert auf nahezu jeden Bedarf entwickelt werden können.

Für das Unternehmen liegt darin ein strategischer Vorteil: Man gewinnt die Flexibilität, das System über den SAP-Standard hinaus zu erweitern, um spezifische Kundenanforderungen schnell und gezielt zu erfüllen – ein entscheidender Pluspunkt um das operative Reporting in S/4HANA individuell anpassen zu können.

Der Weg zur ersten User Defined Annotation

Eine User Defined Annotation wird als Annotationsdefinition angelegt, welches ein eigenständiges CDS-Objekt ist.
Darin legt man fest, wie die neue Annotation heißt, welche Werte oder Strukturen sie aufnehmen kann und wo sie verwendet werden darf. Letzteres wird durch den Scope der Annotation bestimmt. Mit @Scope definiert man die erlaubten Zielbereiche wie z.B.:

  • #VIEW – für View-Annotationen
  • #ELEMENT – für einzelne Felder
  • #ASSOCIATION – für Assoziationen
  • #PARAMETER – für Parameter einer View.

Die Syntax einer Annotation ähnelt der einer „normalen“ CDS-View. Schlüsselwort der Annotationsdefinition ist DEFINE ANNOTATION, auf das der Namen der Annotation folgt. Innerhalb der Definition können Datentypen wie String, Integer, Boolean etc. festgelegt werden. Diese können ggf. mit Enumerationswerten eingeschränkt oder Standardwerten (Default Values) vorbelegt werden.

Im Ergebnis kennt CDS drei grundsätzliche Annotationstypen:

  • Skalare Annotation: Eine einfache Annotation mit einem einzelnen Wert (z.B. eine Zahl, ein Text oder boolescher Wert).
  • Strukturierte Annotation: Eine Annotation, die aus mehreren Unterelementen besteht.
  • Array-Annotation: Eine Annotation, die einen Array (Liste) von Werten oder Strukturen aufnehmen kann – nützlich, um dieselbe Annotation mehrfach an einem Objekt zu verwenden.

Bei der Definition einer eigenen Annotation müssen Scope und Syntax der Vorgabe entsprechen, damit die Annotation später in CDS-Views verwendet werden kann. Eine Annotationsdefinition wird ähnlich wie eine CDS-View beim Aktivieren ins ABAP Dictionary übernommen. Hier ist zu beachten, dass der Name der Annotation (Main Annotation) und der Name des DDL-Quellcodes übereinstimmen muss, da jede Annotation ein eigenständiges Repository-Objekt darstellt. Analog zu anderen kundeneigenen Objekten sollte ein kundenspezifischer Namespace für eigene Annotationen verwenden werden, um Verwechslungen mit SAP-Annotationen zu vermeiden.

Modul-Zuordnung einer CDS-View

Nehmen wir an, ein Unternehmen möchte seine CDS-Views besser organisieren und sofort erkennbar machen, zu welchem SAP-Modul eine View inhaltlich gehört. SAP liefert hierfür keine eigene Standard-Annotation – daher kann mit einer User Defined Annotation selbst Abhilfe geschaffen werden.


Als Beispiel definieren wir eine Annotation im kundeneigenen Namensraum, die eine Modulzuordnung für eine CDS-View ermöglicht. Diese Annotation hat den Scope #VIEW, da sie auf View-Ebene verwendet werden soll. Sie könnte als Wert die Kennungen der verwendeten Module erhalten, wie beispielsweise die Module FI, CO, SD und MM. Weiter kann in der Annotationsdefinition festgelegt werden, dass nur diese vier Module als Ausprägungen (Enumerations) erlaubte sind, um eine konsistente Verwendung sicherzustellen.

Nach der Definition kann man eine CDS-View aus dem Bereich Finance – etwa für einen CDS-basierten Finanzreport – wie folgt annotieren:

  • @MyCompany.Module: ‚FI‚.

Damit ist im Metadatenbereich der View eindeutig vermerkt, dass diese View dem Module Finance (FI) zuzuordnen ist.
Dieses zusätzliche Kontextwissen ist vor allem in größeren Entwicklungsprojekten hilfreich: Entwickler und Fachexperten erkennen direkt am CDS-Artefakt, aus welchem Geschäftsbereich die definierten Daten stammen. Auch Tools oder Dokumentationen können diese Information auslesen, um z.B. Berichte nach Modulzugehörigkeit zu gruppieren oder Filtermöglichkeiten anzubieten. Die selbst definierte Annotation erhöht somit die Selbstbeschreibung des Datenmodells. Auf diese Weise stehen solche Zusatzinformationen unmittelbar im Datenmodell zur Verfügung – ohne dass man dafür auf externe Dokumentionen oder Namenskonventionen angewiesen ist.

Fazit

CDS-Annotationen sind ein zentrales Element bei der Verwendung von ABAP Core Data Services. Die Annotationen nehmen einen direkten Einfluss auf die CDS-Views und bieten eine Vielzahl an Funktionen. SAP bietet im Standard ein umfangreiches Angebot an Annotationen, welche den CDS-Views wichtige Metadaten hinzufügen und so den richtigen Zweck der CDS-View im Embedded Analytics Universum mitgeben. Neben diesen Standard-Annotation können Entwickler kundenspezifische Annotationen definieren und in Embedded Analytics Anwendungen einbinden, um diese um projektspezifische Metadaten zu erweitern. Es ist jedoch wichtig zu beachten, dass i.d.R. eine User Defined Annotation nur sinnvoll ist, wenn es keine Standard-Annotation gibt.

Richtig eingesetzt, erhöhen sie die Selbstbeschreibung und Flexibilität von CDS-Datenmodellen und helfen, konzeptionelle Informationen dort zu verankern, wo die Daten definiert sind – nämlich direkt in der CDS-View.

Haben Sie spezielle Anforderungen an Ihre SAP S/4HANA Analytics?

Kontaktieren Sie unsere Experten – wir zeigen Ihnen, wie Sie mit User Defined Annotations Ihr Reporting optimal erweitern!

Webinare zu Embedded Analytics

Success Story: Finanzreporting mit Echtzeit-Berichterstattung direkt aus SAP S/4HANA bei Munich Re

Die Munich Re ist ein global führender Anbieter von Rückversicherung, Erstversicherung und versicherungsnahen Risikolösungen. Um den Abschlussprozess bei Finanz- und Buchhaltungsprozessen zu optimieren, wurde die Einführung eines Finanzreportings direkt aus SAP S/4HANA beschlossen.

Wie dies genau realisiert wurde und welche Vorteile sich für die Munich Re ergeben, erfahren Sie in der Success Story.

Weitere Informationen zu Embedded Analytics

Newsletter abonnieren

Bleiben Sie auf dem neuesten Stand, rund um das Data Driven Business mit Tools für Analytics von SAP & Co. und verpassen Sie keine Neuigkeiten, Downloads & Veranstaltungen. 

Autor
Expert Team

Blog Artikel unserer Experten

SAP S/4HANA Embedded Analytics: Reporting-Möglichkeiten und Reporting-Tools

Mit der Einführung von SAP S/4HANA wird automatisch ein kostenloses Business Warehouse (BW) in der Version SAP BW 7.5 on HANA bereitgestellt.
Für umfangreiche Datenmodelle wird die Nutzung des Embedded BW jedoch nicht empfohlen. Die SAP empfiehlt, dass maximal 20% des gesamten Datenvolumens im Embedded BW verarbeitet werden, um Performanceprobleme zu vermeiden. Der Fokus liegt hier auf dem operativen Reporting von transaktionalen Daten des S/4HANA-Systems.

SAP S/4HANA Embedded Analytics: Business Content für Finance und Controlling – Anwendung und Erweiterbarkeit

Mit dem SAP S/4HANA Embedded Analytics Business Content für Finance und Controlling wird Ihnen ein breites Spektrum an vordefinierten Inhalten zur Verfügung gestellt, welches Ihr Unternehmen dabei unterstützt, Finanzprozesse zu optimieren und fundierte Entscheidungen zu treffen. Benutzerfreundliche SAP Fiori Apps wie „View Browser“ oder „KPIs und Berichte verwalten“ ermöglichen Ihnen den Einstieg und spezifische Anpassung des Business Contents.

Datenmodellierung mit ABAP CDS-Views

Sie möchten erfahren, wie ABAP Core Data Services (CDS) in Kombination mit dem virtuellen Datenmodell (VDM) Ihr Datenmanagement grundlegend optimieren können?

Erfahren Sie mehr über CDS-Views in diesem Blogartikel.

Embedded Analytics – Realtime Reporting auf SAP S/4HANA

Unter Embedded Analytics verstehen sich Reporting-Anwendungen, die mit Hilfe des Virtuell Data Model (VDM) direkt im SAP S/4HANA System aufgebaut und ausgeführt werden.
Erfahren Sie mehr in diesem Blogartikel.

Wenn ich nur wüsste….

Schön, dass Sie weiterlesen.  Aristoteles hat Neugier als Tugend verstanden. Im Privaten kennt man oft die intimsten Details über seine besten Freunde.  Aber wie sieht es im Geschäftsleben aus? Schauen wir uns ein Unternehmen an: Kennen Sie deren Strategie? Marktpositionierung? Eigentümer? aktuellen Herausforderungen? Und jetzt

We need to talk

We need to talk!

First of all, a Happy and successful New Year to everyone.  I know, you are all busy with Year End Closing but “We need to talk!” and I will keep it short. Well, quite some of you will connect this expression with something negative.  I