SAP has released S/4HANA in three editions – on-premise, managed cloud and public cloud. Public cloud (or SaaS) solutions typically have more restrictions when it comes to source code-based extensions (or “user exits” as they are referred to in the SAP Business Suite). SaaS solutions are deployed using a multi-tenant approach with a shared code base across all clients. This allows SaaS providers to quickly and frequently update the solution but complicates implementation of client-specific source code changes.
To accommodate the three S/4HANA editions, SAP has defined a layered structure for solution extensions: in-app extensions are similar to user exits and are executed inside the content of an app (or transaction). Side-by-side extensions are standalone apps that are executed on the HANA Cloud Platform (HCP) outside of the context of an S/4HANA app. They are interfaced with S/4HANA using published APIs using OData or other frameworks.
Within the in-app extensions SAP has defined three tiers: key user extensibility, managed extensibility and classic extensibility. The latter is available only in the on-premise edition and is a continuation of the existing user exit approach. The managed extensibility can be used only in the on-premise and managed cloud editions while the key user extensibility is available in all editions.
Key user extensibility can be used to perform a limited set of changes and is compatible with the public cloud edition of S/4HANA. One example of this is adding custom fields in all layers from the HANA database to the UX layer. Using the new Cloud ABAP Web Editor, a subset of ABAP functionality can also be used. To keep the quarterly innovation push model for the cloud editions feasible, the scope of ABAP has been reduced significantly.
Managed extensibility can be added to the managed cloud (or on-premise) edition (for a fee) and offers more ABAP features. The ABAP code will go through an approval process before being deployed to the managed cloud. Limitations include access to SAP objects only through whitelisted APIs that have not been modified.
These new approaches to extending S/4HANA are a major milestone in defining a roadmap for existing SAP Business Suite customers to S/4HANA. In the next blog in this series we will discuss more details about the different extensibility layers and present an example HCP extension we have developed.