Configuring Key User Extensibility Tools/Apps in S4 Fiori
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.
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
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.
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.
Step 2: Create Custom Business Group
Create custom business Group named ZSAP_BASIS_BCG_EXT from SAP_BASIS_BCG_EXT
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.
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
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.
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.
Once the Space is created, add the custom Page to it.
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.
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.
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.
You can refer to this excellent SAP Blog on ATO SAP Fiori for SAP S/4HANA – Adaptation Transport Organizer to know more.
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.
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)
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.
Add this reference Tile to the Custom Technical Catalog that we created in Step 1 of the implementation section.
Now go to Target Mapping & create reference (Check the Target Mappings section in the fioriapplibrary) & add to the Custom Technical catalog
Add to the same custom technical catalog created earlier.
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.
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.
Search for the Custom Technical Catalog & add the App/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
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.
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