User Experience Insights
SAP Fiori for SAP S/4HANA – What is Key User Extensibility and Who are your Key Users
- May 2023: Adding a blog with a nice example of Manage Date Functions Creating Dynamic Date filter using the Manage Date Function App
- April 2023: Linked in blogs on adapt ui, custom fields, flexible workflow, situation handling, and custom situations.
- February 2023: Added a new blog SAP Fiori for SAP S/4HANA – Yes Key Users can create default app settings for filters, tables, and charts
- January 2023: Linked in the blog Custom Reusable Elements, Custom Business Objects and Data Source Extension to add fields in standard VDM on how to create custom objects to extract data for custom analytics.
- December 2022: Added a new blog on how key user can preset default values for other users.
When it comes to configuring, adapting, and extending your SAP S/4HANA solution, key user extensibility provides powerful low-code/no-code features to manage customer-specific changes for your solution. These changes can be made during your implementation project, during an upgrade project, and at any time you need.
Even better, key user extensibility changes can be made by your business experts, a central process governance group, your functional consultants, or used by your technical team. Who makes the changes is really up to you!
In many cases, key user extensibility is the first option you should consider when you need to make a change to a user interface or to a business process, because compared to other extensions key user extensions are:
- Simple – no-code/low-code
- Cost-effective – require minimum cost/effort/skill
- Upgrade-stable – are automatically retained as you upgrade releases
- Safe – many of these changes be undone or reset, if needed
For example, you can use key user extensibility to add, remove or reorganize fields in many SAP Fiori apps, as shown in this example of SAP Fiori app F1511A Create Maintenance Request with UI Adaptation mode being used to add, remove or reorganize fields on the user interface.
You can find videos showing you the Adapt UI process in the SAP Help Portal in the SAP Fiori Launchpad User Guide section Personalizing and Adapting Apps, for example: Adapting SAP Fiori UIs can be this simple.
Adapt UI is just one type of key user extensibility.
So keep reading to understand:
- Where do you find Key User Extensibility
- What types of changes can be made with Key User Extensibility
- Who are your Key Users
- Key User Extensibility FAQ
- Where to find out more about Key users
Where do you find Key User Extensibility
Key user extensibility is a cloud-centric approach to making the most common changes needed to User Interfaces (UIs) and to business processes. This same cloud-centric approach is applicable even in on-premise. Key user extensibility is available when using:
- SAP S/4HANA Cloud, public edition
- SAP S/4HANA Cloud, private edition
- SAP S/4HANA on-premise
- SAP Launchpad Service
For example, in SAP S/4HANA cloud, private edition and on-premise, key user extensions:
- are mostly made directly in SAP Fiori apps,
- are built into many SAP Fiori apps
- in some cases, can even change classic UIs – such as GUI transactions – alongside related SAP Fiori apps
- For example, your custom fields can be added to SAP Fiori apps and to GUI transactions at the same time using SAP Fiori app F1481 Custom Fields. You can update at the same time reports, business scenarios, form templates, email templates, and APIs !
- can be used to improve your business processes, such as flexible workflow, output management, and situation handling
You can even use key user extensions in your own custom Fiori apps. For example:
- Provided your developer applies the technique SAPUI5 Flexibility Services when building your custom apps, your custom apps can provide the Adapt UI feature to change the visibility of fields and features.
- Public and Role-Specific Views are built-in to custom apps based on SAP Fiori elements floorplans
What types of changes can be made with Key User Extensibility
Key user extensibility is designed to cover the most common changes that customers typically need to make. For example, in SAP S/4HANA cloud, private edition and on-premise, key user extensibility enables you to:
- Add custom fields
- E.g. To make them available in existing apps, forms, APIs, OData Services, and/or CDS Views
- How to create custom fields in the Business Process with “Custom Field Fiori App ( ID F1481)” by Marcela Giovanetti
- Add custom logic
- Add standard fields to existing apps using Data Source Extensions
- Expose hidden fields and features (buttons, tables, tabs, cards, etc.)
- Hide standard fields and features (buttons, tables, tabs, cards, etc.)
- Reorganize standard fields and features (buttons, tables, tabs, cards, etc.)
- Create custom analytics and KPIs
- Create custom CDS Views, custom business objects, and reusable elements – e.g. to extract data for custom analytics
- Create saved sets of default values
- Create app views – to pre-set default filter settings, table settings, and chart settings
- Create app variants – copies of apps with certain features defaulted or hidden
- Maintain translations
- Add custom search objects
- Manage custom date functions (single dates and date ranges) for analytics
- Refer to a simple example of Manage Date Functions Creating Dynamic Date filter using the Manage Date Function App
- Manage launchpad layouts (spaces and pages)
- Manage teams and responsibilities
- Manage flexible workflows
- Manage situations (available from SAP S/4HANA 1909)
- For some examples from our RIG team refer to:
- Situation Handling – Case Notification for Managing Financial Transactions by Betty Guedez
- Situation Handling – Case Invoice Skipped in Payment Advice by
- Betty Guedez
- Use Case for Situation Handling – MRP Material Exceptions by Kusiel Camargo
- Situation Handling: Use Case – Confirmation is Overdue for PR Item by Jose Marquez Mares
- Create custom situations (available from SAP S/4HANA 2021 FPS02)
- Refer to Custom Situation Use Cases for SAP S/4HANA and the accompanying 6 part series by Angelika Salmen :
- Custom Situation Cases: Configure Your Own Use Cases (1/6)
- Custom Situation Cases: Model Your Own Situation Objects (2/6)
- Custom Situation Cases: Create Your Own Situation Scenarios (3/6)
- Custom Situation Cases: Configure a Simple Use Case (4/6)
- Custom Situation Cases: Configure an Escalation Case (5/6)
- Custom Situation Cases: Configure a Complex Use Case (6/6)
- Manage machine learning scenarios
These types of changes can be made on behalf of all users of your solution.
- Example 1: You can preset default values for other users, e.g. preset values for newbies, for your team, for different shared services roles. Refer to blog post Yes Key Users can set Default Values for other Users
Many of these changes can be made role-specific to a business role.
- Example 1: You can create an app variant that limits the available actions of an app, such as creating a display-only version of a Manage app. Refer to blog post Converting a SAP Fiori “Manage” app to a Display Only using Adapt UI or openSAP microlearning Adapting the UI of List Report Apps – SAP S/4HANA User Experience
- Example 2: You can create a role-specific view for filter/table/chart settings. Refer to blog post SAP Fiori for SAP S/4HANA – New options for managing Views for filters tables and charts
- Example 3: You can choose a team of pilot users to receive situations. Refer to Situation Handling: How to use Responsibility Management efficiently
Most of these changes are made via SAP Fiori apps or features.
You can find a summary of many of the extension apps in blog post SAP Fiori for SAP S/4HANA – Yes you need SAP Fiori to Configure, Adapt and Extend SAP S/4HANA
Who are your Key Users
To put it simply, key users are whomever you authorize to make changes on behalf of other users.
For example, only authorized key users can access the Adapt UI feature in the launchpad.
Who you designate as your key users can change over time or differ for different types of key user extensions.
You choose how you want to govern key user extensions. You can change your governance approach over time, as your team and your business users build their skills and get comfortable with Key User Extensions. Some governance options are:
- During your project, you might designate your functional consultants as your key users to make some initial adjustments as they discuss business needs directly with your business stakeholders
- As part of UAT and system handover, you might run some knowledge transfer sessions then designate your subject matter experts as key users. This lets them make any further adjustments needed as you move into your after go-live hypercare period, or for ongoing changes once your solution is running business-as-usual.
- Some organizations have a central process governance group who might be designated as responsible for key user changes or for certain types of key user extensions.
- For example, you might want your central process governance group to control adding custom fields, so that you don’t end up with several teams creating similar fields
- You might give some key user capabilities to your IT team or even selected developers – as key user functions can be the most effective way to extend your apps and the essential way to add custom fields.
- For example, as you build your skills into intelligent technologies, you might want your IT team to make some initial settings for your pilot machine learning or situation handling use cases.
Because key user extensibility uses a no-code/low-code approach, by making selected business users responsible for the changes themselves you can minimize lost-in-translation errors and communication overhead between business and IT.
Remember that at all times, your technical team still maintains control over who is authorized to make changes, and when and where those changes are applied to your system landscape.
Where do key users make their changes
While some changes can be made in production, for the most part key users usually make their changes in your development environment. You can understand how this works with a couple of example use cases.
- Use case 1 is an example of a change that must be made in development environment and then transported to production.
- Use case 2 is an example of a key user change that could be made either directly in your production environment, or in your development environment and then transported through your system landscape.
Use case 1 – Creating a Display only copy of a Manage app
It’s a common need to restrict the features of an app to create a simpler version for a different set of users. Consider the needs of casual users versus experts. Your casual users may need an app to review and check data, but don’t have time to build the skills or policy knowledge to make changes. So you want to restrict the actions available.
For example, you decide you want to give some casual users who create and track purchase requisitions from time to time, a restricted feature “copy” of SAP Fiori app F2229 Manage Purchase Requisition Professional. You still want to retain the original full-featured app for your more experienced purchasing officers who will use the app every day.
Restricting features of an app is something you can do using Adapt UI.
To save your restricted version for your casual users, in Adapt UI you save your changes as an App Variant.
An App Variant is effectively a copy of the app with your UI adaptations applied. By creating an app variant you can meet the needs of your casual users, while retaining the original full-featured app for your purchasing officers.
Of course, before your casual users can use the app variant:
- The App Variant needs to be assigned to your casual users via their business role.
- You will need to coordinate with your security administration to assigning your app variant to the correct business roles.
- Your security administrator typically updates the business role authorizations in your development environment. Then they will want to check and test them to make sure all the authorizations are correct.
So this type of key user change is usually performed in a development environment and then the app variant and the role assignments are transported to production.
To see how this works refer to openSAP microlearning Adapting the UI of List Report Apps – SAP S/4HANA User Experience
Use case 2 – Set a default public view for a Monitor app
Many SAP Fiori apps have smart filter bars, smart tables and smart charts that you can use to preset default settings such as filters/columns/measures shown, sort, chart type, etc.
For example, for SAP Fiori apps such as F4332 Emission Forecast or F2375 Supervise Collections Worklist or F2358 Monitor Purchase Order Items or F5105 Maintenance Backlog Overview
These settings are personalization options that can be set by each individual user for themselves.
But what if you are the most experienced person on your team?
Rather than teach everyone in your team how to make these settings to get the most out of the app, you want to share the best possible combination of filters, table and chart settings for your team. You might even want to create several different combinations of settings for different use cases – such as one for every day business-as-usual and another for end of fiscal period tasks.
Sharing optimal personalization settings with your team is something you can do as a key user by creating public views (for everyone) or role-specific views (for people in one or more business roles).
There is no need to change permissions – all of the users you are impacting already have access to the app.
So this type of key user change can be made directly in a production environment, if you wish.
Hint: Remember that if you create the view in production environment it will only be available in your production environment. This means you cannot use it for testing or training scenarios in your testing/training environments. However, if you create the view in your development environment, you can transport the view to your testing/training environments as well as your production environment. So then your view is available in all environments.
To find out what’s possible for views, read SAP Fiori for SAP S/4HANA – New options for managing Views for filters tables and charts
How to decide which key user changes to make in your development environment
Essentially many key user extensions are analogous to configuration changes.
Applying the change impacts multiple people depending on their participation in your business processes.
Where changes only impact the designated team and do not require further coordination with your administrators, you can consider making the changes in production. For example: public or role-specific views; creating new flexible workflows from exisiting templates; adjusting the notification text of a situation.
It’s worth keeping in mind, that you may also want to create changes in the development environment to make user testing easier. That is, you want the changes available in your quality assurance / testing system as well as your production environment.
Some changes require coordination between you and your administrators, especially where authorizations need to be adjusted to match your changes. That coordination almost always needs to happen in the development environment. You will need everything to be correctly aligned and tested before it impacts your business users. For example: app variants; changes to launchpad layouts; custom fields; and custom logic.
Understanding the high level process for making a key user change
With most key user changes you will follow a process:
- Apply the key user extension
- Coordinate with your administrators, e.g. to adjust any settings for the impacted business roles
- Deploy the extension to your testing/training environment
- Test it to make sure it does what you need
- Deploy the extension to your production environment
This means you will capture the changes against a transportable request in your development environment. Not something your business users are comfortable doing? Don’t worry!
Key user extensibility includes the Adaptation Transport Organizer, which is a mechanism that ensures:
- Your business creates changes and controls when changes are published, i.e. marked as ready for transport
- Your IT technical team controls the transport process itself, i.e. assigning objects against software packages and transport requests, and exporting/importing the transports to your other systems.
There are even companion SAP Fiori apps provided for your IT team to help them manage key user transports such as F1590 Configure Software Packages, F1589 Register Extensions for Transport, and F2587 Extensibility Inventory.
Key User Extensibility FAQ
- Can we just ignore key user extensibility for now?
- What if we aren’t ready to give business users access to our development environment?
- What are the most common key user extensions?
- How do I get started with key user extensions?
Q1. Can we just ignore key user extensibility for now?
Sometimes customers come to the SAP S/4HANA RIG team and say “Key users are new to us. We are taking a Technical Upgrade approach to our move to SAP S/4HANA. Can we just ignore key user extensibility for now?”
This is how we usually respond:
- Key User Extensibility covers the most common types of changes most customers need.
- That means even on a “technical upgrade” project you will probably need to use at least some key user extensions.
- For organizations moving to SAP S/4HANA, usually the first key user extensions you will need are:
- Custom Fields to add additional fields
- Adapt UI to make adjustments to user interfaces
- Public/Role-Specific Views to preset optimal defaults for apps
- Manage KPIs and Reports to preset optimal settings for SAP-delivered analytics
- Custom Analytical Queries to add your own custom analytics
Q2. What if we aren’t ready to give business users access to our development environment?
Sometimes when we talk to customers about key users the first reaction is… oh we can’t do that because we’ve never done that before. We’ve never given business users access to the development environment. That’s ok… !
You can always make your IT team and your project team – e.g. your functional team leads – your pilot key users. That gives you a chance to build your skills.
Just don’t forget that changes can come at any time… so make sure you nominate someone to take on this role post your first SAP S/4HANA go-live.
Q3. What are the most common key user extensions?
The most common key user extensions are:
- Custom Fields to add customer-specific fields to processes
- Adapt UI to change the visibility of fields and features
- Views for filters, tables, and charts
- Manage KPIs and Reports to adjust settings for SAP-delivered analytics
- Custom Analytical Queries to create additional reports
Q4. How do I get started with key user extensions?
The important first steps are:
- Try out some of the key user extensions to build your skills and understanding
- The most popular tools for new customers are SAP Fiori apps F1481 Custom Fields, F2814 Manage KPIs and Reports, and F1572 Custom Analytical Queries
- Adapt UI and Views are delivered built into many SAP Fiori apps so you need to make sure you have authorized key users
- Decide who will be responsible for key user extensions and who will make them
- A simple RACI matrix can help here
- Start including key user extensibility into your governance and transport processes.
Where to find out more about Key users
For Business Users:
- Find example videos and description of features in the SAP Help Portal for SAP S/4HANA in the SAP Fiori launchpad User Guide section Adapting SAP Fiori UIs at Runtime – Key User Adaptation
- You will also find some Task Tutorials in your SAP S/4HANA User Assistant
For Solution Architects, Administrators, and your Technical Team:
You will find a slide deck summary of the concept at Key User Extensibility Overview for the ABAP Platform.
- Find out about Key users and UI5 Flexibility as a cloud-centric approach in the SAP Help Portal in What is UI5 Flexibility for Key Users
- Understand the concept of Key User Extensibility vs other extensibility types in the ABAP Platform help in the SAP Help Portal: Key User Extensibility
- Find out which Extensibility option suits your needs in the ABAP Platform help in the SAP Help Portal section Extensibility
- Find more FAQs for using Key User Extensibility in SAP S/4HANA on-premise and SAP S/4HANA Cloud, private edition in SAP Note 3077994 – Frequently asked questions about Extensibility in SAP S/4 HANA On Premise
- Yes you can use Key User extensibility with the SAP Launchpad Service as explained in Key User Adaptation in SAP Launchpad service is available out-of-the-box
- For more on the Adaptation Transport Organizer refer to: SAP Fiori for SAP S/4HANA – Adaptation Transport Organizer
- Find out how to configure the Adaptation Transport Organizer in the ABAP Platform help on SAP Help Portal – section Configuration Information: Adaptation Transport Organizer
For Developers looking to include SAPUI5 Flexibility Services in custom apps refer to the following blog posts:
- UI5 flexibility for key users – Always at your service
- SAPUI5 Flexibility – The Journey Continues
- Easily manage your key user adaptations with SAPUI5 flexibility
- UI5ers Buzz #55: Adaptation Project – your one stop tool for extending SAPUI5 Applications
Customer blogs about key user extensibility:
Worth Knowing for your Solution Architects and Technical Team
Key user extensibility is sometimes referred to as in-app extensibility.
Key user extensibility is part of SAP’s Clean Core paradigm as explained in Custom Extensions in SAP S/4HANA Implementations – A Practical Guide for Senior IT Leadership.
You can also find a one level deeper overview in the new guide Extend SAP S/4HANA in the cloud and on premise with ABAP based extensions as explained in New Extensibility Guide for S/4HANA is available. This new guide explains some of the technical background and considerations and is recommended for your solution architects and technical team.
Tip: Some more complex extension approaches that support the Clean Core principle are also considered upgrade-stable, such as those included in the on-stack developer extensibility model. So, if you find that key user extensions are not sufficient for your particular use case, you should consider using an upgrade-stable alternative.
For your developers: If you are creating custom apps, or using 3rd party apps from a partner, you can apply key user extensibility in your own custom apps via SAPUI5 Flexibility Services.
Becoming a SAP Fiori for SAP S/4HANA guru
You’ll find much more on the community topic page for SAP Fiori for SAP S/4HANA
Other helpful links in the SAP Community:
- Follow our tag SAP S/4HANA RIG for more from the SAP S/4HANA Customer Care and RIG
- See all questions and answers about SAP Fiori for SAP S/4HANA
- Follow SAP Fiori for SAP S/4HANAfor more blogs and updates
- Ask a Question about SAP Fiori for SAP S/4HANA
Brought to you by the SAP S/4HANA Customer Care and RIG.
a very nice blog, I like it a lot! Here is also a presentation on the different key user tools in the ABAP platform: Extensibility – ABAP Platform
Best regards, Thomas
Thanks Thomas! I've also linked that into the references section. Much appreciated!
Very Nice Summarized blog, thanks for this.
I was using this Adaption technique for one of the standard Fiori App delivered by SAP , and the app is Fiori element based app , Record defect app.
SAP Fiori Apps Reference Library (ondemand.com)
While , when i click on Adapt UI, i get a pop up : "App is not enabled for Adaption":
Could you please help here , what is missing here ?
Thanks and Best Regards ,
Hello Shavneet Singh.
background is SAPUI5 Flexibility: Enable Your App for UI Adaptation. Could you kindly check for the Record defect app and get it fixed in that app, e.g. via an incident to SAP?
Thanks a lot,
Loved the article. Vey well summarized.
I really appreciate the work that has gone into writing and curating this article. Thank you for making it easier for us!
Excellent blog Jocelyn! Thanks for sharing.