If you are wondering what is this Key User Extensibility in S4, you can refer this excellent SAP blog
What is Key User Extensibility and Who are your Key Users to know more about the Key User Extensibility concept.
So, as a part of SAP`s new In App (On Stack) Extensibility Paradigm, the “Key User Extensibility” Tools/Apps empowers Business Experts and/or Key Users to perform extensions using LCNC
(Low Code/No Code) extensibility apps to customize UIs, reports, email templates, form templates for apps that are Extensible . Some of these Tools/Apps are
- “Custom Fields and Logic” App (F1481),
- “Custom Business Objects” App (F1712),
- “Custom Analytical Queries” App (F1572),
- “Custom CDS Views (Version 2)” App ( F1866A),
- “Custom Reusable Elements” App (F3248),
- “Custom Logic Tracing” App (F3438)
There are other options also to extend the S4 via “Developer Extensibility” based on ABAP for Cloud Development (ABAP RAP) for S/4HANA Cloud and via “Classic Extensibility” which involves tightly coupled apps & extensions that require full access to development tools & authorizations. SAP also provides Side by Side Extensibility options including ABAP & Non ABAP (Java, Node.js) based extensions & Apps using SAP BTP. This blog focuses on the Key User App Extensibility implementation.
Prerequisites
Custom Fiori Apps are part of the UIBAS001 component which is installed as apart of the Fiori FES installation with the S4. You can find more information on the Fiori setup in More information this SAP Help Documentation:
Implementing SAP Fiori Apps for Administrative, Configuration, and Extensibility Tasks
Implementation Steps
To configure a Custom App, you will have to execute the below steps. These steps create a custom applications Fiori Space including the required frontend & backend Roles to access the custom apps. After these steps are completed i configured the 'Maintain Form Templates' Custom App as an example.
Custom Application Fiori Page with Custom Apps
To know about Fiori Catalog and Business Group & why they are needed, you can refer to this blog
SAP Fiori Catalog, Business Group & Role Creation
Additional Information is in SAP Help
Setup of Catalogs, Groups, and Roles in the SAP Fiori Launchpad
Step 1: Create Custom Catalog in SAP Fiori Launchpad Designer
SAP Recommends that you create your own catalog from SAP Standard Catalog for making changes. In this case i have created a Custom catalog ZSAP_BASIS_BC_EXT from SAP_BASIS_BC_EXT in the '
Fiori Launchpad Designer' Client Specific App.
Creating Custom Catalog from Standard SAP Catalog
Step 2: Create Custom Business Group
Create custom business Group named ZSAP_BASIS_BCG_EXT from SAP_BASIS_BCG_EXT
Custom Business Group
Please note that for Step 3 you will have to add the required Custom App & Mapping in the Business Group by creating Reference App and Reference Mapping. Basically do the step 9.1 & 9.2 here
Step 3: Create Custom Frontend Role & Maintain Authorizations for Fiori Frontend
In PFCG create a custom role called Z_CUSTOM_FIORI_APPS & Insert the custom catalog & custom Business Group.
Adding Custom Catalog to Custom Role
Adding Custom Business Group to Custom Role
After you save it you will see the required ODATA Services authorization generated. This is based on the Custom App which was added earlier to the Business Group in Step 2. More precisely the Custom Catalog inserts the required ODATA Services and the authorizations. Note that the authorizations needs to be updated as per the Fiori App Requirements
Generated OData Authorizations
Step 4: Create Fiori Page.
Create a custom Fiori Page to host all the custom applications that we want to configure. Go to 'Manage Launchpad Page' app and create page named ZCUSTOM_APPLICATIONS.
Custom Fiori Page
Once the page is created, assign the tiles which are needed. (For this example execute step 9.4)
Step 5: Create Fiori Space
Now we need to create a Fiori Space which will be our main entry point to the Page that we created in Step 4. Go to 'Manage Launchpad Spaces' App and create a new space.
Creating Custom Fiori Space
Once the Space is created, add the custom Page to it.
Assign Custom Page to the Custom Space
Step 6: Assign the Custom Space to the Fiori Frontend Role.
Now assign the newly created Space to the Custom Role Z_CUSTOM_FIORI_APPS which we created earlier.
Assigning Custom Space to Frontend Role
Step 7: Create required Backend role for the Custom Apps
Now the custom frontend role only provides you the access to the apps in the frontend fiori launchpad but to execute a process in the custom apps you will need the required backend roles. For this create a backend role in PFCG. All the required backend roles mentioned in the Fiori application must be added here & role assigned to the users. You will get the backend role info from the Fiori Library of the custom app that you are implementing.
Custom Backend Role
Step 8: Setup ATO (Adaptation Transport Organizer)
ATO (Adaptation Transport Organizer) is required for using Key User Custom Apps. Without ATO, you will receive an error message 'Key User Application is not Configured'. Refer to SAP Note
2283716 - Key User Application is not configured for more information.
ATO can be setup using TCODE - S_ATO_SETUP. SAP recommends that the ATO is setup using specific data i.e development packages. For downstream systems ATO should be setup in read only mode.
ATO Setup Options
You can refer to this excellent SAP Blog on ATO
SAP Fiori for SAP S/4HANA – Adaptation Transport Organizer to know more.
ATO Setup in Development
More information on the ATO setup can be found in SAP Help link
Setting Up Adaptation Transport Organizer (sap.com) and in SAP Note
2807979 - How to setup Adaptation Transport Organizer for S/4HANA On Premise system via S_ATO_SETUP
Also ensure to assign the required authorizations to the fiori frontend custom role
Z_CUSTOM_FIORI_APPS created earlier. Without the required roles, Key users will face authorization errors.
Roles needed to ATO Usage
Step 9: Configure a Custom Fiori App
To find out about app-specific extensibility features of an SAP-delivered Fiori app, you can go to extensibility section in the SAP Fiori reference library, which you can find in the implementation information tab. In this section we will take the example of the
Maintain Form Templates application & configure this application. Make sure that all the above steps are completed.
Refer to the fiori Library to get the pre-requisites of this "Maintain Form" App:
SAP Fiori Apps Reference Library (ondemand.com)
Maintain Form Templates
This app has one ODATA & one ICF service to be enabled. There are no specific backend Role or Business Groups.
9.1. Launchpad Designer - Configuration
In the "Launchpad Designer Client Specific" App Search for the Technical Catalog (in this case the technical catalog is
SAP_BASIS_TCR_T) where this App`s tile exists and create a reference tile.
Reference Tile Creation
Add this reference Tile to the Custom Technical Catalog that we created in Step 1 of the implementation section.
Adding Reference Tile to Custom Catalog
Now go to Target Mapping & create reference (Check the Target Mappings section in the fioriapplibrary) & add to the Custom Technical catalog
Reference of Mapping
Add to the same custom technical catalog created earlier.
Add to Custom Catalog
Now validate in the custom catalog if the app is available. Also ensure that the mapping in particular the parameter-Value matches the Fiori App Library details for this app.
Custom Catalog
9.2. Add the tile to the Custom Business Group
For this tile to show up in the Fiori launchpad under the customer applications, add this tile to the custom business group which was created in Step 2.
Add to Custom Business Group
Search for the Custom Technical Catalog & add the App/Tile to the Business Group
Add Tile to the Business Group
9.3. Activate ODATA Service & SICF Service
Activate the sicf service
nw_aps_om_ft. Once activated, activate the OData Service 'APS_OM_FORM_TMPL_SRV' in SAP Tcode
/n/iwfnd/maint_service
ODATA Service Activation
9.4. Add the 'Maintain Form Templates' Custom App to the Custom Fiori Page
Go to 'Manage Launchpad Pages' app in Fiori Launchpad and add the tile to the custom page created earlier in Step 4.
Adding the Tile to Custom Page
Save the change and refresh you launchpad. Now you should be able to see the App.
Similarly you can maintain the below custom app for Key User Extensibility
- Custom Business Objects
- Custom Fields and Logic
- Custom Analytical Queries
- Custom CDS Views
- Maintain Email Templates
- Manage Workflow
- Define Operational Customizing
- Monitor Data Aging Object
- Custom Logic Tracing
- Extensibility Settings