Baumbusch / Jäger / Lensch | ABAP RESTful Application Programming Model | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 667 Seiten

Reihe: SAP Press

Baumbusch / Jäger / Lensch ABAP RESTful Application Programming Model

Das umfassende Handbuch
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
Baumbusch / Jäger / Lensch ABAP RESTful Application Programming Model jetzt bestellen!

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


Lensch, Michael
Michael Lensch ist bei der All for One Group SE für ein internationales Team von SAP-Entwicklerinnen und -Entwicklern zuständig. Zusätzlich verantwortet er als Development Manager die Entwicklung in SAP-S/4HANA-Einführungsprojekten im In- und Ausland. Seit 2023 ist er als Gastdozent an der DHBW Heilbronn für das Thema ABAP RESTful Application Programming Model tätig. Er studierte Informatik an der Fachhochschule Trier.

Jäger, Matthias
Matthias Jäger ist selbstständiger Fullstack-ABAP-Entwickler, Architekt und Trainer (erp-developer.com). Zuvor war er langjährig bei der All for One Group SE im Team Solution Development tätig und entwickelte dort ABAP-basierte Softwareprodukte. Er verfügt über umfangreiche Erfahrung in der Softwareentwicklung unter kreativer Nutzung der ABAP-Plattform, auch kombiniert mit Nicht-SAP-Technologien. Seine Laufbahn begann er 2004 als SAP-Entwickler und Entwickler eines Java-basierten Softwareprodukts und war danach in unterschiedlichen SAP-Einführungsprojekten im Einsatz. Seit 2011 ist er regelmäßig Gastdozent an der DHBW Stuttgart. Er hat im Rahmen eines dualen Studiums Wirtschaftsinformatik in Heidenheim studiert.

Baumbusch, Lutz
Lutz Baumbusch ist seit dem Jahr 2000 als SAP-Entwickler und Softwarearchitekt tätig und betreut internationale SAP-Projekte in unterschiedlichen Rollen und Aufgabengebieten. Bei der All for One Group SE bereitet er in einem Team für ABAP Cloud Development aktuelle Entwicklerthemen für interne und externe Schulungen auf. Studiert hat er am Karlsruher Institut für Technologie (KIT).



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.