Die Reise beginnt
Stell dir vor, du steuerst ein Flugzeug – dein Ziel: Wertvolle Erkenntnisse aus SAP-Daten sicher ans Ziel bringen. Doch bevor du abhebst, bereitest du deine Route sorgfältig vor, überprüfst die Instrumente und studierst die Wetterbedingungen. Dein Co-Pilot? Ein CDS View, der dir mit präzisen Abfragen und klaren Datenmodellen den perfekten Flugpfad zeigt. Du erkennst Turbulenzen wie fehlerhafte Datenstrukturen frühzeitig und navigierst deine Reports zielsicher zu den Entscheidern. Dieses leistungsstarke Werkzeug öffnet dir die Türen zu performanten Abfragen und sauberen Datenmodellen.
Schritt-für-Schritt-Anleitung für deinen ersten CDS View
Hier führen wir dich detailliert durch den gesamten Prozess – von der Einrichtung der Umgebung über das Schreiben des Codes bis hin zu praktischen Beispielen. Du erfährst nicht nur, wie du deinen ersten CDS View erstellst, sondern auch, wie du ihn optimierst und für produktive Szenarien erweiterst. Begleitet wird die Anleitung durch Tipps aus der Praxis und erprobte CloudDNA-Empfehlungen.
Schritt 1: Die richtige Entwicklungsumgebung
Wähle zwischen den folgenden Optionen und erfahre mehr über ihre Stärken und Einsatzgebiete:
-
SAP Business Application Studio (BAS): Ideal für SAP BTP-Projekte. Diese Cloud-basierte IDE bietet dir moderne Tools, integrierte Terminals und eine schnelle Verbindung zu deinem BTP-System.
-
ABAP Development Tools (ADT) in Eclipse: Optimal für On-Premise-Projekte. Hier hast du direkten Zugriff auf deine ABAP-Repositories, leistungsstarke Debugging-Tools und enge Integration in die ABAP-Welt.
-
CloudDNA-Tipp: Nutze BAS für cloud-native Projekte und ADT für tiefe Systemintegration. Profitiere von beiden Umgebungen je nach Projektbedarf.
Schritt 2: Ein neues CDS-View-Objekt anlegen
Dieser Schritt erfordert sorgfältige Planung und bietet viele Möglichkeiten. Neben dem klassischen Weg über Eclipse kannst du auch direkt im SAP Business Application Studio arbeiten. Vergiss nicht, ein geeignetes Paket und einen passenden Transportauftrag zu wählen. Zudem ist es ratsam, die Benennungsstandards deiner Organisation einzuhalten und Beschreibungen mit @EndUserText.label zu ergänzen. Durch das Anlegen mehrerer DDL-Quellen für verschiedene Szenarien kannst du modular arbeiten und deine Datenmodelle besser pflegen. Achte darauf, dass dein View performant bleibt, indem du nur die notwendigen Tabellen und Felder einbindest. Mit diesen zusätzlichen Überlegungen erstellst du ein CDS-View-Objekt, das nicht nur funktioniert, sondern auch wartbar und performant ist.
- Projekt in Eclipse erstellen: File > New > ABAP Cloud Project.
- DDL Source anlegen: Rechtsklick → New → DDL Source.
- Name vergeben: z. B. ZFLIGHT_BOOKINGS_CDS.
Schritt 3: Deinen ersten CDS View schreiben
Beispiel 1: Flugbuchungen (SAP-Flugdatenmodell)
Dieses Beispiel zeigt, wie du mit einem einfachen CDS View Buchungsdaten aus der SAP-Flugdatenbank ausliest. Wir verwenden einen INNER JOIN, um die Flugtabellen (sflight) mit den Airline-Details (scarr) zu verknüpfen. Die Annotationen sorgen für eine klare Benennung und Sichtbarkeit im SAP-System. In der Auswahl definieren wir wichtige Felder wie Flugdatum, Preis und den Namen der Fluggesellschaft. Dieser einfache View kann leicht erweitert werden, z.B. um Passagierinformationen oder Filter für bestimmte Flugdaten.
@AbapCatalog.sqlViewName: 'ZFLBOOKINGS'
@EndUserText.label: 'Flugbuchungen mit Kundenname'
define view ZFLIGHT_BOOKINGS_CDS
as select from sflight as f
inner join scarr as c on f.carrid = c.carrid
{
key f.carrid,
f.fldate,
f.price,
c.carrname as airline_name
}
Beispiel 2: Umsatzanalyse pro Airline mit Aggregationen
Dieses Beispiel zeigt, wie du mit Aggregationsfunktionen wie SUM und COUNT Umsätze je Airline berechnen kannst. Der CDS View fasst die Preise aller Flüge pro Fluggesellschaft zusammen und zählt die Anzahl der Flüge. @Analytics.dataCategory: #CUBE zeigt an, dass dieser View für analytische Zwecke geeignet ist. Nutze solche Views, um Berichte und Dashboards in SAP Analytics Cloud oder Embedded Analytics mit verdichteten Daten zu versorgen.
@AbapCatalog.sqlViewName: 'ZSALES_AGG'
@Analytics.dataCategory: #CUBE
@EndUserText.label: 'Umsatz je Airline'
define view ZSALES_AGG_CDS
as select from sflight
{
carrid,
sum( price ) as total_revenue,
count( * ) as flight_count
}
group by carrid
Wichtige Syntaxelemente und Best Practices
In diesem Abschnitt gehen wir tief ins Detail und erklären umfassend, wie du CDS-Views effizient und sauber gestaltest. Hier erhältst du eine ausführliche Übersicht über die essenziellen Bausteine eines CDS Views sowie konkrete Beispiele und Tipps für Best Practices.
Wichtige Syntaxelemente im Detail:
-
Associations: Associations sind leistungsstärkere Alternativen zu Joins. Sie definieren Beziehungen zwischen Tabellen direkt im Datenmodell und verbessern die Wiederverwendbarkeit sowie Performance deines CDS Views. Beispiel:
define view ZFLIGHT_BOOKINGS_CDS
as select from sflight
association [1..1] to scarr as _Airline on sflight.carrid = _Airline.carrid
{
key sflight.carrid,
sflight.fldate,
sflight.price,
_Airline.carrname as airline_name
}
Nutze Associations wann immer möglich anstelle von Joins, um flexibel auf verknüpfte Daten zuzugreifen.
- Annotations: Annotations sind Metadaten, die deinem CDS View zusätzliche Funktionalitäten verleihen. Beispiele:
- @EndUserText.label: Vergebt sprechende Titel für Endnutzer.
- @AbapCatalog.preserveKey: Kontrolliert die Schlüsselverwaltung.
- Joins: Setze die richtige Join-Art je nach Szenario ein. Joins sind essenziell für die Verknüpfung mehrerer Tabellen, aber wähle sie weise:
- INNER JOIN: Liefert nur Datensätze, die in beiden Tabellen vorkommen, ideal für saubere, exakte Matches.
- LEFT JOIN: Bezieht alle Datensätze der linken Tabelle ein und ergänzt sie mit Treffern der rechten, wenn vorhanden.
- Tipp: Achte bei Joins auf Performance. Nutze Indexe und Filter, um große Tabellenmengen zu reduzieren. Wo möglich, verwende jedoch Associations, da sie flexibler und performanter sind. Joins bleiben jedoch unverzichtbar, wenn du komplexe Bedingungen oder temporäre Verknüpfungen benötigst.
- Aggregationen: Wichtige Funktionen wie SUM, COUNT, AVG, MIN und MAX werden in Kombination mit GROUP BY genutzt, um Berichte aussagekräftig zu gestalten. Zudem kannst du Aggregationen mit Filterbedingungen kombinieren, z.B. SUM( price ), WHERE status = ‚CONFIRMED‘ , um flexible Auswertungen zu erstellen. Aggregationen sorgen dafür, dass große Datenmengen komprimiert und leicht verständlich dargestellt werden. Daher sind sie ein zentraler Bestandteil jedes CDS Views, der für Reporting-Zwecke gedacht ist.
Erweiterte Beispiele:
Beispiel 3: Top-Kunden nach Umsatz mit Filter und Sortierung:
Das ursprüngliche Beispiel war fehlerhaft, da es das LIMIT-Statement in CDS Views nicht gibt. Hier eine korrekte und ausführlichere Version mit Sortierung:
@AbapCatalog.sqlViewName: 'ZTOP_CUSTOMERS'
@EndUserText.label: 'Top-Kunden nach Umsatz'
define view ZTOP_CUSTOMERS as select from sbook
{
customid,
sum( price ) as total_sales
}
where cancel = 'N'
group by customid
order by total_sales desc
Best Practices ausführlich:
Best Practices sind der Schlüssel zu hochwertigen CDS Views. Bei CloudDNA setzen wir auf jahrelange Erfahrung und fundiertes SAP-Know-how, um unsere Kunden bestmöglich zu unterstützen. Wir empfehlen:
-
Konsistente Benennung: Verwende Projektstandards und nachvollziehbare Namenskonventionen.
-
Performance-Optimierung: Reduziere Datenmengen, setze Filter und Indexe sinnvoll ein.
-
Annotations clever nutzen: Fördere Transparenz durch saubere Dokumentation.
-
Modularität und Wiederverwendbarkeit: Erstelle CDS Views so, dass sie leicht erweiterbar und in verschiedenen Szenarien einsetzbar sind.
-
CloudDNA-Expertise: Unsere Berater und Entwickler helfen dir, Best Practices in deinem Unternehmen umzusetzen und CDS Views nachhaltig zu optimieren.
Dieser ausführliche Überblick bietet dir eine fundierte Grundlage, um CDS Views effizient zu erstellen und zu optimieren. Mit CloudDNA als Partner profitierst du von unserer umfangreichen Erfahrung im SAP-Umfeld, maßgeschneiderter Beratung und praxisnahen Lösungen. Unser Team hilft dir nicht nur beim Einstieg, sondern unterstützt dich auch bei komplexen Szenarien, Performance-Tuning und der Implementierung von Best Practices – damit deine CDS Views den höchsten Standards entsprechen.
-
Annotations: Z. B. @Analytics.dataCategory für Analytik.
-
Joins: Achte auf die passende Join-Art (INNER, LEFT, OUTER).
-
Aggregationen: Mit SUM, COUNT und GROUP BY.
Die perfekte Entwicklungsumgebung
Um erfolgreich mit CDS Views zu arbeiten, ist die Wahl der Entwicklungsumgebung entscheidend. Wir erweitern diesen Abschnitt nun ausführlich: Jede Umgebung hat ihre Besonderheiten – BAS punktet mit Cloud-Integration, schnellen Deployments und moderner UI, während ADT mit ABAP-Tiefe, mächtigen Debugging-Tools und robusten On-Premise-Funktionen überzeugt. Zusätzlich helfen Tools wie der ABAP Profiler für Performance-Analysen und Git für kollaborative Entwicklung. Die richtige Konfiguration, z.B. das Einrichten von Templates, Workspace-Vorlagen und CI/CD-Pipelines, trägt maßgeblich zur Effizienz bei. Nur mit einer gut durchdachten Umgebung wirst du das volle Potenzial deiner CDS Views ausschöpfen können.
SAP Business Application Studio (BAS)
- Vorteile: Moderne Cloud-basierte Entwicklungsumgebung, die sich nahtlos in die SAP BTP integriert. Unterstützt DevOps-Workflows, Git-Repositories und Cloud Foundry.
- Ideal für: Cloud-native Entwicklungen und Projekte in der SAP Business Technology Platform.
- CloudDNA-Tipp: Richte eine Workspace-Vorlage für CDS Views ein, um konsistente Projekteinstellungen zu sichern.
ABAP Development Tools (ADT) in Eclipse
- Vorteile: Starke Debugging-Tools, direkter Zugriff auf ABAP-Repositories, Refactoring-Features.
- Ideal für: On-Premise-Projekte und ABAP-Entwicklung im traditionellen Backend.
- CloudDNA-Tipp: Nutze Code-Templates für standardisierte CDS View-Strukturen.
Tools und Erweiterungen
- SQL Console: Ideal für schnelle Tests deiner CDS Views.
- ABAP Profiling: Unerlässlich für Performance-Analysen.
- GIT-Integration: Für Versionskontrolle und kollaborative Entwicklung.
CloudDNA-Empfehlung:
Kombiniere BAS und ADT für maximale Effizienz: ADT für tiefgreifende ABAP-Optimierung, BAS für Cloud-native Erweiterungen. Richte CI/CD-Pipelines für automatisierte Tests ein. Mit unserer langjährigen Erfahrung bei CloudDNA unterstützen wir Unternehmen dabei, genau solche Entwicklungsumgebungen zu implementieren und optimieren. Unser Team aus SAP-Experten kennt die Herausforderungen und Best Practices und hilft dir, das Beste aus deinen CDS-Entwicklungen herauszuholen.
Zusammenfassung: Dein erster Flug – und was nun?
Mit deinem ersten CDS View hast du das Cockpit der Datenmodellierung betreten. Doch dies ist erst der Anfang! Tauche tiefer ein und erweitere dein Repertoire mit noch mehr Wissen und praktischen Beispielen: Verstehe die Rolle von CDS-Views in komplexen Systemlandschaften, lerne, wie du sie in S/4HANA Embedded Analytics einsetzt, entwickle mehrstufige Views mit Abhängigkeiten und arbeite mit Datensicherheitskonzepten über DCLs hinaus. Zudem solltest du dich mit CDS-View-Erweiterungen, Managed Associations und Views mit Input-Parametern vertraut machen. All das macht dich zum echten Experten und erweitert dein CDS-Know-how erheblich.
-
Hierarchische Views: Nutze parent-child-Beziehungen, um Struktur in deine Auswertungen zu bringen.
-
Access Controls (DCLs): Implementiere feingranulare Berechtigungen, um sensible Daten zu schützen.
-
Erweiterte Aggregationen: Integriere Funktionen wie
<span>ROLLUP</span>und
<span>CUBE</span>für mehrdimensionale Analysen.
-
Performance-Tuning: Optimiere deine Views mit Calculation Scenarios und prädikatbasierten Filtern.
-
Union-Views: Kombiniere mehrere Datensätze aus verschiedenen Quellen zu umfassenden Berichten.
Diese fortgeschrittenen Techniken machen deine CDS-Entwicklung noch leistungsfähiger und eröffnen dir neue Möglichkeiten für komplexe Szenarien.