ABAP Cloud – Fragen und Antworten

Was ist ABAP Cloud und welche Vorteile ergeben sich daraus? Funktioniert die klassische Entwicklung noch unter SAP S/4HANA? Hier erfährst du die Antworten.

Wer sich die Frage stellt, wie auf SAP S/4HANA State-Of-The-Art entwickelt werden soll, kommt um die Themen Clean Core, ABAP Cloud und 3-Tier-Modell nicht mehr herum. Es gibt bereits einige gute Artikel zum Thema ABAP Cloud, wie bspw. dieser Community-Beitrag. Mit diesem FAQ trage ich wichtige Themen und weiterführende Links zusammen und kann hoffentlich auch deine Fragen beantworten.

Was ist ABAP Cloud?

ABAP Cloud ist ein moderner Ansatz zur ABAP-Entwicklung, mit welchem u.a. eine einfache und stabile Update- und Erweiterungsfähigkeit des SAP-Systems sichergestellt werden soll. Dabei werden nur öffentlich verfügbare APIs (Public Interfaces), Objekte und Erweiterungspunkte genutzt, um den Kern des SAP-Systems sauber zu halten – Clean Core.

Eine gute Einführung in das Thema ABAP Cloud inkl. Architektur-Abbildungen findest du bspw. hier:

Mit welchen Releases kann ABAP Cloud genutzt werden?

ABAP Cloud kann unter folgenden SAP-Releases benutzt werden:

  • SAP S/4HANA Private Edition & on premise, ab Version 2022
  • SAP S/4HANA Public Edition
  • SAP BTP

Was sind Public Interfaces (API)?

Public Interfaces sind die von der SAP freigegebenen Schnittstellen, wie bspw. ODATA V2 und V4, SOAP, REST sowie on Stack Extensibility wie CDS-Views oder BAdI (Business Add-In). Wenn du nur diese freigegebenen Schnittstellen benutzt befindest du dich auf der höchsten Ebene (Tier1) und somit im Clean Core.

Wo finde ich die Public Interfaces (API)?

Eine gute Übersicht über die verfügbaren Public Interfaces (APIs) findest du auf api.sap.com. Verzweige beispielsweise auf:

Alternative Möglichkeiten, nach Public Interfaces zu suchen, findest du in dem Beitrag How to find SAP APIs for SAP S/4HANA 3-tier extensibility model. Dort wird dir zum Beispiel der Weg direkt über die Eclipse ABAP Development Tools gezeigt.

Was ist mit den alten Schnittstellen / Classic API?

Falls keine von der SAP freigegebene Schnittstelle verfügbar ist, hilft oftmals ein Blick auf die als Classic API eingestuften Schnittstellen. Denn auch bei den älteren Technologien gibt es Abstufungen und es lässt sich damit ggf. ein Zustand erreichen, welcher als “as clean as possible” beschrieben werden kann.

Was ist das 3-Tier-Modell?

Eine gute Architektur-Abbildung findest du bspw. in den API Enablement Guidelines (siehe Kapitel 1.1, Overview of the Three Tier Model) oder im Extensibility-Guide (siehe Abbildung 5.3, Interplay between the three tiers)

Tier 1: Cloud extensibility model

  • ABAP Cloud Entwicklung
  • Verwendung von Public Interfaces oder Key-User-Extensions
  • “Cloud ready” und einfache Updates

 

Tier 2: Cloud API enablement

  • Erweiterung von Tier 1
  • Stellt mit “wrappern” eine Lösung zur Verfügung, wenn kein benötigtes Public Interface zur Verfügung steht
    Hinweis: Prüfe die veröffentlichten Public Interfaces. SAP erweitert die Anzahl mit neuen Releases.
  • Eine Anleitung findest du in den API Enablement Guidelines

 

Tier 3: Classic ABAP extensions

  • klassische ABAP-Entwicklung
  • Wird weiterhin unterstützt, aber nicht empfohlen
  • Typischerweise alter ABAP Code

Was ist Key User Extensibility?

Mit Key User Extensibility stellt die SAP Tools zur Verfügung, einfache Anpassungen ohne Entwicklungs-Skills (low- oder no-code) durchzuführen. Ein Beispiel ist die Erweiterung einer Tabelle um ein kundenindividuelles Feld. Dieses Feld würde zudem in der zugehörigen Fiori-APP verwendet werden können. Es handelt sich also um einen integrierten Ansatz zur Erweiterung.

Achtung: „Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel“ – Vermeide, dass jedes Problem mit einem neuen Tabellenfeld gelöst wird.

Funktioniert die klassische ABAP-Entwicklung noch unter SAP S/4HANA?

Wie alten Code (Tier 3) cloud-ready (Tier 1) machen?

Das ist ein komplexer Prozess. Meiner Meinung nach solltest du dir immer zuerst die Business-Anforderung genau ansehen und im ersten Schritt überlegen, ob Best-Practice-Prozesse, Customizing, Business Functions oder externe AddOns deine Anforderungen erfüllen.

Ist eine Eigenentwicklung erforderlich, schau dir bspw. den Blog-Beitrag How to make your custom code cloud-ready and upgrade-stable an. Hier wird das Vorgehen mittels Eclipse und des ABAP Test Cockpit (ATC) beispielhaft erläutert.

Zu welchen Anwendungsfällen sollte welche Technologie verwendet werden?

In dem Dokument ABAP Cloud – Technical Use Cases and Recommended Technologies findest du eine Empfehlung, in welchen Anwendungsfällen du Cloud extensibility model, Key-User-Extensions oder klassische ABAP-Entwicklung verwenden solltest.

Darüber hinaus bietet das SAP Tech Radar von Tobias Hofmann einen tollen Überblick, welche Technologien veraltet sind, welche benutzt werden sollten und mit welchen neuen Technologien sich Entwickler:innen beschäftigen müssen.