Technical Articles
Extending the Extension – Key User Extensibility for SAP BTP ABAP Environment
The SAP BTP ABAP Environment (sometimes also called by its nickname Steampunk ) was launched for building extensions for SAP products (first to mention SAP S/4HANA), addressing the needs of an ABAP-minded community. So as a first use case, customers can build their (side-by-side) extensions (e.g. for SAP S/4HANA) on SAP BTP ABAP Environment. Second, partners (or SAP) create their (side-by-side) extension and provide it to many customers. To be able to do this in a cost-efficient manner, multi-tenancy for the SAP BTP ABAP Environment was introduced. But now, partners find out that their customers will use their extension in a in slightly different way. In other words, customers want to extend the partner extension that the partner provides on SAP BTP. Therefore, I call this blog post “Extending the Extension”.
Since release 2108, you as a partner can enable your applications created on SAP BTP ABAP Environment for extensibility and let your customers extend them. In this blog post, I will show you how and what is in for you. (Side remark: I always use the terms “partner” and “customer” to make the text more readably. But what I mean with partner is a provider of an application on SAP BTP ABAP Environment, that provide it to many other consumers (= customer in my terminology).)
Features
The following figure shows the setup: a multitenancy system with one partner (provider) client (shown as 100) and customer (consumer) clients.
If the partner application is enabled for extensibility, a customer can use Fiori apps (that are delivered by SAP) to extend the partner application. The following extensibility features are available:
- Adapt the UI using the UI adaptation mode in the Fiori Launchpad
- Configure custom fields
- Add business logic
It is important to know the following facts:
- Extensions are created with key user tools (Fiori apps) in the customer clients
- There is a strict client separation. This means that the extensions that are created in client 201 by customer 11 do not conflict with client 207 owned by customer 12 (and vice versa)
- Transport is currently not supported
Of course, partner applications must be prepared for extensibility. For details, check out the documentation at the end of the blog post.
Key user extensibility is a very convenient way for customers for extending application. But the scope is limited. Due to the different multitenancy concept, the extensibility features in SAP BTP ABAP Environment are less rich than those in SAP S/4HANA Cloud.
Links to Documentation
- Multitenancy concept of SAP BTP ABAP Environment: https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/633cc61560734a8fb8dba64b4dd904a9.html
- (Prefined) Custom fields
- Documentation for the provider (make the app extensible in ADT)
https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/a7994b1bc2064c678b8efeb0afddd56e.html - Documentation for the consumer: Fiori app Configure Predefined Custom Fields
https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/0eaa01c196814abf8466dec740c67b3b.html
- Documentation for the provider (make the app extensible in ADT)
- Custom logic (BAdI)
- Documentation for the provider (make the app extensible in ADT)
https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/6747acba018c45c2b88ce0dad8045f29.html - Documentation for the consumer: Fiori app Custom Logic
https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/05880c7b292b447bbd4d244a666b261b.html
- Documentation for the provider (make the app extensible in ADT)
Outlook
If more extensibility features are needed, partners can – in future – switch to developer extensibility – a topic for a subsequent blog to come!