Blog
KI macht SAP Custom Code fit für die Cloud
Bei der Migration von SAP-Systemen in die Cloud, insbesondere auf die S/4HANA, stehen IT-Entscheider unausweichlich vor der Frage: Wollen wir auch die individualisierten Software-Bestandteile mitnehmen und auf die S/4HANA umziehen? Oder gibt es andere, bessere Wege und Möglichkeiten, mit individualisierten SAP-Modulen umzugehen?
Im Zeitalter Künstlicher Intelligenz sagen wir ganz klar: Ja! Es geht besser. Denn KI bietet uns hervorragende Möglichkeiten, den SAP Custom Code für die Cloud und für die Zukunft fit zu machen – egal ob AWS, Azure, Google Cloud, BTP oder die Private Cloud des Unternehmens. Und zwar so, dass die gesamte SAP-Anwendung an Qualität gewinnt: durch mehr Verständlichkeit, mehr Ordnung, höhere Wartungsfreundlichkeit und sinkende Kosten.
Genau dieser Ansatz zahlt auch auf das SAP-Clean-Core-Ideal ein, das besagt, dass im SAP-Kontext ausschließlich SAP-Standard-Module genutzt werden. Funktionalitäten, die außerhalb dieses Standards liegen, sind hier separat zu behandeln.
Doch warum eigentlich AWS, Azure, Google Cloud, BTP oder die Private Cloud des Unternehmens für individualisierte SAP-Module? Nun, deswegen:
-
- Kosteneffizienz: Die Trennung zwischen Standardprozessen im SAP-System und individuellen Erweiterungen in der Cloud reduziert den Aufwand für Anpassungen und verringert die Anzahl der Lizenzen und damit die Gesamtbetriebskosten.
- Flexibilität und Innovationsfähigkeit: Individuelle Funktionalitäten können agil entwickelt und unabhängig vom SAP-Kern weiterentwickelt werden, was Innovationen fördert und eine schnelle Reaktion auf neue Anforderungen ermöglicht.
- Reduzierte Komplexität: Ein “sauberer Kern” minimiert die Komplexität im SAP-System, wodurch die Systemlandschaft übersichtlicher und leichter zu verwalten ist.
- Wartungsfreundlichkeit: Updates und Upgrades deutlich einfacher und schneller durchführbar, ohne individuelle SAP-Anpassungen berücksichtigen zu müssen.
- Cloud-Nutzung: Die Auslagerung individueller Softwarefunktionen in die Cloud erlaubt eine skalierbare, sichere und leistungsfähige Umgebung, die bedarfsgerecht auf die Prozesse des Unternehmens angepasst werden kann.
Um den Clean Core zu erhalten und gleichzeitig den vorhandenen Custom Code sauber in die Cloud zu migrieren, bedarf es neben fachlicher und technischer Expertise auch eine kosteneffiziente Migrationsstrategie.
Darum Künstliche Intelligenz
Als erfahrene Umzugshelfer von Legacy-Software in die Cloud, mit einschlägigem Know-how in Sachen KI, setzen wir bei Micromata auf ausgewählte KI-Tools, um in solchen Migrationsprojekten beste Ergebnisse zu erzielen. Denn ein KI-gestützter Umzug in die Cloud erlaubt nicht nur einen effizienten Migrationsprozess, sondern in der Cloud dann auch eine skalierbare, sichere und leistungsfähige Umgebung, die bedarfsgerecht auf die Prozesse des Unternehmens angepasst werden kann.
Unser Know-how für Ihre Vorteile:
-
- Projektverständnis: Durch die KI-gestützte Analyse des Quellcodes gelangen wir schnell zu einem umfassenden Projektverständnis. Dies bezieht sich sowohl auf die fachliche Umsetzung als auch auf den Bezug der Fachlichkeit zum Code.
- Analyse von Abhängigkeiten: Dank einer KI-gestützten Verarbeitung in Kombination mit einer statischen Codeanalyse erstellen wir in kurzer Zeit einen umfassenden Abhängigkeitsgraphen.
- Entwurf der Zielarchitektur: Ein KI-gestütztes Labeling hilft uns, die alten Komponenten in der neuen Systemarchitektur zu verorten. Ein manuelles Sichten und Kategorisieren des Quellcodes entfällt – dank KI.
- Codeübersetzung: Bei der Übersetzung des Codes von Quellsprache (ABAP) in die gewünschte Zielsprache kommt die KI zum Einsatz. Wir nutzen Sprachmodelle, um die Übersetzung zu automatisieren.
So sind wir in der Lage, die Aufwände gegenüber klassischen Migrationsprojekten ohne KI signifikant zu senken. Die Migration erfolgt dabei stets in die Ziel-Cloud des Kunden – sei das AWS, Azure, Google Cloud, BTP oder die Private Cloud des Unternehmens. Wir empfehlen grundsätzlich die Migration in eine Cloud, die eine flexible Skalierung mit einem nutzungsbasierten Preismodell ermöglicht.
Außerdem profitieren unsere Kunden in der Umsetzung von den Kostenvorteilen einer breiten Entwickler-Community und Open-Source-Lösungen, die ohne Lizenzkosten einsetzbar sind.
Bereit für den Umzug?
Bei der sortenreinen Entkopplung von Custom Code und SAP-Standard-Code ergeben sich insbesondere in der Komposition der Komponenten besondere Herausforderungen:
-
- Abhängigkeiten: Stark in SAP integrierter Code macht die Entkopplung knifflig.
- Datenbankzugriffe: Direkte SQL-Abfragen müssen in ORM oder APIs umgewandelt werden.
- Geschäftslogik: Vermischung von UI, Logik und Datenbank erschwert die Trennung.
- SAP-spezifische Funktionen: BAPIs und RFCs erfordern alternative Implementierungen.
- Workflows: SAP-spezifische Prozesse benötigen eine Anpassung.
- Funktionale Entsprechungen: Viele ABAP-Funktionen existieren nicht direkt in anderen Sprachen.
Im Regelfall führt das dazu, dass die verschiedenen Komponenten einer einzigen SAP-ABAP-Klasse in SAP Custome Code über 4-5 Klassen verteilt werden müssen, wenn eine moderne, serviceorientierte Softwarearchitektur erreicht werden soll. Denn nur so wird eine saubere Trennung von Verantwortlichkeiten und eine sehr gute Wartbarkeit sichergestellt, die im alten ABAP-Code so nicht gegeben ist. Insofern ist ein Umzug in die Cloud inkl. Übersetzung in SAP Custome Code definitiv auch ein Plus in Sachen Wartbarkeit und Transparenz.
Es folgt ein Blick in den Maschinenraum eines solchen Migrationsprojektes.
Vom ABAP-Code zur Zielarchitektur
ABAP ist die klassische SAP-Programmiersprache. Bevor ABAP-Code in die künftige Zielsprache umgeschrieben werden kann, bedarf es einer genauen Analyse der Abhängigkeiten, um die einzelnen Code-Bestandteile zu identifizieren und ihre Verortung in der neuen Architektur zu bestimmen. Wichtige Schritte hierbei sind:
-
- Die Festlegung einer Zielarchitektur.
- Das Labeling der Code-Bestandteile des alten ABAP-Programms.
- Die Identifikation von Zusammenhängen zwischen Komponenten.
- Die Zuordnung dieser Code-Bestandteile zu Komponenten der neuen Zielarchitektur.
Zum Labeling von Code-Bestandteilen und zur Identifikation von Zusammenhängen kommen zwei KI-unterstützte Techniken zum Einsatz:
-
- Für das Labeling lassen wir von der KI eine Liste an Keywords zur Unterscheidung von Komponenten generieren. Diese Liste wird dann im Rahmen einer statischen Code-Analyse verwendet, um das Labeling durchzuführen. Dabei werden auch Grenzfälle vom Sprachmodell (LLM) kategorisiert und automatisiert auf Validität geprüft.
- Für die Identifikation von Zusammenhängen sind neben der statischen Code-Analyse auch so genannte CodeMaps am Start. Diese analysieren die allgemeine Architekur, die fachlichen und technischen Funktionalitäten sowie die Abhängigkeiten einer Klasse. Diese Informationen werden auf Basis einzelner Dateien erstellt und auf Modulebene aggregiert.
Die KI-generierten CodeMaps sind also in Kombination mit einer statischen Code-Analyse für die Erkennung von Abhängigkeiten und Zusammenhängen zuständig. Aus dem so entstehenden Abhängigkeitsgraphen ergibt sich der Implementierungsplan für die Code-Generierung.
Automatische Code-Übersetzung mit Kontextinfos
In einem nächsten Schritt werden die gewonnenen Informationen dafür genutzt, dem LLM die nötigen Kontextinformationen mitzugeben, die es für die Übersetzung des ABAP-Codes in SAP Custom Code berücksichtigen soll. Dabei unterscheiden wir zwischen:
- Basisinformationen, die dem LLM in einem so genannten System-Prompt überreicht werden – z. B. solche zum genutzten Framework. Dieser Prompt wird einmal erstellt und jedem folgenden Prompt vorangestellt.
- Kontextinformationen zu dem zu übersetzenden Code-Stück. Die in der Analyse erstellen CodeMaps werden dazu mittels LLM-Embedding in Vektoren umgewandelt, die dann in einem Vektorstore zur Ablage kommen. Bei der Code-Generierung wird dieser Vektorstore anhand des System-Prompts durchsucht, um auch in einer großen Code-Basis die passenden Kontextinformationen zur Aufgabe zu liefern.
Insgesamt ergibt sich damit folgende Architektur, die wir als inhouse entwickeltes Tool zur automatisierten Übersetzung von ABAP-Code verwenden:
Mittels dieser Software übersetzen wir ABAP-Klassen Methode für Methode, um so ein neues Stück Software zu schaffen, das die vorhandene Businesslogik wartbar, nachhaltig und ohne Lizenzkosten umsetzt.
Fazit
Der Umzug in die Cloud lohnt sich für SAP-Anwendungen. Die Existenz von individualisiertem Custom Code innerhalb der SAP-Anwendung sollte dafür kein Hindernis sein, sondern im Gegenteil eine gute Gelegenheit, den idealen Zustand des Clean Core in der Anwendung wiederherzustellen und für die maßgeschneiderten Funktionen ebenfalls eine passende Heimat in der Cloud zu finden – egal ob AWS, Azure, Google Cloud, BTP oder die Private Cloud des Unternehmens. Das spart nicht nur Kosten, sondern verbessert die Transparenz, Wartbarkeit und Zukunftsfähigkeit aller Anwendungsbestandteile.
Erfahren Sie mehr zum Thema SAP Clean-Core-Strategie auf unserer SAP to Cloud Leistungsseite.