SAP Fiori for SAP S/4HANA – Adapting SAP Fiori UIs at Runtime
As member of the SAP S/4HANA Regional Implementation Group, I have the privilege of working with a lot of customers who are implementing SAP S/4HANA. Many of our SAP S/4HANA customer are looking to personalize and adapt the SAP Fiori apps. This blog post is a summary of detail steps for adaption SAP Fiori apps directly in the launchpad.
Many our customer are looking to adapt apps to their business needs, but what should be the correct process or how I can personalize and adapt apps or even who in my company should be allow to make a changes to apps, those type of questions are usually asked during our RIG sessions.
In this blog posts, I am providing you the details about adapting SAP Fiori UIs at Runtime for key users, but the key users can be inside your company whoever you decide to make a change on behalf of the other users e.g. functional application expert, a business subject matter expert, a central process governance group, or even a developer.
One remark keeps in mind that I am showing how it works on my SAP S/4HANA 1909 system, of course our Cloud-based customer can use this techniques as well and look to the Extensibility Explorer at https://sap.com/extends4
General prerequisite for using key user adaption:
- App can be used with key user adaption
- Your security administrator assigned you the role SAP_UI_FLEX_KEY_USER*
- You are running SAP Fiori app on a desktop or laptop.
*you have to maintain authorization object /UIF/FLEX.
User MANAGER1 is a team lead at Supply chain and needs to adapt app for Monitor Purchase Requisition Items for Purchaser
You can check the details about apps on SAP Fiori apps reference library. https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps(‘F2424’)/S15OP
User MANAGER1 logon to SAP Fiori launchpad and run Fiori app Monitor Purchase Requisition
User MANAGER1 has business role SAP_BR_PURCHASER with SAP Fiori Business Group SAP_PRC_BCG_PURCHASER_PR.
Now, the user select group “Purchase Requisition Processing” and choose app “Monitor Purchase Requisition Items”
Pressing GO will show you the list of Purchase Requisition Items; select one item
*check mandatory field “Display Currency” from User default values the currency EUR have been fill in automatically.
The “Me Area” by click on Person icon appears on demand.
By selecting option Adapt UI, you will notice the Header Toolbar is changed.
You can toggle between adaption and navigation mode, of course you can undo and redo changes, or discard all changes by pressing the reset button, your app will be back as the original version. Publish is helping to organize the changes via transports, keep in mind when you have published your changes, you cannot undo and redo anymore. Save as will allow you to create the new app variant. Save and exit you will save changes and exit the UI adaption mode and return to your app.
Once the details of item are loaded, right click on mouse and create the new group.
New name for this group “Additional Fields” and right clicks on the group name and select the “+Add: field” option.
System will provide all available fields and we will select only “Language Key; Price Unit and Created by”. By selecting the group using drag & drop, you can move group between existing groups.
Select any Fields and remove them by right clicking on it and choosing the option X Remove.
Remove field e.g. Created by; or any from another groups.
Once your adjustment is done, we can save the changes and exist via SAVE & EXIT button or Publish the changes and track it via Transport request.
Pressing Publish will ask for Transport Request.
LOGON with TESTER user and go the Purchase Requisition Item
- User do not have authorization to make any UI adaption; missing role
- User sees Additional Fields, which was added.
As you can see the changes are available for all users with appropriate business roles.
Now, to revert changes back to original, we need to logon as MANAGER1, selecting appropriate app “Monitor Purchase Requisition Items” by pressing Reset button the changes will be discard.
System will ask Do you want to discard all UI changes and reset the app to the standard version?
Pressing OK will discard all your UI changes (can take few seconds) and reset the app to original version.
As you can see, key user adaption is really easy to handle, intuitively, without any development knowledge and very easily to revert changes back to original version.
Becoming a SAP Fiori for SAP S/4HANA guru
You’ll find much more on our SAP Fiori for SAP S/4HANA wiki
Brought to you by the S/4HANA RIG
As always, I love the step-by-step. This will become very useful, once we stop building our own apps.
Out of curiosity, when using the "old" screens. Specifically VA01/2/3 an not using the FIORI developed screens can we still do the same thing? Meaning I'm going to add a field to the header data. Our company uses only Fiori. So with that in mind, even though it is based on standard SAP GUI based program, can I change the heading following this logic? I know, I know, first try then ask. But I'm trying to save time. In case we are searching for something that just doesn't exist.
Hi Michelle, What Peter says is true... you can use the usual GUI extension options to change GUI transactions much as you did in SAP Business Suite.
You can also look at SAP Screen Personas as a way to make these sorts of changes. SAP Screen Personas is supported in SAP S/4HANA
To launch a transaction with a SAP Screen Personas flavor is just one extra parameter in the target mapping of your Fiori tile catalog. That target mapping can be adjusted using your Launchpad Designer.
Thanks for feedback.
The "old" fashion apps the classic apps " The apps are a SAP GUI for HTML transaction or Webdynpro apps" have the limitation.
If you logon on to system and run such apps the system will NOT allow you to make changes as option Adapt UI will be missing at "Me Area" the similar, if you look to picture at blog
"LOGON with TESTER user and go the Purchase Requisition Item" part 1.
Peter ... Thanks for the great blog. Terminology wise, SAP always used the term Development, Configure (System Wide), Customize (Client) and Personalization (Individual User). So is Adaption a formal term; that fall in between Customize & Personalization?
Also, to make the fields available for run time adaption, I presume some type of changes needs to happen on the App level and\or backend (OData\CDS) .. Is that consider App Extension (i.e. Development)?
The changes at SAP Fiori UIs at Runtime belongs to part called "IN-APP EXTENSIBILITY" check part "3.2.1. User Interface Adaptation" for more details at the document
About the second part of your question check part 3.2.2. Field Extensibility and the figure 8 at page 15.
Are these changes cross-client?
I see that the transport is a Workbench Request but the transport objects are LRCD (client-dependent). So, I am a little confused here.
Will changes made in development client reflect in testing client on its own?
Thanks & Regards,
How do we add the additional fields as tab headers using adapt UI?
Peter Nechala, Thank you for the blog. My new custom fields are not showing up in the App. After I publish Custom Fields, I added them to package and transport but still not showing up.