Skip to content

Fiori Launchpad

Embed your abap2UI5 apps into SAP Fiori Launchpads. Full details:
(1) Installation & Configuration
(2) Features: Title, Parameters, Navigation
(3) Integration of KPIs

Target Mapping

Use these 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 causes cache-related issues. Here's how to clear them:

Cache Management

  1. Recalculate the app index of z2ui5 with report /UI5/APP_INDEX_CALCULATEApp index calculation report selection screenApp index calculation report output

  2. Recalculate the index of the distribution layer with report /UI5/APP_INDEX_CALCULATE (if the tab isn't visible, switch to another tab first — it usually shows up after that) Distribution layer tab in app index calculation reportDistribution layer recalculation output

  3. Clear HTTP caches in transaction SMICMHTTP cache invalidation in transaction SMICM

  4. Clear browser caches and hard reload

Manual Deployment

If clearing caches doesn't fix it, push the frontend app manually:

  1. Download the webapp folder of the project.

  2. Use the SAP program /UI5/UI5_REPOSITORY_LOAD to push the app to the server. UI5 Repository Load program for manual frontend deployment

Launchpad KPIs

Extend your Fiori Launchpad with Key Performance Indicators (KPIs) via the abap2UI5 Launchpad KPI add-on.

Repository

For more details, see the blog post on LinkedIn.

Functionality

Launchpad KPI tiles showing dynamic count values

Approach

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

(1/3) Implement the z2ui5_if_lp_kpi interface. The count method takes an optional filter string (from the OData $filter parameter) and returns the KPI 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 next to z2ui5_if_app. The count method holds your KPI 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 takes the $filter parameter with your class name, creates an instance of the class, calls count, and returns that many dummy OData entries. The Launchpad then shows the $count result as the tile KPI. Configure the tile with this endpoint:

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