Enterprise Resource Planning Blog Posts by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
lukekrogh
Participant
0 Kudos
1,856

The “Clean Core” approach aims to minimize custom code within the digital core of SAP S/4HANA. Instead of modifying standard SAP objects, organizations are encouraged to extend functionality through well-defined APIs, events, and standardized extension points—either within the system (in-app) or outside of it (side-by-side).

The benefits are clear:

  • Easier upgrades and reduced technical debt
  • Improved system performance and stability
  • Faster time-to-innovation with modern technologies
  • Stronger alignment with SAP’s cloud-first roadmap

SAP has made it clear: the cleaner your core, the more future-ready your business.

Extension Options in S/4HANA: In-App vs. Side-by-Side

SAP S/4HANA provides two primary extensibility models, each with distinct use cases.

In-App Extensions (Embedded in S/4HANA)

These are made inside the core system, using SAP-provided tools to add or adapt functionality without modifying standard code.

Common tools:

  • Key User Extensibility (Custom Fields, UI adaptations)
  • ABAP RESTful Application Programming Model (RAP)
  • Business Add-Ins (BAdIs)
  • Fiori App Extensions

Best for:

  • Simple UI customizations
  • Adding fields to standard reports
  • Enhancing workflows or business rules
  • Light logic tightly coupled to standard objects

Benefits:

  • Seamless user experience
  • Lower latency
  • Tight integration with S/4HANA processes

Limitations:

  • Still resides in the same system as the digital core
  • Needs regression testing with upgrades
  • Limited in scope for complex or non-SAP integrations

Side-by-Side Extensions (On SAP BTP or External Platforms)

These are built outside the core system, often on the SAP Business Technology Platform (BTP), and communicate with S/4HANA via APIs and events.

Common tools:

  • SAP BTP & Cloud Foundry
  • Cloud Application Programming Model (CAP)
  • SAP Event Mesh & API Management
  • Node.js, Java, or other open languages

Best for:

  • Complex business applications
  • AI/ML services and integrations
  • Multi-system data orchestration
  • Customer portals and mobile apps

Benefits:

  • Fully decoupled from the digital core
  • Minimal impact on upgrades
  • Uses modern cloud-native technologies
  • Scales independently

Limitations:

  • More complex to architect and monitor
  • Requires integration governance
  • Latency may be a factor for real-time scenarios

Best Practices for Clean Core Extensibility

To keep your S/4HANA system lean, modern, and agile, follow these best practices:

  1. Default to Side-by-Side for Custom Applications
    Unless you need tight coupling to a UI or standard process, side-by-side is the safer, more scalable choice.
  2. Use SAP-Provided APIs and CDS Views
    Build on standard services whenever possible to avoid low-level custom code.
  3. Adopt RAP for In-App Enhancements
    If in-app logic is needed, use the ABAP RESTful Application Programming Model to align with SAP’s future direction.
  4. Avoid Classic Modifications and Z-Code in the Core
    Stay away from code that alters SAP-delivered objects. If you must, document and isolate it with ATC (ABAP Test Cockpit).
  5. Apply DevOps and CI/CD for All Extensions
    Treat both in-app and side-by-side extensions with modern lifecycle management, including Git-based version control and automated testing.
  6. Govern APIs and Events Carefully
    Set up a clear governance model for exposing and consuming services to ensure security, versioning, and traceability.
  7. Think Long-Term and Modular
    Design loosely coupled services that can evolve independently. Avoid single monolithic apps that recreate the very bloat Clean Core is meant to avoid.

Real-World Example

A Florida based moving company, wanted to customize its product master data screens with additional attributes for regional compliance and to help customers compare FL moving rates. Instead of modifying standard SAP transactions, the team used Key User tools to add fields (in-app), and built a custom compliance rules engine as a microservice on BTP (side-by-side), triggered via events.

The result? A system that was extensible, upgrade-safe, and ready for future integration with external regulators and AI-driven recommendations.

Clean Core Is Not Optional—It’s Inevitable

As SAP shifts more innovation to the cloud and encourages customers to adopt RISE with SAP, Clean Core isn’t just a best practice—it’s a strategic imperative. Keeping your core system clean ensures you can take advantage of SAP’s latest capabilities without being stuck in a cycle of code refactoring and broken upgrades.

Clean Core enables composability, resilience, and speed—the very traits that define successful digital enterprises.

So the next time you scope out an enhancement to your SAP landscape, ask: Does this keep our core clean? If not, it might be time to rethink the architecture.

2 Comments
woutdejong
Participant
0 Kudos

No, clean core is way more nuanced, and no goal (or goal summary) in itself.

Side-by-side might be a good solution, for example, built on BTP or on a different (cheaper? better?) platform than BTP. However, that totally depends on the context. Many times I select an in-app(-core) extension for speed, cost and resilience (for example, when side-by-side requires extensive data syncing). 

lopez54
Discoverer
0 Kudos

Hello,

The "Clean Core" approach is a strategic imperative for SAP S/4HANA users, focusing on minimizing custom code within the digital core. This is achieved by extending functionality through well-defined APIs, events, and standardized extension points, rather than modifying standard SAP objects. This can be done either "in-app" (within the system) or "side-by-side" .
Dogtranslator


Best Regards