Extending the SAP S/4HANA Cloud Deployment Options

After completing this lesson, you will be able to:

After completing this lesson, you will be able to:

  • Explain extensibility for the SAP S/4HANA Cloud deployment options

SAP S/4HANA Extensibility Concept

Implement Lifecycle-Stable Extensions in SAP S/4HANA

Customers require the ability to customize their software solutions to make it work for their needs. When considering how to customize SAP S/4HANA, always start with what you can do within the front-end apps in the Fiori launchpad. Extensions built with these apps are guaranteed to be lifecycle-stable, as the app has been designed to only let you make the customizations within what it allows.

If the Fiori extensibility apps cannot meet a customization need, look to SAP Build running on SAP Business Technology Platform for low and no-code app development and automation. Separating complex extensions from the core system is another method of building lifecycle-stable extensions, because the customization fundamentally lives in a different system. This ensure there are no conflicts with customizations you've built in the SAP Fiori apps or SAP Business Technology Platform next time you upgrade the core system.

Types of Extensibility

Extensibility in SAP S/4HANA can be divided into two main categories:

In-app extensibility

Customizations are made within the software stack, through apps or in the backend of the system. In-app extensibility is further grouped into:

  • Key User in-app extensibility refers to the possibility of customizing applications and their UIs, reports, email templates, and form templates using the SAP Fiori extensibility apps on the launchpad. These apps allow business experts to create extensions without any coding skills, and access to the extensibility apps is granted in the Administrator standard business role. This makes it easy to add extensions with a low/no-code approach that are meant to be stable through future release upgrades.
  • Developer in-app extensibility enables developers to create custom ABAP code and partner extensions in an upgrade-stable, cloud-ready programming model. Only released SAP objects are available to customize, which ensures your extensions will be stable through future release upgrades.
  • Classic in-app extensibility refers to SAP’s classic custom ABAP (Advanced Business Application Programming) development model that enables developers to access the full range of ABAP development tools and even make modifications to the SAP source code. While classic extensibility is extremely flexible, it can lead to more effort when customers upgrade their system. As a result, if there are many classic extensions in a customer’s system, they should plan extra time for regression testing and potential adaptation efforts that may be necessary due to conflicts with the upgraded version of the software and their customized code. Classic extensibility is not available in SAP S/4HANA Cloud, public edition.

Side-by-side extensibility via SAP Business Technology Platform (BTP)

This encompasses a broader scope of functionality based on the many capabilities of SAP BTP. The purpose of building extensions in SAP BTP is to decouple (separate) the extension from the stable system of record. Side-by-side extensions can be easily and securely integrated into your SAP S/4HANA public or private cloud system with the right APIs.

Transport Extensions for Public Cloud

Transports in SAP S/4HANA Cloud, public edition

After you select the scope and define the organizational structure in SAP Central Business Configuration, the content is deployed to the development system tenants and activated. After content is activated, you complete product-specific configuration activities, such as defining expenses or work items and groups in SAP Central Business Configuration. After completing a configuration activity, you are prompted to assign the change to a customizing request. You can assign the changes to a new request or an existing one. These customizing requests can be further edited or released to the Test system with the Export Customizing Transports SAP Fiori app, which lives in the customizing tenant of the SAP S/4HANA Cloud Development system.

Additional business configuration done in the customizing tenant of the Development system, such as creating a custom workflow or teams and responsibilities are also recorded as customizing requests. The Export Customizing Transports SAP Fiori app is used to release these changes to the Test system too.

Key user extensions built with the SAP Fiori extensibility apps in the customizing tenant of the Development system must be added to a software collection and released in the Export Software Collection SAP Fiori app and to make them available for import in the Test system.

Changes in the development tenant (client 080) are recorded on workbench requests. To make a development available for import in the Test System, you release the workbench request with the Transport Organizer view in ABAP Development Tools.

The Import Collection SAP Fiori app is used in the Test and Production systems to import customizing requests, software collections, and development requests. The Test and Production systems only have one tenant (client 100).

Transport Extensions for Private Cloud

Transports in SAP S/4HANA Cloud, private edition

The transport of key user extensions is managed via the adaptation transport organizer (ATO). The ATO must be set up in order to use the SAP Fiori extensibility apps and those used to create packages and register extensions for transport.

In the Configure Software Packages Fiori app, you configure software packages and assign them to transport requests and tasks for transporting extension items. Software packages need to be assigned to a transport request and task to be enabled for change recording.

In the Register Extensions for Transport Fiori app, you can assign extension items to software packages that are enabled for change recording. To transport extensions items to your Quality or Production system, an administrator needs to release the corresponding transport requests and transport extension items in the backend with the Transport Organizer (SE09) transaction.

Log in to track your progress & complete quizzes