Zum Selbstverständnis von snap zählt, dass wir uns so früh wie möglich mit Neuerungen beschäftigen. Mit ABAP auf der SAP Cloud Platform (SCP) etwa. Im Rahmen eines internen Innovationsprojektes wollten wir einerseits die Marketingversprechen dazu einem „Reality Check“ unterziehen und anderseits klären, was es kostet, eine On-Premise Applikation auf der SCP verfügbar zu machen.
Mit dem snap Barcode-Tool, einem Prüfservice für die weit verbreiteten Strichcodes, lassen sich die enthaltenden Barcode-Daten jedes damit gekennzeichneten Pakets in Sekundenbruchteilen verarbeiten und mit dem SAP ERP-System abgleichen.
Unser Plan: Mit Hilfe der SCP möchten wir dieses Service im Internet als pay per use-Dienst mit SAP Backend Integration anbieten. Um die Stammdatenqualität unserer Kunden zu verbessern, soll die Anwendung auch über den SAP Business API Hub oder den SAP Shop auffindbar und integrierbar sein – und über Fiori auch am Handy einfach nutzbar sein. So weit so gut.
Barcode-Tool goes Cloud
Unsere Vorstellung war recht simpel: Die ABAP Anwendung, die jetzt On-Premise funktioniert, läuft danach eben auf ABAP auf der SAP Cloud Plattform. Also SCP-Account einrichten, darauf eine ABAP Instanz aktivieren und das Barcode-Tool importieren. Dann vielleicht noch ein wenig nach-coden, da oder dort ein Zusatzservice aktivieren und dann daraus eine einfache Fiori Demo App generieren, im Business-Hub publishen – das war‘s. Dachten wir.
Eine Partnerlizenz zu besorgen und durch Bezahlen eine Instanz zu aktivieren waren noch einfache Übungen. Die Erwartung, unser Tool, bestenfalls mittels Transportauftrag und schlechtestenfalls via Copy und Paste in die SCP importieren zu können, wurde enttäuscht. In Realita mussten wir ABAP Objekte in ein Git-Repository hoch- und andere von dort herunterladen. Immerhin setzt SAP dabei mit Git auf ein Open Source Tool, das wir kannten ;-) Aber leider führte auch das ordnungsgemäße Vorgehen zu Fehlermeldungen. Einerseits, weil manche Objekte (etwa Includes) nicht importiert wurden, und zum Anderen weil klassische ERP-Objekte wie MARA und MATNR, auf die unser Barcode-Tool zurückgreift, in SCP ABAP schlicht nicht existieren, bzw. weil kein Zugriff darauf gestattet wird. Die etwas bittere Erkenntnis: Der geplante „nahezu 1:1“-Import lässt sich nicht realisieren, unser Experiment entwickelt sich in Richtung Neuimplementierung des Produktes!
Workarounds und Improvisationen
Also bauten wir einen Wrapper um die Funktionalität aus dem Backend aufzurufen. Aber die Bezeichnung des ABAP RESTful Programming Model (RAP) entpuppte sich dabei als ein reiner Euphemismus. Erholsam war die Arbeit damit keineswegs, gibt es doch weder die „altbekannte“ SE80 noch einen SAP GUI für Windows. Was zur Verfügung steht, sind Eclipse und diverse Fiori Launchpad Apps. Unter diesen Voraussetzungen entpuppte sich unser Projekt mal eben eine On-Premise Anwendung in die Cloud zu portieren, zu einem Kraftakt voller Workarounds und Improvisationen – und zu einem Stelldichein mit vielen neuen Komponenten und Bedienungsoberflächen.
ABAP in der Cloud tickt anders
Im Rückblick haben wir Einiges gelernt. Zuallererst: ABAP in der Cloud ist nicht das dasselbe wie ABAP On-Premise. Die Cloud bietet zahlreiche neue Konzepte und Möglichkeiten. Innovationen im Umfeld von ABAP scheint SAP zuerst für die Cloud zu entwickeln, wie etwa der Fiori everywhere-Ansatz beim User Interface zeigt – wodurch das SAP GUI entfällt. Im Data Dictionary finden sich zwar einige neue Objekte, aus der On-Premise-Welt Bekanntes ist aber teilweise nicht mehr verfügbar. Unser beabsichtigtes Migrationsprojekt hat sich so im Projektverlauf eher zu einer veritablen Neuimplementierung entwickelt.
Gut für Neues
Auch wenn sich unser Ansatz als nicht zielführend herausgestellt hat, haben wir dadurch einen guten Einblick in die Cloud Platform von SAP bekommen. Sie eignet sich sehr gut für Neuentwicklungen auch in Kombination mit On-Premise Lösungen, aber eben weniger für eine Portierung bestehender Anwendungen. Die Vorteile der Cloud wie Skalierbarkeit, Sicherheit und globale Ansätze lassen sich realisieren, neue Technologien und Prozesse stehen hier zeitnahe zur Verfügung. Kurz gesagt: SCP bietet vielfältige innovative Möglichkeiten, die State of the Art sind. Optimal nutzen lassen sich diese bei der Entwicklung neuer Anwendungen.