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.