Essence of Clean Core
Article Series “Bringing Together Clean Core, Cloud, the SAP Extension Suite and SAP BTP – A Clean Core and Differentiation / Extensibility Strategy”
This posting is the second part of a series, which proposes a functional-strategic approach to Clean Core to help overcome the challenges, which the prevalent technical approach entails. Visit the overview page for a management summary and links to the other postings.
Clean Core is about the Separation of Standard Code and Custom Code
The long list of challenges related to the technical approach to Clean Core (see previous blog post) may cause some doubts regarding the justification and value of the Clean Core principle. Essentially, Clean Core demands a clear separation of standard code and custom code – for good reasons:
The characteristics and requirements of standard and custom code are highly contrasting and rather opposing each other. Especially their release cycles are very different.
The Traditional Approach Prior To Clean Core
In the past, SAP standard code and custom code have been intermixed. The traditional approach is to take a divide-and-conquer approach to adapting the SAP system to the individual needs of an organization. Even if initially the perspective of end-to-end processes is followed, sooner or later in the course of the review, the standard is broken down according to lines of business (LoBs), processes and subprocesses, from level 3 to level 4 to level 5… Gaps are usually identified at a very low level, scattered all across the system. According to the traditional approach, the solutions for these gaps are then specified and implemented mainly in an isolated way, one by one. Pieces of custom code (red chevron arrows in the graphic below) are spread all over and interwoven with standard code (grey arrows in the graphic below).
This causes problems for the installation of upgrades. Whenever an upgrade changes an area of the standard code which the custom code is dependent on, the installation is not possible until the custom code gets adapted to the new code. Otherwise, the custom code does not work anymore. Any major adaptations of the custom code, however, may require a long time due to organizational reasons and therefore even the installation of critical security patches have been delayed by months in many cases in the past.
The General Idea of Clean Core
These issues with upgrading the SAP backend and the enablement of cloud-readiness have motivated SAP to introduce the Clean Core Principle. In a nutshell, Clean Core means that custom code should not be developed within the SAP standard anymore, but clearly separate in a distinct area. Standard logic should be accessed only via a defined API.