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:
- 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.
- Use SAP-Provided APIs and CDS Views
Build on standard services whenever possible to avoid low-level custom code.
- 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.
- 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).
- 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.
- Govern APIs and Events Carefully
Set up a clear governance model for exposing and consuming services to ensure security, versioning, and traceability.
- 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.