Want to have the best of two worlds?
Edit: Please bear in mind that I am currently on a SAP NW 7.4 and therefore not able to test the functionality on BC 6.0 fully, as i don’t have a 7.5 ABAP system or the 7.5 UI addon to the NW 7.4.
SAP has recently released the Business client 6.0 (From now on called BC). It is a great step forward in terms of getting a centralized unified platform to present SAP technologies. There is still a way to go, but one of the good things about the BC in recent years is that it is improving rapidly.
Fiori connections is now available directly in BC. These are great in terms of getting the launchpad into the BC, however they also limit much of the highly appreciated functionality of the BC. For example you can’t launch a transaction in the navigation bar.
Just add the fiori launchpad to the BC like i have shown in this blog, you might think. However this does come with some limitations as well, for example when launching a transaction in the fiori launchpad, then it will open in webGUI.
So that might leave us at a bit of a crossroad, do we choose NWBC and add the fiori launchpad or do we choose the Fiori connection and limit ourselves?
Luckily there is a third option. I will in this blog show you how you can implement an application that will ease the management of the catalogs and groups maintained for Fiori and also give you the native capabilities of BC as well as SAP GUI.
First a little history, i have been building catalogs and groups for a POC i recently did. It takes a LONG time to create these, when you are trying to convert roles with transactions into the Fiori launchpad. You have to:
- create the semantic objects used in the navigation.
- add entries to the launchpad in LPD_CUST.
- Create the target mappings for navigation from the semantic objects to the launchpad entries in LPD_CUST.
- Add the tiles to the catalog
- Create the groups with tiles (Optional)
- Add catalog and group to a role.
I had around 100 transactions i needed to map and i took me a full day.
I know that SAP are implementing some changes to the launchpad designer, so this will be easier in the future, however currently there is no standard catalogs you can reuse, so this is much a manual activity.
Ok now for the solution. I created a web dynpro application that acts as a “jump station” between the launchpad to the desired end point, this being a transaction or WDA.
1. Implement the WDA
I have to give a big shoutout to Lars Hvam for creating this fantastic little program, that lets you export code from your backend system and add it to the GIT. So follow this guide on how to implement this little program as you need this to import my WDA.
Git client for ABAP – alpha release
Github link: larshp/abapGit · GitHub
Once that is in place then download the zipfile here kovboyjder/zit_launcher · GitHub
Upload this to your SAP system.
Ok step one done.
2. Create semantic object
Now we need to create a semantic object, this is used to navigate from our tile in the fiori launchpad to the launchpad we are going to create in the following step.
For this we need to go to transaction /ui2/semobj (remember the /n ???? ) Click the new entries and name the object and the name. I call mine ZIT_LAUNCHER in both.
Here is the first difference to the normal approach. We only need to create one semantic object as we will use this as a trigger to go to the WDA. Normally you would have to create one for each transaction or WDA you wanted to access. EDIT: You can create a semantic object and then use the actions to seperate the transactions. I would recommend you create one per module, for example MM, SD, PP etc.
3. Create launchpad in LPD_CUST
Now it is time to create a launchpad in the traditional sense. These launchpads are used widely in the enterprise portal, but also extensively in Fiori navigation. This is done in LPD_CUST.
Firstly we need to create the launchpad. Add the details for your launchpad like mine in the screenshot below.
Afterwards doubleclick your newly created launchpad and then press the new folder. Name it something to easily understand.
Now it is time to create the application, so click the “new application” button.
Add in your details for the text, application parameters, system connection and the application alias.
This is also a one time action, normally here you would need to add all the “endpoints” where the user needs to be able to go.
4. Add target mapping in the launchpad designer
Ok it is time to start looking at the fiori part of this. We need to open up the launchpad designer. I haven’t seen a transaction to launch this yet, so i do it the manual way. For
- Cross-client = configuration, use transaction /UI2/FLPD_CONF
- Current client = customizing, use transaction /UI2/FLPD_CUST
Now create a catalog.
Afterwards click the target mapping and press create target mapping
Add the following parameters
This also only needs to be done only once. Whereas the standard way is to add a target mapping for each transaction you want to use.
That was it for the this section, almost done!
5. Create tile in catalog
Click back to your tiles and click the + button. Add a new static tile.
Add the following to this:
Pay special attention to the parameters, this is where the magic happens. We are sending the parameters TYPE and TRCODE to the WDA. The WDA translates the type and passes this on to the respective end point.
Currently the following types are supported:
- Add parameter TRCODE=transaction code
- Example: TYPE=TRCODE&TRCODE=SU01
- Add parameter APPLICATON=Name of the WDA
- (Optional) Add parameter CONFIGURATION=Name of the application configuration
- Example: TYPE=WDA&APPLICATION=LO_OIF_MAIN_APP&CONFIGURATION=LO_OIF_SDOC_APPL
- Add parameter OBJECT=Business object
- Add parameter METHOD=Object method
- Example: OBJECT=salesorder&METHOD=display
For this example we add the TRCODE parameters.
Add an icon and give a description.
Optionally you can add the tile to a group, in this example we won’t.
6. Add catalog to role
Go to PFCG and add your catalog to a role.
Add your user to your group.
And you are done!
Now fire up your launchpad in the Business Client.
Find your newly created tile in the tile catalog and add it to your home.
Go back and press the maintain user. This will then quickly open up our “jump station” WDA and then launch the transaction.
This is a video of our hard work.
Maintain User launch in native GUI
Ok so what have we actually achieved here?
Well first of all we can now use the Business client with all its great features combined with the Fiori launchpad. The problem before have been that you launch the webgui by using the “standard” navigation using the launchpad.
Also i have shown a simpler way to maintain navigation. Normally you would need to do the following actions for each “endpoint” you want to reach
- Create semantic object for each module you want to reach
- Create launchpad in LPD_CUST for each endpoint
- Create target mapping for each endpoint
- Create tile for each endpoint.
With the solution listed here step 1 – 4 only needs to be done once. So this saves a lot of time in the end on administration.
This video shows the SAP standard way of doing the configuration.
And this is shows the effort using my approach assuming you have already mapped the ZIT_LAUNCHER once.
The alternative approach
To be honest whether or not i would use this productively i am not sure. But however i have shown an alternative to the standard SAP way, which gives a lot of benefits as well.
I am very interested to hear your comments.