Back from SAP Sapphire in Orlando and Barcelona, I’ve seen a real change in how our customers and partners are considering SAP Business Technology Platform. Indeed, the questions they asked were not around “
What is SAP BTP and what capabilities does it bring?” but rather “
How can we effectively adopt SAP BTP for extending our ERP?”. I really measured how much the topic of “
clean core” is top of mind for our customers now, as it was mentioned in 4 over 5 of my customer meetings. So, let’s dive into it, from defining the concept and the principles to giving some guidance and real-life example from customers.
What does “Clean Core” mean?
The expression “
keep the core clean” has been coined by former SAP CTO Björn Goerke, who presented the concept in
his keynote at TechEd 2018… almost 5 years ago. He explained how to use
SAP Cloud Platform Functions and Enterprise Messaging to build agile, responsive applications and “keep the core clean”. Time has passed since then, and new ways of keeping the core clean have emerged since, that I will present you.
As “clean core” it is deeply connected to the concept of
Extensibility, let’s first define that word:
Extensibility: Functionality added to standard software, which extends it to address organizational needs that are not met by standard
Extensibility is a key capability, because it allows our customers and partners to differentiate their business processes and develop extension applications on top of existing standard functionality. With the rise of new technologies, especially in a cloud and hybrid environment it can quickly become a complex challenge to navigate. And
SAP’s mission is enabling you to build cloud ready and future proof architectures of your extensions in a clean core fashion.
I would like to declare as “clean core” not a system running without any core customization, but rather a system which follows standardized guidelines for all elements of the core. With that, upgrading this system does not imply significant and costly efforts to test and adapt existing structures.
Let’s consider 6 components when discussing the core of an organization. These technical and procedural considerations interact to provide the capability to your business so you can deliver outcomes.
- Extensibility: Functionality added to standard software, which extends it to address organizational needs that are not met by standard
- Integration: Communication between extensions and standard solution as well as communication between solutions
- Data: Information in the system (configuration data, master data and transactional data)
- Processes: The series of actions or steps taken within your system that cover the end-to-end (E2E) experience of delivering an outcome
- Software Version: The version of the shipped standard release of enterprise resource planning (ERP) software
- Operations: Governance responsible for managing infrastructure, upgrade decisions, extension decisions, and system monitoring and maintenance activities
In general, we can describe the following criteria as “clean”:
How to extend your ERP while keeping the core clean?
Now that we have defined the “clean core”, let’s move forward and explore the different ways of extending your ERP with respect to the “clean core”.
ABAP Extensibility on Stack
The first way of extending an SAP ERP is using
ABAP extensibility on stack, because “clean core” does not mean that you can’t extend your ERP with ABAP. ABAP allow to create what was called “
tightly coupled extensions”.
For a deep dive into extending SAP ERP using ABAP, I will refer you to this document:
Extend SAP S/4HANA in the cloud and on premise with ABAP based extensions. It has been updated in May 2023 and provides in-deep guidelines for extension project managers, key users, and ABAP developers. For more context you can also read this recent blog post on
ABAP Cloud – SAP S/4HANA extensibility – May 2023 update.
SAP BTP Extensibility
SAP tools and services for professional developers, with
- SAP Cloud Application Programming Model, a high-level, model-driven programming framework for building and extending cloud-based applications.
- SAPUI5, a JavaScript library for building web-based user interfaces for SAP applications.
- Fiori Elements, a UI development toolkit and set of pre-built UI patterns provided by SAP for building enterprise-level SAP Fiori applications
- SAP HANA Cloud, a cloud-based database offered by SAP for managing and analyzing large amounts of data with in-memory computing capabilities for real-time data processing and analysis
- Business Application Studio, the preferred environment for SAP-oriented development. It provides dev-spaces equipped with out-of-the-box tools, templates, and the runtimes required for SAP’s major business scenarios including SAP Fiori applications and SAP S/4HANA extensions with SAP Cloud Application Programming Model.
SAP Build portfolio of low-code tools, which comprises
- SAP Build Apps, a low-code development tool to create apps for the Web and native mobile use. It includes backend capabilities, so business users can confidently build enterprise-grade apps that work seamlessly across all operating systems – all without writing a single line of code.
- SAP Build Process Automation, enabling everyone no matter the skill level to automate processes and tasks with visual drag-and-drop tools, using pre-built process content packages, RPA bots, and connectors for SAP and non-SAP systems, fostering collaboration and enable fusion teams to deliver automations securely at lightning speed
- SAP Build Work Zone, a platform to let users build digital workplace solutions to increase user productivity and engagement. It centralizes access to relevant business applications, processes, information, and communication in a unified entry point that your users can access from any device.
SAP BTP ABAP Environment (formerly known as “Steampunk”) which provides the ABAP Platform as a service on SAP BTP. ABAP-minded customers and partners can reuse their ABAP skillset to build new cloud solutions, or to transform already existing on-premises ABAP assets to the cloud. The cloud applications and extensions run side-by-side to the extended SAP S/4HANA.
High Level Guidance for S/4HANA Extensibility
As a guidance to extend your S/4HANA ERP, we have defined 7 extensibility scenarios which the corresponding building blocks:
On S/4HANA:
- Adapt standard S/4 HANA business objects & UIs
- Build your own S/4 HANA business objects & UIs
- Expose S/4HANA business objects as tailored API
With SAP Business Technology Platform:
- Automate processes across backend systems
- Build web & mobile apps
- Develop business applications and services based on federated data
- Create multi-tenant SaaS applications
Depending on what your use case involves, you can combine two, three or even more of these patterns.
For an example of extension using both ABAP and SAP Build, you can read my previous blog post on
how does SAP Build support the SAP S/4HANA journey, where I shared a detailed use case for managing “Maintenance Orders”:
- a new UI is created on BTP using SAP Business Application Studio, based on SAP Fiori elements. It involves the OData service from customer ABAP RESTful Application Programming Model (also referred to as “RAP”) business object “Maintenance Order”, which leverages the standard RAP business object “Purchase Requisition”. This is done with SAP S/4HANA Cloud ABAP Environment on S/4HANA Cloud using ABAP Development Tools aka ADT.
- a mobile app is created on BTP using SAP Build Apps. It allows rapid visual mobile app UI composition by citizen developers based on a drag & drop editor, with ability to reuse existing widgets from the in-product marketplace. SAP Build Apps has built-in OData/REST connectivity for utilizing RAP services.
- a business process is created with SAP Build Process Automation to enter the Maintenance Orders in the S/4HANA ERP. Triggered by the mobile app, the Maintenance Order is presented to an employee in Finance for approval. Upon validation, an automatic action enters a purchase order requisition is SAP S/4HANA Cloud:
More resources
To further explore how to extend your ERP while keeping its core clean with SAP BTP, here are a few resources that have been published recently here on SAP Community that I recommend reading or watching: