Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
Showing results for 
Search instead for 
Did you mean: 
Product and Topic Expert
Product and Topic Expert
At some point, nearly every customer needs to integrate some custom content into the SAP Fiori launchpad.  In this blog post you will learn the current best practice process and tools relevant to SAP S/4HANA release 2020 or higher. The example use case is based on a real request from a customer. Hint: Screenshots in this blog post are taken from a SAP S/4HANA 2022 FPS02 trial system.

There are many reasons you might need to add new content to your SAP Fiori launchpad. Typical use cases include:

  • Add SAP-delivered UIs that exist but are not directly assigned to any SAP business role.

    • You need to add a SAP-delivered SAP Fiori app, GUI transaction, Web Dynpro App, or Web Client UI that is not directly assigned to any role.

    • For example: OKB9 Define Default Account Assignments. This is a standard SAP-delivered GUI transaction that is not assigned to any business role. Defining account assignments is typically viewed as a back-office configuration activity. However, you might want to grant this to a business process expert to review or adjust assignments.

  • Improve SAP-delivered UIs that are already assigned to your custom business roles

    • You need to copy and adjust a SAP-delivered SAP Fiori app, GUI transaction, Web Dynpro App, or Web Client UI. For example, rename the tile of an app.

  • Add custom-built UIs to your custom business roles.

    • You need to add a custom-built UI to your SAP Fiori launchpad. This could be a custom-built SAPUI5 app, a custom-built App Variant created with Adapt UI, a custom-built GUI transaction (aka “Z transaction), custom-built Web Dynpro App, a URL, etc.

  • Replace predecessor apps with successor apps

    • You need to replace an existing app with its successor. For example, move from SAP Fiori app F0717 Manage Journal Entries to F0717A Manage Journal Entries (new version)

Define Default Account Assignments OKB9 has been added as new launchpad content of a user with the business roles Manager and Manager - Finance Info

IMPORTANT: Be aware that there are additional special processes for including custom analytics in the launchpad that are NOT covered in this blog post.  These include the use cases:

Keep reading for:

  • Main Steps for adding launchpad content

  • Who is responsible for launchpad content creation

  • Example use case

  • Prerequisites

  • Step 1 - Cross-client - Identify (or Define) the launchpad content

  • Step 2 – Client-specific – Assign the launchpad content to your business role

  • Test your changes

  • Step 3 – OPTIONAL – Place your new content on your launchpad layout

  • Final test of layouts

  • FAQ

  • Short guide to adjusting role authorizations

Main Steps for adding launchpad content

You can think of this as a 3-step process.

  1. Identify (or define) the launchpad content

  2. Assign the launchpad content to the business role

  3. Optionally, add the launchpad content to the launchpad layout of the business role.

IMPORTANT: Remember it is never mandatory to add content to launchpad layouts. Users can always find any of their assigned apps via app-to-app navigation, the Search on Apps, App Finder, Home Navigation button, and so on.

Who is responsible for launchpad content creation

Many customers have different ways to organize their teams. The larger the customer, the more regulated the customer, the more segregation of duties becomes a consideration in assigning responsibilities.

These are typical responsibilities based on customer experiences. They may be different at your site.

  • Typically, a business expert or functional consultant will request the content.

  • Your UX architect will adjust the launchpad content configuration.

  • Your Security authorizations person will make sure the content is correctly assigned to the relevant business role.

  • You may also need to involve your Basis or Platform expert, for example, if additional services need to be activated

Example responsibilities flow for changing launchpad content

Example use case

Let’s start with a simple use case:

You want to add GUI transaction OKB9 Define Default Account Assignments to a business expert.

OKB9 is a standard SAP-delivered GUI transaction that is not assigned to any business role. This is because arguably defining account assignments is a back-office configuration activity.

However, you decide you want to grant this to a business process expert to review and/or adjust assignments whenever needed.

You decide to use a copy of the SAP Business Role Manager – Finance Info (SAP_BR_MANAGER_COST) as your template.

This is a simple role with a single business catalog.

App Finder view of the SAP Business Role Manager - Finance Info

You can copy this role and activate the apps within it using the transaction STC01 task list SAP_FIORI_CONTENT_ACTIVATION.


Whoever is maintaining your launchpad content needs the Fiori Foundation Admin role, i.e. Z_FIORI_FOUNDATION_ADMIN.  Refer to blog post SAP Fiori for SAP S/4HANA – Activate SAP Fiori in 1 day or less – the video playlist and FAQ.

This role is generated automatically for you by running in transaction STC01 the task list SAP_FIORI_FOUNDATION_S4. The specific task that creates the roles is called “Generate Fiori Foundation Roles” and you can run just this task if you wish. You can also read the documentation for the task if you want to understand what it does and create your own version.

Having the Fiori Foundation Admin role grants you a launchpad with all the launchpad content tools you’ll need.

Launchpad content and layout management tools in the SAP Fiori launchpad of the Fiori Foundation Admin user

You will also need to create some transport requests. For example in transaction SE09.

You need a workbench request for any cross-client changes.

And a customizing request for client-specific changes.

Step 1 – Cross-client - Identify (or define) the the launchpad content

Tool: Launchpad App Manager  - transaction /UI2/FLPAM

Each piece of launchpad content is described by a launchpad app descriptor item.

Hint: An alternative term for the launchpad app descriptor item is a tile/target mapping combination. Refer to What is a Launchpad App Descriptor Item in the SAP Fiori launchpad Administrator guide.

The launchpad app descriptor item defines:

  • the technical details of app or UI to be launched

  • what parameters can be passed to the app or UI when it is launched

  • how the app or UI should appear in the launchpad, i.e. the tile or link text

You find the launchpad app descriptor item in a technical catalog at the cross-client level.

If you need to, you can adjust the launchpad app descriptor item using the Adaptation Mode of the Launchpad App Manager. For example, you can change tile texts or add more parameters.

You can also use the Launchpad App Manager to create your own launchpad app descriptor items for your own custom content.

Let's see how this works for the example use case:

Because you want to add GUI transaction OKB9 to a custom business role, you first check if their is an existing launchpad app descriptor item for transaction OKB9.

  1. Login as a Fiori Foundation Administrator and launch the Launchpad App Manager

  2. Navigate to the Launchpad App Descriptor Items tab and use the filters to find the transaction. Select the technical catalog id to review the details.

  3. Review the details of the launchpad app descriptor item. You will want to check:

    • what will be shown on the tile or link

    • keywords you can use to search for the app or UI in Search on Apps,

    • whether any parameters will be passed on launch

    • whether the app or UI can be used on multiple device types.

    • which Semantic Object is assigned to the Launchpad App Descriptor Item.

Hint: The Semantic Object determines where the tile appears in Search results, Related Apps, list of link dialogs etc

Let's see what you might find for the example use case OKB9...

Showing the details of the Launchpad App Descriptor Item for OKB9 in the Launchpad App Manager

In the tab Target Application Fields you can see that the Semantic Object is CostCenter. You can expect that the content will appear as a link when you search on Cost Centers, and will appear as a link when you select the Related Apps button when viewing the detail of a Cost Center.

You can also see that the app can only be used on Desktop. So on a mobile device the tile will be automatically hidden.

Since the tab Parameters is empty, there are no parameters provided to the transaction when it is launched.

The Tiles tab shows that the name on the tile is Define Account Assignments. The tile keyword is OKB9 so, when the app is assigned to your business role, you can use Search on Apps to find the app by its transaction code.

Tiles tab of the technical catalog entry for OKB9 showing the tile text and keyword


Hint: You might be wondering why the technical details of any app or UI are defined at the cross-client level. It's because:

  • All UIs are technically some kind of program – whether it’s a SAPUI5 program, SAP GUI program, a Web Dynpro Floor Plan Manager application, or so on.

  • Programs are inherently cross-client (i.e. system-wide)

  • Anything created at the cross-client level can be reused in any client of your system.

  • Therefore, the original entry is always at the cross-client level.

Use Case Variation 1 – You want to change Tile/Target Mapping settings

Sometimes you might need to change the tile texts, icons, keywords or add one or more parameters.

You can use the Adaptation mode in the Launchpad App Manager to make your changes.

Refer to blog SAP Fiori Launchpad: New Fast and Easy Option to Adapt SAP-delivered Launchpad Content (for On-Premise and Cloud, Private...

Use Case Variation 2 - You want to add a custom app or custom UI

If you want to add your own custom apps or UIs, you will need to create your own launchpad app descriptor items.  You can also do this in the Launchpad App Manager.

You will need to put your custom launchpad app descriptor items in a custom technical catalog. You can also create the custom technical catalog in the Launchpad App Manager. Just use the Create Catalog button on the Catalogs tab.

Hint: It can be very helpful to copy a similar SAP delivered launchpad app descriptor item into your custom technical catalog as a starting point. That makes it easier for you to see what you need to adjust.

IMPORTANT: If you do need to create a new entry, choose your Semantic Object wisely! Choose an existing SAP Semantic Object whenever you can, so that your content appears alongside related SAP delivered content. You can find all semantic objects delivered by SAP in transaction /UI2/SEMOBJ_SAP.

Step 2 – Client-specific – Assign the launchpad content to your business role

Tool: Launchpad Content Manager  - transaction /UI2/FLPCM_CUST

You assign your launchpad content to a business role in 2 steps:

  1. Each launchpad app descriptor item is referenced into a business catalog.

  2. The business catalog is assigned to a business role

Hint: A business catalog is a curated collection of related apps. For example a business catalog may contain an app and its dependencies, such as reuse apps or related apps needed for required app-to-app navigation. Refer to SAP Fiori for SAP S/4HANA - Understanding SAP Business Roles

Hint: Authorization assignments are client-specific. That is, you can flexibly reuse the cross-client launchpad app descriptor item for different business catalogs and business roles in different clients. For example, you might have different catalogs for a key user who configures and extends an app, than for a regular business user using the app to complete a task. 

You can see how this works for the example use case.

  1. You launch the Launchpad Content Manager (transaction /UI2/FLPCM_CUST) in your Development environment

  2. You navigate to the Roles tab to review the existing custom business role to which you want to assign transaction OKB9. You can see how the copy of the SAP Business Role Manager Finance – Info appears in the Roles tab. You can use the Show Catalogs feature to check which business catalogs are currently assigned to the business role.

  3. You can use the Catalogs tab to review the content of the business catalog. Hint: The Catalog View feature provides a quick option to move from the Roles tab to the Catalogs tab for your selected business catalog.

  4. You can now decide whether to add OKB9 to an existing business catalog of the business role, or whether you want to create a new business catalog. In this example you decide the current business catalogs are not suitable and you need to create a new business catalog.

  5. You navigate to the Catalogs tab.  In the Catalogs tab, you select Create to create a new catalog.

  6. You give your catalog an id and a name. You will be prompted for a customizing transport request.

    • IMPORTANT: For the catalog id, use a naming convention that identifies it as a business catalog and helps you find it easily later. Remember that the name will be visible to users in the App Finder. So it should be meaningful and follow a good naming convention that helps user find it easily.

  7. Reference your original entry to your custom technical catalog.

    • In the example the custom business catalog is initially empty. You use the feature Add Tiles/Target Mappings to selected catalog to create a reference.

    • Search for the original entry by name or id, then use the Add Tile/Target Mapping feature to add it to your custom business catalog.

  8. HINT: It's useful to check that all the services of the catalog are active. This minimizes unexpected issues later. You can use the Check Services features to check on the status of any related services.In this example the service check confirms that there is no check needed. If you see a warning or errors icon, your technical team need to review and check.

  9. Because you have created a new business catalog you will need to assign it to the business role. You can assign the catalog to the role in the Roles tab. In the Roles tab, in the Catalogs assigned to Role pane you use the Add Catalog button to add a business catalog to the business role. Hint: Add Catalog updates the menu of the underlying technical security role of the business role and you can confirm that in transaction PFCG.

  10. You select your catalog to add it to the role.

  11. And that's it for adding your launchpad content! You might like to do a final check of the business role

  12. Depending on what has changed,  you may need your security administrator to verify or adjust the matching authorizations on the custom business role.

    • From the Roles tab, you can use the feature Open in PFCG to review the security role and check if the authorizations need to be adjusted.

    • In transaction PFCG you can see the menu has been updated and the Authorizations tab status indicates that the menu is updated and there are some authorizations to resolve.

    • At this point you had over to your security administrator to resolve these authorizations.

Hint: Program PRGN_COMPARE_ROLE_MENU is a great tool for security administrators to resolve any differences in authorizations.  If you are on your own, you may like to refer to the section Short guide to adjusting role authorizations at the end of this blog post. 

Once the launchpad content is assigned to the business role and any authorization issues are resolved, you are ready to test your content from the App Finder or Search on Apps.

Useful to know: In the Launchpad Content Manager > Roles tab:

  • You can select a business catalog and use the Catalog View feature to check the content already assigned to the business catalog. This takes you to the Catalogs tab.

  • You can select a business catalog and use the Usage in Roles feature to check if this business catalog is shared with any other business roles.

  • You can select the business role and use the Show Spaces feature to check which layouts are already assigned to the business role.


Testing the change

Login as your business user and navigate to the App Finder.

Verify that your business catalog is assigned and that the app is assigned.

App Finder confirms that the new business catalog and app are assigned to the role

You can launch the app from the tile.  This check that service activations are complete.

The app opens and can be used to review the assignments.  You can check the behaviour of the app or UI to check the authorizations meet the business expectations.

Transaction OKB9 can be successfully launched from the tile in the App Finder

You can also verify the keyword search works as expected in the Search on Apps. Searching on the transaction code or the name finds the app.

Checking the keyword search in Search on Apps

Step 3 – OPTIONAL – Add your new content to the launchpad layouts


  • SAP Fiori app Manage Launchpad Spaces

  • Launchpad Content Manager (for the role assignment)

  • SAP Fiori app Manage Launchpad Pages

Now you know your launchpad content is added and the app launches correctly from the SAP Fiori launchpad you are ready to consider a final step.

What if you want to add your new app to the launchpad layout of your business role?

The most important consideration is to discuss *where* the app should appear on the launchpad layout - and how the role is typically used.

In the example use case, the business role Manager - Finance Info is a delta role. That is, it is typically used with other Manager roles rather than by itself.  For example a user might be given:

  • Manager

  • Manager and Manager - Finance Info

  • Manager and Manager - Procurement

  • Manager, Manager - Finance Info, and Manager - Procurement.

You discuss this with the business and decide you want all of the Manager apps and UIs to be accessed from 1 space. That is, they should all be part of the one menu tab.

This will work nicely, because spaces can be assigned to multiple business roles, and pages assigned to a space will automatically hide tiles a particular user does not have access to. Pages will even hide empty sections from other users.

You decide to build your spaces and pages design using a copy of the standard space for Manager. Which is a simple space with a single page that looks like this:

Manager space is titled Manager Self-Services and contains a handful of apps and UIs

You agree to use the same custom space for all your manager roles

You discuss whether to add another page.  You take into consideration the best practices.  mentioned in blog post Recommendation for Structuring Roles, Spaces and Pages in the SAP Fiori Launchpad Based on Common Us....  For this example use case, since the Manager role is quite small you agree to add a new section and tile for the Manager - Finance Info apps.

You have already used the Launchpad Content Manager - Roles tab - Show Spaces feature to confirm that the business role Manager (SAP_BR_MANAGER) is assigned to the space SAP_HCM_SP_MANAGER.

  1. Login as the Fiori Foundation Administrator and launch the SAP Fiori app Manage Launchpad Spaces.

  2. You need to maintain the space assigned to the role. You can also create a new space or copy an existing space.

    • IMPORTANT: If you create a new space your security administrator must assign it to the business role before you make changes to the page.

    • Hint: You can assign the space to the role in the Launchpad Content Manager - Roles tab. 

    • For this use case you copy the predefined space, SAP_HCM_SP_MANAGER to your a custom namespace Z_SP_MANAGER.  You select the space you want to copy and press Copy. 

    • You adjust the id and title for your new space and add them to a transport request.

    • You copy the pages of the space as well so that you can adjust them. In this use case there is only one page to copy.

    • You adjust the id and title of your custom page as needed.

    • In the review step you check your settings, make any adjustments, and then Save.

    • You now have a custom space and custom page ready to change.  However the space is not yet assigned to any role.

  3. You now need to assign the space to your business role(s). This helps you make sure that you only assign launchpad content authorized for the business role(s). You do this in the Launchpad Content Manager. In the Roles tab, find your role and use the Show Spaces feature to check the assigned spaces.  You can also Add Space or Remove Space directly from the Roles tab.

    • In this use case you press Add Space to your custom business role Z_BR_MANAGER_COST.

    • You add the new space. 

    • The spaces assigned to the business role are now listed in the Show Spaces section.

    • Similarly you adjust your Z_BR_MANAGER role, and so on, so that all the roles share the same space.

    • Hint: Technically Add Space and Remove Space update the the role menu of the underlying security role.  

  4. You are now ready to return to Manage Launchpad Spaces and check the role assignment.

    • In the customer-created list, you can see how many roles that have been assigned to your space.

    • When you select the space you can review which roles are assigned in the Role Assignments tab.

  5. So you are now ready to make your changes. in the Pages tab you review the assigned pages and decide which page you want to use. You can also create a new page.

    • In this use case, there's only one page so the choice is easy!

  6. You navigate to the page you want to change.

    • You press Edit to start making your changes.

    • Hint: This navigation you into the SAP Fiori app Manage Launchpad Pages.

  7. Add the app to the page.  You can select or drag and drop the apps from the assigned roles.

    • You decide to add a new section for the account assignment tile. You name the section, and add the tile to your new section.

    • You check your changes and Save the page.

  8. As a final check, you can use the Page Preview feature to review the impact of the changes.

    • You can access Page Preview when displaying or editing pages. 

    • In page preview you can select the role context to see the impact of the changes on different combinations of business roles.

    • You can select the combination of roles you want to preview.

    • You check the impact on the page. The Default Account Assignments tile has come across.

    • Testing again with just the Manager role you can see the tile does not appear.

Final test of layouts

Ok so now you can do a final test of your layouts.

IMPORTANT: It's critical that you test with test users with realistic authorizations.  If your test user is assigned too much access it can be very difficult, and in some use cases impossible, to determine if your changes are having the desired effect.

Using a test user with ONLY the custom Manager role assigned the new section and tile are NOT shown - which is what you expect.

Layout of a user with the custom Manager role and custom Manager space

Using a test user who has both the Manager and the Manager - Finance Info, all of the expected sections and tiles are shown.

Layout of a user with the custom Manager and the custom Manager - Finance Info roles



Can I use a hierarchy of business catalogs instead of a technical catalog?

No this doesn’t work. The system ignores any middle layers and always references the original entry in the technical catalog.

Can I add the transaction code to tiles en masse?

Yes you can use the special config option REPLICATION_TCODE_TO_TILE_INFO in SAP Help for SAP Fiori launchpad section Replicate Technical Catalogs for all Available System Aliases

Refer to SAP Note 3289200 - Fill Tcode in Info-Field for Synchronization with local replication / embedded sc...

Hey I added OKB9 and I still can't maintain the data?

You might want to check SAP Note 3374856 - Transaction OKB9 is not possible to maintain in productive system for the prerequisites

Short guide to adjusting role authorizations

You can use transaction SA38 to run the program PRGN_COMPARE_ROLE_MENU for your selected role. In program PRGN_COMPARE_ROLE_MENU you can see the comparison status and the authorization status.

Example results from running PRGN_COMPARE_ROLE_MENU for a business role. Authorization status is error (red circle) and authorization errors (red circle) can be seen.

You can use the Mass Generation option to simulate merging the authorizations. Select Merge to start the simulation.

Merge feature of PGRN_COMPARE_ROLE_MENU to simulate merging old and new authorizations

Review the changes that will be made. New and changed authorizations are indicated.

Merge simulation identifies some new authorizations that need to be added.

If you are happy with the changes, you can use the Maintain Authorization Data feature to merge them automatically.  If not, you can of course manually maintain the role and make any adjustments.

Maintain Authorization Data feature of PRGN_COMPARE_ROLE_MENU

You confirm the maintenance type. Usually you will want to choose "Read old status and merge with new data" to preserve as much of the existing role as you can while adding your new changes.

Selecting the maintenance type Read old status and merge with new data

You can see the changes highlighted and check them again if you wish, before you generate the authorization profile using the Generate feature.

Reviewing the changes before they are applied - New and changed authorizations are highlighted

You can check the profile is generated.

Authorization status in PRGN_COMPARE_ROLE_MENU is now successful (green square)

If you wish, you can confirm in PFCG that everything is now ok – by checking the status on the Menu, Authorizations, and User tabs.

Transaction PFCG shows the role is now complete for menu, authorizations, and users

Your new app can now be used by your business user.

Hint: If you need to resolve missing authorizations:

  1. Start by using the App Support feature in the SAP Fiori launchpad. Refer to  App Support for the SAP Fiori Launchpad. Review the content of the  Authorization Errors section. This shows any obvious missing authorizations (similar to transaction SU53).

  2. You can try tracing authorizations using transaction STAUTHTRACE for any mised authorizations. 

  3. As CDS Views use authorizations to filter data these may not show up even in STAUTHTRACE. So check the authorizations relevant to the app or UI in transaction SU24. You can cross-check the authorizations in transaction SACMSEL.

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:

Brought to you by the SAP S/4HANA Customer Care and RIG.