Skip to Content
Technical Articles
Author's profile photo Jocelyn Dart

SAP Fiori for SAP S/4HANA – Creating custom content for Business Roles

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%20for%20creating%20custom%20business%20roles%2C%20highlighting%20creation%20of%20custom%20content%20in%20technical%20catalogs%20as%20an%20initial%20step

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.

Scope%20for%20technical%20catalogs%20vs%20business%20catalogs

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 for HTML
  • 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%20link%20dialog%20for%20Maitnenance%20Ntoifia

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%20Apps%20menu%20button%20when%20viewing%20a%20selected%20notification%20title%20in%20SAP%20Fiori%20app%20Find%20Maintenance%20Notifications

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%20links%20to%20apps%20in%20the%20Search%20results%20list

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%20of%20the%20contents%20of%20SAP%20Semantic%20Objects%20table%20/UI2/SEMOBJ_SAP

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.

Search%20by%20wildcard

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%20Catalogs%20shown%20in%20the%20configuration%20%28CONF%29%20scope%20of%20the%20launchpad%20content%20manager%20-%20technical%20catalog%20SAP_TC_EAM_BE_APPS%20is%20highlighted%20in%20the%20Catalogs%20pane%2C%20and%20the%20App%20Type%20column%20is%20highlighted%20in%20the%20Content%20in%20Catalog%20pane

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%20target%20mapping%20for%20a%20SAP%20Fiori%20app%20-%20All%20Fields

Example target mapping for a SAP Fiori app – All Fields

Example%20target%20mapping%20for%20a%20SAP%20Fiori%20app%20-%20Parameters

Example target mapping for a SAP Fiori app – Parameters

In Launchpad Designer:

Example%20of%20a%20target%20mapping%20for%20a%20SAP%20Fiori%20app

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%20target%20mapping%20for%20a%20SAP%20GUI%20transaction%20-%20All%20Fields

Example target mapping for a SAP GUI transaction – All Fields

 

Example%20target%20mapping%20for%20a%20SAP%20GUI%20transaction%20-%20Parameters

Example target mapping for a SAP GUI transaction – Parameters

In Launchpad Designer:

Example%20of%20a%20target%20mapping%20for%20a%20SAP%20GUI%20transaction

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%20target%20mapping%20for%20a%20Web%20Dynpro%20application%20-%20All%20Fields

Example target mapping for a Web Dynpro application – All Fields

Example%20target%20mapping%20for%20a%20Web%20Dynpro%20application%20-%20Parameters

Example target mapping for a Web Dynpro application – Parameters

In Launchpad Designer:

Example%20of%20a%20target%20mapping%20for%20a%20Web%20Dynpro%20application

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%20target%20mapping%20for%20a%20Web%20Client%20UI%20application%20-%20All%20Fields

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

Example%20target%20mapping%20for%20a%20Web%20Client%20UI%20application%20-%20Parameters

Example target mapping for a Web Client UI application – Parameters

In Launchpad Designer:

Example%20of%20a%20target%20mapping%20for%20a%20Web%20Client%20UI%20application

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%20of%20a%20target%20mapping%20for%20a%20URL

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%20of%20mapping

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%20of%20mapping%20PurchaseOrder%20to%20target%20field%20P_EBELN

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.

Assigned Tags

      10 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Mostafa Naghizadeh
      Mostafa Naghizadeh

      Dear Joclean,
      I created a wizard with all fiori tools for managing apps and their roles.


      I also created a Sync Program for Syncing Backend and Frontend roles in the Hub environment.

      My question is about the number of involving roles?!!

      1- Fiori Front-end Role (Catalogs +IWSG Services) @AutoSync

      2- Fiori Backend Role Based on role 1 (Catalog +IWSV + Business Authorizations with no values) @AutoSync

      3- Module-based Business Role (Business Scenario Authorization Objects, Org Values, Tcodes) @NoSync

      I separated 2 and 3, Because, Role Sync overrides role 2, and business authorization objects will be deleted.

      There is a Time-based Job and also a Manual Program for Sync Process.

      Only business Role (3) needs to assign to the user and others will be assigned by sync.

      So Can you Suggest a simpler model (Less Work on Sync Fiori roles(BE,FR) ) with Less maintenance effort Please?
      Fiori%20Wizard

      Fiori Wizard

      Author's profile photo Jocelyn Dart
      Jocelyn Dart
      Blog Post Author

      Hi Mostafa

      Ok so this doesn't seem to be related to this current blog post on Spaces and Pages? Please use blog comments to only comment on the *current* blog post otherwise it just gets very very confusing for everyone.  If you want to ask for feedback, then I would suggest ask your question and use the tag SAP Fiori for SAP S/4HANA. If you would like to encourage particular people to comment then you can @ mention them in your question.

      From what I can see of your solution, I agree it's very useful to organize tools into an appropriate order in a kind of cockpit.

      A couple of watchpoints...

      I would be concerned that any cockpit like this would very quickly get outdated with all the changes in tools as explained in https://blogs.sap.com/2020/09/11/sap-fiori-for-sap-s-4hana-overview-of-tools-for-maintaining-custom-launchpad-content-and-layout/.   Doing this on the Fiori launchpad itself as a role might be better - there is even a new FLP Administrator role in SAP S/4HANA 2020 which gets you part way there.

      I am also wondering if you are aware of the standard mass maintenance synchronization tools for this purpose which you can find at https://blogs.sap.com/2018/09/03/fiori-for-s4hana-mass-maintenance-of-business-roles-for-sap-fiori-launchpad/

      If you want to take this further please raise a separate question using the Ask a Question link in the SAP Community header area. Make sure you include your SAP S/4HANA release and FPS as that would make a difference to the tools and practice of the role creation process.

      Kind rgds

      Jocelyn

      Author's profile photo Pablo Ghosh Roy
      Pablo Ghosh Roy

      Greetings Jocelyn,

      I have a question about hiding dynamic/smart links with respect to the App ID : F2071. The App lists all the Maintenance Notifications and when you click on a certain Notification; you get a pop up with a link that shows another poup up with Smart Links which are apps either related to Maintenance Notification or access to Tiles/TM provided to the users.

      We are trying to hide some of these links and I was advised to use the parameter sap-tag = suppressInEnterpriseSearch which will hide it from Entreprise Search and also from the List of Smart Links.

      Trying%20to%20Hide%20the%20Link%20%3A%20Change%20Task%20List

      Trying to Hide the Link : Change Task List

      However this attempt has been partly unsuccessful as were able to hide it from the Entreprise Search but not the from the List of Links.

      Can you please advise what must be done to achieve this?

       

      Regards,

      Pablo Ghosh Roy

       

      Author's profile photo Jocelyn Dart
      Jocelyn Dart
      Blog Post Author

      Hi Pablo,

      I would not use that approach except as a last resort.

      The better option for hiding the smart links is to

      a) Simply not include them in your custom business role. Users can only see links they are already authorized to use via their business catalogs.

      Remember if they are still authorized to use those apps/UIs they can always get to those apps/UIs via the App Finder or the Home navigation button or the Fiori Search. So hiding them on the smart links is just visibility - it doesn't restrict authorizations.

      b) If you want to direct their attention to using certain links in certain use cases, instead use Adapt UI capabilities to default the preferred links on behalf of users. That limits the need to move to the "more links" dialog at all. This capability is available for smart links as of SAP S/4HANA 1909

      Kind rgds

      Jocelyn

      Author's profile photo Pablo Ghosh Roy
      Pablo Ghosh Roy

      Thank You Jocelyn for your quick feedback. I will try out the option A (as Option B is not possible since we are on Version 1809 FPS 2).

      Regards,

      Pablo Ghosh Roy

      Author's profile photo Matt Harding
      Matt Harding

      Hi Jocelyn,

      Got a scenario that needs a solution to Pablo's original question.

      ME23N needs a wrapper transaction for intent navigation to open the right Purchase Order. But...You don't want a tile pointing at transaction MMPURPAMEPO as that shows the first screen if no parameters are passed.

      Hence we need a Target Mapping for Search and related apps to "Display Purchase Order" and we need a "Display Purchase Order" Tile and associated Target Mapping to call ME23N where this TM should not show up in search or related apps.

      Any sap-tags hidden around for this?

      The only solution I have at hand now is call the 2nd Target Mapping "Display Purchase Order (to Last Purchase Order)" or similar (that's a terrible name).

      Cheers,

      Matt

      Author's profile photo Jocelyn Dart
      Jocelyn Dart
      Blog Post Author

      Hi Matt

      To include a link for navigation but not as a tile, create a target mapping without a tile.

      To create a tile & target mapping for the launchpad that is not shown in search results there is a parameter to exclude the link from search. That only impacts search but not Related apps or smartlinks. 

      Here you go: sap-tag=suppressInEnterpriseSearch

      You might also just include a hint in the link title

      Eg Display Purchase Order Advanced, Display related Purchase Order

      Or better yet deploy the Purchase order factsheet app itself … can save needing to use the GUI transaction at all depending on your use case

       

      Author's profile photo Matt Harding
      Matt Harding

      Thanks Jocelyn. We really do need a tag to hide from related apps though...So many target mappings are one off transactions that should be a tile and not something in the list - especially if you are trying to encourage not using that transaction.

      Solution I went with in the end was to have the Tile's Target Mapping named differently than the tile and the additional MMPURPAMEPO Target Mapping, and call it "Display Last Purchase Order" which is actually what ME23N does anyway.

      Fact sheet is there also, but never quite 100% comprehensive so this is required in today's S/4HANA.

      Cheers,

      Matt

      Author's profile photo Ritin Jain
      Ritin Jain

      Hi Jocelyn,

       

      Is there a way to pass transaction variant as I need to default date -> current date + 12 months.

      Or pass this as regular expression in Fiori parameter?

       

      best regards

      Ritin

      Author's profile photo SivaPrasad Pudugosula
      SivaPrasad Pudugosula

      Hello Ritin,

      Did you find the solution for your requirement?

      Regards

      Siva