Skip to Content

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 Me viewport.

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” – at time of writing this blog there were 34 reuse apps relevant to S/4HANA.  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

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 in the Fiori App Activation tool if you have installed it, or by checking the relevant ICF Nodes in transaction SICF and OData Services in transaction /IWFND/MAINT_SERVICE as per SAP Best Practice Guide Fiori Apps Deployment (MAD) which you can find in the Best Practices Explorer.

To report this post you need to login first.

7 Comments

You must be Logged on to comment or reply to a post.

  1. 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…

    (0) 
    1. Jocelyn Dart 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.

       

      (0) 
  2. Sagar Phirke

    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

    (0) 
    1. Jocelyn Dart 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

      (0) 
  3. 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)

    (0) 
    1. Jocelyn Dart 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

      (0) 
  4. 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

    (0) 

Leave a Reply