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.
cancel
Showing results for 
Search instead for 
Did you mean: 
Jocelyn_Dart
Product and Topic Expert
Product and Topic Expert
Latest Update  May 2021: You can now find an openSAP microlearning on Creating Launchpad Content with the SAP Fiori Launchpad App Manager in the SAP S/4HANA User Experience playlist

Latest Update December 2020: Included equivalent screenshots of examples using the new Launchpad app manager tool for SAP S/4HANA 2020.

Latest Update November 2020: A few changes to and clarifications in the parameter list following some internal discussions re recommended usage.

This blog post gives guidance, some examples and tips for adding your own custom content to your custom Business Role. This is part of our blog series on Understanding Business Roles.

TL;DR version: Creating custom content for your busines roles involves working with technical catalogs.  You create the launchpad app descriptor item (tile definition/target mapping) you need to launch your specific app/UI in your technical catalog. You can use the thousands of examples delivered in SAP Technical Catalogs to guide you on settings for different apps/UIs and related parameters. Similar to using SAP delivered content, you then:

  • Use your custom business catalog to reference your custom content in your technical catalog,

  • Assign your custom business catalogs to your custom business roles, and finally

  • Assign your custom business roles to your users.


For guidance and examples scroll down to section Guidance and Examples for launchpad app descriptor item settings.

Not every SAP S/4HANA customer will want to create custom content, but many do. So, you may need to know add your own custom content to your business roles so that it appears in your SAP Fiori launchpad.

Typical use cases where you need to add custom content to your business roles include:

  • You have built your own custom SAP Fiori apps on your SAP S/4HANA solution

  • You have built your own custom apps in the SAP Cloud Platform

  • You want to launch out to 3rd party apps or Cloud (SAAS) Solutions

  • You may want to include URLs, for example to policy guidelines on your company website

  • You have inherited classic UIs (e.g. Z-transaction codes) as part of your system conversion from SAP Busines Suite to SAP S/4HANA

  • You want to override SAP-delivered content, e.g. to adjust tile/link texts, search keywords, or to add parameters


The general procedure for adding custom content is shown in the diagram below.


Procedure for creating custom business roles, highlighting creation of custom content in technical catalogs as an initial step prior to including the content int custom business catalogs


Essentially, you create custom content in custom technical catalogs, which gives you easy reuse of your custom content across any of your custom business roles.

Tip: You can find the full end to end process for creating your own custom business roles, including both content and layout, for SAP S/4HANA 2020 in the SAP Fiori Launchpad guide section Advanced Scenario - Adapt SAP Template Content and Add Your Own Content.

A custom technical catalog is simply a container for all your custom launchpad app descriptor items – tile definition and target mapping combinations. The tile definition determines the appearance of the tile or link that launches your content from the launchpad (home) page itself or via navigation from related SAP Fiori apps. The target mapping determines what custom content is launched – i.e. which app, UI, or URL - and which parameters are passed on launch. You can find out more about technical catalogs in the official SAP Fiori Launchpad guide for your release in section Setting Up Technical Catalogs.


Technical catalogs contain the originals of launchpad app descriptor items for SAP Fiori apps, URLs, and classic UIs. These launchpad app descriptor items are referenced in business catalogs


Once you create your content in your custom technical catalogs you can:

  • reference custom content in your custom business catalogs,

  • assign your business catalogs to your custom business roles,

  • assign your custom business roles to your users.


In this blog post you will learn:

  • Some general considerations to keep in mind

  • Prerequisites for adding custom content

  • Choosing your Semantic object and action for your custom content

  • Finding guidance and examples for launchpad app descriptor item settings

  • Main settings for launchpad app descriptor items (tile definitions and target mappings), including some tips for parameter mapping


Some general considerations to keep in mind


You are recommended to always create custom content in the cross-client configuration (CONF) scope. Since custom content represents an app, user interface or URL that is the same across all clients, creating the source content in a technical catalog gives you the widest reuse across all your custom business catalogs, custom business roles and business users.

Creating custom business catalogs has already been covered in Adding selected content SAP content to a custom business role

Assigning the business catalogs to business roles and then to users has already been covered in How SAP Business Roles simplify refining SAP User Experience

You can learn how to reference content from technical catalogs into business catalogs in Adding selected content SAP content to a custom business role.

The most efficient tools for creating custom content in custom technical catalogs are:

To view (but not maintain) existing content, you can also use the launchpad content manager tool in the cross-client configuration (CONF) scope, i.e. SAP GUI transaction /UI2/FLPCM_CONF.

For more details on the various tools and which are relevant to your SAP S/4HANA release refer to Overview of tools for maintaining custom launchpad content and layout.

Important: Avoid mixing launchpad descriptor items for SAP Fiori apps and classic UIs in the same custom technical catalog. This is for technical reasons, i.e. launchpad app descriptor items for classic UIs have an additional replication step needed to reformat them into technical catalogs. You can find out more about this in your SAP Fiori Launchpad guide section Setting Up the Replication of Back-End Catalogs.

Prerequisites for adding custom content


Before you add your custom content, you should always test your content independently, to make sure it is working before you include it in the SAP Fiori launchpad.

You also need to understand the possibilities for using your content in the SAP Fiori launchpad, with respect to:

  • Type of content

  • Web browser restrictions or limitations

  • Device type restrictions or limitations

  • Theming restrictions


Type of content


You need to know what types of content can be launched from the SAP Fiori launchpad in your SAP S/4HANA solution.  For example, this currently includes:

  • SAP Fiori apps (i.e. apps based on SAPUI5 technology) on your SAP S/4HANA solution

    • Including SAP Fiori app variants



  • SAP Fioris app on SAP Cloud Platform (from SAP S/4HANA 2020)

  • SAP GUI transactions

  • ABAP Web Dynpro applications

  • Web Client UIs (from SAP S/4HANA 1909)

  • URLs (e.g. to 3rd party apps, Cloud solutions, and web-accessible documents)


SAP GUI Transactions and ABAP Web Dynpro applications can be launched with or without SAP Screen Personas flavors.  You add the flavor by adding the parameter sap-personas-flavor=<flavor id>

Web browser restrictions or limitations


You need to understand any restrictions or limitations on the UI technology you are using for your custom content in a web browser. For example:

Device type restrictions or limitations


You will need to know if your custom content should only be made available on certain device types. For example:

  • SAP Fiori apps and custom Fiori apps can be used on all device types, however apps may be optimized for specific device types. For example, an app that contains a table with a large number of columns may not be suitable for use on smartphones.

  • From SAP S/4HANA 1909 and higher, classic UIs are mostly supported on desktop and tablet devices, refer to 2700517 – Mobile device support for Unified Rendering based frameworks: Web Dynpro ABAP and SAP GUI ...

  • In releases SAP S/4HANA 1809 or lower, these classic UIs are generally only supported on desktop

    • Where needed, SAP Screen Personas can be used to provide a device type flavor on a classic UI.




In the target mapping of the launchpad app descriptor item, you mark the device types that are relevant. When a user opens the launchpad on their device, only relevant apps for that device type are displayed. Apps that are not relevant are automatically hidden from view.

Theming restrictions


Theming restrictions can influence the look and feel of your custom content when launched from the SAP Fiori launchpad. For example:

Choosing your Semantic Object and action for your custom content


The tile definitions and target mappings of launchpad app descriptor items are logically linked by Semantic Object and action.  Your choice of Semantic Object will influence when and whether your custom content is displayed in the very commonly used dynamic link dialogs such as:

  • List of links (aka Smart Link) dialogs

  • Related apps buttons

  • Search results links


You saw examples of some of these in Adding selected content SAP content to a custom business role You can see some more examples in many SAP Business Roles. For example, in the Maintenance Technician role you can see a list of links dialog in SAP Fiori app F2071 Find Maintenance Notification.


Smart link dialog when selecting notification title in SAP Fiori app F2071 Find Maintenance Notification


Similarly when you expand a single maintenance notification row in SAP Fiori app F2071 Find Maintenance Notification you can see the Related Apps button links.


Related Apps menu button when viewing a single maintenance notification in SAP Fiori app F2071 Find Maintenance Notifications


Dynamic links based on Semantic Objects also appear in the Search, for example when searching on Maintenance Notifications.


Dynamic links to apps in the Search results list when searching on Maintenance Notifications by partial reference id and wildcard


For this reason, you should always use the standard SAP Semantic Object if there is one relevant to the custom content.

Important: Do NOT create Z copies of SAP Semantic Objects! Creating and using Z copies of SAP Semantic Objects has the following impacts:

  • Your custom content will be missing in dynamic references such as:

    • Smart Link dialogs and Related Apps menu button accessed from SAP Fiori apps, and

    • From the Search results accessed via the launchpad itself



  • It makes your content harder to find when comparing SAP vs. custom technical catalogs and business catalogs.


You can see all the SAP-delivered Semantic Objects using SAP GUI transaction /UI2/SEMOBJ_SAP.  In SAP S/4HANA 1909, more than 2600 semantic objects are delivered.


Fragment of the contents of SAP Semantic Objects in transaction /UI2/SEMOBJ_SAP


You should only create a custom Semantic Object when there is no equivalent SAP semantic object. For example, when creating industry-specific or organization-specific custom content, where there is no equivalent SAP solution or business entity.  You can create custom Semantic Objects in SAP GUI transaction /UI2/SEMOBJ.

The action you use with your Semantic Object can be freely defined. The action should be a verb (“doing” word) such as:

  • manage

  • edit

  • create

  • display


The action can also be a multipart word, such as displayChangeDocuments.

While SAP delivers a number of common actions, you can freely create your own.

Tip: You may wish to identify custom actions by using a common prefix such as Z, to help identify custom content from SAP-delivered content.

Finding guidance and examples for launchpad app descriptor item settings


You can find the specific settings for launching your custom content, including parameter setting options, in the SAP Fiori Launchpad guide for your release:

You can review SAP Technical Catalogs to find many examples of settings and parameters for each custom app type. You can use the Launchpad App Manager (from SAP S/4HANA 2020) or the Launchpad Content Manager (from SAP S/4HANA 1709) in cross-client configuration (CONF) scope to view technical catalogs, i.e. via SAP GUI transaction /UI2/FLPCM_CONF.

You can search for the technical catalog by name or id or by partial name using a wildcard.

Most tile definitions are similar regardless of the app or UI type, so focus particularly on the target mapping details that control which app/UI is launched, and what parameters are passed when the app/UI is launched.


Technical Catalogs shown in the configuration (CONF) scope of the launchpad content manager - technical catalog SAP_TC_EAM_BE_APPS is highlighted in the Catalogs pane, and the App Type column is highlighted in the Content in Catalog pane


Technical catalogs that contain classic UIs can be easily identified by the assignment to a system alias, which identifies the backend system/module. In the example below you can see the technical catalog SAP_TC_EAM_BE_APPS is assigned to system alias S4EAM, and contains SAP GUI transactions (App Type = GUI) and ABAP Web Dynpro (App Type = WDA) apps only.

You can compare this to the technical catalog SAP_TC_EAM_COMMON, which contains only SAP Fiori apps (based on SAPUI5 technology) and SAPUI5 apps.


Technical Catalogs shown in the configuration (CONF) scope of the launchpad content manager - technical catalog SAP_TC_EAM_EAM COMMON is highlighted in the Catalogs pane, and the App Type column is highlighted in the Content in Catalog pane


To view the parameters assigned to the target mapping, you can open the target mapping in the launchpad app manager (from SAP S/4HANA 2020) or launchpad designer tool.

For classic UIs you can also view the parameters in the Launchpad App Manager or Mass Maintenance App Descriptor tool.

Some examples of settings for app types with explanations are shown below.

Target Mapping Examples


You can find many examples in the SAP Technical catalogs delivered with your SAP S/4HANA solution. These are a few examples to get you started on the target, device type, and parameters useful for the main application types:

  • SAP Fiori apps

  • SAP GUI Transactions

  • Web Dynpro ABAP applications

  • Web Client UIs

  • URLs


You can see examples for these both in the Launchpad app manager - the new tool recommended for SAP S/4HANA 2020 - and in the Launchpad Designer - the tool recommended for SAP S/4HANA 1511 to SAP S/4HANA 1909.

With the Launchpad app manager you see separate tabs for All Fields and Parameters. With the Launchpad Designer you see all fields on a single page.

SAP Fiori apps


This is an example for SAP Fiori app F2173 Find Maintenance Order and Operations. This launchpad app descriptor item is held in technical catalog EAM – Technical Catalog Apps (id SAP_TC_EAM_COMMON).

In Launchpad App Manager:


Example target mapping for a SAP Fiori app - All Fields



Example target mapping for a SAP Fiori app - Parameters


In Launchpad Designer:


Example of a target mapping for a SAP Fiori app


Target:

  • The application type is SAPUI5 Fiori app.

  • Title is the title used on dynamic links

  • The URL is the path to the ICF node

  • ID is the full technical name of the SAPUI5 component – in this example there is a variant referenced


Device Type:

  • Desktop, Tablet and Phone are marked.

    • Note that if the app is optimized for use only on certain device types, only those device types are marked.




Parameters:

  • Inbound parameters from the calling application are passed to target parameters of the app by name

  • Note: The support component for the app is contained in the SAPUI5 app descriptor file (i.e. manifest.json file) and does not need to be specified as a parameter.


SAP GUI Transactions


This is example shows a target mapping for SAP GUI Transaction VA02. This launchpad app descriptor item is held in technical catalog SAP Sales and Distribution: Classic Apps (id SAP_TC_CEC_SD_BE_APPS).

In Launchpad App Manager:


Example target mapping for a SAP GUI transaction - All Fields


 


Example target mapping for a SAP GUI transaction - Parameters


In Launchpad Designer:


Example of a target mapping for a SAP GUI transaction


Target:

  • Application Type for GUI transaction = Transaction

  • Title is the title used on dynamic links

  • Transaction = the SAP GUI transaction code, in this example VA02

  • System Alias = the logical backend system – which is mapped to a RFC Destination in maintenance view /UI2/V_ALIASMAP


Device Type:

  • Desktop and Tablet are marked, as this example is taken from a SAP S/4HANA 1909 system.

    • Note that in SAP S/4HANA 1511 to 1809 only Desktop is supported for SAP GUI transactions




Parameters:

  • The semantic object SalesOrder is passed to the screen field VBAK-VBELN, i.e. TargetName = VBAK-VBELN

  • A fixed value ENT is passed to the Ok Code, using TargetName = DYNP_OKCODE

  • To suppress the initial screen both when launching and when navigating back to the previous app/UI, a fixed value 1 is passed to TargetName = DYNP_NO1ST

  • The support component is set to SD-SLS using parameter name sap-ach


ABAP Web Dynpro applications


This example shows a target mapping for Web Dynpro application Maintain Bank Hierarchy. This launchpad app descriptor item is held in technical catalog SAP Finance - Cash Management: Classic Apps (id SAP_TC_FIN_CM_BE_APPS).

In Launchpad App Manager:


Example target mapping for a Web Dynpro application - All Fields



Example target mapping for a Web Dynpro application - Parameters


In Launchpad Designer:


Example of a target mapping for a Web Dynpro application


Target:

  • Application Type = Web Dynpro

  • Title is the title used on dynamic links

  • Application = the Web Dynpro application id

  • Configuration = the Web Dynpro configuration id

  • System Alias = the logical backend system – which is mapped to a RFC Destination in maintenance view /UI2/V_ALIASMAP


Device Type:

  • Only desktop is marked meaning that this application is only intended to be used on a desktop


Parameters:

  • A parameter HIERID can be passed to the application

  • The support component is set to FIN-FSCM-CLM using parameter name sap-ach


Web Client UI


This example shows a target mapping for Web Client UI application Create CRM Activity. This launchpad app descriptor item is held in technical catalog SAP CRM Sales Apps (id SAP_TC_S4CRM_SLS_BE_APPS).

In Launchpad App Manager:


Example target mapping for a Web Client UI application - All Fields



Example target mapping for a Web Client UI application - Parameters


In Launchpad Designer:


Example of a target mapping for a Web Client UI application


Target:

  • Application Type = Web Client UI Application

  • Title is the title used on dynamic links

  • Application id = the Web Client UI application id

  • System Alias = the logical backend system – which is mapped to a RFC Destination in maintenance view /UI2/V_ALIASMAP


Device Type:

  • Desktop and Tablet are marked. Meaning this app will be hidden on phones.


Parameters:

  • The support component is set to CRM-BTX-ACT using parameter name sap-ach


URLs


You can do a URL as a tile definition without a target mapping when the URL is static.

However, if your host and/or port need to be adjusted with your system landscape a better option is to use an intent to create a dynamic target mapping.

Example: URL to the Technical Monitoring Cockpit

In Launchpad App Manager:

In Launchpad Designer:


Example of a target mapping for a URL


Target:

  • Application Type = URL

  • Title is the title used on dynamic links

  • URL = the relative URL path

  • System Alias = is empty - however it can also be set to a system alias that provides the protocol, host and port to be used for the URL


Device Type:

  • Desktop and Tablet are marked. Meaning this app will be hidden on phones.


Parameters:

  • ABAPSystemID is passed to a URL parameter system_id

  • DomainID is passed to a URL parameter domain_id

  • View is passed to a URL parameter navigation_id


You can find more examples in these customer-created blogs:

Tips for parameter passing


Parameters in the target mapping refer to inbound parameters, i.e. what to pass when the app or UI is launched.  Be aware that if your app can be launched from multiple places, e.g. from the launchpad or via app-to-app navigation from another app, that this can change which values are passed.

You can add as many parameters as you wish. Which parameters can be passed is typically limited by the target application, i.e. what parameters can it accept on launch.

If the parameter name is the same for both source and target, it is sufficient to list the parameter name in the target mapping for it to be passed.

Example:  Parameter GLAccount is listed in this target mapping fragment.


Example of mapping GLAccount as an available parameter without specific target


If you simply need to rename the parameter, set Name as the incoming parameter name and Target Name as the new name to be passed to the target app.

Example: PurchaseOrder is passed to parameter P_EBELN in this target mapping fragment.


Example of mapping PurchaseOrder to target field P_EBELN


Example: When navigating from the launchpad page to the target app, a user default is applied. However, when navigating from another app to the target app, the specific Semantic Object being passed may override the generic User Default.

The following examples give the most common and straightforward use cases for parameter passing. For a deeper dive on technical possibilities refer to the SAP Fiori Launchpad guide > Developer Guide, section Developing Navigation.

Passing User Defaults


When you are launching an app, UI or URL from the launchpad (home) page, you often want to provide a default value.  This can be a single value or extended (i.e. multiple) values from the user’s Settings > User Defaults, depending on the target field in the target app.

Tip: SAP Fiori apps often support both single and extended values. Classic UIs such as SAP GUI transactions usually only support single values.

For a list of available default values for your SAP S/4HANA release, refer to Setting User Defaults in SAP S/4HANA

For an example of how to apply default values in target mappings refer to Applying User Defaults in SAP S/4HANA

For details of how this applies to your SAP S/4HANA version, refer to your SAP Fiori Launchpad guide section Configuring Navigation Parameters with User-Specific Default Values

Passing Semantic Object id


You can pass the Semantic Object id using the Semantic Object id as a parameter. This is particularly useful when you expect to navigate from a SAP Fiori app to the target app or UI.

Often a single row of a table may include multiple Semantic Object ids.

Other useful parameters


Disclaimer: Not all parameters are available for all SAP S/4HANA releases and SAPUI5 versions.































































Parameter Name Default Value Description
sap-ach (text) Support component to be shown in the About dialog. This is used for apps/UIs that don't have an app descriptor (i.e. manifest.json file).
sap-fiori-id (text) For most SAP Fiori apps the SAP Fiori app id is included in the app descriptor (i.e. manifest.json file). This parameter provides an alternative way to assign the SAP Fiori app id to the app when this is not possible, e.g. for some apps based on generic analytics frameworks. This is used for apps/UIs that don't have an app descriptor (i.e. manifest.json file).
sap-iapp-state (long alphanumeric) This is the internal application state of the app. RESERVED. DO NOT USE.
sap-keep-alive false When true this keeps the app alive when the user navigates away.  Refer to your SAP Fiori launchpad guide section Keeping SAPUI5 Apps Alive
sap-prelaunch-operations (delete, split or merge) Operation to be entered as Default Value, e.g.  [{"type": "merge", "source": ["P_FromPostingDate", "P_ToPostingDate"], "target": "PostingDate"}]
sap-personas-flavor (flavor id) Add a SAP Screen Personas flavor to a GUI transaction or Web Dynpro application
sap-priority (integer) Default value is 10. Setting a higher value, e.g. 1, can be used to resolve conflicting target mappings. Refer to SAP Note 2257864 - Resolution for Conflicting Target Mappings
sap-tag (enum)

This parameter allows a label to be assigned to any target mapping. Some labels have specific meanings.

When primaryAction this makes the target mapping the default link on the Semantic Object, overriding the default action displayFactSheet. Make sure to define no more than one primary action per semantic object.

When superiorAction on a List of Links dialog the current link is shown as a favourite link (instead of only in More Links)

When suppressInEnterpriseSearch this will remove the app from the dynamic links in the Search results.
sap-ui-tech-hint UI5, GUI, or WDA Quick hint support info to identify the technology used by the app associated with a tile/link from the launch URL.
sap-ushell-next-navmode (inplace or explace) If explace, app is opened in a new web browser tab/window. If inplace, app is opened in the current web browser tab/window.
sap-ushell-plugin-type (text) e.g. UserDefaults

You find some more useful parameters and details on when and how to use them in your SAP Fiori Launchpad guide in section Passing User Settings to URL Applications.  A quick overview below:





















































Parameter Name Default Value Description
sap-accessibility %%User.env.sap-accessibility%% Indicates whether accessibility mode is active for the respective user.
sap-language %%User.env.sap-language%% The user’s logon language, for example EN, ZH or ZF
sap-statistics %%User.env.sap-statistics%% Indicates whether performance statistics in response headers are active.
sap-theme %%User.env.sap-theme%% The name of the theme, including the theme root if the theme originates from a different server than the front-end server.
sap-theme-name %%User.env.sap-theme-name%% The name of the theme, without the theme root.
sap-theme-NWBC %%User.env.sap-theme-NWBC%% The name of the theme including the theme root. This parameter is primarily used for Web Dynpro applications and transactions.
sap-ui-legacy-date-format %%User.env.sap-ui-legacy-date-format%% Fixed value representing the date format on the ABAP platform.
sap-ui-legacy-number-format %%User.env.sap-ui-legacy-number-format%% Fixed value representing the number format for decimal notation on the ABAP platform.
sap-ui-legacy-time-format %%User.env.sap-legacy-time-format%% Fixed value representing the time format on the ABAP platform.

 

Becoming a SAP Fiori for SAP S/4HANA guru


Tip: The screenshots in this blog post were taken in a SAP S/4HANA 1909 FPS02 system, with SAP Fiori frontend server is in embedded mode.

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.
10 Comments