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

SAP Fiori for SAP S/4HANA – Not Every Fiori App is a Tile

Latest Update October 2020: As of SAP S/4HANA 2020 there are now 125 reuse components in the SAP Fiori apps reference library. You can use the filter option Application Type = Fiori – Reuse Component to find all the reuse components in the SAP Fiori apps reference library. Updated the Frequently Used / Recent activities screenshot to reflect 1909 and higher releases.

Latest Update: As of SAP S/4HANA 1809 there are now 79 reuse components in the Fiori Apps Library. So most LoBs have at least 1 reuse component, and there are several generic components you can include.  You can filter on reuse components by selecting Application Type = Fiori – Reuse Component, or find reuse components for your selected apps by using the Related Apps section on the Implementation tab

A common but misplaced complaint from functional application experts on S/4HANA projects is this one: “Where’s my app? There must be tiles missing!”  After all the Fiori Apps Library shows so many apps and the Fiori Launchpad in S/4HANA shows so many tiles surely they must have a 1-1 match? Actually no – there are several ways apps can manifest as this brief blog explains.

Knowing where and how to look for Fiori apps in your Fiori Launchpad is a fundamental skill of anyone involved in a S/4HANA project.  So many apps are presented prominently on the Fiori Launchpad, it can be easy for the newcomer to think that is the only way they appear. Actually  there are 4 common ways Fiori apps are included in the Fiori Launchpad of S/4HANA.

An app can appear as a:

  1. Tile
  2. Link
  3. Navigation Target
  4. Reuse component, i.e. a shared sub component of one or more other apps

Let’s take a brief look at these and how they contribute to the S/4HANA User Experience.

Tile

A tile is the most obvious way for a Fiori app to appear.  Tiles are useful as a prominent and obvious entry point to the most important apps assigned to a user.

Tiles appear on the Home Page viewport of the Fiori Launchpad, and when searching for apps in the App Finder.

Tiles are also a useful way to display additional static dynamic information on the Fiori Launchpad itself. At some customers, subtext information on the tile is even used to educate and motivate users, e.g. “Desktop only” or “Mobile version coming soon”.

Fiori Launchpad showing a selection of tiles

Link

Where there is no need to show additional dynamic or textual information, using a Link instead of a tile is a simple way to declutter the Fiori Launchpad – particularly for less frequent tasks.

Changing a tile to a link is part of Tile Group configuration.  It’s a good idea to include this option when tailoring the Launchpad for each Business Role in scope of your project.

Tip: Make sure you validate the design with end user representatives who know and perform that Business Role. You want to make sure that you aren’t demoting a task they want to spot easily every day.

Like tiles, links appear on the Home Page viewport of the Fiori Launchpad.

Tip: If a Tile Group contains both tiles and links then links will appear below the tiles.

Fiori Launchpad showing a selection of tiles and links

Apps you have just used also automatically appear as a special kind of link in the Recently Used section of the:

User Actions (SAP S/4HANA 1909 and higher)

Frequently%20Used/Recent%20Activities%20dialog%20of%20the%20User%20Actions%20menu

Frequently Used/Recent Activities dialog of the User Actions menu

Me area (SAP S/4HANA 1511 to 1809)

Fiori Launchpad showing the Recently used section of the Me viewport

Navigation Target

Fiori provides smooth transitions from one app to another. This transition is intentionally subtle so that a user ideally will not even notice that they are in a different app.  Indeed when you are in the middle of a task, having to return to the Home viewport to move from one app to another would be very tedious.

There are many apps – particularly Display <Business Object> apps  – otherwise known as Object Pages, the successor of Factsheets – that don’t need to appear as an entry point on the Fiori Launchpad Home Page but play an important part as a target of other apps.

These are just some of the navigation techniques can potentially take you to another app:

  • Select a hyperlink
  • Press a button
  • Click on a link in the results of a Fiori Search
  • From the Task-Specific detail of My Inbox
  • From a Notification in the Notification Center

Fiori Search results for a partial keyword showing navigation links to apps

Reuse Component

There are a small number of special apps in the Fiori Apps Library that are marked with the App Type “Reuse Component” – when I originally wrote this blog back in March 2017, there were 34 reuse apps relevant to S/4HANA.

As of SAP S/4HANA 1809 there are now 79 reuse components in the Fiori Apps Library. So most LoBs have at least 1 reuse component, and there are several generic components you can include.

Reuse apps act as a shared subcomponent of a group of related apps, providing common services to ensure coherent behaviour across the related apps.  They are listed as their own app type because they have their own configuration requirements and support lifecycle.  Dependencies to a reuse app are cross referenced in each of the apps that share the reuse app, so if you are configuring an app, you can see if there’s a reuse component needed as well.

Examples include:

  • FIN User Default Parameter Plugin – which provides default values for Personalization in the Settings section of the Me viewport
  • Central Worklist Component
  • Generic Tools
  • Common ARP Line Items Library
  • Application Jobs Reuse Library
  • Sales Analysis Reuse
  • Attachment Services

Fiori Launchpad Me viewport Personalization options showing Default Values

 

You can filter on reuse components by selecting Application Type = Fiori – Reuse Component.

SAP%20Fiori%20apps%20reference%20library%20filter%20dialog%20showing%20Application%20Type%20filter%20with%20Fiori%20-%20Reuse%20component%20selected

SAP Fiori apps reference library filter dialog showing Application Type filter with Fiori – Reuse component selected

Or find reuse components for your selected apps by using the Related Apps section on the Implementation tab as explained in Adding Related Apps in the SAP Fiori apps reference library

You can find more on how to filter and find apps in the SAP Fiori apps reference library help documentation

How to Find “Missing” apps

The easiest way to find allegedly “missing” apps is to use the Fiori Search.   A quick keyword search on any  part of the app name is usually all that is needed to set the minds of newcomers at rest.

Fiori Search Results showing a search on apps

 

NOTE: The exception to this are Reuse Components. You won’t find them in the search because they provide services to other apps, rather than being an app themselves.  For these your UX Lead or administrator can check if they are active by checking the relevant ICF Nodes in transaction SICF and OData Services in transaction /IWFND/MAINT_SERVICE.

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

Assigned Tags

      17 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Mike Doyle
      Mike Doyle

      Great blog, as always, Jocelyn. Do these reuse components have a public APIs that customers can use from bespoke apps? I'm guessing not...

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

      Hmmm....  Well you can certainly take advantage of underlying OData Services and some provide extensibility options.  And their BSP id is referenced in the Fiori Apps Library so I would guess you can include them in your own apps in a similar way to the delivered apps.

      However it would be a good idea when you have a specific use case to raise a SAP Message and at least let the product owner know what you are up to... they may be able to explain possible gotchas or make some other recommendations.

       

      Author's profile photo Former Member
      Former Member

      Hi,

      I have a question wrt S4HANA fiori launchapad integrated with SAP CRM 7.0 EHP 4 for utilities industry :-

      In this scenario :-

      1. SAP CRM Web UI needs to be used or Fiori launchpad
      2. Is it possible to call Fiori launch pad from SAP CRM Web UI ?

      What is a recommended ?

      regards,

      Sagar

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

      Hi Sagar

      That's rather off-topic for this blog.  Comments should be for comments on the blog.  Please ask your question in answers.sap.com.

      Hint: Try it the other way around... i.e. Fiori Launchpad is always the single entry point.

      Rgds,

      Jocelyn

      Author's profile photo John Patterson
      John Patterson

      Hi Jocelyn

      Thanks for sharing.

      Yesterday i discovered the “default values for Personalization in the Settings section of the Me viewport” in the CDM demo of the SAPUI5 SDK

      https://sapui5.hana.ondemand.com/test-resources/sap/ushell/shells/cdm/fioriCDM.html#Shell-home

      Very cool, will start investigating how it works.

      One of the things i see with Fiori adoption, a legacy of using Parameter ID’s (PIDs) for SAPGUI transactions, PIDs for everything. Quite a few of the Fiori apps use Personalization for storing user context (eg Retail and Logistics) and so there is a bit of friction migrating.

       

      Going forward as we move away from traditional SAPGUi transactions what is their a preferred approach for storing this user context, PIDs, Personalization or other?

      Cheers

      John P

       

      ps. the reuse of components is an interesting subject, if you look at some of the Fiori Elements that consume other components, there is atleast 4 different approaches to accessing, and then yesterday whilst looking in the SDK a found there is a standard way of doing via embeded components (well 2 if you do it by code), would be nice to get some signal out of the noise and have single consistent approach.

      Example of Reuse in Elements

       from  Sample Application based on Smart Templates

      	"embeddedComponents": {
      	    "simple::Root": {
      	        "id": "simple::Root",
      	        "componentName": "reuselib.referencecomponent",
      	        "title": "{{reuseComponentTitleRoot}}",
      	        "settings": {
      	            "demoPropertyString": "{path:'ActiveProduct'}"
      	        }
      	    }
      	}

      https://sapui5.hana.ondemand.com/test-resources/sap/suite/ui/generic/template/demokit/sample.nondraft.sales.orders/webapp/manifest.json

      EDIT - links showed as text, and formatting (new to this platform)

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

      Hi John,

      Yes interesting... looking forward to the CDM.

      What I like about the user default values in Personalization is the ease with which they can be passed across to other apps - including Classic Apps (assuming they have an available input parameter) - as part of target mapping configuration.  All you have to do is map the parameter to the source e.g.  %%UserDefault.CompanyCode%% or %%UserDefault.extended.BankCountry%%

      Suggest follow the SDK for best practice where it states a best practice - that's usually the best current advice publically available.

      Rgds

      Jocelyn

      Author's profile photo John Patterson
      John Patterson

      Hi Jocelyn

      I still haven't fully got my head around how the Inbound and Outbound intent mapping works (or will work) with component crossNavigation manifest entries, and how the apps router translates parameters to internal routes, but what i am seeing and understanding makes a lot of sense.

      The example that you mention, mapping the UserDefault parameters will make for a better and consistent user experience as the settings will be transparent and user will have more control over them.

      "crossNavigation":{
      	"inbounds":{
      		"WDANavTarget-display":{
      			"semanticObject":"WDANavTarget",
      			"action":"display_ud",
      			"signature":{
      				"additionalParameters":"allowed",
      				"parameters":{
      					"UshellTest3":{
      						"defaultValue":{
      							"value":"UserDefault.extended.UshellTest3",
      							"format": "reference"
      						}
      					},
      					"P1":{
      						"defaultValue":{
      							"value":"UserDefault.UshellTest1",
      							"format" : "reference"
      						}
      					},
      					"P2":{
      						"defaultValue":{
      							"value":"P2DefValue"
      						}
      					}
      				}
      			}
      		}
      	}

       

      Out of interest what are CDM Sites?

      I am not good with TLAs but will guess CDM is not Common Data Model and is probably something like Cloudy like Cloud Demo Model, some of the features look pretty cool.

      JSP

      Author's profile photo Peter Muschick
      Peter Muschick

      Hi  Jocelyn

      thanks for your great blog! This is useful information for us.

      Do you see any way to find all app tile names if you have a Fiori app chosen out of the fiori reference library? This is really a bit inconsistent by SAP.

      Thanks for your comment!

      Best regards

      Peter

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

      Hi Peter,

      I would disagree with that! The only apps you can't find are not really apps... they are sub-apps for things like attachment services or default values for financial transactions. Users would not search for those.

      It's only the configuring UX Lead or UX Consultant who needs to find them all and they can do that in the Launchpad Designer via the tile catalog or the Fiori App Activation tool.

      Rgds,

      Jocelyn

      Author's profile photo Peter Muschick
      Peter Muschick

      Hi Jocelyn,

      Thanks for your reply!

      Well I understand what you are saying about the sub-apps. However my problem is a bit different.

      In an evaluation phase / process design phase in a project you are usually testing apps and try to find the correct one you want to use in evaluation systems e.g. from CAL. We have assigned most known PFCG roles (and catalogs) to users but not the groups to avoid that the launchpad is getting too big in the beginning. So configuration is done. However we have troubles finding the correct apps in certain examples. I believe choosing the correct application should be an action of a business / process consultant directly.

      So the issue is: When you open a fiori in the reference library you are not able to identify the relevant app tiles just by the name in the system.

      Example: "Manage Supplier Invoices" (F0859) - there is no such tile name in the system. Of course there are about 6 target mappings for create, display etc.

      The question therefore is: Is it possible to derive the exact tile names for an entry in the Fiori reference library? (e.g. over a text table?)

      Thanks for your help and reply!

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

      Hi Peter,

      A fellow UX Lead! Fantastic - yes of course business process consultants should choose the apps and you are there to guide them and if necessary challenge them out of old Business Suite system thinking.

      They are supposed to call the app the same as the Fiori Apps Library name.  Certainly there are a lot of "Manage xxx" apps.  In this case the clue you are given is in the App Launcher name "Create Supplier Invoice" which is listed in the Configuration details.

      Rgds

      Jocelyn

       

      Author's profile photo Peter Muschick
      Peter Muschick

      Hello Jocelyn,

      thanks for your help. I understand the requirement to just "search" the app using a search term. But if you have an evaluation user with a lots of apps enabled where standard words like "document" or "invoice" are in "every second" tile name, then you are repeadetly being asked how can I link an app in the ref. library to a tile name on the system.

      The UX lead on the project would have the same issue to solve. Is there no technical link between an app and the reference library? I mean the Fiori reference AppIDs would be perfect for that - or even something else.

      Currently we are documenting the "technical id" out of the URL of the app as we just have no actual ID for an app if we checked it on the system. So e.g. #bank-manage in case for the new bank management application. In 95% percent of the apps it is possible to find the app then over the semantic object and action - but it is not possible to mass do that and not 100%.

      The problem in projects is: I cannot just reply so many emails I would be getting if every consultant has to ask me for the correct AppID. But you need the AppID to be documented in order to later gather all the installation and configuration details out of the library.

      Do you know if SAP is planning to improve the Fiori ref. library with a method to link App-Tile-Name/App on the system with the Fiori Ref Library entry and vice versa?

      Thanks a lot for your reply on that (me and some other consultants I asked still have issue with handling Fiori correctly in that case).

      Peter

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

      Hi Peter,

      Your best option is probably the Fiori Launchpad Intent Analysis as you can get a list of all intents for a user. https://help.sap.com/viewer/a7b390faab1140c087b8926571e942b7/7.51.1/en-US/518e6949d2f44d51ad80f80ef03bc6ce.html

      Another option from the Fiori Launchpad to use the console log to get the reference and then look it up using the Launchpad Content Check tools

      https://help.sap.com/viewer/a7b390faab1140c087b8926571e942b7/7.51.1/en-US/cc1335c8dc6b4929b42e18d933437067.html

      The other option would be to add the App Id from the Fiori Apps library as a tag of the tile.

      The difficulty of course is that the app id is actually part of the Target Mapping which can technically be different in different tile catalogs even if the tile looks the same.  That's deliberate so that you can use the same Semantic Object + action to point to different apps for different users who have different roles & authorizations.

      Rgds

      Jocelyn

      Author's profile photo Peter Muschick
      Peter Muschick

      Thanks a lot Jocelyn! I will have a look at this and try to develop a procedure for it.

      This still looks more complex than expected in the beginning 🙁 I thought that we will be able to come up with a procedure for this for a process consultant so that he can do the evaluation of apps on his own.

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

      FYI the Fiori Apps Library team are constantly updating the features available and have heard your call. You can find the name used on the tile to launch your app on the Implementation Tab > Configuration Section > App Launcher(s)

      e.g. Manage Supplier Line Items aka Manage Vendor Line Items shows the App Launcher tile name is Manage Supplier Line Items

      and Manage Supplier Compliance shows the App Launcher tile name is Manage Suppliers Compliance, with subtitle For Raw Material

      Do remember that not all apps are launched by tiles! So the App Launcher will only be maintained if the app is launched directly from a tile.

      Author's profile photo Peter Muschick
      Peter Muschick

      Thanks Jocelyn! We already noticed that and using this information quite often now. Nice to see that things are moving forward 🙂

      Author's profile photo Sagar Bansal
      Sagar Bansal

      Hi Jocelyn,

      I want to give access to the user of the following app ID : UKM_DCD_IN, present in the fiori app reference library. Upon checking, I could see that there is no app launcher details mentioned for this app and only the semantic object info is present. How can I provide access to this application to my end user?

      Also, there is no information mentioned from which parent app the user can navigate to this app.

       

      Thanks,

      Sagar Bansal