Skip to Content
Technical Articles

Fiori for S/4HANA – Developing a Custom Fiori Launchpad Plugin

Relevant for S/4HANA 1809, 1709

Giving your end-users the best user experience will ensure better adoption of Fiori applications in your projects and while you make sure you offer the best UX you will find simple requirements that regardless of their simplicity could jeopardize the projects results.

In this blog you will find one of these cases and a possible solution, but before we jump into the solution let’s talk about the requirement and its implications.

Surely, all of you have been requested by your customers to add a label or an identification in the Fiori Launchpad for the end user to clearly distinguish in which client they have logged in. You can currently solve this issue by setting specific target mappings and assigning a custom role to all your end users as we’ve described in the Fiori 2.0 Implementation Guidelines – Fiori 2.0 Basics scenario.

However, setting up target mappings can be time consuming and if your customers plan to deploy multiple clients in their S/4HANA landscape you will need to manually modify the target mapping for each client. Additionally, by following the target mapping procedure, whatever text you define as the parameter value will be static meaning that you don’t have any options to load dynamic content from the Fiori Launchpad context which may sometimes be desirable, for example, you may wish to display the name of the user along with the client where they are logged in for which the target mapping approach will be insufficient – unless you want to manually create one custom target mapping and role per user in your system landscape times the number of clients in your systems.

For situations like these, SAP grants the possibility of creating Custom Fiori Launchpad plugins, which help modifying the Launchpad behavior or content at runtime as plugins possess some special features like:

  • Plugins help extending the functionality of the launchpad
  • Plugins are automatically loaded and initialized when the launchpad is started.
  • Plugins are implemented as SAPUI5 components.
  • Plugins shall always be implemented in a platform-independent way, meaning they are not tied to any backend version or functionality.

These features of the Fiori Launchpad Plugins allow you to build a “simplified” Fiori Application that will modify the launchpad at runtime to obtain, as described in this scenario, the current users full name and logged in client number dynamically and display these values in the Fiori Launchpad header as shown in the image.

Looks pretty simple right? And as simple as it is, this may sometimes prevent users from moving to the Fiori Launchpad.

Keep in mind that as plugins are custom objects, developing them involves the following steps:

Implementing the plug-in:

  • For which you can use the Plugin WebIDE Template available in SAP WebIDE Full Stack
  • Activating this template requires the activation of WebIDE Extension for Plugins

Activating and configuring the plug-in:

  • Using ABAP FLP configuration to make the plugin available system-wide (for S/4HANA 1809 or higher) or creating a custom target mapping and PFCG role (for S/4HANA 1709 or lower).

You can find an overview of these steps in the Fiori Launchpad Plugins – Overview deck.

If you wish to try this approach on your own, you can find the source code for the Fiori Launchpad Header Text Plugin in Github or you can try running the Step-By-Step Procedure Document.

Please note that this custom plugin is not intended for production use, it is provided only as a demo to understand the Fiori Launchpad Plugin features.

To learn more about Fiori Launchpad Plugins and Fiori Launchpad Extensibility check out the following documents:

We hope this plugin demo helps you in your implementations!

Becoming a SAP Fiori for SAP S/4HANA guru

You’ll find much more on our SAP Fiori for SAP S/4HANA wiki

Do you have any questions? Let us know in the comments section.

Thanks,

SAP S/4HANA RIG

 

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