Abap Cloud and the Clean Core principle

Hylke Visser - Senior Developer & SAP Invoice Management Consultant


Introduction

A blog about ABAP Cloud appeared on the Avelon website in August 2024. It explains how ABAP Cloud can help transition to a Clean Core system within S/4HANA on-premises and private cloud. As more and more organizations are making this transition, this blog takes a closer look at what a Clean Core entails and how ABAP Cloud can contribute to it.

Before starting this, here is a brief summary of this earlier blog on ABAP Cloud. For those who missed this blog: it can be found here .

ABAP Cloud

What is it?

ABAP Cloud is SAP's modern development model for building applications, services and extensions. The model is available at:

  • SAP BTP ABAP Environment

  • SAP S/4HANA Cloud (public & private edition)

  • SAP S/4HANA on-premise (as of version 2202)

The model allows developers to create cloud-ready solutions that fit within the guidelines of SAP's vision for the future. These guidelines are essential to achieving a Clean Core.

In addition to greenfield implementations, ABAP Cloud is also possible at brownfield. Existing ABAP developments can be converted to, or replaced by ABAP Cloud developments. So it is not that the ABAP Cloud Clean Core principle only applies to new S/4 systems, for existing S/4 systems ABAP Cloud can also contribute to a Clean Core.

How is ABAP Cloud used?

ABAP Cloud can be used by adjusting the language version in the properties of a development object in 'ABAP for Cloud Development'. The language version can also be set as default in a development class.

ABAP Language version in an ABAP class.

ABAP Language version in Eclipse

This version uses a stricter ABAP syntax. For example, there is only access to released APIs, no SAP GUI transactions and screens can be used, and write statements, for example, give a function like popup_to_confirm a syntax error.

Error message on select on unreleased table BUT000. The compiler recommends using the released CDS view I_BUSINESSPARTNER.

The Clean Core principle

From classic to modern

SE80 home screen

In the past, ECC systems with SE80 and BAdIs offered tremendous flexibility. Developers could customize virtually anything. In a cloud environment, where systems are shared between clients, this approach is no longer tenable. ABAP Cloud is designed to redefine this freedom in a controlled way.

For S/4HANA Cloud systems, enter the service instance URL here. For BTP environments, connect via the service key (in JSON format) found in BTP with the instances credentials.

What is a Clean Core?

The idea behind the Clean Core principle is to keep ERP systems as standard as possible, while allowing the use of cloud-compatible extensions and integrations.

A Clean Core does not mean no modifications. Rather, it involves standardized and controlled extensions that leave the core of the system untouched. The benefits are:

  • Faster upgrades due to less customization;

  • Lower maintenance costs;

  • Faster adoption of innovations such as AI and machine learning;

  • Better security and compliance;

  • Stronger integration with cloud applications;

  • Improved system performance and data quality.

Incidentally, the term "Keep the core clean" was introduced by SAP's Björn Goerke, who already presented the concept during the keynote at TechEd in 2018.

How do you use ABAP Cloud for a Clean Core?

  1. Use only 'Released' objects
    Develop with objects that have been officially released (CDS views, APIs, interfaces). This prevents conflicts during upgrades and improves stability.
    In S/4HANA Cloud, Released objects can be found via the Extensibility Cockpit (Fiori app F3990). In S/4HANA on-premises, this can be done via an Eclipse 'Released Objects' Repository Tree.

  2. Develop with RAP (RESTful ABAP Programming Model)
    Model data with CDS views, add logic via RAP and make it available via OData or REST APIs.

  3. Deploy SAP BTP for "side-by-side" extensions
    When customizations cannot be done in S/4HANA itself, build them on the Business Technology Platform and communicate via APIs or Events.

Example: additional field on invoice

Classic approach: add Z fields to table, customize screens in the transaction and use classic BAdIs.

Clean Core approach: Use a custom CDS view on a released object, add logic with RAP, publish via OData and display the field in a Fiori UI.

Practical tools

Finally, some useful tools that support the implementation of ABAP Cloud and the Clean Core principle:

  • ABAP Cloud syntax check

  • ABAP Test Cockpit

  • ABAP Call monitor (SCMON) - what customizations are still being used?

  • Extensibility cockpit

  • SAP Extensibility Explorer - Examples and demos.

Conclusion

The combination of ABAP Cloud and the Clean Core principle offers organizations a powerful path to future-proof SAP systems. By making smart use of modern development models and tools, flexible, secure and low-maintenance solutions can be created that are ready for the future.

Learn more

Wondering how your organization can make the move to a Clean Core system? Or do you have questions about SAP Workflow, Fiori, SAP Invoice Management (SIM) or SAP Master Data Governance (MDG)? Then please contact Victor van den Hazelkamp.