RAP - Show app count (Tile)
This example is about displaying a counter on the tile of a Fiori Elements application and how such a thing can be implemented.
Table of contents
On an on-premise system there is the Fiori Launchpad Designer, but this is not available on the ABAP environment, so today we would like to introduce you to the possibility of still getting a number on your tile in order to provide the user with information before navigating to the application.
Introduction
Tiles in the Fiori Launchpad are used to navigate to the individual applications and usually differ from each other in terms of text and icons. They are intended to make it easier for the user to navigate between the many applications and offer a nice entry point into the Fiori world without being overloaded with transaction codes.
In some cases we have tiles where the user is supposed to process TODOs or is informed about a current status. Displaying the number directly on the tile has advantages because the user does not have to navigate into the application to see changes.
Implementation
So what does the implementation of the function look like? First of all, we should already have a Fiori application in the Business Application Studio and it should also have a Fiori Launchpad configuration, as this should also be integrated into the Launchpad later. For this we use our example application from this article:
Now we have to adapt the “crossNavigation” part in the manifest.json file, where we had already entered the icon so that not only text on the tile can be read. We now need to add the following information to this section:
"indicatorDataSource": {
"dataSource": "mainService",
"path": "/Partner/$count",
"refresh": 5
}
In the end, the section should look something like this.
So what exactly have we added? We have added another source to display information on the tile:
- dataSource - In the "dataSources" area you will find the various sources of our app that provide data. In most cases when we use a Fiori Elements app, the name "mainService" is used. We refer to this service in order to read further information.
- path - Specifying the path to get the result, in the example the entity "Partner" is used and the number is determined for it.
- refresh - Number of seconds until the count on the tile is refreshed again. If it is 0, the counter is only determined once when loading, otherwise it is read every x seconds, whereby the minimum should be 10.
Result
After deploying the customized configuration, we just need to update the launchpad and get the result on our tile.
If we open the network tab in the browser's developer tools, we can also see how the launchpad keeps getting the current number from the backend.
Conclusion
Implementing the number on a tile works a little differently than in the backend, but with the necessary knowledge it shouldn't be a problem for you. As a tip, we would also like to give you that you should always keep an eye on the performance when the CDS View determines the data for the count in the background; requests for an update should be made accordingly frequently.