When we want to extend a standard RAP application, the first step is to understand what kind of extensibility options are available.
Some applications can be extended using Key User Extensibility (Custom Fields & Logic, Data Source Extensions), while others also support Developer Extensibility (BDEF extensions, validations, determinations, etc.).
Here’s how you can find out which options a given RAP application supports.
Step 1: Check the SAP Fiori Library
Go to the SAP Fiori Apps Library, which contains all SAP Fiori applications across S/4HANA (on-premise, private cloud, public cloud), SAP BTP, and even Business Suite.
-
Search for your application by App ID or App Name.
-
Select the relevant SAP system and release.
-
Open the section Implementation Information > Extensibility.
If you see a link “Read more in Extensibility Documentation for this app”, follow it to view detailed information on available extensibility options.
Example:
For Manage Sales Orders – Version 2 (App ID F3893), the Fiori Library shows:
-
Business Contexts for Custom Fields & Logic (CFL)
-
Data Source Extensions for enhancing CDS views
That covers Key User Extensibility.
Step 2: Check Developer Extensibility in ADT
Sometimes the requirement demands Developer Extensibility, such as adding a validation or custom logic. For this, you need to analyze the service artifacts in ADT.
-
Open the Service Binding of the app in ADT (e.g.,
C_SALESORDERMANAGE_SRV
). Don't know how to find Service Binding name of a standard RAP application name? Check here. -
Navigate to the Service Definition (e.g.,
C_SALESORDERMANAGE_SD
). -
Locate the Root Consumption View (e.g.,
C_SALESORDERMANAGE
). -
Check the API State of the consumption view.
If it shows:
-
Use in cloud development: Yes
-
Use in key user apps: Yes
→ The app supports both Key User and Developer Extensibility.
Step 3: Confirm BDEF Extensibility
For logic extensions, we need to check the Behavior Definition (BDEF).
-
The name of the BDEF usually matches the root interface view (e.g.,
R_SalesOrderTP
). -
If the keyword
extensible
is present, the BDEF allows extensions like custom validations, or actions.
In our example of Manage Sales Order – V2:
-
BDEF
R_SalesOrderTP
is extensible -
This confirms we can implement a custom validation for this app
Putting It All Together
For Manage Sales Orders – V2 (F3893), we discovered:
-
Business Contexts in CFL → for adding custom fields
-
Data Source Extensions → for extending standard CDS views
-
Extensible BDEF → for adding custom validations or logic
That means the app supports both Key User and Developer Extensibility, giving us a complete set of extension options.
By following this approach, you can systematically identify the extensibility options of any standard RAP application and choose the right strategy for your requirement.
Thanks for reading ☺️