Alles über SAP CDS Views 

Willkommen zur ersten Etappe unserer Blogpost-Serie über SAP Core Data Services (CDS). Heute starten wir mit den Grundlagen: Was sind CDS Views, warum solltest du sie verwenden, und wie helfen sie dir, deine SAP-Lösungen zukunftssicher zu machen. Als Beispiel setzen wir auf das gute alte SAP-Flugdatenmodell. Lehne dich zurück, schnall dich an – wir heben ab!

Ein Rückblick: Von ALV-Reports zu modernen Datenmodellen

Erinnerst du dich an die Zeiten, als wir für jeden Report endlose ABAP-Codes schrieben? Mit Loops, Joins und allen Performance-Herausforderungen, die das mit sich brachte? Die Daten kamen langsam, der Code war unübersichtlich, und jede Änderung bedeutete Nachtschichten. Doch diese Zeiten sind vorbei – dank SAP Core Data Services (CDS).

CDS Views bringen die Logik direkt dorthin, wo sie hingehört: in die Datenbank. Anstatt die Daten ins ABAP zu holen und dort zu verarbeiten, lässt du die Datenbank die schwere Arbeit machen. Das ist das Push-Down-Prinzip: Die Intelligenz wandert zur Datenbank, was zu rasanten Abfragen führt.

Was sind SAP Core Data Services (CDS)? Einfach erklärt

CDS ist eine semantische Datenmodellierungssprache in der SAP-Welt. Einfach gesagt: Mit CDS baust du smarte Datenbank-Views, die mehr können als nur SELECT * FROM. Sie sind das Fundament für moderne Fiori-Apps, analytische Dashboards und APIs.

CDS = Mehr als SQL

CDS Views erweitern SQL um:

  • Semantik: Du beschreibst, was die Daten bedeuten (z. B. Umsatz, Kundengruppe).

  • Business-Logik: Berechnungen, Joins, Aggregationen direkt in der Datenbank.

  • Sicherheit: Du kannst Zugriffskontrollen (Access Controls) direkt definieren.

  • UI-Informationen: Mit Annotations steuerst du, wie die Daten in Fiori angezeigt werden.

Die Vorteile von CDS Views – Mehr Speed, weniger Stress

Performance-Boost durch Push-Down

Im Vergleich zu klassischen ABAP-Reports, die erst Daten laden und dann verarbeiten, passiert die Logik bei CDS Views direkt auf der Datenbank. Beispiel gefällig? Ein Umsatzreport, der früher Minuten brauchte, ist jetzt in Sekunden fertig.

Wiederverwendbarkeit

Einmal erstellt, kannst du eine CDS View überall nutzen: In anderen Views, in Fiori-Apps, OData-Services oder als API.

Zentrale Datenlogik

Keine doppelten Logiken mehr in verschiedenen Reports. Die Business-Logik steckt in den Views, die jeder nutzt.

Integrierte Sicherheit

Mit CDS Access Controls (DCL) sind Berechtigungen direkt im Datenmodell verankert. Ein Benutzer sieht also nur die Daten, die er sehen darf – egal, in welchem Tool.

Besseres Frontend-Erlebnis

Durch UI-Annotations steuerst du direkt in der View, wie die Daten in Fiori-Apps angezeigt werden.

Was sind Annotationen? Einfach erklärt

Annotationen sind das Salz in der Suppe der CDS Views. Sie erklären SAP und den Anwendungen, wie die Daten zu verstehen und darzustellen sind. Stell dir Annotationen wie Etiketten an Daten vor.

Arten von Annotationen:

  • Technische Annotationen: Regeln, wie die View in der Datenbank heißt und sich verhält.
    Beispiel: @AbapCatalog.sqlViewName: ‚ZFLIGHT_CDS‘ legt den technischen Namen fest.

  • Semantische Annotationen: Beschreiben, was die Daten bedeuten.
    Beispiel: @EndUserText.label: ‚Flugbuchungsdaten‘ zeigt einen sprechenden Namen an.

  • UI-Annotationen: Regeln, wie die Daten in Fiori-Apps erscheinen.
    Beispiel: @UI.lineItem sagt, dass ein Feld in der Tabelle angezeigt werden soll.

  • Security-Annotationen: Steuern den Zugriff auf die Daten.
    Beispiel: @AccessControl.authorizationCheck: #CHECK prüft Berechtigungen.

Ein praktisches Beispiel: Flugbuchungsanalyse mit SAP CDS Views

Lass uns das SAP-Flugdatenmodell nutzen, um die Ankunftszeiten und Umsätze pro Fluggesellschaft anzuzeigen.

@AbapCatalog.sqlViewName: 'ZFLIGHT_CDS'
@EndUserText.label: 'Flugbuchungsanalyse'
@AccessControl.authorizationCheck: #CHECK
@UI.headerInfo: { typeName: 'Flugbuchung', typeNamePlural: 'Flugbuchungen' }
@VDM.viewType: #BASIC

define view ZCDS_FlightBookings as select from sflight
{
    key carrid as Airline,
    key connid as ConnectionID,
    key fldate as FlightDate,
    price * currency_conversion('EUR') as PriceInEUR,
    seatsmax,
    seatsocc,
    @DefaultAggregation: #SUM
    price as TotalRevenue,
    @UI.lineItem: [ { position: 10 } ]
    seatsocc as OccupiedSeats
}
where fldate >= $session.system_date;

Was lernen wir hier?

  • Datenlogik: Preis wird direkt in Euro umgerechnet.

  • Performance: Aggregationen laufen direkt in der Datenbank.

  • Sicherheit: Nur berechtigte Nutzer sehen die Daten.

  • UI: Spalten sind für Fiori-Apps vordefiniert.

Storytelling: Aus der Praxis der CloudDNA GmbH

Wir bei CloudDNA haben für einen Kunden aus der Logistikbranche eine komplexe Frachtkostenanalyse erstellt. Zunächst hatten wir es mit einem langsamen ABAP-Report zu tun, der mehrere Minuten lief. Nach der Umstellung auf CDS Views sank die Ladezeit auf unter eine Sekunde. Gleichzeitig haben wir die Frachtkosten-Logik in der View zentralisiert, sodass auch die Fiori-App und die API darauf zugreifen konnten. Die IT-Abteilung war begeistert: Schneller, einheitlicher, sicherer.

Fazit: CDS Views sind deine Zukunft!

SAP Core Data Services sind mehr als nur eine Technik – sie sind der neue Standard für Datenlogik in SAP. Mit Annotationen sorgst du dafür, dass deine Views nicht nur performant, sondern auch verständlich, sicher und wiederverwendbar sind.

Wenn du noch auf klassische ABAP-Reports setzt, ist jetzt die Zeit für den Umstieg. Und wenn du dabei Hilfe brauchst, steht dir die CloudDNA GmbH mit Rat und Tat zur Seite – vom ersten Konzept bis zur fertigen Implementierung.

Bleib dran! Im nächsten Post tauchen wir tief in das Thema CDS Access Controls (DCL) ein. Bis bald und happy coding!