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. Next time you upgrade the core system, there will be no conflicts with the customizations you've built in the Fiori apps or the Business Technology Platform.
Types of Extensibility
There are two primary types of extensibility: in-app and side-by-side extensibility.
In-app extensibility
Customizations are made within the software stack, through apps or in the backend of the system. In-app extensibility is further categorized into:
- "Key User" In-app extensions refer to customizations done through the frontend extensibility applications in the SAP Fiori launchpad (e.g. Custom Fields and Logic, Custom Business Objects). With these apps, only released APIs are accessible, which ensures any customizations done through the launchpad apps are lifecycle stable.
- "Classic" in-app extensibility refers to having full flexibility to develop extensions and even modifications to the SAP core code in the backend. This is approach can create system stability problems, and make it difficult to scale with the business as the landscape grows more complex with these one-off customizations.
Note
Classic extensibility is only supported for Private Cloud and On Premise because it requires SAP GUI access. Full range of customization, including modifications to the SAP source code is supported, however customizing in the SAP GUI (transaction SPRO) should be the last resort, especially when designing new extensions.
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 system with the right APIs.