Skip links

Navigating the Complexity of Custom Development in SAP

In today’s rapidly evolving digital world, organisations are constantly striving to adapt, innovate, and stay ahead of the curve. One major player that has been instrumental in this digital revolution is SAP, a leading provider of enterprise software solutions. SAP’s flagship product, S/4HANA, has been at the forefront, offering a new ‘digital-core’ that is agile, robust, and packed with innovative features. However, the transition from legacy SAP ERP systems to S/4HANA can be a complex process, particularly when it comes to managing custom code. This article aims to guide you through this journey, highlighting the importance of adopting a ‘Clean Core’ approach, the challenges that you might face, and the strategies to overcome them.

Understanding the Custom Code Conundrum

Customisations are a common feature in ERP implementations. They provide the flexibility needed to tailor the standard software to the unique needs of the business. In fact, a recent market survey by ASUG revealed that over 90% of customers rely heavily on their custom code. However, these customisations come with their own set of challenges. They can complicate system upgrades, create security vulnerabilities, and increase IT expenditure. Therefore, there is a pressing need for a strategic approach to manage and minimise custom code. This is where the ‘Clean Core’ principle comes into play.

The Clean Core Principle: Why It Matters

The Clean Core principle advocates for a lightweight, uncluttered core ERP system. By minimising modifications and extensions to the core software, organisations can enjoy smoother upgrades, faster deployments, lower total cost of ownership, and improved readiness for future innovations. SAP has been a strong proponent of this approach, encouraging customers to “keep the core clean”. This involves avoiding unnecessary customisations, leveraging modern extensibility options, ensuring upgrade-stability, and being aware of the technical debts associated with custom code.

The Road to a Clean Core: A Step-by-Step Guide

Achieving a Clean Core is not a one-size-fits-all process. It requires a thorough understanding of your existing custom code repository and a tailored strategy to modernise and optimise it. Here are some key steps to guide you on this journey:

Zero Core Modifications

Modifying the standard SAP software should be a last resort. These modifications can cause regression issues during upgrades, increasing the testing efforts required. Therefore, it’s crucial to enforce a zero-modification policy from the outset. If modifications are necessary, they should be managed through stringent quality processes, including automated unit tests and thorough regression testing.

Achieving a Clean Core is not a one-size-fits-all process.

Fit-to-Standard Business Processes

Adopting a ‘Fit-to-Standard’ approach can significantly reduce the need for customisations. This involves using the standard solutions provided by SAP as much as possible and only extending them when absolutely necessary. The SAP Activate methodology, for example, encourages the use of standard business processes to avoid reinventing the wheel.

Analyse Usage Data and Retire Unused Objects

A surprising amount of custom code in ERP systems is never actually used. By analysing usage data, you can identify and retire these unused objects, keeping your core system leaner and cleaner.

Lean and Upgrade-Proof Data Models

Data modelling is a critical aspect of modern ABAP programming. SAP provides a range of Core Data Services (CDS) views for this purpose. By using these standard, upgrade-stable CDS views, you can ensure a lean, upgrade-proof data model with minimal custom artefacts.

Compare and Consolidate Custom Objects

Over time, custom objects can accumulate, creating redundancies and inefficiencies. By comparing and consolidating these objects based on functional commonality, you can eliminate redundancies and create a cleaner, more efficient system.

Leverage Key-User (In-App) Extensibility Modes

Key-user extensibility tools offer a range of non-disruptive enhancement capabilities within the same software stack. These tools can be used to add custom fields, business logic, and other extensions to standard applications, helping to keep the core system clean.

Re-platform Decoupled Custom Developments to SAP BTP

Decoupling custom developments from the core system and re-platforming them to the SAP Business Technology Platform (SAP BTP) can help reduce the complexity of your core system while still catering to your unique business needs. This side-by-side approach allows for innovative solutions that are unaffected by core system upgrades.

Use Released or Whitelisted APIs

When integrating custom developments with the core system, it’s essential to use only released or whitelisted APIs. This ensures a stable contract of communication between systems and helps maintain the integrity of the core system.

Developer (On-Stack) Extensibility

The new Developer (on-stack) extensibility mode offers another way to extend the core system while adhering to the Clean Core principles. With this approach, developers can create custom extensions using a restricted ABAP language, ensuring upgrade-stability and cloud-readiness.

Re-think, Diversify, Be Aware and Ready

Finally, it’s important to regularly review your custom code repository and make necessary changes. This includes identifying and documenting complex or obsolete applications, ensuring cloud-readiness, and being prepared for future upgrades and transformations.


The journey to a Clean Core is not without its challenges, but with the right approach, it can result in a more efficient, agile, and future-ready ERP system. By understanding and managing custom code, organisations can maximise the benefits of their SAP S/4HANA implementation and pave the way for ongoing innovation and growth.


Leave a comment