Overview
Dear All,
You will be informed in this article on using
sap.ushell.components.tiles.utils library instead of sap.ushell.components.tiles.utilsRT library for upgrading systems greater than or equal to 1.100.0 version of UI5.
So, if you had a custom tile application on your OnPremise system which has lower than 1.100.0 version, you will encounter the problem that does not display tile.
Here, I would like to explain how we can replace related methods of
sap.ushell.components.tiles.utilsRT library in your exist custom tile application for OnPremise Fiori Launchpad with
sap.ushell.components.tiles.utils.
Introduction:
If you are interested in creating custom tile application, you can see the link below.
https://blogs.sap.com/2016/08/23/create-and-use-custom-tile-type/
With 1.100.0 version of UI5 sap.ushell.components.tiles.utilsRT library is not available in the systems. Let's fix it on an example.
Step 1: Remove jQuery.sap.require("sap.ushell.components.tiles.utilsRT");

Step 2: Changes the code as described below.
-
- Change the line 20 with oConfig=sap.ushell.components.tiles.utils.getActionConfiguration(oTileApi,oTileApi.configurationUi.isEnabled()),
- Change line 41 with data: sap.ushell.components.tiles.utils.getDataToDisplay(oConfig, {
number: (oTileApi.configurationUi.isEnabled() ? 1234 : "...")
}),

- Change line 167 with var tileSettingsAction = sap.ushell.components.tiles.utils.getTileSettingsAction(oModel, this.onSaveRuntimeSettings.bind(this));

- Change line 324 with configToSave.navigation_target_url = sap.ushell.components.tiles.utils.getSemanticNavigationUrl(configToSave);

- Change line 349 and line 351 with
var oConfigurationConfig=sap.ushell.components.tiles.utils.getActionConfiguration(oTileApi, false);
oTileConfig=sap.ushell.components.tiles.utils.getActionConfiguration(oTileApi, true);

- Change line 418 and line 425 with
oDataToDisplay = sap.ushell.components.tiles.utils.getDataToDisplay(oConfig, oData);
sap.ushell.components.tiles.utils.addParamsToUrl(
this.navigationTargetUrl,
oDataToDisplay
));

this.getView().getModel().setProperty("/data",
sap.ushell.components.tiles.utils.getDataToDisplay(oConfig, {
number: "???",
info: oResourceBundle.getText("dynamic_data.error"),
infoState: "Critical"
})
);

oCurrentConfig=sap.ushell.components.tiles.utils.getActionConfiguration(oTileApi, false);

Conclusion
In this article, we have fixed version issue of removing api that generate custom tile Fiori app. After all this changes are completed, you will be able to run the custom tile properly.
References
https://github.com/lemaiwo/CustomTile/blob/master/webapp/view/CustomTile.controller.js