Exploring the SAP S/4HANA Cloud Extensibility Model

Objectives

After completing this lesson, you will be able to:
  • Describing the different types of extensions for SAP S/4HANA
  • Describing the benefits of side-by-side extensibility

Introduction to the Lesson: Exploring the Extensibility of SAP S/4HANA

This lesson explains the various extensibility options for SAP S/4HANA. These include key user extensions, classic extensions, developer extensions, and side-by-side extensions, each serving different requirements and use cases.

The lesson contains the following topics:

  • Key user extensibility
  • Classic extensibility
  • Developer extensibility
  • Side-by-side extensibility

Key User Extensibility

Summary

This extension option enables business users to make customizations and enhancements directly in the SAP application. This is useful for quick customizations that do not require in-depth technical knowledge.

Introduction

Key User Extensibility is the easiest way to extend functionality in SAP S/4HANA Cloud. The idea is to realize the different possibilities of extension through apps.

This type of development is intended for citizen developers. The SAP code cannot be accessed. This approach therefore fulfills the dogma of "Keeping the Core Clean Strategy."

Key User Extensibility

Range of Functions

The following functionalities can be used through key user tools in the SAP S/4HANA Cloud, SAP S/4HANA:

  • UI Adaptation
  • Custom fields
  • Business Logic
  • Custom Business Objects
  • Custom UI
Overview of extensibility options

The blue part is the core. The green extensions are the Key User Extensibility parts. You can see that you can expand at almost every level.

The green area on the far left can be created using custom business objects (I5) as well as with the ABAP RESTful application programming model.

The showing figure shows the creation of custom fields with key user tools in an SAP S/4HANA:

Developing new fields.

Other Examples

Other examples.

For Which Use Cases Is This Approach Particularly Suitable?

  • UI customization for screen layouts such as moving/hiding fields and field groups, changing labels and so on, custom forms, and templates.
  • Customized CDS views and analytical applications.
  • Customized business objects with minimal coding effort.
  • Custom fields for standard business objects. The custom field is then available throughout the application stack (from the user interface to the database tables or for extensibility by developers).
  • Custom business logic with Cloud BADIs.
  • Add custom fields to a process group (for example, from quote and order to delivery and invoice) to ensure consistent end-to-end extensibility.
  • Copy and customize print and email form templates.
  • Customizations made by a key user are registered in transport requests for transfer to QA and PRD systems.

Advantages of Key-User Extensibility:

  • Fully managed and tightly integrated into the SAP S/4HANA stack.
  • No or only very basic development knowledge required.

Available for the Following Deployment Models:

Key User Extensibility is available for SAP S/4HANA Cloud (private and public) and for SAP S/4HANA.

SAP S/4HANA deployment with Key User Extensibility.

Differences in the Deployment Between SAP S/4HANA and SAP S/4HANA Cloud

As already mentioned, the most important tools for user extension are designed for SAP S/4HANA Cloud, but are also made available for SAP S/4HANA private edition and on premise. Here are some differences:

  • Different UI/OData (gateway) setup (embedded vs. hub scenario).
  • Different setup of identity and access management (IAM) and communication management.
  • Different transport setup (between Dev, Q and P systems).

Classic Extensibility, Overview

Summary

This traditional enhancement method involves customizing the SAP code directly in the system. This offers a high degree of flexibility, but can also lead to challenges with updates and maintenance.

Introduction

Classical enhancement in the ABAP stack is only recommended in exceptional cases. Therefore, this is not the extensibility approach in our example.

Classic Extensibility

Classic Extensibility - Classic ABAP

Classic extensibility (done using Classic ABAP) is available in SAP S/4HANA Cloud private edition and an SAP S/4HANA on-premise deployment. SAP S/4HANA Cloud public edition and SAP BTP ABAP environment use ABAP Cloud only. Classic extensibility refers to the broad range of SAP's traditional and historical extensibility options that you as a customer or partner can use to extend ABAP-based on-premise SAP solutions.

Programming Models Matrix (By Product | By Version | By Feature)

Programming models matrix ( by product | by version | by feature ).

Classic Extensibility incorporates all development paths before the introduction of ABAP RESTful application programming model. You can see that ECC systems can only be extended via Classic extensibility.

Components in the SAP S/4HANA Stack

Building blocks of classical extensibility.

As shown in the previous figure, you can create custom applications (yellow components) that are be clean core compliant. However, the core can also be extended (green components), which would not be clean core compliant.

Classic Extensibility Sample

Sample for Classical Extensibility.

For Which Use Cases Is This Approach Particularly Suitable?

Extensions cannot be done using the SAP S/4HANA Cloud extensibility model but are required for must-have business applications.

Advantages of Classic Extensibility

  • Extremely powerful and flexible.
  • No restriction to the extension model.
  • Highest degree of freedom.

Availability for the Following Installations

Available for the following installations.

Comparison of Classic ABAP with ABAP RESTful Application Programming Model

The following list is a comparison of Classic Extensibility with Developer and Side-by-Side Extensibility:

Comparison of Classic ABAP with RAP.

Read More

Developer Extensibility Overview

Summary

Developers have the option of making advanced customizations and extensions that go beyond the key user options. This requires in-depth technical knowledge and offers extensive customization options. The ABAP RESTful application programming model (as an essential part of ABAP Cloud) is supported on all SAP S/4HANA deployment options.

Introduction

Developer Extensibility allows customers to implement extensions while simultaneously maintaining a clean core. Frameworks and concepts are developed for this purpose. Developer extensibility is accomplished through released ABAP RESTful application programming model extension points and/or through released BAdIs.

Developer Extensibility.

Developer Extensibility in a Nutshell

ABAP RESTful application programming model is a set of concepts, tools, languages, powerful frameworks, and best practices provided on the ABAP platform. The ABAP RESTful application programming model enables the efficient and rapid development of innovative and cloud-enabled enterprise applications as well as for the extension of SAP standard applications in the cloud and on-premise. It is deeply integrated into the ABAP language and is an essential part of ABAP Cloud. Also, ABAP development tools for Eclipse have been optimized to support the development process. The most important building blocks in the ABAP RESTful application programming model are:

  • Core Data Services (CDS), which are used for SAP HANA-optimized queries to define semantically rich data models for all application domains and to define the transaction behavior of the modeled entities.
  • The modernized and extended ABAP language, which is used to implement business logic.
  • The OData protocol, which is used for stateless communication.
  • The concept of the business object (BO), which is used to build transactional, analytical and integration oriented applications.
  • The concept of the business service, which is used to define services.

ABAP RESTful application programming model provides a standardized development flow in ADT and a rich feature set for building applications from different domains, either from scratch or by reusing existing custom code.

Various types of consumable services can be created with the ABAP RESTful application programming model:

  • OData-based services for building role-based and responsive SAP Fiori apps.
  • OData-based services for exposure as Web APIs.
  • Business events.
ABAP RESTful application programming model - The big picture.

Advantages

  • Standardized development processes.
  • Best practices and development guidelines.
  • High development efficiency.
  • Focus on business logic and not on technical aspects such as native testability, documentability, and supportability.
  • Code pushdown on SAP HANA.
  • Convenient support for stateless and stateful environments.
  • Low code approaches.
  • Core Clean Paradigm.
  • Full access to the development functions within the SAP S/4HANA stack.
  • Use and extend released SAP S/4HANA objects such as database tables and others.

For Which Use Cases Is This Approach Particularly Suitable?

  • ABAP-based custom applications and extensions that are developed using ABAP Cloud.
  • Custom applications that require SQL access to SAP S/4HANA data cannot be implemented using side-by-side implementations or data replication.
  • Custom extensions that run in the same Logical Unit of Work (LUW) as the SAP applications.
  • Customized remote APIs or services developed for SAP BTP applications in side-by-side operation.
  • SAPUI5 adaptation projects to extend SAP Fiori applications.

Available for the Following Installations

SAP S/4HANA installation with Developer Extensibility.

The ABAP RESTful application programming model is supported on all SAP S/4HANA deployment models and SAP BTP ABAP environment.

Differences between SAP S/4HANA Private Edition | On-Premise versus SAP S/4HANA Public Edition

The enhancement tools are available for developers in both the SAP S/4HANA public edition and SAP S/4HANA private edition | on-premise. However, there are some differences.

  • Different UI/OData (gateway) setup (embedded vs. hub scenario).
  • Different setup of identity and access management (IAM) and communication management.
  • Different transport setup (between development, test and production systems.)
  • This means that tools work differently in some areas (for example, OData publishing and UI) or are not available at all in SAP S/4HANA (for example, ADT editors for Cloud IAM/COM). Refer to the documentation for Public Cloud and SAP S/4HANA.

Side-by-Side Extensibility, Overview

Summary

With this method, extensions are developed and integrated outside the SAP system specifically on SAP BTP. This enables flexible customization without direct changes to the core system, which simplifies maintenance and upgrades.

Introduction

This approach offers many different options. One common feature is the use of released APIs from SAP S/4HANA Cloud. These APIs are used to perform CRUD operations on SAP S/4HANA Cloud data. Different concepts, tools, and services are able which can use these remote APIs.

Side-by-Side Extensibility.

Side-by-side extensions are software applications that run outside of SAP S/4HANA Cloud (or another business application) but interact with it via standard SAP APIs.

They can potentially run on any runtime application platform, but SAP offers and recommends the SAP Business Technology Platform.

Overview side-by-side.

Different Options for a Side-By-Side Extension

The following image shows an overview of the different side-by-side extension options.

Side-by-side options.

No. 1: Full Stack Application Development on SAP BTP

Full stack means a three-tier architecture with:

  • Database
  • Business logic
  • Front end

When used with side-by-side extensibility, remote APIs originating from different sources (that is, SAP SuccessFactors, SAP Ariba) can be used. However, it is also possible to work without using remote APIs. However, this is not discussed in this course.

It is possible to use different technologies for the individual layers. The following procedures are recommended for full stack development.

Different Technologies for the Individual Layers

LayerEnvironmentTechnologyServices
DatabaseSAP BTPSAP HANASAP HANA
Business LogicABAPRAPEclipse ADT
Cloud FoundryCAPSAP Business Application Studio, SAP Build Apps 
Front endCloud FoundrySAP Fiori ElementsSAP Business Application Studio, SAP Build App
Cloud FoundryCloud FoundryCAPSAP Business Application Studio, SAP Build App

No. 2: UI Development on SAP BTP

Pure UI development based on APIs from the SAP S/4HANA back end, especially when using the ABAP RESTful application programming model, is the standard case for side-by-side extensibility. This is discussed in more detail in this learning journey.

The following procedures are recommended for front end development.

LayerEnvironmentTechnologyServices
Front endCloud FoundrySAP Fiori ElementsSAP Business Application Studio, SAP Build App

For Which Use Cases Is the Side-by-Side Approach Particularly Suitable?

  • Proxy applications for a separate target group (no ERP users).
  • Convenient applications that should run separately from the ERP.
  • A customized application that runs in parallel with ERP to reduce the load on the operational system.
  • Customized applications that require proximity to intelligent SAP BTP services such as machine learning, AI, and so on.
  • Replacement apps that integrate with various ERP and cloud services.
  • Partners want to offer a SaaS solution and therefore need to operate their service independently of the SAP S/4HANA system.
  • ABAP and non-ABAP developments (Java, Node.js, and so on.)
  • Extension of the UI application with a no-code application such as SAP Build Apps.
  • ERP workflow and business process automation.
  • Pre/post-processing applications for the SAP S/4HANA system.
  • Analytical applications.

Advantages of Side-By-Side Extensibility:

  • Flexibility both in terms of content and time.
  • Fast response to the innovations and changes.
  • Best approach for different requirements.
  • Decoupled extensions and developments that are independent of SAP S/4HANA operation and run autonomously.
  • Independent lifecycle management.
  • Choice of ABAP or non-ABAP development (Java, Node.js.)

Example of a Side-By-Side UI Extension on SAP BTP

Solution Diagram for side-by-side extensibility.

Example of a Side-By-Side Full Stack Extension on SAP BTP

Solution Diagram for side-by-side extensibility.

Log in to track your progress & complete quizzes