This is a test message to test the length of the message box.
Login
ABAP Clean Core
Created by Software-Heroes

ABAP Quick - Clean Core

1338

In this article something about Clean Core, what does it mean for the developer, what are the requirements and what do you have to pay attention to.



The Clean Core topic is currently haunting the aisles of many companies, but what does it actually mean and how can you achieve it? In this article we want to answer the question of what exactly is behind it and how you can implement it in your own life today.

 

Explanation of terms

As the term suggests, we want to keep our core system clean, i.e. the system on which our main processes run. But what does clean mean? This is about the proportion of in-house development and the influence on the system. There is a wide range of enhancement techniques for an SAP system, such as: BADI, enhancement or user exit. In the end, however, there is also the possibility for modifications, that means we change the delivered standard.

And this is exactly where the problem lies, we change standard coding, copy functions or use non-approved APIs from SAP. This creates a certain amount of effort during the upgrade, since we have to compare the standard with our changes and then also have to completely test our own developments. Because non-released objects also mean that they can change or be deleted.

All of this delays a system upgrade and means a lot of effort for the customer. In the meantime, SAP also delivers new releases every 3 months to bring new features and eliminate errors.

 

Consequence

For you as a developer, this now means that you should only extend the system via approved extension points and use released objects. Especially with your own developments, you then have to think about the use and creation of new data elements, since most data elements are not released. Why shouldn't you use elements from SAP that aren't approved? Quite simply, since these can change as well as the standard. This doesn't happen that often with data elements, but each time requires a corresponding amount of testing.

 

Cloud Ready

We should also take a look at the second term, which is called Cloud Ready. This condition refers to an S/4 cloud system, which is provided as a SaaS solution and only offers a very spartan approach to expansion. The system is upgraded by SAP, so such a system is automatically Clean Core, but does not offer the full scope for expansion.

In the cloud-ready context, there are no more SAP GUIs and transactions, everything is based on Fiori as the front end, which the classic transactions work at most via GUI for HTML.

 

Extension

Everything that is an in-house development represents an extension of the system and is not clean core at first glance. SAP provides three different extension models that you can use:

  • Keyuser Extensibility - Is it possible to make extensions to the system via Fiori Apps, e.g. to create Z-fields in the data model and bring them to the UI, to express BADIs or to create your own CDS views on released views and make them available as an API.
  • Side-by-Side Extensibility - Creation of your own applications in the Z and Y area on your own system, mostly in the cloud (ABAP Environment aka Steampunk). It consumes core system APIs to get data and functionality.
  • Embedded Steambunk - Also called developer extensibility, since the on-stack developer is given the opportunity to expand the system according to Clean Core Pattern.

 

The last two methods are based on the ABAP RESTful Programming Model (RAP for short), which is developed in ABAP and ultimately provides a Fiori application.

 

Released Objects

You can find released objects using the ABAP Development Tools using the search function or using your own tree that you can create in the Project Explorer. Using the Project Explorer it would look like this:

 

If you have an object and you are not sure if it is released, then you can call the "Properties" view and get the corresponding information about the API status of the object. Here is an example of a core data service for the business partner:

 

The C1 contract is important here, whether and where the object can be used. If such a contract exists, the object is released and can be used. The C0 Contract is a brand new status and means that the object is also approved for expansion.

 

Problems

The new world sounds logical in itself and seems to bring some advantages. But if you then look at the possibilities of customer-specific extensions, you will quickly realize that many features that you actually need are still missing. APIs for providing the data are not yet available for all modules, and Core Data Services are not yet available for all tables.

With Embedded Steampunk, there is already a first approach to building your own APIs and doing a lot directly in the system, but it will still take a few years before all customer requests are covered.

 

Conclusion

You should now have learned what Clean Core actually means and what it is needed for. SAP still has a long way to go to provide customers with everything they need to cleanly expand a system. But the foundations have been laid and you can use them today to steer your system in the right direction.


Included topics:
QuickClean CoreFaster Updates
Comments (2)



And further ...

Are you satisfied with the content of the article? We post new content in the ABAP area every Tuesday and Friday and irregularly in all other areas. Take a look at our tools and apps, we provide them free of charge.


ABAP Quick - Handling of Function modules

Category - ABAP

How do you actually handle function modules and error handling within ABAP? In this short tip, we'll also look at handling them within the context of RFC.

08/26/2025

ABAP Quick - Generic Data Types

Category - ABAP

What exactly distinguishes CLIKE from CSEQUENCE? Generic types can sometimes be a bit opaque, and as ABAP developers, we might choose a type that's too generic.

08/12/2025

BTP - Quick Deployment

Category - ABAP

Want to make Fiori Elements apps available even faster after RAP modeling? Quick Deployment is now possible.

07/18/2025

Recycling Heroes (Explained)

Category - ABAP

What do the Recycling Heroes have to do with modern ABAP development and ABAP Cloud? In this article, we provide insights into the idea.

07/15/2025

ABAP Quick - Ranges and Select Options

Category - ABAP

Ranges and Select Options in ABAP are very similar, yet there are subtle differences in their use in the ABAP OO context. Here we'll look at their modern usage.

05/09/2025