Colle / Dentzer / Hrastnik | Core Data Services für ABAP | E-Book | sack.de
E-Book

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.
Colle / Dentzer / Hrastnik Core Data Services für ABAP jetzt bestellen!

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


Hrastnik, Jan
Jan Hrastnik ist Mitglied des Architekturteams der SAP S/4HANA Suite und widmet sich dort den Schwerpunktthemen Virtuelles Datenmodell und der Verwendung von Core Data Services in ABAP-Anwendungen. Er arbeitet seit über 15 Jahren in unterschiedlichen Entwicklungsbereichen von SAP. Zu Beginn seiner Tätigkeit unterstützte er zahlreiche Kundenprojekte aus der Automobilindustrie. Im Anschluss daran arbeitete er in der SCM Entwicklung von SAP Business ByDesign. Seine Tätigkeit konzentrierte sich dabei zunächst auf die Entwicklung der für die Produktionsprozesse erforderlichen Stammdaten, ehe er übergreifende Expertenaufgaben in zentralen Architekturthemen übernahm. Im Anschluss arbeitete Jan Hrastnik an der Employee-Central-Lösung von SAP SuccessFactors und in der nativen SAP-HANA-Anwendungsentwicklung.

Colle, Renzo
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.

Dentzer, Ralf
Ralf Dentzer arbeitet seit einigen Jahren in der zentralen Architekturgruppe der SAP S/4HANA Suite mit einem Schwerpunkt auf der Verwendung von Core Data Services in SAP S/4HANA. Vor mehr als 20 Jahren begann er seine Tätigkeit bei SAP. Er entwickelte Anwendungen im Bereich Personalwirtschaft für SAP R/3, SAP ERP und SAP BusinessByDesign. Danach verlagerten sich seine Aufgaben zu Fragen der Gesamtarchitektur für neue Lösungen. Ralf Dentzer studierte Mathematik und promovierte an der Universität Heidelberg. Er ist verheiratet und hat zwei erwachsene Söhne.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.