Back to Case Studies
ArchitectureRAPClean CoreRefactoringS/4HANA

Clean-Core Redesign: ECC Custom Code to RAP

Modernizing a legacy ECC custom solution to a Clean Core compliant RAP application on S/4HANA Private Cloud, utilizing OData v4 and Fiori Elements.

Role

Lead Architect

Period

2024

Tech Stack

ABAP RAP, OData v4, Fiori Elements, CDS Views

Key Outcomes

-40% Maintenance Effort
100% Core Clean
S/4HANA Upgrade Enabled

Problem

Business Challenge

Ein Energieversorgungsunternehmen stand vor der S/4HANA-Migration, aber eine geschäftskritische Z-Transaktion für Complex Procurement Requests (CPR) blockierte den Upgrade-Pfad. 450+ Anwender nutzten täglich dieses Custom Development für Beschaffungen mit Sondergenehmigungen (>€100k, strategische Lieferanten, Rahmenverträge).

Technical Debt

  • 12 User Exits tief integriert in Standard Purchase Requisition Logic
  • 3 Modifications an SAP-Standard-Dynpro-Screens
  • 15.000 Lines of Code in einer monolithischen Z-Transaction
  • Zero Test Coverage: Manuelle Tests für jedes Support Package
  • Upgrade Blocker: SAP Code Inspector zeigte 347 kritische Findings

Business Impact

  • Stuck on ECC: S/4HANA Upgrade seit 2 Jahren blockiert
  • Rising Maintenance Costs: 3x höhere Support-Kosten für alte ECC-Version
  • Security Risks: Veraltete System-Version ohne Security Patches
  • Lost Innovation: Neue S/4HANA Features (Embedded Analytics, ML) nicht verfügbar
  • Cloud Transformation Blocked: Private Cloud Transition nicht möglich

Solution

Strategic Approach: Clean-Sheet Redesign

Statt "Lift-and-Shift" entschieden wir uns für einen kompletten Neuaufbau mit ABAP RESTful Application Programming Model (RAP) und strikte Clean Core Compliance.

Architecture Principles

  1. Zero Modifications Policy: Kein Customizing am Standard SAP Code
  2. Released APIs Only: Ausschließlich freigegebene Interfaces (I_PurchaseRequisitionTP)
  3. Tier 1 First: Vorrangig Key User Extensibility, nur bei Unmöglichkeit auf Developer Extensibility
  4. Fiori Elements: Standard-Floorplan statt Custom UI Development

Technical Solution

RAP Business Object

Wir erstellten ein Custom RAP Business Object ZI_ComplexProcurementRequest:

define behavior for ZI_ComplexProcurementRequest
implementation in class zbp_i_cpr unique
persistent table zcpr_header
lock master
{
  create;
  update;
  delete;
 
  association _Items { create; }
 
  determination determineApprovalLevel on modify { field TotalAmount; }
  validation validateSupplier on save { field Supplier; }
 
  action approve result [1] $self;
  action reject result [1] $self;
}

Integration with Standard

Vorher: User Exits manipulierten Standard Purchase Requisition Nachher: RAP Business Object nutzt Released API

" Integration via Released API
DATA(lo_pr) = cl_bapi_pr_api=>get_instance( ).
lo_pr->create_pr(
  EXPORTING
    it_items = lt_items
    iv_custom_object_id = lv_cpr_id  " Link to CPR
).

Extensibility Strategy

RequirementSolutionTier
Custom FieldsKey User ExtensibilityTier 1
Approval WorkflowFlexible Workflow (via BTP)Tier 2
Complex ValidationsBADI ImplementationTier 2
ReportingEmbedded Analytics CDSTier 1

UI Modernization

Vorher: Dynpro Transaction mit 15 Subscreens Nachher: Fiori Elements List Report + Object Page

  • List Report: Übersicht aller CPRs mit Faceted Search
  • Object Page: Multi-Tab Layout (Header, Items, Approvals, Attachments)
  • Draft Pattern: Automatisches Speichern während Bearbeitung
  • Annotations: 90% UI via CDS Annotations, 10% Extension Points

Result

Business Outcomes

  • S/4HANA Upgrade Enabled: Upgrade erfolgreich durchgeführt (8 Monate nach Go-Live)
  • 40% Maintenance Cost Reduction: Von 3 FTE auf 1.8 FTE für Support
  • Private Cloud Ready: Migration zu S/4HANA Private Cloud vorbereitet
  • Future-Proof: Vorbereitet für zukünftige Upgrades ohne Code-Anpassungen
  • Innovation Unlocked: Embedded Analytics, Fiori 3.0, SAP AI Business Services jetzt nutzbar

Technical Achievements

  • 100% Clean Core Compliant: Zero Modifications, Zero User Exits im Standard
  • 12.000 Lines of Code Eliminated: Von 15k auf 3k LoC reduziert
  • 85% Code Coverage: Vollständige Unit Tests für RAP Behavior
  • < 300ms Response Time: Performante CDS Views mit HANA Optimization
  • Zero Downtime Deployment: Blue-Green Deployment für Updates

Quantifiable Impact

MetricBefore (ECC Z-Code)After (RAP Clean Core)Improvement
Maintenance FTE3.01.840% reduction
Upgrade ReadinessBlocked (347 Findings)Ready (0 Findings)100%
Code Volume15.000 LoC3.000 LoC80% reduction
Test Coverage0%85%Full automation
User Training Time2 days4 hours75% faster
Response Time800ms<300ms62% faster

User Experience Impact

  • Modern UI: Fiori 3.0 statt Dynpro - mobile-tauglich, responsive
  • User Satisfaction: NPS von 42 auf 78 gestiegen
  • Training Effort: Von 2 Tagen auf 4 Stunden reduziert (Fiori ist intuitiv)
  • Mobile Access: 30% der User nutzen jetzt iPad/Tablet für CPR-Genehmigungen

Clean Core Benefits Realized

Upgrade Path Cleared

  • Before: Jedes Support Package erforderte 40h Test-Aufwand
  • After: Upgrades ohne Custom Code Testing (nur Integrationstests)
  • Result: S/4HANA Upgrade von 2 Jahren Verzögerung auf On-Time

Reduced TCO

Cost CategoryAnnual BeforeAnnual AfterSavings
Maintenance€180k€108k€72k
Support€120k€60k€60k
Upgrades€200k€80k€120k
Total€500k€248k€252k

ROI: Initial Investment €400k, Break-Even nach 19 Monaten

Key Success Factors

Change Management

  • User Champions: 5 Power User in Redesign-Prozess eingebunden
  • Pilot Phase: 2 Monate Beta mit 50 Early Adopters
  • Communication: Wöchentliche Updates an 450+ End User

Technical Excellence

  • ABAP Unit Tests: 85% Code Coverage verhindert Regressions
  • CDS Performance: HANA-optimierte Views (300ms statt 800ms)
  • Documentation: Arc42-Light Architektur-Dokumentation im Git

Lessons Learned

Clean-Sheet vs. Lift-and-Shift

Die Entscheidung, komplett neu zu bauen statt zu migrieren, war richtig. Alte Technical Debt mitzunehmen hätte Upgrade-Fähigkeit nicht gesichert.

Released APIs sind ausreichend

Vorbehalte, dass Released APIs nicht alle Anforderungen abdecken, haben sich nicht bestätigt. 95% der Use Cases waren abdeckbar.

Fiori Elements Adoption

Anfängliche User-Skepsis ("Wir wollen unsere alte Transaktion") löste sich auf. Nach 2 Wochen Nutzung wollte niemand zurück zu Dynpro.

RAP Maturity

RAP auf S/4HANA Private Cloud ist production-ready. Performance, Stabilität und Tooling-Support sind exzellent.


Diese Case Study zeigt, wie Clean Core Transformation echten ROI liefert: €252k jährliche TCO-Reduktion, S/4HANA Upgrade-Fähigkeit wiederhergestellt und moderne User Experience mit Fiori Elements.