Skip to content

Fiori Launchpad

Integrate your abap2UI5 apps into SAP Fiori Launchpads. Find all information here:
(1) Installation & Configuration
(2) Features: Title, Parameters, Navigation
(3) Integration of KPIs

Target Mapping

Use the following parameters for target mapping in your Launchpad configuration:

  • Semantic Object: Z2UI5_CL_MY_APP
  • Action: display
  • URL: /sap/bc/ui5_ui5/sap/z2ui5
  • ID: z2ui5
  • Parameter: app_start / Z2UI5_CL_MY_APP

Troubleshooting

Sometimes, installation via abapGit can cause cache-related issues. Here's how to resolve them:

Cache Management

  1. Recalculate app index of z2ui5 with report /UI5/APP_INDEX_CALCULATE App index calculation report selection screenApp index calculation report output

  2. Recalculate index of distribution layer with report /UI5/APP_INDEX_CALCULATE (if tab isn't visible try switching to another tab, then it usually appears) Distribution layer tab in app index calculation reportDistribution layer recalculation output

  3. Invalidate http caches in transaction SMICM HTTP cache invalidation in transaction SMICM

  4. Clear browser caches and hard reload

Manual Deployment

If cache clearing doesn't fix the issue, manually upload the frontend application:

  1. Download the webapp folder of the project.

  2. Use the SAP program /UI5/UI5_REPOSITORY_LOAD to upload the application to the server. image

Launchpad KPIs

Enhance your Fiori Launchpad with Key Performance Indicators (KPIs) using the abap2UI5 Launchpad KPI Add-On.

Repository

Find more information in the blog article on LinkedIn.

Functionality

image

Approach

The integration works in three steps: you implement a simple interface, the Launchpad calls a generic OData proxy service, and the proxy delegates to your ABAP class to calculate the KPI count.

(1/3) Implement the z2ui5_if_lp_kpi interface. The count method receives an optional filter string (from the OData $filter parameter) and returns the KPI value as an integer:

abap
INTERFACE z2ui5_if_lp_kpi
  PUBLIC.

  METHODS count
    IMPORTING
      filter        TYPE string
    RETURNING
      VALUE(result) TYPE i.

ENDINTERFACE.

(2/3) Implement the interface in your app class alongside z2ui5_if_app. The count method contains your custom KPI calculation logic (e.g. counting open items from the database):

abap
CLASS z2ui5_cl_lp_kpi_hello_world DEFINITION PUBLIC.

  PUBLIC SECTION.
    INTERFACES z2ui5_if_lp_kpi.
    INTERFACES z2ui5_if_app.

ENDCLASS.

CLASS z2ui5_cl_lp_kpi_hello_world IMPLEMENTATION.

  METHOD z2ui5_if_lp_kpi~count.
    "kpi calculation....
    result = 10.
  ENDMETHOD.

  METHOD z2ui5_if_app~main.
    "abap2UI5 app logic here...
  ENDMETHOD.

ENDCLASS.

(3/3) A generic OData proxy service (Z2UI5_PROXY_KPI_SRV) handles the rest. It receives the $filter parameter containing your class name, instantiates the class, calls count, and returns that many dummy OData entries. The Launchpad displays the $count result as the tile KPI. Configure the tile with this endpoint:

.../sap/opu/odata/sap/Z2UI5_PROXY_KPI_SRV/ENTITYCollection/$count?$filter=CLASS eq 'z2ui5_cl_lp_kpi_hello_world'