Extending S/4HANA Service according to Clean Core Approach
- Kris Golonka
- Jul 29
- 3 min read
Updated: Aug 22
Following the Clean Core Principles may be a challenging task that causes a headache to everyone, who designs and implements extensions. SAP provides a set of recommendations though to ease up the process of assessing the correct extension option. This article helps to understand those recommendations while showing a practical example of extending S/4HANA Service.
S/4HANA Clean Core Extensibility Techniques
This article will begin with a short reminder on extensibility. When it comes to Clean Core approach while extending S/4HANA, there are 3 supported methods:
Key User Extensibility
Enables quick and simple enhancements using low-code/no-code tools, there is no need to have a deep technical knowledge.
On-Stack Developer Extensibility
Used by developers to implement advanced custom logic directly in S/4HANA using released APIs and extension points, ensuring compliance with Clean Core principles.
Side-by-Side Extensibility
Also used by developers but in this case the extensions do not run on SAP S/4HANA Cloud but instead on SAP BTP, using it's development and runtime services. Ideal for complex or decoupled scenarios.
How to choose the right extensibility option?
SAP provides a decision flowchart that can be used in order to support during the design phase of each extension. It contains criteria, based on which, it makes it more clear, which extension type to choose:
D1 - Target Groups and Consumption
D2 - SaaS Solution
D3 - Infrastructure and Operations
D4 - System of record and transaction
D5 - Key User or Developer Extension

Decision Flowchart in action
Use Case 1
The requirement is to find a way of saving some sort of an indicator in a Service Order, that is tightly coupled to the standard logic and no field provided by SAP within standard can be used. Let's assume that the decision has been made to implement an additional field, that is going to save the data. Let's now look at the decision flow, and think of a possible solution.

Going through a flow, the first three decision steps, that suggest, to go for a side-by-side extension were not met. The fourth decision step, based on the requirement of tight coupling, is met. In the fifth decision step, the criteria of custom field is met. The final decision is to go for a Custom Field, that is a part of a Key User Extensibility. Such a field can be added to a Fiori App "Manage Service Order" via configuration, there is no need for further development. The solution follows the Clean Core principle.
Use Case 2
This requirement is similar to the one from the case 1. Here though, the process requires to enhance a Service Contract on item level with a data table to store for instance custom maintenance plan and for some reason, the standard SAP solution providing Maintenance Plan cannot be used. Let's assume, that here a transactional consistency is also required.

Going through a flow, again the first three decision steps, that suggest, to go for a side-by-side extension were not met. The fourth decision step, based on the requirement of transactional consistency, is met. In the fifth decision step, analysing the possibilities of Key User Extensibility Tools, the decision is to use On-Stack Developer Extensibility.
That's the theory, in practice things look a bit different. Currently it is not possible to enhance a Service Contract Object using the On-Stack Developer Extensibility for this type of requirement. Another challenge would be integrating this type of enhancements in the S/4HANA Fiori Apps for Service module. They are still WebUI Framework based - a technology that is very limited extensible following the Clean Core Principles. In such scenarios a clear strategy is needed how to overcome those limitations.
Conclusion
Making the right choice when it comes to a type of extension is crucial for designing an optimal and future-safe extensions. SAP provides a decision flowchart, that supports during this process but sometimes the possibilities of S/4HANA do not allow to go with certain approach. In such cases the most important thing is to have an open mind and to stick to your Clean Core strategy.
Ready to Take the Next Step?
If you're planning a Clean Core journey in S/4HANA Service or need guidance on sustainable extensibility, we're here to help. Contact us at 4cx to discuss how we can support your transformation — without compromising your core.

Kris Golonka
4cx
For Better Customer Experience

Comments