Eine CodeJam ist immer wieder eine Herausforderung für die Teilnehmenden. Das habe ich vor einigen Tagen am eigenen Leib erfahren, als Ingo Bräuninger bei der Codejam am 10.05.2019 über das „ABAP Restful Programming Model“ referierte. Ingo Bräuninger ist ein alter Hase im SAP-Geschäft, der genau weiß, wie die alte Welt tickt und wie die neue Welt funktioniert. Das macht er jedes Mal aufs Neue auf eindrucksvolle Weise klar. Er präsentiert seine Themen stets routiniert und doch unterhaltsam. In den späteren Übungen und Diskussionen hat er auf alle Fragen eine Antwort. Wer die Gelegenheit hat, Ingo einmal live zu erleben, der sollte sich das nicht entgehen lassen.

Alte Welte – Neue Welt

Für mich, als ebenfalls alten Hasen mit inzwischen 20 Jahren SAP-Erfahrung, ist die neue Welt jedoch sehr gewöhnungsbedürftig. „Neue Welt“ heißt in dem Fall „Cloud“. Bei der ABAP-Programmierung in der Wolke ergeben sich sehr viele Neuerungen und Veränderungen. Die für mich wichtigsten Änderungen, bzw. die, die ich verstanden habe, sind:

  • Es gibt keinen SAPGUI mehr.
  • Alternativlose Entwicklungsumgebung ist Eclipse.
  • Die Cloud ist stets aktuell.
  • Es gibt keine direkten Tabellenzugriffe mehr.
  • Die Möglichkeiten, in die SAP-eigenen Programme und Prozesse einzugreifen, werden deutlich weniger.
  • Es gibt viele neue Techniken.

Adieu SAPGUI

Es gibt in der Cloud keinen SAPGUI mehr. Gar nicht. Nada. Niente. Nix.
Alles, was man programmiert, programmiert man letztendlich als Backend-Service, der dann in der Regel mit einer Fiori-Applikation kommuniziert. Als Entwicklerin bzw. Entwickler ergeben sich dadurch einige, nun nennen wir es nicht Nachteile, sondern Veränderungen:

Es ist nicht mehr so einfach möglich, Ausgaben zu machen. Bisher war es Gang und Gäbe, Daten zu selektieren und diese in einem ALV-Grid auszugeben. Da es keinen SAPGUI mehr gibt, gibt es auch kein ALV-Grid mehr. Es gibt zwar die Möglichkeit, Daten in der Eclipse-Konsole auszugeben, aber das ist kein Ersatz für das mächtige Tool „ALV-Grid“. Als Programmiererin oder Programmierer ist man dann schon Mal aufgeschmissen, denn wie soll man nun kontrollieren, ob die Selektion und das Ermitteln der Zusatzinformationen so funktioniert, wie gewünscht?
Man wird in der Entwicklung nicht darum herumkommen, sich auch um die neuen Techniken wie Webservices, Webauthentifizierung, Fiori und SAPUI5 zu beschäftigen.

Eclipse als neue Entwicklungsumgebung

Die SAP propagiert schon lange die Nutzung von Eclipse als Programmierumgebung. Viele Neuerungen und Annehmlichkeiten in der Programmierung sind bereits in der alten Welt nur mit Eclipse nutzbar (Siehe Blog-Post meiner Kollegen Basti und Max: ABAP in Eclipse). In der Cloud gibt es keinen SAPGUI mehr. Deswegen gibt es auch die Entwicklungsumgebung SE80 nicht mehr. Es ist also zwingend erforderlich, Eclipse zu verwenden. Es wird immer deutlicher und dringender: Wer noch nicht auf Eclipse (Installationsguide) umgestiegen ist, sollte dies möglichst schnell tun.

Cloud-Strategie

Ingo nannte die „alte Welt“ das größtes Open-Source-Projekt der Welt. Und auch wenn SAP natürlich nicht Open-Source ist, so konnte man doch alles ansehen und sich an jeder Ecke mit dem eigenen Code einhängen, um das System an die individuellen Bedürfnisse anzupassen. Ebenfalls gängige Praxis war es, jeden Baustein zu nutzen, der für die eigene Programmierung in Frage kam. Beides wird der Vergangenheit angehören. Die SAP konzentriert sich darauf, ein stets stabiles und aktuelles System anzubieten. Es wird alle drei Monate ein Update geben, egal ob der Kunde dafür bereit ist oder nicht. Aus diesem Grund gibt es eine stetig wachsende White-List von Funktionen, die von der SAP zur Benutzung freigegeben werden.

No SELECT anymore

Durch die Cloud-Lösung ist es nicht mehr möglich, direkt auf SAP-Tabellen zuzugreifen. Die SAP behält sich vor, Daten nicht zwingend über eine Tabelle zur Verfügung zu stellen, sondern durch eine Schnittstelle. Diese Schnittstelle liefert dann die gewünschten Daten. Der Zugriff erfolgt dann über ABAP Managed Database Procedures. Diese Technik wird auch bei S4/HANA Systemen angewendet, um an Daten zu kommen.

Customer Exits

Durch die stetige Verbesserung des Cloud-Produktes ergibt sich eine sehr restriktive Nutzung von SAP-Komponenten und das, was bisher jeder Kunde als Userexit, customer function oder BAdI (Business Add-in) im Einsatz hatte. Da die SAP die Funktionalität der zugesicherten Funktionen stabil halten muss, ergibt sich im Umkehrschluss daraus, dass man als Kunde nicht mehr an jeder X-beliebigen Stelle herumbasteln kann. Das war jedoch einer der Stärken eines SAP-Systems. Gleichzeitig war es jedoch auch eine der größten Schwächen. Man wird sehen, wie die anspruchsvollen Kunden, die es gewohnt waren, sehr tiefgreifende Veränderungen vornehmen zu können, damit zurechtkommen (wollen).

Neue Techniken

Ich habe mich seit meiner Ausbildung mit SAP und ABAP beschäftigt. Außer ein paar rudimentären HTML- und PHP-Kenntnissen habe ich mich stets um die Fortbildung im SAP-Bereich bemüht. Das wird mir nun hoffentlich nicht zum Verhängnis, denn mit den neuen Techniken fehlt mir häufig das Verständnis für das Zusammenspiel der ganzen Web-Komponenten. Neben der seit jeher im SAP-Umfeld herrschenden babylonischen Sprachverwirrung, kommen nun noch Buzzwords aus den verschiedensten Bereichen, die einhergehen mit dem Thema „Cloud“. Es wird also wahrscheinlich für viele ein steiniger Weg in die Cloud.

Allerdings sehe ich viele Dinge inzwischen auch sehr positiv. Eine in meinen Augen wichtige Sache und Grundvoraussetzung ist, dass die Programmierenden sowie Kunden, sich auf die restriktiven Techniken einlassen. Im SAPGUI war es bisher schon so, dass man nicht viel Gestaltungsspielraum hatte, was ich immer gut fand. Mit der Cloud-Strategie wird das noch wieder einen Schritt straffer, denn viele Funktionen und Verhaltensweise werden direkt im Backend definiert und von einer einheitlichen Oberfläche nur noch interpretiert. Der Spielraum für Sonderlocken wird dadurch deutlich geringer bzw. wird der Aufwand höher.

Fazit

Lernen und Weiterbildung gehörte schon immer zum Berufsbild von Beratenden und Programmierenden dazu. In der heutigen Zeit mehr denn je. Aus diesem Grund bin ich froh, dass mein Arbeitgeber Veranstaltungen wie die CodeJam, den ABAP CodeRetreat und auch den SAP Inside Track unterstützt. Das Format CodeJam bietet jedem Interessierten die Möglichkeit, einmal hautnah die neuen Techniken zu erforschen und mit Expertinnen und Experten sowie anderen Interessierten ins Gespräch zu kommen.