E-Book, Deutsch, 667 Seiten
Reihe: SAP Press
Baumbusch / Jäger / Lensch ABAP RESTful Application Programming Model
2. Auflage 2024
ISBN: 978-3-367-10080-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Das umfassende Handbuch
E-Book, Deutsch, 667 Seiten
Reihe: SAP Press
ISBN: 978-3-367-10080-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
SAP hat die ABAP-Entwicklung revolutioniert! Erfahren Sie, wie Sie mit Core Data Services, Behavior Definitions und UI-Annotationen Anwendungen entwickeln, die für SAP S/4HANA optimiert sind – ob on-premise oder in der Cloud . Die Autoren führen Sie in die neuen Entwicklungstools und -technologien ein und zeigen Ihnen das optimale Vorgehen in End-to-End-Beispielen . Diese zweite Auflage wurde umfassend erweitert : jetzt mit ABAP Cloud, Erweiterbarkeitsfunktionen und den neuen Business-Objekt-Interfaces.
Aus dem Inhalt:
- REST-Architektur
- Core Data Services (CDS)
- Verhaltensdefinition und -implementierung
- Definition und Binding von Business Services
- Felddefinitionen, Assoziationen und Aktionen
- Entity Manipulation Language (EML)
- SAP Fiori Elements
- Eclipse, Visual Studio Code und SAP Business Application Studio
- Implementierungstypen Managed und Unmanaged
- Business-Objekt-Interfaces
- Erweiterbarkeit von ABAP-Anwendungen
- ABAP-Cloud-Programmiermodell
Autoren/Hrsg.
Weitere Infos & Material
Vorwort ... 17
Einleitung ... 19
TEIL I. Konzepte des ABAP RESTful Application Programming Models ... 25
1. Einführung in das ABAP RESTful Application Programming Model ... 27
1.1 ... Was ist das ABAP RESTful Application Programming Model? ... 28
1.2 ... Architektur und Konzepte des ABAP RESTful Application Programming Models ... 49
1.3 ... Entwicklungsobjekte des ABAP RESTful Application Programming Models ... 56
1.4 ... ABAP Development Tools als Entwicklungswerkzeug ... 62
1.5 ... Qualitative Eigenschaften des ABAP RESTful Application Programming Models ... 63
1.6 ... Verfügbarkeit des ABAP RESTful Application Programming Models ... 67
1.7 ... Die Rolle des ABAP RESTful Application Programming Models im ABAP-Cloud-Entwicklungsmodell ... 71
2. Core Data Services: Datenmodellierung ... 79
2.1 ... Was sind Core Data Services? ... 80
2.2 ... Aufbau und Syntax von Core Data Services ... 84
2.3 ... Assoziationen ... 99
2.4 ... Annotationen ... 104
2.5 ... Zugriffskontrollen ... 110
2.6 ... Erweiterbarkeit von CDS-Entitäten ... 116
2.7 ... Weitere CDS-Funktionalität ... 124
2.8 ... Virtuelles Datenmodell ... 132
2.9 ... CDS-Sprachelemente zur Modellierung von Geschäftsobjekten ... 137
3. Verhaltensdefinition ... 141
3.1 ... Was ist eine Verhaltensdefinition? ... 142
3.2 ... Verhaltensdefinition in den ABAP Development Tools bearbeiten ... 155
3.3 ... Implementierungstypen ... 165
3.4 ... Strict-Modus ... 170
3.5 ... Entitätsverhaltensdefinition ... 171
3.6 ... Behavior Pool definieren ... 172
3.7 ... Nummernvergabe ... 175
3.8 ... Feldeigenschaften ... 180
3.9 ... Feld-Mappings ... 183
3.10 ... Standardoperationen für eine CDS-Entität ... 186
3.11 ... Spezifische Operationen für eine CDS-Entität ... 190
3.12 ... Konkurrierende Zugriffe und Sperrverhalten ... 205
3.13 ... Interne Geschäftslogik ... 210
3.14 ... Berechtigungsprüfungen ... 222
3.15 ... Draft-Handling ... 228
3.16 ... Ereignisse ... 243
3.17 ... Übergreifende Konzepte ... 247
4. Entity Manipulation Language: Zugriff auf Geschäftsobjekte ... 257
4.1 ... Datentypen ... 258
4.2 ... EML-Operationen ... 262
4.3 ... Verwendung von EML außerhalb von Verhaltensimplementierungen ... 274
4.4 ... Konkrete Anwendungsfälle ... 277
5. Verhaltensimplementierung ... 283
5.1 ... Business Object Provider API ... 283
5.2 ... Laufzeitverhalten des ABAP RESTful Application Programming Models ... 284
5.3 ... Schnittstellen für den Interaktionshandler und den Speicherhandler ... 288
5.4 ... Interaktionshandler ... 289
5.5 ... Speicherhandler ... 314
5.6 ... Ereignisse ... 324
6. Business-Services ... 331
6.1 ... Projektionsschicht ... 332
6.2 ... Servicedefinition ... 336
6.3 ... Service-Binding ... 337
6.4 ... Business-Services im SAP Gateway Client testen ... 341
6.5 ... UI-Services mit der SAP-Fiori-Elements-Vorschau testen ... 344
6.6 ... BO-Interfaces ... 345
7. Erweiterbarkeit von Geschäftsobjekten ... 355
7.1 ... Einführung in das Erweiterungskonzept ... 355
7.2 ... Erweiterungsoptionen ... 360
7.3 ... Ein Standardgeschäftsobjekt erweitern ... 376
8. Anwendungsoberflächen und SAP Fiori Elements ... 407
8.1 ... Entwicklungswerkzeuge ... 408
8.2 ... SAP-Fiori-Elements-Oberflächen für RAP-Anwendungen ... 412
TEIL II. Praktische Anwendungsentwicklung mit dem ABAP RESTful Application Programming Model ... 447
9. Anwendungsfälle ... 449
9.1 ... Einsatzgebiete des ABAP RESTful Application Programming Models ... 449
9.2 ... Abgrenzung der verschiedenen Implementierungstypen ... 450
9.3 ... Entscheidungskriterien zur Auswahl des Implementierungstyps ... 452
10. Managed Scenario: Entwicklung einer Anwendung mit SAP Fiori Elements ... 457
10.1 ... Beschreibung des Anwendungsfalls ... 458
10.2 ... Datenmodell aufbauen ... 458
10.3 ... Verhaltensdefinitionen erstellen ... 473
10.4 ... Business-Service definieren ... 480
10.5 ... SAP-Fiori-Elements-Oberfläche erstellen ... 485
10.6 ... Anreicherung um eine Ermittlung ... 493
10.7 ... Anreicherung um eine Validierung ... 498
10.8 ... Anreicherung um eine Aktion ... 502
10.9 ... Generierung und Deployment der Anwendung ... 505
10.10 ... Datei-Upload ... 512
11. Managed Scenario mit Unmanaged Save: Bestehende Anwendung integrieren ... 517
11.1 ... Beschreibung des Anwendungsfalls ... 518
11.2 ... Datenmodell aufbauen ... 522
11.3 ... Verhaltensdefinition erstellen ... 535
11.4 ... Funktion »Bestellung anlegen« realisieren ... 537
11.5 ... Funktion »Bestellung löschen« realisieren ... 565
11.6 ... Business-Services definieren ... 571
11.7 ... Berechtigungsprüfungen realisieren ... 575
11.8 ... SAP-Fiori-Elements-Oberfläche erstellen ... 581
12. Unmanaged Scenario: Vorhandenen Quellcode wiederverwenden ... 587
12.1 ... Beschreibung des Anwendungsfalls ... 588
12.2 ... Beschreibung der bestehenden Anwendung ... 589
12.3 ... Datenmodell erweitern ... 596
12.4 ... Verhaltensdefinition erstellen ... 603
12.5 ... Verhaltensimplementierung erstellen ... 607
12.6 ... Business-Service definieren ... 622
13. Besonderheiten in der Cloud-Umgebung ... 627
13.1 ... Technische Grundlagen ... 628
13.2 ... Identity and Access Management ... 636
13.3 ... SAP-Fiori-Apps bereitstellen und Berechtigungen vergeben ... 639
13.4 ... Business-Services konsumieren ... 648
Anhang ... 653
A ... Literaturverzeichnis ... 653
Das Autorenteam ... 655
Index ... 657
Einleitung
Seit jeher entwickeln sich die Programmiersprache ABAP und das zugehörige Programmiermodell stetig weiter. Mit dem aktuellen ABAP RESTful Application Programming Model (RAP) haben sich einschneidende Veränderungen in der Art und Weise ergeben, Anwendungen zu entwickeln. Dieses Programmiermodell sieht einige komplett neue Programmierkonzepte vor, wie die Verhaltensdefinitionen und Business-Services.
Das Ziel dieses Buches ist es, Ihnen einen umfassenden Überblick über das neue Programmiermodell zu geben. Sie erwerben nicht nur das erforderliche theoretische Hintergrundwissen, sondern wenden das Erlernte auch in drei umfangreichen Praxiskapiteln an. Die dort beschriebenen praktischen Anwendungsfälle können Ihnen als Grundlage dienen, um die Vorgehensweise für Ihre eigenen Entwicklungsprojekte dem neuen Programmiermodell anzupassen.
In Teil I, »Konzepte des ABAP RESTful Application Programming Models«, wird das Fundament für den anschließenden Praxisteil II, »Praktische Anwendungsentwicklung mit dem ABAP RESTful Application Model«, gelegt, und die grundlegenden Konzepte des Programmiermodells werden im Detail vorgestellt. Damit ist der erste Teil des Buches für Leserinnen und Leser mit unterschiedlichen Vorkenntnissen geeignet. Er richtet sich sowohl an ABAP-Entwicklerinnen und -Entwickler, die bereits Erfahrungen mit dem Programmiermodell gesammelt haben und ihre Kenntnisse vertiefen wollen, als auch an solche, die bisher noch keine Erfahrungen mit den neuen Konzepten haben. Grundlegende Kenntnisse der ABAP-Entwicklung sollten jedoch bereits vorhanden sein. Für das Verständnis des Buches ist es unerheblich, ob Sie in einer Cloud-Umgebung oder auf einem SAP-S/4HANA-on-Premise-System arbeiten.
Wenn Sie neu in das Thema einsteigen, bietet es sich an, das Buch vom ersten bis zum letzten Kapitel chronologisch durchzuarbeiten. Wenn Sie bereits erste Erfahrungen mit dem ABAP RESTful Application Programming Model gesammelt haben, kann es durchaus sinnvoll sein, wenn Sie einzelne Kapitel überspringen und gezielt tiefer in die für Sie interessanten Themen eintauchen. Die Beispiele aus Teil II sind voneinander unabhängig und bauen nicht aufeinander auf.
Programmierbeispiele zum Download
Alle Programmierbeispiele aus dem Buch stehen auf der Seite www.sap-press.de/5869 auf der Registerkarte Materialien zur Verfügung. Von einigen Entwicklungsobjekten der Beispieldatenmodelle und -anwendungen werden in den Listings dieses Buchs nur Ausschnitte abgedruckt. In diesem Fall finden Sie den vollständigen Quelltext ebenfalls im Download-Bereich.
Wie bereits erwähnt, besteht das Buch aus zwei Teilen. In Teil I lernen Sie die grundlegenden Konzepte des ABAP RESTful Application Programming Models kennen.
In Kapitel 1, »Einführung in das ABAP RESTful Application Programming Model«, stellen wir das Programmiermodell vor und ordnen seine Softwarearchitektur in andere Architekturmodelle ein. Die verschiedenen Anwendungsfälle und Varianten der RAP-Entwicklung werden hier ebenfalls erläutert.
In Kapitel 2, »Core Data Services: Datenmodellierung«, werden die Möglichkeiten und Funktionen von CDS beschrieben und anhand von Beispielen erläutert. Da es sich bei CDS um einen zentralen Baustein des Programmiermodells handelt, bildet dieses Kapitel die Grundlage für die darauf aufbauenden Sprachelemente und Entwicklungsobjekte.
Kapitel 3, »Verhaltensdefinition«, erläutert aufbauend auf der Einführung in CDS die verschiedenen Implementierungstypen des Programmiermodells. Wir beschreiben den Aufbau, die wesentlichen Sprachelemente und die Möglichkeiten von Verhaltensdefinitionen anhand zahlreicher Beispiele.
In Kapitel 4, »Entity Manipulation Language: Zugriff auf Geschäftsobjekte«, werden das Konzept, die Syntax und die Möglichkeiten der in ABAP integrierten EML beschrieben. An dieser Stelle schlagen wir auch bereits die Brücke zur Verhaltensimplementierung.
Kapitel 5, »Verhaltensimplementierung«, erläutert im Detail, wie das Interface zur Implementierung der Geschäftslogik einer Anwendung aufgebaut ist und an welchen Stellen und zu welchen Zeitpunkten eine Implementierung von Verhalten umgesetzt werden kann.
In Kapitel 6, »Business-Services«, zeigen wir Ihnen, wie Sie mithilfe einer Servicedefinition den Umfang eines OData-Service für ein Geschäftsobjekt festlegen können und wie Sie mit dem Service-Binding das Protokoll des Service festlegen.
Kapitel 7, »Erweiterbarkeit von Geschäftsobjekten«, beschreibt, wie Sie RAP-Geschäftsobjekte erweiterbar machen und die Erweiterbarkeit solcher Geschäftsobjekte selbst nutzen können. In diesem Zusammenhang verdeutlichen wir einige Möglichkeiten zur Erweiterung anhand von praktischen Beispielen.
Kapitel 8, »Anwendungsoberflächen und SAP Fiori Elements«, richtet den Blick auf die Benutzeroberflächen Ihrer RAP-Anwendungen. Hier gehen wir nicht in der Tiefe auf alle Funktionen von SAP Fiori ein, sondern zeigen Ihnen, wie Sie mit SAP Fiori Elements einfache Oberflächen generieren und mit Annotationen näher konfigurieren können. Damit möchten wir vor allem die Grundlage für die folgenden Praxiskapitel schaffen.
In Teil II werden die verschiedenen Entwicklungsszenarien des ABAP RESTful Programming Models jeweils anhand eines konkreten Beispiels veranschaulicht.
Zunächst betrachten wir dazu in Kapitel 9, »Anwendungsfälle«, die unterschiedlichen Anwendungsfälle des Programmiermodells in der ABAP-Entwicklung und diskutieren die Eignung der verschiedenen RAP-Szenarien im jeweiligen Kontext. Das Kapitel beantwortet damit die Frage, wann welcher Implementierungstyp eingesetzt werden soll.
Ihre erste Anwendung auf Basis des ABAP RESTful Application Programming Models erstellen Sie in Kapitel 10, »Managed Scenario: Entwicklung einer Anwendung mit SAP Fiori Elements«. Dabei handelt es sich um eine komplett eigenständige Anwendung ohne Bezug zum SAP-Standard. Im Fokus steht hier die Umsetzung des Managed Scenarios. Die Anwendung wird im Rahmen der Verhaltensdefinition und -implementierung mit Aktionen, Validierungen und Ermittlungen angereichert.
Auch in Kapitel 11, »Managed Scenario mit Unmanaged Save: Bestehende Anwendung integrieren«, befassen wir uns mit dem Managed Scenario, implementieren allerdings eine eigene Verbuchungslogik. Themen wie die Nummernvergabe des integrierten RAP-Geschäftsobjekts oder die Implementierung der Speichersequenz sind hier zentral. Ziel dieser zweiten Anwendung ist es, SAP-Standardfunktionen in die Eigenentwicklung einzubinden.
In Kapitel 12, »Unmanaged Scenario: Vorhandenen Quellcode wiederverwenden«, gehen wir von einer bereits bestehenden kundeneigenen Anwendung aus, die im Rahmen des Unmanaged Scenarios mit dem ABAP RESTful Application Programming Model abgebildet wird. Ein wesentlicher Punkt in diesem Kapitel ist die Implementierung der Interaktionsphase, da diese beim Unmanaged Scenario im Gegensatz zum Managed Scenario nicht vom RAP-Framework zur Verfügung gestellt wird.
In Kapitel 13, »Besonderheiten in der Cloud-Umgebung«, stellen wir die Unterschiede zwischen der Cloud-Entwicklung und der On-Premise-Entwicklung heraus. Sie erfahren auch, wie Sie eine RAP-Anwendung den technischen Gegebenheiten des ABAP Environments anpassen können.
In hervorgehobenen Informationskästen finden Sie in diesem Buch Inhalte, die wissenswert und hilfreich sind, aber etwas außerhalb der eigentlichen Erläuterung stehen. Damit Sie diese Informationen sofort einordnen können, haben wir die Kästen mit entsprechenden Symbolen gekennzeichnet:
[»] In Kästen, die mit diesem Symbol gekennzeichnet sind, finden Sie Informationen zu weiterführenden Themen.
[ ! ] Dieses Symbol weist Sie auf Besonderheiten hin, die Sie beachten sollten. Es warnt Sie außerdem vor häufig gemachten Fehlern oder Problemen, die auftreten können.
[+] Die mit diesem Symbol gekennzeichneten Tipps geben Ihnen spezielle Empfehlungen aus unserer Projektpraxis, die Ihnen die Arbeit erleichtern können.
[zB] Beispiele, durch dieses Symbol kenntlich gemacht, weisen auf Szenarien aus der Praxis hin und veranschaulichen die dargestellten Funktionen.
Danksagungen
Wir möchten uns für die freundliche Unterstützung und die Bereitstellung der Infrastruktur durch die All for One Group SE bedanken, ohne die dieses Buch nicht möglich gewesen wäre. Insbesondere bedanken wir uns bei Lars Woll und Andreas...




