Fiori app configuration in SAP Fiori Launchpad
Overview
- Once SAP UI5 app has been deployed in SAP Fiori (Front-End) server, we need to do some configurations for accessibility of this app in SAP Fiori Launchpad.
- SAP Fiori launchpad is a shell that hosts SAP Fiori apps, and provides the apps with services such as navigation, personalization, embedded support, and application configuration.
- SAP Fiori launchpad is the entry point to SAP Fiori apps on mobile and desktop devices.
- In this blog, we will com to know about steps to configure any custom UI5 for SAP Fiori launchpad access.
- This blog is part of below parent blog:
Pre-requisites:
- SAP Fiori Server (Front-end)
- SAP Fiori Launchpad Url:
- http://<host>:<port>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html
- SAP Fiori Designer Url:
- http://<host>:<port>/sap/bc/ui5_ui5/sap/arsrvc_upb_admn/main.html
Steps of Configuration:
In SAP-Fiori Launchpad, a SAP-UI5 application get accessed using following flow of components:
[1] Create Semantic Object in SAP Fiori Server (Front-end) server
- T-code: /n/UI2/SEMOBJ
- Steps:
- Semantic object with which we link ‘Business Tile‘ and ‘Target Mapping‘ within ‘Business Catalog’
- Go to t-code -> change -> click on ‘New Entries’ ->
- enter the details like object name , description etc.
- click on icon ‘save’ to save it.
[2] Create Launchpad Role in SAP Fiori Server (Front-end) server
- T-code: LPD_CUST
- Notes:
- We define Launchpad roles to link SAP UI5 Application with Tiles
- One Launchpad role can have multiple SAP UI5 Application references each will be differentiated with help of Alias name.
- Launchpad role and specific Alias combination will be referred in ‘Target Mapping’ of Catalog configuration to link one SAP-UI5 application.
- Go to t-code -> click on button ‘New Launchpad’ ->
- Steps:
- Create New Launchpad Application:
- Go to tcode -> click on button ‘New Launchpad’ ->
- Provide input as shown in below screen
- Here put some namespace as ‘Z’, it is required while including this role to TR (Transport-Request)
- Click ok icon -> Click ‘Yes’ in next window.
- In Next window, click on ‘New Application’ to create new UI5 application link->
- end.
- Create New Application which requires below details:
- Link Text:
- Title of Launchpad Role for fiori App
- Note: While accessing app from Fiori Launchpad, this LPD text get appears as header title for each page in new SAP-Fiori Hana upgrade
- Url
- This entry is to refer SAPUI5 application path which post-deployment resides in t-code ‘SICF’ path
- Application Alias
- One ;Launchpad Role’ can have multiple UI5 application links, each should have unique alias
- Launchpad role name with its Alias name identifies one application link
- Additional Information
- Here enter UI5 app’s component name defined in Component.js
- Syntax: Component=<ui5 app component name>
- For e.g. Component= ZTest_App01
- Below ‘Component.js’ screen can be referred where component name is present
- LPD Role’s application looks like as below after saving the details
- Once saved we can see role in t-code ‘LPD_CUST’ as in below screen
- end.
- Link Text:
- Steps to include Launchpad role in TR:
- We can include Launchpad roles in TRs for trasnporting it from one system to another
- Pre-requisites: Two transport request (TR) required:
- One as customized request (CSR)
- One as workbench request (WBR)
- To Include Launchpad role in transport request, follow steps as below
- open Launchpad Role from t-code ‘LD_CUST’ > go to Menu ‘Launchpad’-> click on ‘Transport
- In next window enter Package details
- In Next window provide Customizing Request
- In Next window enter provide Workbench Request
- Once done below screen appears
- end.
[3] Create Business Catalog
- SAP Fiori Designer Url:
- http://<host>:<port>/sap/bc/ui5_ui5/sap/arsrvc_upb_admn/main.html
- Steps:
- Login to above ‘SAP Fiori Designer Url’
- To add a Catalog, in ‘Catalog’ section click on plus ‘+’ icon
- Enter Catalog Id and title in pop-up window
- Now once catalog gets added, we can see it left panel, now next we need to add a ‘Tile’
- Here we can add tile as of below types:
- Static
- Dynamic
- New Tile
- select “App Launcher – Static” Tile
- Enter Title, Subtitle, Semantic Object, Action in Tile and save it.
- Once Tile gets added it can be seen as below:
- Now click on icon ‘Target Mapping’ -> click on status bar button ‘Create Target Mapping’
- Enter same Semantic Object name and action as of ‘Tile’
- And save it.
- Thus Tile and ‘Target Mapping’ is linked using ‘Semantic Object’ + ‘Action’
- and ‘SAP UI5 application’ path is linked in ‘Target mapping’ via ‘Launchpad Role’
- Catalog -> Tile -> ‘Target Mapping’ -> ‘Launchpad Role’ -> UI5 App
[4] Create Business Group
- SAP Fiori Designer Url:
- http://<host>:<port>/sap/bc/ui5_ui5/sap/arsrvc_upb_admn/main.html
- Note:
- One ‘Business Group’ can have single or multiple Tile from same Catalog or multiple Catalog
- With this ‘Business Group’, we control app/tile accessibility to users in SAP Fiori Launchpad
- Steps:
- Login to above ‘SAP Fiori Designer Url’
- Create Business Group -> go to Group -> click on ‘+’ sign to add group
- Enter Group details
- Once Group get added, we can assign multiple tiles from different catalogs.
- Here select our test catalog and add tile as below
- Open Catalog F4 help pop-up from button and search/select test-catalog
- Once catalog is selected, all tile of this catalog can be visibl
- We have to add catalog by selecting ‘+’ icon of Tile, which gets changed to ‘ok’ icon post addition
- Here we can select multiple ‘Tile’ from same Catalog or from multiple Catalog
- Thus once group has one tile assigned, it appears as below
- end
[5] Create App’s PFCG Role in SAP Fiori Server (Front-end) server
- T-code: PFCG
- Once ‘Business Catalog’ and ‘Business Group’ gets created, their access needs to be provided to user-id, for same we create a PFCG role specific to UI5 application which can be assigned to user-ids
- For customized app’s accessibility in Fiori Launchpad page, one user-id will be assigned two PFCG Roles, which are:
- One PFCG Role for Fiori Launchpad accessibility, which includes below default services acces
- R3TR IWSG ZINTEROP_0001
- R3TR IWSG ZPAGE_BUILDER_PERS_0001
- R3TR IWSG ZTRANSPORT_0001
- R3TR IWSV /UI2/INTEROP 0001
- R3TR IWSV /UI2/LAUNCHPAD 0001
- R3TR IWSV /UI2/PAGE_BUILDER_PERS 0001
- Note: Post activation/registration of above standard services, they get renamed with ‘Z’ prefix
- One PFCG Role for SAPUI5 Application, which includes:
- Business Group
- Business Catalog
- Odata Service accessibility
- One PFCG Role for Fiori Launchpad accessibility, which includes below default services acces
- Steps:
- [A] Create PFCG Role for Fiori Launchpad accessibility
- To create PFCG roles go to t-code ‘PFCG’ -> Enter Role name -> click on button ‘Single Role’
- Enter description
- Go to Tab ‘Menu’ -> click on end point of button ‘Transaction’ -> select ‘Authorization Default’ ->
- Here we add below standard registered Fiori Launchpad services with parameters as shown in screens:
- R3TR IWSG ZINTEROP_0001
- R3TR IWSG ZPAGE_BUILDER_PERS_0001
- R3TR IWSG ZTRANSPORT_0001
- R3TR IWSV /UI2/INTEROP 0001
- R3TR IWSV /UI2/LAUNCHPAD 0001
- R3TR IWSV /UI2/PAGE_BUILDER_PERS 0001
- These are required for accessibility of Fiori Launchpad to any user
- Add R3TR IWSG
- Add R3TR IWSV
- Now add user in tab ‘USER’, to which app access is to be given for e.g. ‘DILIPP’ and perform user comparison
- And generate authorization profile in tab ‘Authorization’
- Once above activities gets completed our roles looks like as below:
- [B] Create PFCG Role for SAPUI5 Application
- To create PFCG roles go to t-code ‘PFCG’ -> Enter Role name -> click on button ‘Single Role’
- Enter description
- Go to Tab ‘Menu’ -> click on end point of button ‘Transaction’ -> select ‘SAP Fiori Tile Catalog’ ->
- Adding ‘Business Catalog’ access: In Next pop-up select ‘Business Catalog’ which we have created
- Adding ‘Business Group’ access:
- Go to Tab ‘Menu’ -> click on end point of button ‘SAP Fiori Tile Catalog’ -> select ‘SAP Fiori Tile Group’
- Note: here ‘Transaction’ button get replaced by ‘SAP Fiori Tile Catalog’ because last selection was of catalog
- Adding custom ‘Odata Service’ access:
- If UI5 App is using Custom OData Service, then add R3TR IWSG & IWSV accessibility also
- Go to Tab ‘Menu’ -> click on end point of button ‘SAP Fiori Tile Group’ -> select ‘Authorization Default’ ->
- Now add user in tab ‘USER’, to which app access is to be given for e.g. ‘DILIPP’ and perform user comparison
- And generate authorization profile in tab ‘Authorization’
- Once above activities gets completed our roles looks like as below:
- [C] Role assignment to user-id
- Suppose one user-id ‘DILIPP’ needs to access our test app, then we need to assign PFCG role to this user-id
- In SAP-fFori server, Go to t-code ‘SU01’ -> Tab ‘roles’ -> add roles
- Now login SAP Fiori Launchpad using this user-id, we get access of UI5 app tile.
HI Dileep,
I am trying to Configure Custom UI5 App to FIORI Launchpad am getting below error.
Please fin ethe screen shot below for detailed error.
Dear Mantri,
First confirm whether your custom app is running within Eclipse.
For UI5 app project's structure, you can refer below link:
And as per your error screen, it seems to be your UI5 app doesn't have
You can also ping me your LaunchPad-Role screen & UI5 App structure.
Thanks & Regards,
Dilip
Dear Dileep,
Thanks for your prompt response.
Actually I created my App in SAP WEB IDE and am trying to deploy the application using se38 program in abap server(/ui5/ui5/repository_load).
In my application I have component.js file.But doing a small change it is working.
Regards,
Shekar.
Dear Mantri,
Good to hear, your issue has been resolved..
Thanks & Regards,
Dilip
Hello Shekar,
I am also getting the same error as you mentioned in last screenshot. Could you please help me to resolve the same. What small changes are needed in Component.js ?
Regards,
Archana
Hi Archana,
May i know how you created your custom App and how you are deploying this app.
Regards,
Shekar.
Hello,
I created my App in SAP WEB IDE and am trying to deploy the application on abap server using WEB IDE only.
Regards,
Archana
Hello,
Could you Please share the screenshots of SAP WEB IDE Folder and the eror you are facing.
Regards,
Shekar.
mantrishekar951@gmail.com
Hello,
Please find my screenshots for WEBIDE project folder structure and error screenshot.
Regards,
Archana
I have a similar problem can help me the version of fiori is 1.0
detination with ip public
I execute the project where I use the created destination
It does not bring me the data of the service when I test the application in sap
Hi,
Nice blog.
Just a small doubt. Is it necessary to create separate Semantic Object for every application? or we can use same semantic object with different actions for different app?
Thanks in advance.
Dear Irfan,
One 'Semantic Object ' can be referred in two application but they should have unique action methods.
For Example: you see example of std. Buyer apps, where
Here, please note, 'semantic-object' and 'action' combination should be unique, which will be used in 'Target Mapping'.
Hope, above helps....
Thanks & Regards,
Dilip
Hello, i made two applicaitons one in sap web ide and anothe in eclipse and neither of them works, can you give the link to donwload your app ? my syntax it's a little different i don't know if that's the reason ...
Dear Naoto,
Sorry for delayed response, I was too much busy in my current project….
I'll try to make a google drive link soon to refer a test app (which is been developed using Eclipse)
Thanks & Regards
Dilip
i would be very greatful
Hi,
let's say I created one catalogue for all relevant apps for a certain scenario. Now I want to hide some apps (not just the tiles but also the target mappings since they actually prevent the app from being started) from a certain user group do I have to created another catalogue with the allowed apps only? Can I control that via groups or is there a direct connection between target mappings and PFCG Roles?
Tobias
Dear Tobias,
First lets understand relation between PFCG-Roles, Groups, Catalogs, Tiles, Target-Mappings and SAP-UI5-App.
Thus, about your query:
I hope above makes the things clear for you.
Thanks and Regards,
Dilip
Nice blog. Thanks for sharing the knowledge.
Hi,
First of all, thank you so much for your blog. It’s pretty good and easy to understand.
I have an issue opening my custom app in Fiori launchpad. Can you please help. Below are the details:
I have created a custom Fiori app to display table data from backend Odata. I also deployed by UI5 application into Frontend Gateway Fiori system and able to run successfully from SICF node test run(see attached).
Later I created Semantic object, Launchpad role and provided these details in my Catalog as described in this blog and attached to group. The PFCG roles are created as suggested and assigned to my user id but unable to open my custom app in Fiori Launchpad(see attached).
Also attached my Component.js code for your review(see attached).
Can you please help me to resolve the issue. Any pointers on this is much appreciated.
Please let me know if you need any further details. Thank you.
-Raghu
Hi,
Surly, there is FLP configuration issue w.r.t. to your custom app, just re-verify each of below things step-by-step:
If, above not helping you to get the root cause, then, while running app, press 'F12' and get console log and try to understand it, you can also let us know
Thanks & Regards,
Dilip
Hi Dilip,
Thanks for your reply. I have verified all above mentioned and it looks good. I think I have an issue with my UI5 application itself after adding the component.js.
Earlier I had deployed my UI5 application without Component.js and it's working fine from SICF.
index.html -> zsupplier_dwnld.view.js
But in order configure in FIori Launchpad I had added Component.js and change script in index.html to call component.js instead of zsupplier_dwnld.view.js but I am getting error when I do local testing in eclipse.
index.html -> Component.js -> zsupplier_dwnld.view.js
Error:
SCRIPT5022: failed to load 'zsupplier/Component.js' from resources/zsupplier/Component.js: 404 - Resource could not be found!
I am posting my complete UI5 application below for your review. Can you try the same in your system quickly if possible as I am getting error in local testing itself.
index.html :
I have changed in script in index.html to call Component.js but earlier it was directly calling zsupplier_dwnld.view using below script and working fine from SICF.
Component.js :
zsupplier_dwnld.view.js :
zsupplier_dwnld.controller.js :
Do you see any issue in my UI5 application or any script changes needed? It seems i am able to navigate well from index.html to Component.js but some issue in Component.js and zsupplier_dwnld.view. Can you please advise.
Do we need to use only xml views(not js views) to make it work from Fiori Launchpad? Is there any restriction like that? It would be stupid question but want to know if any such restrictions?
Thank you.
-Raghu
F12 error screen shot of my UI5 application explained in above comment.
Hi Raghavender Vadakattu
Your project structure has wrong page references. In the blog, its like something below:
However, in you project structure, you are doing something like:
Hope, above helps you understand the issue.
Thanks & Regards,
Dilip
Hi Dilip,
Thanks very much for your reply.
I have done all suggested changes except converting my zsupplier_dwlnd.js to xml view which I am not sure how to do it but I still have the same issue. Please see below screen shots.
Component.js:
zsupplier_dwnlnd.view.js:
zsupplier_dwnld.controller.js:
No changes done on index.html as suggested.
Error message:
I hope my UI5 application works If I can make the navigation from component.js to zsupplier_dwnlnd.js successfully.
I suspect there’s would be some basic script issue causing loading of component.js. Can you please suggest where would it went wrong with your expertise as I’m still facing the same issue.
Can you please guide me to convert my zsupplier_dwlnd.js view to xml view and also what other changes need to be done to make it work.
Thanks again.
-Raghu
Hi,
Please have a look on below blog from me, you will get your answers surly:
thanks & Regards,
Dilip
Hi Dilip,
I followed these instructions to what i thought was “to the letter”.
Unfortunately, when i click on the tile in the launchpad, i get an empty shell:
In eclipse, the app is working as designed. Also, i get no errormessages at all.
I suspect the LPD_Cust to be the root, so could you elaborate on which alias has to match what and what exactly has to be put in the aditional infos?
or maybe i’m wrong somewhere else, in which case i will happily provide more info.
Thanks in advance
Dominic
Hi Dominic,
If you are doubting LPD_CUST config, then I suggest you to try below things first:
2nd About LPD_CUST and your query, plz refer following comments:
Thanks & Regards,
Dilip
Hi Dilip,
first of all, many thanks for the rapid response.
both answers did the job.
choosing URL made it possible for everyone with the link (for ex. passsed to collegue via email) to use the app.
i put the application alias in all uppercase, as found in LPD_CUST. it also appears that "additional information" is far from ..."oh and by the way", but a vital part of the orchestration.
thanks again,
Dominic
Happy to hear that your side issue gets resolved.......
Thanks & regards,
Dilip
HI Dilip,
I would like talk about Fiori launch pad configuration on EHP 7 only for PM on Fiori.
I am trying to find ur contact but it is very diffcult.
Could you pls call me once @ 8660036709 or please text me so that i can call u for 5 mins.
Regards
Suresh K
Hi Suresh,
You please write your queries here only, I'll try to address it.
Thanks & Regards,
Dilip
Hi, I added my app as described, however, there is an empty screen. What did I skip?
Hi Fedor Shestov,
Thanks & Regards,
Dilip
Thank you for your response. This app was created automatically based on the template "List Report Application" with using Odata Service + CDS + annotations. This app works fine in SAP Web IDE.
Nice blog. It helps a lot
Jagtar....nice to hear that....
Regards,
Dilip
Nice blog Dileep, really helpful for people who are new to Fiori.
I am trying to Launch the AO workbooks which are saved as Document to ABAP system (SAP NetWeaver Platform S4 system). Can we somehow call the "Object Type=Document" from Fiori Launchpad using Target Mapping?
I am using following URL in the tile currently to achieve this but I believe there must be a way to create a target mapping for this as well. Any thoughts?
http://sap-dev.xxxxxx.sug.pri/sap/bw/analysis?APPLICATION=EXCEL&OBJECT_TYPE=DOCUMENT&OBJECT_ID=R0XXX_GL_ACCOUNT_ANALYSIS
Hi Rajkumar,
I think, you can try Target Mapping’s ‘Application Type’ option as “URL”
And if you succeed, please let me know, this is a new kind of requirement for me as well.
Generally I prefer use of oDataService to “store/read” SAP-file (pdf/excel) via SAP-UI5-App.
Regards,
Dilip
Very nice blog. And thanks for your prompt responses.
HI Experts,
i am facing an issue, i have developed a custom application using web IDE and it is working all fine in development and quality system but in production system it is not coming in fiori launchpad. even-though it is still there in the fiori launchpad designer.
any insights would be helpful.
regards,
arun
Hi Arun,
If app’s tile is not visible in FLP, the root cause is, that, respective user-id do not have correct PFCG role access. This PFCG role should have access to app’s B. Catalog/Group and ODataSrv.
Please re-check w.r.t. above blog’s reference.
Thanks & Regards,
Dilip.
Why ?
thanks you
sammon
Dear Sammon,
Please remove empty space, you can not add space in ID
it should be ZTest_Catalog
not like below (below yellow highlighted has empty space) :
Thanks & Regards,
Dilip
Hi Dilip ,
Am following your blog step by step.Does the above configuration all steps required if i am using Local Webide with Connection to Fiori/ Backend established ? Thanks.
Regds,
Somnath.
Hi Somnath,
Sorry for very late reply, till now, you may have already addressed the requirement
However, this blog’s configuration steps are required when you plan to deploy your application in Fiori Launchpad.
For Local testing (e.g. Eclipse or WebIDE), above is mandatory.
Thanks & Regards,
Dilip
Hi Dilip,
It's very nice and well explained in a easy manner.
When i launch the Fiori app from the FLP , in the navigation menu - still i could see the BSP name instead of Application title , could you please suggest me how can we achieve this , example is below .
Note : Lets say - Manage Products ==> Z_BSP_NAME
Currently displays Z_BSP_NAME instead of Application Title., Kindly advice where i missed
When launching the Application from the LPD , could see still my BSP application name , instead of App Title
Thank you in Advance.
Hi Mallikarjuna,
In group name you have kept Tech-Name and title both as Z_BSP_NAME. Change title name as per custom text.
Thanks & Regards,
Dilip
Hi I am trying to deploy a standard Transaction say CN01 to fiori, I configured it in flpd_cust with target mapping and all and gave the roles as well but when i try to use it in fiori it is comming blank.
Any idea what i missed
Hi Vinoth,
Assign the App-role to user-id via which you are try to access the FLP.
Cross check, if App-role has B.Catalog/Group/ODataSrv tech-names listed.
Thanks & Regards,
Dilip
I am using using Apple JDK11 with Bigsur OS and eclipse :2019-12 . If any one encountered this and resolved or has a work around please advise.
Hi,
I hope you must have resolved this by now. It seems to be related to JDK11/Eclipse setup having std. error, if so, just for my information, can you provide the work-around. Atleast I haven't come across this issue.
Thanks & Regards,
Dilip
Hello blogger, I encountered such an error in the ECC environment. I don't know how to deal with it. I wonder if you have encountered it?
error img