E-Book, Deutsch, 824 Seiten
Reihe: SAP Press
Colle / Dentzer / Hrastnik Core Data Services für ABAP
3. Auflage 2023
ISBN: 978-3-8362-9216-0
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
E-Book, Deutsch, 824 Seiten
Reihe: SAP Press
ISBN: 978-3-8362-9216-0
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Welche Rolle spielt das virtuelle Datenmodell von SAP S/4HANA für Sie in der Entwicklung? In diesem Buch erfahren Sie, wie Sie CDS-Views anlegen und in analytischen oder transaktionalen ABAP-Anwendungen verwenden. Von der Syntax über Annotationen bis hin zu Zugriffskontrollen lernen Sie alles, was Sie für die Datenmodellierung mit Core Data Services wissen müssen. Die 3. Auflage dieses Bestsellers wurde vollständig aktualisiert und an die Neuerungen des Release 2023 angepasst.
Aus dem Inhalt:
- CDS und SAP HANA
- CDS-Syntax und -Sprachelemente
- ABAP Editor in Eclipse
- Hierarchien
- Annotationen
- Assoziationen
- Suchfunktionen
- ABAP-Managed Database Procedures
- Analytische Queries
- Zugriffskontrollen
- Testautomatisierung für CDS-Views
- Problembehandlungen
Renzo Colle verantwortet aktuell in der zentralen Architekturgruppe das Programmiermodell für SAP S/4HANA. Er hat Wirtschaftsmathematik an der Universität Karlsruhe studiert und ist seit 20 Jahren ist bei SAP SE in unterschiedlichsten Bereichen und Rollen tätig. Seine Laufbahn bei SAP startete er als Entwickler in der strategischen Kundenentwicklung. Danach war er unter anderem im SAP Extended Warehouse Management tätig. In SAP Business ByDesign verantwortete er den Logistikbereich und war leitender Architekt der ByDesign Plattform für Cloud-Anwendungen. Als Erfinder des Business Object Processing Frameworks beschäftigt er sich seit über 15 Jahren mit modellgetriebener Softwareentwicklung und transaktionalen Anwendungen.
Autoren/Hrsg.
Weitere Infos & Material
Einleitung ... 17 1. Schritt für Schritt zu Ihren ersten CDS-Views ... 23 1.1 ... Datenmodell der Anwendung definieren ... 24 1.2 ... Datenmodell der Anwendung implementieren ... 27 2. Grundlagen der CDS-Datenmodellierung ... 59 2.1 ... Überblick über die CDS-Modelle ... 60 2.2 ... Überblick über die CDS-View-Syntax ... 65 2.3 ... Schlüsselfelder ... 68 2.4 ... Cast-Anweisungen ... 70 2.5 ... Typisierte Literale ... 72 2.6 ... CDS-Simple-Types ... 74 2.7 ... Case-Anweisungen ... 76 2.8 ... CDS-Sitzungsvariablen ... 78 2.9 ... Mandantenbehandlung ... 79 2.10 ... Select-Distinct-Anweisungen ... 81 2.11 ... Union-Views ... 82 2.12 ... Intersect- und Except-Anweisungen ... 89 2.13 ... Join-Verknüpfungen ... 91 2.14 ... SQL-Aggregationsfunktionen ... 97 2.15 ... Projektionsfelder ... 100 2.16 ... Parameter ... 102 2.17 ... Referenzfelder ... 108 2.18 ... Konvertierungsfunktionen für Währungen und Mengeneinheiten ... 110 2.19 ... CDS-Provider-Kontrakte ... 114 2.20 ... Entitätspufferdefinitionen ... 116 3. CDS-Assoziationen ... 119 3.1 ... Assoziationsdefinitionen ... 120 3.2 ... Exponierung von Assoziationen ... 123 3.3 ... Modellierung von Kompositionsbeziehungen ... 124 3.4 ... Modellierung von m:n-Beziehungen ... 127 3.5 ... Projizierte Assoziationen ... 130 3.6 ... Verwendung von Assoziationen in CDS-Views ... 131 3.7 ... Verwendung von Assoziationen in ABAPImplementierungen ... 143 4. CDS-Annotationen ... 145 4.1 ... Annotationsdefinitionen ... 146 4.2 ... Auswirkungen der Annotationen ... 159 4.3 ... Propagationslogik für Annotationen ... 161 4.4 ... CDS-Metadatenerweiterungen ... 172 4.5 ... Aktive Annotationen ... 176 5. CDS-Zugriffskontrollen ... 179 5.1 ... Grundlagen der CDS-Zugriffskontrollen ... 180 5.2 ... Wirkungsweise der CDS-Zugriffskontrollen ... 185 5.3 ... Implementierungsmuster für CDS-Zugriffskontrollen ... 190 5.4 ... CDS-Zugriffskontrollen testen ... 230 6. Business-Services ... 235 6.1 ... Projektions-Views definieren ... 236 6.2 ... Servicedefinitionen erstellen ... 241 6.3 ... Service-Bindings festlegen ... 247 6.4 ... Business-Services testen ... 257 7. Native SAP-HANA-Funktionen in CDS ... 261 7.1 ... Implementierung einer CDS-Tabellenfunktion ... 262 7.2 ... Anwendungsszenarien ... 271 7.3 ... Performance verbessern und Fehler vermeiden ... 272 8. CDS-Modelle für Anwendungsdaten ... 275 8.1 ... Anwendungsarchitektur in SAP S/4HANA ... 276 8.2 ... Feldbezeichner ... 280 8.3 ... Semantik von Feldern ... 284 8.4 ... Fremdschlüsselbeziehungen ... 291 8.5 ... Textbeziehungen ... 297 8.6 ... Kompositionsbeziehungen ... 299 8.7 ... Zeitabhängige Daten ... 302 9. Das virtuelle Datenmodell von SAP S/4HANA ... 305 9.1 ... Warum ein virtuelles Datenmodell? ... 307 9.2 ... SAP-Objekttypen und SAP-Objektknotentypen ... 308 9.3 ... Kategorien von CDS-Entitäten im VDM ... 311 9.4 ... Namensgebung im virtuellen Datenmodell ... 318 9.5 ... Der Basic-Interface-View für den Kundenauftrag ... 321 9.6 ... Tipps zum Finden von VDM-Views ... 329
10. Modellierung analytischer Anwendungen ... 337 10.1 ... Analysen in SAP S/4HANA ... 338 10.2 ... Analytische Views ... 339 10.3 ... Analytische Queries ... 361 10.4 ... Analytische Infrastruktur ... 395
11. Modellierung transaktionaler Anwendungen ... 399 11.1 ... Transaktionale Anwendungen ... 400 11.2 ... Transaktionale Infrastruktur in SAP S/4HANA ... 402 11.3 ... Transaktionale Objektmodelle ... 405 11.4 ... Verhaltensdefinitionen ... 411 11.5 ... Transaktionale Projektionsobjektmodelle ... 517 11.6 ... Interface-Verhaltensdefinitionen ... 528 11.7 ... Projektionsverhaltensdefinitionen ... 536 11.8 ... Laufzeitorchestrierung ... 545 11.9 ... SAP Fiori und Verwendung über OData ... 551 11.10 ... SAP Event Mesh und lokale Event-Handler ... 564
12. Hierarchien in CDS ... 569 12.1 ... Grundbegriffe und Typen von Hierarchien ... 570 12.2 ... Annotationsbasierte Vater-Kind-Hierarchien ... 572 12.3 ... CDS-Hierarchien ... 581
13. CDS-basierte Suchfunktionen ... 605 13.1 ... Wertehilfen ... 606 13.2 ... Freitext-Suchfunktionen in OData-Services ... 629 13.3 ... Enterprise-Search-Funktion ... 637
14. Lebenszyklus und Stabilität von Core Data Services ... 643 14.1 ... Stabilitätskontrakte ... 644 14.2 ... Lebenszyklus von Entwicklungsobjekten ... 649 14.3 ... Abkündigung von Entwicklungsobjekten ... 651 14.4 ... Verwendung von CDS-Modellen und unterstützte Funktionen ... 654
15. Erweiterungen von CDS-Views und weiteren Entitäten ... 659 15.1 ... Produkte und Sprachversionen ... 660 15.2 ... Stabile CDS-Erweiterungen ... 662 15.3 ... Erweiterungen von transaktionalen Modellen ... 677
16. Testautomatisierung ... 693 16.1 ... Selektionslogik der Anwendungen testen ... 694 16.2 ... Transaktionale Applikationslogik testen ... 721
17. Problembehandlung ... 735 17.1 ... Performance-Aspekte ... 736 17.2 ... Mögliche Fallstricke ... 753 17.3 ... CDS-Implementierungsprobleme behandeln ... 765 17.4 ... CDS-Aktivierungsprobleme behandeln ... 774 17.5 ... Anwendungen des ABAP RESTful Application Programming Model analysieren ... 779 Anhang ... 783 A ... CDS-Annotationsreferenz ... 783 B ... Migration vom ABAP Programming Model for SAP Fiori zum ABAP RESTful Application Programming Model ... 797 Die Autoren ... 805 Index ... 807
Einleitung
ABAP Core Data Services (ABAP CDS) bilden die Grundlage des modernen Programmiermodells der ABAP-Plattform und sind somit ein wichtiger Bestandteil der aktuellen Technologiestrategie von SAP. Unter anderem erlaubt CDS als Erweiterung von SQL eine effiziente und erweiterte Nutzung der SAP-HANA-Datenbank. Mit ABAP CDS und der Annotationstechnologie können umfangreiche Informationen modelliert werden, die sich optimal in die Schnittstellen, speziell die SAP-Fiori-Benutzerschnittstellen, von Cloud-Anwendungen integrieren lassen, da hier mit OData ebenfalls ein stark modellbasiertes Protokoll verwendet wird.
Auch SAP S/4HANA, die Business-Suite der nächsten Generation, basiert auf CDS in Form des virtuellen Datenmodells. In diesem Buch beschreiben wir die Nutzung von CDS aus Sicht von SAP S/4HANA und dessen Gesamtarchitektur. Daher beschreiben wir nicht nur die technischen Aspekte von CDS, sondern erläutern vielmehr die Motivation hinter den beschriebenen Ansätzen. Hierzu nutzen wir realitätsnahe Beispiele aus der Anwendungsentwicklung und ergänzen diese um Empfehlungen für eine erfolgreiche Umsetzung Ihrer eigenen Projekte, die weit über die rein funktionalen Aspekte hinausreichen.
Wir behandeln die wichtigsten Aspekte und Funktionen von ABAP CDS, die in konkreten Anwendungsfällen im Umfeld von SAP S/4HANA genutzt werden. Die technische Beschreibung sämtlicher Funktionen von CDS finden Sie in der SAP-Dokumentation (siehe http://s-prs.de/v9214005). Diese ist (in der jeweiligen Version der ABAP-Plattform) auch ausschlaggebend bezüglich der anwendbaren Syntax und des unterstützten Funktionsumfangs.
Das CDS-basierte Programmiermodell ist ein recht junges Programmiermodell und somit noch Änderungen und signifikanten Weiterentwicklungen unterworfen. Speziell im Umfeld von transaktionalen Anwendungen steht mit dem ABAP RESTful Application Programming Model ein modernes in die ABAP-Sprache eingebettetes Programmiermodell zur Verfügung.
Mit diesem Buch möchten wir Ihnen einen Überblick über das CDS-basierte Programmiermodell und mögliche Anwendungsfälle geben. Das vermittelte grundlegende Wissen soll Sie in die Lage versetzen, CDS-Modelle nach erprobten Regeln und Empfehlungen zu definieren und sinnvoll in Ihren Anwendungen zu nutzen sowie die SAP-S/4HANA-Standardanwendungen zu verstehen und gegebenenfalls erweitern zu können. Am Ende der Lektüre sollten Sie umfassende Kenntnisse über die hierzu notwendigen Konzepte sowie ein praktisches Verständnis dafür entwickelt haben, wie diese Konzepte beim Aufbau Ihrer produktiven Anwendungen angewandt werden können und wie SAP diese Konzepte in SAP S/4HANA nutzt.
Das Buch richtet sich daher an ABAP-Entwickler, die ABAP-basierte Anwendungen für die Nutzung in der Cloud oder in SAP-Fiori-Benutzeroberflächen (User Interfaces, kurz UIs) entwickeln oder erweitern möchten. Grundlegende Kenntnisse der ABAP-Entwicklung sowie in SQL setzen wir voraus. Aber auch als Neueinsteiger in die ABAP- und SQL-Welt sollte Ihnen dieses Buch helfen, erste Anwendungen und Services mithilfe von CDS-Modellen zu erstellen. Sie können, ohne selbst ABAP-Code zu schreiben, im Umfeld von analytischen und lesenden Anwendungen sehr schnell ansprechende Anwendungen und Schnittstellen auf Basis von CDS entwickeln.
Für den Einstieg in die transaktionale Welt ist ABAP hingegen als Programmiersprache für die Geschäftslogik unerlässlich. Auf diesen Themenkomplex werden wir im Rahmen dieses Buchs nur grundlegend eingehen. Ebenso gehen wir nicht näher auf die Benutzerschnittstelle SAP Fiori ein und zeigen nur anhand von einfachen Beispielen, wie Sie ohne viel Aufwand auf Basis Ihres CDS-Modells einen OData-Service und eine SAP-Fiori-Benutzeroberfläche erstellen können. Das notwendige Wissen können Sie sich jedoch auch durch paralleles Studium entsprechender Literatur bzw. der SAP-Dokumentation aneignen.
In der dritten Auflage dieses Buchs haben wir die neuesten Entwicklungen der ABAP-Plattform berücksichtigt und eingearbeitet. Dabei haben wir auch die Strukturierung überarbeitet. So widmen wir dem Thema der CDS-Assoziationen nun ein eigenes Kapitel. Das Kapitel für transaktionale Anwendungen wurde von Grund auf überarbeitet und basiert nun komplett auf dem ABAP RESTful Application Programming Model. Es gibt ein gänzlich neues Kapitel für den Lebenszyklus und die Stabilität von CDS- und ABAP-RESTful-Application-Programming-Model-Artefakten, darauf aufbauend haben wir auch das Kapitel über Erweiterungen von Anwendungen komplett überarbeitet. Die anderen Kapitel haben wir ebenfalls aktualisiert; insbesondere wurden die Kapitel zur Testautomatisierung und Problembehandlung um die transaktionalen Anwendungen ergänzt. Zudem beruhen die Beispiele nun auf den sogenannten CDS-View-Entitäten, einer Weiterentwicklung der in den vorherigen Ausgaben diskutierten CDS-Views.
Die Beschreibungen und Beispiele beziehen sich auf den uns vorliegenden Stand der Technik (ABAP-Plattform 2023 als Technologieplattform von SAP S/4HANA 2023, die im Gegensatz zu SAP NetWeaver AS ABAP 7.5 nicht als eigenes Produkt vertrieben wird). Die meisten im Buch beschriebenen Ansätze und Funktionen sind auch in der ABAP-Cloud-Lösung SAP BTP, ABAP Environment analog lauffähig. Wir haben sie nach bestem Wissen und Gewissen erstellt, können Fehler jedoch nicht komplett ausschließen. Im Zweifelsfall konsultieren Sie die offizielle SAP-Dokumentation.
Als Entwicklungsumgebung nutzen wir ABAP in Ecplise (ABAP Development Tools, kurz ADT). Die Standardentwicklungssprache für Entwicklungsobjekte oder Kommentare im Quellcode ist Englisch. Für die Tests der Beispielapplikationen werden in vielen Beispielen auch deutsche Bildschirminformationen gezeigt, jedoch nicht in allen Fällen. Sämtliche für den Endanwender relevanten Texte sind übersetzbar, und somit kann jede Anwendung auch lokalisiert werden.
Im Folgenden geben wir Ihnen einen Überblick über die Kapitelstruktur und den Inhalt der einzelnen Kapitel. Die ersten vier Kapitel sollten Sie als Grundlage sequenziell lesen, da alle anderen Kapitel und Konzepte auf diesen Grundlagen aufbauen. Danach können Sie zwischen den einzelnen Kapiteln hin- und herspringen.
In Kapitel 1, »Schritt für Schritt zu Ihren ersten CDS-Views«, lernen Sie im Schnelldurchlauf, wie Sie Ihre ersten einfachen CDS-Views definieren können. Dabei stellen wir Ihnen neben den wesentlichen Teilen eines CDS-Views auch die wichtigsten Entwicklungswerkzeuge kurz vor.
In Kapitel 2, »Grundlagen der CDS-Datenmodellierung«, lernen Sie die technischen Grundlagen der CDS-Datenmodelle kennen. Dazu stellen wir Ihnen die aus Entwicklersicht relevanten CDS-Objekte mitsamt ihren Komponenten anhand von Modellierungsbeispielen vor.
In Kapitel 3, »CDS-Assoziationen«, erläutern wir Ihnen anhand von Beispielen die Grundlagen der CDS-Assoziationen und wie Sie diese Beziehungen definieren und nutzen können.
In Kapitel 4, »CDS-Annotationen«, erläutern wir Ihnen anhand von Beispielen die Grundlagen der CDS-Annotationen sowie deren Propagationslogik. CDS-Annotationen reichern die Datenmodelle mit semantischen Informationen an. Diese Informationen werden von den CDS-Verwendern interpretiert und steuern z. B. die Darstellung auf der Benutzeroberfläche oder das Aggregationsverhalten einer analytischen Anwendung.
In Kapitel 5, »CDS-Zugriffskontrollen«, beschäftigen wir uns mit den Berechtigungen beim Zugriff auf die von den CDS-Modellen exponierten Daten. Die Zugriffskontrolle über die Data Control Language (DCL) ermöglicht es Ihnen, mithilfe klassischer ABAP-Berechtigungsobjekte Selektionsergebnisse von CDS-Views, entsprechend den Berechtigungen des Anwenders, einzugrenzen. Wir erläutern die Grundlagen der CDS-Zugriffskontrollen und zeigen ihren konkreten Einsatz.
In Kapitel 6, »Business-Services«, erhalten Sie einen Einblick in die Modellierung von Business-Services. Business-Services erlauben es Ihnen, Ihre CDS-Modelle und deren Funktionen systemexternen Konsumenten zur Verfügung zu stellen.
In Kapitel 7, »Native SAP-HANA-Funktionen in CDS«, beleuchten wir CDS-Tabellenfunktionen. Diese ermöglichen es Ihnen, native SAP-HANA-Funktionen über SQLScript in den CDS-View-Stack zu integrieren. Wir illustrieren beispielhaft die Modellierung von CDS-Tabellenfunktionen und heben ihre Besonderheiten hervor.
Kapitel 8, »CDS-Modelle für Anwendungsdaten«, bietet einen Überblick über die Anwendungsarchitektur in SAP S/4HANA und die Positionierung von CDS innerhalb dieser Architektur. Anhand von Beispielen zeigen wir Ihnen, wie wichtige Aspekte von Anwendungsdaten mit CDS modelliert werden, z. B. Fremdschlüsselbeziehungen und sprachabhängige Texte.
In Kapitel 9, »Das virtuelle Datenmodell von SAP S/4HANA«, erläutern wir das virtuelle Datenmodell (VDM) von SAP S/4HANA, das durch ausgewählte CDS-Views gebildet wird, die zentralen...