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, next look at the SAP Business Technology Platform Extensibility Suites. 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: Customizations are done through the SAP Fiori apps available in the launchpad. Because there is rarely any code visible, business users can learn how to make these types of customizations and will have access to the extensibility apps (e.g. Custom Fields, Custom Business Objects) if they are assigned administrator permission. We often use the terms "key user" and "administrator" interchangeably.
- Developer in-app extensibility: This type of extensibility is only available for the public cloud 3-system landscape deployment. It allows ABAP developers to create advanced cloud-ready and upgrade-stable custom ABAP code in an SAP S/4HANA Cloud, public edition ABAP environment.
- Classic in-app extensibility: This type of extensibility is only available for the private cloud deployment. It refers to ABAP developers having full flexibility to build advanced extensions in the development landscape. Unlike the SAP S/4HANA Cloud ABAP Environment, there are no controls to ensure the code used is lifecycle-stable, and developers can even modify the SAP source code. Developers must pay close attention to only using released APIs and approved code to ensure there are no compatibility issues when installing future release upgrades in the private cloud system.
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.