Erweiterungsmöglichkeiten SAP S/4HANA Public Cloud

June 12, 2024

1    Warum die Public Cloud eingeschränkt erweiterbar ist

Unternehmen weltweit erkennen zunehmend die Vorteile von SAP S/4HANA Public Cloud. Das lässt sich durch mehrere Schlüsselfaktoren erklären: die zunehmende Akzeptanz von Cloud-Technologien, der Bedarf an Echtzeitdatenanalysen und die Notwendigkeit, Innovationszyklen zu verkürzen. In Zeiten von IT-Trends wie Machine Learning, Künstliche Intelligenz, dem Internet der Dinge oder Blockchain ist daher ein modernes Cloud-ERP-System ein wesentliches Fundament, um an den daraus resultierenden Vorteilen partizipieren zu können.

Dabei bieten die Cloud Eigenschaften je nach Anforderungen und Deployment Variante nicht nur Vorteile. Auf Grund der regelmäßigen Release-Update-Zyklen, für die SAP im Rahmen der Public Cloud verantwortlich ist um beispielweise die Prozessfunktionalität sicherzustellen, sind Erweiterungen in der Multi-Tenant-Edition nur sehr eingeschränkt möglich.

Dieses „Korsett“ eingeschränkter Anpassungsmöglichkeiten, von welchem häufig gesprochen wird, erfordert daher architekturtechnisch ein neues Konzept. SAP hat hierfür im Hinblick auf Erweiterungen die Möglichkeiten in zwei Kategorien unterteil:

-       In-App Extensibility: Erweiterungen, welche sich wie bisher im ERP-Stack befinden, aber zukünftig primär von Key-Usern verwaltet werden sollen.

-       Side-by-Side-Extensibility: Erweiterungen, welche außerhalb des ERP-Kernsystems auf der Business Technology Platform (BTP) entwickelt werden, aber an das ERP-System hoch integriert angebunden sind.

2    Flexible Anpassungen durch Business User: In-App Extensibility

Einer der Grundgedanken und Ziele der SAP beim Thema Erweiterungen in S/4HANA Cloud ist, dass Anpassungen von Cloud-ERP-Systemen stärker als bisher durch IT-affine Business User durchgeführt werden können. Konfigurationsexperten aus den Fachbereichen haben daher künftig die Möglichkeit, ohne Programmierkenntnisse selbstständig, flexibel und ohne Einbindung von Entwicklern kleinere Anpassungen vorzunehmen (In-App Erweiterungen). Die Anpassungsmöglichkeiten sind dabei so unkompliziert gestaltet, dass diese keine Auswirkungen auf das operative Geschäft haben. Im Rahmen der In-App Extensibility kann nach drei Hauptfeatures unterschieden werden:

Um Felder und Anwendungslogiken hinzufügen zu können, stellt SAP den Anwendern die App »Benutzerdefinierte Felder und Logik« zur Verfügung, um Anpassungen in Uls, Reports, E-Mail- und Formularvorlagen anzulegen. Die App bietet drei unterschiedliche Erweiterungsoptionen:

-   benutzerdefinierte Felder,

-   benutzerdefinierte Logik,

-   Erweiterungen für Datenquellen

2.1  Option 1: Benutzerdefinierte Felder für SAP vorgesehene Geschäftskontexte

Benutzerdefinierte Felder können ausschließlich in von der SAP vorgesehenen Geschäftskontexten angelegt werden, welche bei der Feldanlage in der App zur Vorauswahl zur Verfügung gestellt werden. So kann beispielsweise der Anlagenstamm um ein zusätzliches Feld zur Klassifizierung von Versicherungsverhältnissen erweitert werden. Neben den Stammdaten können auch Bewegungsdatenkontexte, wie z.B. der Bereich zur Ergebnis- und Marktsegmentrechnung im Buchungsbeleg, erweitert werden.

Im Rahmen der Definition der Feldeigenschaften lässt sich auch der Feldtyp ausprägen, welcher die Eingabemöglichkeiten des Anwenders einschränken lässt (z.B. Betrag oder Dropdown Werte).

Nach Ausprägung der Feldeigenschaften wird festgelegt, in welchen Eingabemasken, E-Mail-Vorlagen, Reports Formularen oder Schnittstellen das Feld Anwendung finden soll.

Um die Anpassungen durchführen zu können, ist die Zuordnung des Rollenkatalogs „SAP_CORE_BC_EXT“ erforderlich, was den Wechsel in den UI-Anpassungsmodus erlaubt. In diesem lassen sich die kundenspezifischen Felder dann einblenden und positionieren.

Hinweis: Die Anpassungen lassen sich nur in „echten“ Fiori Apps durchführen und nicht in sogenannten fiorisierten Apps, welche lediglich die SAP GUI Oberfläche wiedergeben.

2.2  Option 2: Benutzerdefinierte Logiken mit BADIs

Neben Feldern lassen sich auch einige benutzerdefinierte Logiken in der Cloud Umgebung anpassen. Technisch gesehen, handelt es sich hierbei um BAdls (Business Add-ins) - eine Funktionalität, die bereits in SAP ECC verwendet wird und Anwendern erlaubt, an einer bestimmten Stelle innerhalb des Prozessablaufes Daten zu verändern oder auszulesen. Dabei lassen sich nicht alle Felder verändern, sondern nur diejenigen, die sich in der Ausgangsstruktur des BAdls befinden.

Die vollständige Liste aller BAdI’s, welche im in der Public Cloud Umgebung für Erweiterungen angepasst werden können mit entsprechender Dokumentation sind hier zu finden: https://api.sap.com/package/S4HANACloudBADI/badi - Stand heute sind das über 900 BAdI’s!

2.3  Option 3: Erweiterungen für Datenquellen (Business Objekte)

Die dritte In-App Erweiterung ist die der benutzerdefinierten Business-Objekte, welche es ermöglicht, eigene Datenobjekte zu modellieren und diese an unterschiedlichen Stellen in einem Geschäftsprozessen einzusetzen. Kunden, die in ihrem Alt-System häufig »Z-Tabellen« zur Speicherung kundeneigener Datenobjekte genutzt haben, können benutzerdefinierte Business-Objekte als deren Pendant in SAP S/4HANA Cloud betrachten.

Beispiel: Business-Objekt »Auto«. Das Auto hat ein Fahrzeug-Identifikationsnummer sowie eine Farbe. Außerdem besitzt es Attribute wie Hersteller, Modell und Hubraum.

Hieraus ergeben sich Parallelen zu den klassischen Prinzipien der objektorientierten Programmierung, in welcher man sich das Business-Objekt als eine Klasse, die Felder als Attribute und die Logiken als Methoden vorstellen kann.

Die definierten Business-Objekte können in benutzerdefinierten Feldern (wie weiter oben beschrieben) erneut verwendet werden, so z.B. lässt sich im Projekt-Stammsatz das Feld „Auto“ einblenden, und die Anwender können dieses mit den möglichen Ausprägungen des Business-Objekts befüllen. So lassen sich kundenspezifische Informationen über die Eingabemaske pflegen und verwalten.

3  Side-by-Side-Extensibility mit der SAP BTP

Ein weiterer Kerngedanke des Cloud-Erweiterungskonzepts ist die Möglichkeit zur Erweiterung für komplexere Anforderungen. Diese werden jedoch nicht wie bisher im Kern-ERP-System sondern auf der SAP Business Technology Platform (BTP) „Side-by-Side“ entwickelt und betrieben. Obwohl diese Erweiterungsapplikationen in einem anderen System ablaufen, sind sie durch Oberflächen-, Daten-, Prozess- und Eventintegration sehr eng mit dem Cloud-ERP-System verbunden.

Es muss jedoch beachtet werden, dass die Einflussnahme von Side-by-Side-Anwendungen auf die Daten- und Werteflüsse innerhalb von SAP S/4HANA Cloud beschränkt ist. Es können ausschließlich die von der SAP freigegebenen APls verwendet werden. Eine vollständige Liste der API’s sind hier zu finden https://api.sap.com/package/SAPS4HANACloud/overview. Aktuell stellt SAP bereits über 700 API’s zur Verfügung!

Hinweis: Falls gewisse notwendige Felder nicht enthalten sind oder für den benötigten Prozessschritt noch keine API existiert, kann auch eine eigene Applikation auf der BTP trotz ihrer großen Flexibilität keinen Einfluss auf die Daten im Cloud-ERP-System nehmen.

4    Fazit: Ein anpassbares Korsett

Wie wir gesehen haben, bringt die Public Cloud zwar in gewisser Weise ein „Korsett“ mit sich, in welches man sich zwingen muss. Dennoch gibt es Möglichkeiten seine eigenen, spezifischen Business Anforderungen auch in einer Public Cloud Umgebung umzusetzen. Letztlich gilt es zu prüfen, ob die Anforderung mit den von der SAP zur Verfügung gestellten Bordmitteln eine Umsetzung erlauben oder nicht.  

Beide Konzepte (In-App und Side-by-Side) sind in dem Hinblick konsistent, dass sie den regelmäßigen Upgrades von SAP S/4HANA Cloud nicht entgegenstehen und auf stabilen und vordefinierten Schnittstellen und Datenobjekten basieren (Prinzip der Software-Lifecycle-Stabilität). Damit sind Organisationen in der Lage, Innovationen stets zu adaptieren und dennoch durch selbst entwickelte Zusatzfeatures und Prozesse sich wettbewerbswirksam zu differenzieren.

Quelle:

Buch - Schnelleinstieg in SAP S/4HANA Cloud, M. Köbler (2019)