Clean core is a term that is now frequently thrown around and occasionally used synonymously and slightly incorrectly, with side-by-side extension. The clean core approach refers to the simplification and optimisation of the SAP S/4HANA system to remove unnecessary complexity, improve performance and support upgradability. There are numerous methods to achieve a clean core and it is, in my experience a vitally important ingredient to a successful S/4HANA enabled business transformation. However, this definition is often confused or taken too literally, party influenced by what is possible within an S/4HANA public cloud environment and partly influenced by sales focussed statements that are often too idealistic or utopian and do not reflect the realities of an S/4HANA implementation programme. This can lead to customers having unrealistic and often impractical expectations of how extensions to their S/4HANA on premise or private cloud solutions should be delivered. The principles behind clean core are vitally important, not just from a technical and solution future proofing standpoint but also a program delivery standpoint. It is good practice not just because it can be used as a lever to reduce development scope and therefore program complexity but more importantly, the top-down mantra to pursue a clean core can be used to encourage business stakeholders to adopt fit-to-standard, re-prioritise their prior customisation needs and ultimately consider that what they built previously may not be right for the future.
There are many great blogs covering this extensively, so I won’t cover this in detail but just for convenience, here is a quick overview.
The below diagram will be familiar to many of those in the SAP Architecture & Development communities with the exception of “Smart Core” which will be explained further below.
If your organisation is large and complex, you likely customised heavily your legacy ERP to meet your business needs and the likely answer, as controversial as this may seem is “No” (at least not entirely). Even with devout commitment to a fit-to-standard design approach and with clean core at the heart of your development strategy, in certain areas you will simply have to deviate.
For those used to delivering S/4HANA enabled transformation programs the following will resonate:
Although I am fully supportive of, and completely aligned to the ideologies, concepts, tools and frameworks enabling a clean core approach, I am also cognisant of where these extension methods lack suitability, fit and maturity. For example:
The above is not intended to be a decision tree on development guidelines but simply highlight that clean core is not always the right approach and a myriad of factors must be assessed not just from a technical standpoint but also a programme delivery perspective. With infinite time and budget, we can find ways to work around the most efficient technical approach but it is critical to challenge whether the pursuance of clean core is worth elongated timelines and, in some cases, significantly increased TCO.
Further to the above, it is also important to note that many functionality gaps or feature improvements available today contain resolutions in SAP notes that prescribe BADI or custom enhancement spot implementations, which may not yet be available on the Extensibility Registry and by proxy demonstrate an acknowledgement that On-Stack, classic enhancement techniques are sometimes the most appropriate or even only path available.
These extension methods can be managed safely and providing they are implemented correctly by an experienced developer they are often the most appropriate means to extend the S/4HANA solution. See below examples:
There is no denying that Side-by-side (including CAP on Cloud Foundry or other frameworks & runtimes on other platforms), On Stack (in the form of RAP Developer Extensibility & Key User), and Classic, all have an integral part to play in the overall delivery and development of solutions for S/4HANA, however each business requirement resulting in extension, needs to be assessed on a case-by-case basis to determine which of the above is best fit. Cost, complexity, available skillsets, and timelines also need to be assessed as part of the overall decision in terms of which option to take forward. It is also important to remember that RAP in the ABAP Cloud environment is not as flexible as the traditional ABAP Syntax (hence its origin and ideal to a SaaS / Public Cloud Model). CAP, although highly flexible may be overkill or even not a best fit for certain extensions that required tighter coupling to the process or LUW. This is by no means saying that CAP and RAP do not have a place, they are in fact critical for future state technical architectures, however Classic is also a critical component for now. For large, complex organisations it is therefore often not a question of if we use Classic but simply where and how we use Classic safely or smartly driving a “Smart Core”.
Firstly, when defining an extension decision tree as part of your development strategy, clean core methods should absolutely be assessed first. If those do not fit, move into the realms of “Smart Core” where there are techniques that can be deployed to ensure the integrity of your S/4HANA system, support upgradeability and ensure performance. “Smart Core” refers to the use of certain classic techniques like non-whitelisted BADIs, enhancement spots and decoupled ABAP programs but with emphasis on the below points.
Note: Under no circumstance does “Smart Core” support direct modification to any standard SAP program.
Extension to your S/4HANA ERP can be a bit of minefield but an understanding of your options along with their strengths and pitfalls, a clear view of your overarching program objectives and a pragmatic approach to extension as defined in your Development Strategy, will aid in delivering the best possible outcome. The pursuit of an agile, composable, cloud ready ERP is an important one and the way we extend standard functionality plays an important part in this. It is, however, important to recognise that ‘clean core’ in its purest form does not yet have the maturity required by all organisations embarking on the transformation journeys and leveraging certain ‘Classic’ techniques with a “Smart” overlay is an important flavour. In summary: