SAP-Entwicklung · S/4HANA

Custom-Code-Remediation für S/4HANA: ABAP-Altcode sauber migrieren

Bei fast jeder S/4HANA-Umstellung entscheidet nicht der Standard über den Projekterfolg, sondern der kundeneigene ABAP-Code. Dieser Beitrag zeigt, wie Altcode systematisch bewertet, bereinigt und Clean-Core-tauglich gemacht wird.

Die meisten produktiven SAP-Systeme enthalten mehr kundeneigenen Code, als viele Verantwortliche vermuten. Über Jahre sind Z-Reports, User-Exits, Implicit Enhancements und modifizierte Includes entstanden, die geschäftskritische Logik tragen: Preisfindung, Genehmigungsprozesse, branchenspezifische Abläufe. Genau dieser Code wird bei der Umstellung auf S/4HANA zum eigentlichen Aufwandstreiber, nicht der Standard.

Der Grund liegt in der veränderten Architektur. S/4HANA bringt ein anderes Datenmodell mit, geänderte Kern-Tabellen, das Business-Partner-Konzept und die In-Memory-Verarbeitung von SAP HANA. Code, der in ECC über Jahre zuverlässig lief, kann unter S/4HANA fehlerhafte Ergebnisse liefern oder stillschweigend falsche Werte produzieren, die erst im Monatsabschluss oder im Kundenprozess auffallen.

Kernaussage

Custom-Code-Remediation ist kein einmaliger Migrationsschritt, sondern eine Investition in die dauerhafte Wartbarkeit. Jedes nicht bereinigte Z-Objekt bleibt ein Kostenpunkt bei jedem künftigen Release-Wechsel.

Warum Altcode unter S/4HANA bricht

Drei technische Verschiebungen sind für die meisten Anpassungsbedarfe verantwortlich:

Besonders heikel sind Modifikationen am SAP-Standard und Implicit Enhancements. S/4HANA zieht hier klarere Grenzen: Solche Eingriffe können bei der Konversion ignoriert oder deaktiviert werden. Wer sie nicht rechtzeitig identifiziert und neu umsetzt, riskiert Regressionen in kritischen Abläufen.

Der reale Umfang: viel weniger Code ist nötig als vorhanden

Ein oft unterschätzter Hebel liegt in der Bereinigung vor der Migration. Erhebungen aus dem SAP-Umfeld zeigen, dass ein erheblicher Teil des kundeneigenen Codes in Altsystemen ungenutzt oder redundant ist. Dieser Anteil lässt sich vor der Umstellung stilllegen, statt ihn mitzuschleppen und anschließend aufwendig anzupassen.

~40 %des Custom Codes in Altsystemen gilt als ungenutzt oder redundant
2027Auslaufen der ECC-Standardwartung als fixer Zeitrahmen
91 %der SAP-Anwender verlassen sich auf Custom Code für Kernprozesse

Größenordnungen nach öffentlich verfügbaren Angaben aus dem SAP- und ASUG-Umfeld. Der konkrete Wert ist immer systemspezifisch zu ermitteln.

Werkzeuge: ATC und Custom Code Migration Worklist

Die technische Grundlage jeder Remediation ist der ABAP Test Cockpit (ATC) in den ABAP Development Tools für Eclipse. ATC prüft kundeneigenen Code gegen die S/4HANA-Readiness-Regeln und meldet Verstöße gegen Simplification Items. Ergänzend zeigt die Custom Code Migration Worklist, welche Z-Entwicklungen von wegfallenden Funktionen oder Compatibility-Scope-Bausteinen abhängen.

Wichtig ist eine realistische Erwartung an den Automatisierungsgrad: Die automatischen Quick-Fixes decken einen Teil der typischen Fälle ab, etwa Konflikte mit der MATNR-Feldlänge oder fehlende ORDER BY-Klauseln. Der verbleibende Teil erfordert manuelle Analyse und Umsetzung durch Entwickler, die sowohl die technische Verarbeitung als auch die dahinterliegende Geschäftslogik verstehen.

" Typischer ATC-Befund: nicht-deterministisches SELECT ohne ORDER BY
SELECT matnr, maktx FROM makt
  INTO TABLE @DATA(lt_texte)
  WHERE spras = @sy-langu.
" Unter HANA ist die Reihenfolge nicht garantiert -> Ergebnis kann variieren

" Remediiert: deterministisch und explizit
SELECT matnr, maktx FROM makt
  INTO TABLE @DATA(lt_texte)
  WHERE spras = @sy-langu
  ORDER BY matnr.

Clean Core als Zielbild

Remediation ist die Gelegenheit, das System dauerhaft wartbarer aufzustellen. Das Clean-Core-Prinzip bedeutet: Der SAP-Standard bleibt unmodifiziert, kundeneigene Logik wird über definierte Erweiterungspunkte oder als Side-by-Side-Extension ausgelagert. Statt tief in den Kern eingreifende Modifikationen entstehen entkoppelte, klar abgegrenzte Erweiterungen.

In der Praxis heißt das, jeden relevanten Custom-Code-Baustein einer von vier Kategorien zuzuordnen:

  1. Stilllegen: ungenutzte oder redundante Objekte werden vor der Migration entfernt.
  2. Anpassen: weiterhin benötigter Code wird an das S/4HANA-Datenmodell und die ATC-Regeln angepasst.
  3. Neu bauen: tief modifizierte Logik wird als saubere, entkoppelte Erweiterung neu umgesetzt.
  4. Ersetzen: Funktionen, die der Standard inzwischen abdeckt, werden durch Standard ersetzt.
Aus der Praxis

Die schwierigste Kategorie ist selten die technische Anpassung, sondern die Entscheidung, welcher Code stillgelegt werden darf. Dafür braucht es jemanden, der die Geschäftslogik hinter dem Z-Objekt liest, nicht nur den ATC-Report.

Empfohlenes Vorgehen

Ein tragfähiger Remediation-Ablauf folgt einer klaren Reihenfolge, die verhindert, dass Aufwand in Code fließt, der ohnehin entfallen kann:

  1. Nutzungsanalyse: Welcher Custom Code wird produktiv überhaupt aufgerufen?
  2. ATC-Lauf gegen die S/4HANA-Prüfvarianten, Auswertung nach Kritikalität.
  3. Abgleich mit der Custom Code Migration Worklist und den relevanten Simplification Items.
  4. Kategorisierung (stilllegen / anpassen / neu bauen / ersetzen).
  5. Umsetzung mit Absicherung durch Unit- und ATC-Tests, Regressionstest der betroffenen Prozesse.

Entscheidend ist, dass die Remediation früh beginnt. Wer den ungenutzten Code-Anteil erst nach der Konversion bereinigen will, verliert diesen Hebel weitgehend, weil der Aufwand dann schon investiert ist.

m.
Über mnds solutions

mnds solutions arbeitet auf der technischen Ebene mit über 15 Jahren Praxis in ABAP OO, Systemarchitektur und S/4HANA-Umstellungen. Schwerpunkt: technische Umsetzung und Architekturentscheidungen, inklusive fester Kontingente für Fehleranalyse und Debugging.

Custom Code vor der S/4HANA-Umstellung bewerten lassen

Von der ATC-Auswertung bis zur konkreten Remediation kundeneigener Entwicklungen. Auch als festes Stundenkontingent für die Analyse.

Vorhaben besprechen →