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.

14 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) 
  5. 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

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

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

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

           

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

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

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

                (0) 

Leave a Reply