This blog post complements our webinar on low-code in SAP S/4HANA. Watch the webinar, “Low-Code in SAP S/4HANA,” for more details on this topic. At the end of this blog post, we’ll also address the questions we received during the webinar.
Extensibility has always been an important aspect of SAP. However, the traditional method for creating extensions (such as calling or modifying SAP code) also has a few shortcomings. Checking and adjusting customizations with each new SAP upgrade takes up a disproportionate amount of time. It is also difficult for key users to make adjustments, which means they often have to rely on developers for this type of work. Fortunately, SAP now offers many more options for creating extensions.

The image above provides an overview of these different extensibility options. The Business Technology Platform can be used for side-by-side extensibility and offers a great deal of flexibility and other interesting features, such as Mendix integration. However, we will focus on the extensibility options within SAP S/4HANA, also known as in-app extensibility.
What is In-App Extensibility?
In-app custom extensions do not contain any modifications to SAP code (they are loosely coupled) and are based on stable extension points and APIs. Extensions can be added to a standard SAP transport. The concept of “empowering the key user” takes center stage, and there are several different tools available for adding extensions.

SAP S/4HANA Key User Extensibility includes the following:
- The UI Adaptation Mode allows for flexibility and personalization of the user interface. This enables you to perform a variety of tasks, such as renaming labels, adding or moving fields, and defining new filter and table variants.

- Custom logic and custom fields can be defined in the“Custom Fields and Logic” Fiori app. You can also manage the uses of a custom field or extend SAP CDS views and OData services with SAP fields that are available in CDS views.
- Create your own business objects and the corresponding database tables using the“Custom Business Objects” Fiori app. In this app, you can create CDS views, OData services, and a user interface to enter data or load data from other customer systems. You can also implement custom logic at the node level and write to custom business objects from that custom logic.

There are too many different options to cover in a single blog post, but other possibilities include:
- Custom Business Logic
- Analytics Extensibility KPI Design
- Tracing
- Custom CDS View OData Scenarios
- Custom Communication Scenarios
- Lifecycle Management
Can these options replace traditional extensibility in SAP?
This concept of adapting an existing Fiori app works primarily with Fiori Elements applications. Many S/4HANA applications are based on Fiori Elements, but this is not the case for all available Fiori apps and related objects. Additionally, not every extension has been mapped to new options yet either. As such, In-App Extensibility cannot replace the traditional method of extensibility in every situation.

You can consult the SAP transaction SCFD_REGISTRY (extensibility registry) to check which apps and OData services can be extended with custom fields, and which GUI apps, CDS views, SOAP services, FM, and IDOCs are covered by In-App Extensibility. Use this information to properly assess how to handle specific situations.
Our thoughts
In-App Extensibility makes it easier for key users to quickly add fields and logic to existing screens without relying on developers. This improves overall usability and reduces the workload. It also supports the “keep the core clean” principle ; customizations can be added in a way that is safe for upgrades.
According to SAP, all key users should have access to these methods. However, we believe it is important to limit which key users have access, since you also don’t want to have too many different customizations in your system. In-App Extensibility cannot fully replace the traditional method of extensibility, so it remains important for key users, UX experts, and developers to continue working closely together.
Q&A Webinar: “Low Code in S/4HANA?”
To wrap up this blog post, we’ll briefly go over the questions about In-App Extensibility that we received during the webinar:
- “Adapt UI” lets you add fields that SAP allows, but not all fields. Are there any alternatives if you want to use an existing field that isn’t in the default list?
- You can enable existing fields to be used as custom fields. See SAP transaction SCFD_EUI.
- What about multilingual support?
- Internationalization is supported natively.
- Can you add table structures, or just fields?
- Only fields. However, you can use business objects to represent a data set.
- Can you also implement input validation or custom events/methods?
- You can add logic to your custom field. This can be used to check for validation, for example.
- With the whitelisted APIs, can you access a back-end table (or any database source) in the custom logic?
- You can access CDS views.






