EDUCAÇÃO E TECNOLOGIA

GateWay Tools for UI5, Fiori and OData


About

Gateway Helper Tools for Fiori Developers, Application Managers and DevOps colleagues to speed up recurring DevOps tasks in development and quality/test systems from a central place, like wiping caches.

This is a very plain, simple and old-school ABAP Report, because it is designed for copy-paste :).

Motivation

Being in this industry for a while as ABAP and Fiori developer, my mind is time to time about how-to simplify admin work of DevOps. Every time I adjust a CDS view / metadata extension, deploy to the backend or transport a new version of a UI5 application, the same activity is to be performed, like wiping caches so that my changes become active.

This tool is not aimed to be used in productive environment, it is rather to support and speed up the development process in development and quality systems.

Wiping specific caches – when it is unnecessary – will slow down the performance of the Fiori Launchpad and result in bad user experience. Brute-force wiping all kind of caches to make changes active without understanding what is being actually wiped is really not a good idea. Have You experienced loading tiles forever already ? To prevent such situations, I put a guide on the selection-screen to provide a simple guidance. You’ll find here also a detailed explanation about the situations where the functions of this report become useful.

Features

  • Wipe Client (SMICM) Cache
  • Wipe Global (Auth/Nav) Cache
  • Wipe Metadata Cache – Backend + FrontEnd
  • Show Active SICF Services
  • Show Inactive SICF Services

All of them are already part of the standard already, but You reach them through multiple steps/clicks and from variety of transactions. The report gives You instant central access to them. I suggest You to look at the source, to get some insight, what was the original standard report or function behind.

Installation

  • Pull this GitHub repository using ABAPGit OR
  • copy-paste report source: src/zgw_tools.prog.abap into a GW (FES) or S/4HANA System

Not all developers are able to use ABAPGit behind corporate walls, therefore only a single report ZGW_TOOLS is to be created in latter option only.

All new features will be committed to GitHub.

Usage

Selection-screen

Help section guides You to choose the proper action.

A – After deploying from WebIDE Fullstack, Business Application Studio or VSCode to the BSP repository hosting the web application files. Use when the new version of the UI5 application does not appear, because of the new source files are not loaded even after wiping the web browser cache.

B – After You changed PFCG roles, included new target applications in catalogs, adjusted role assignments, but they do not appear on Fiori Launchpad.

I would like to mention here that, please do not run this feature without a good reason. I would immediately take my chainsaw from my drawer my dear as Your colleague 🙂 – in such case only.

Please also validate manually whether the User Comparison is executed in the target system, where the transport request is imported containing the adjusted PFCG role. This can be also one of the reasons of access problems. The validation and comparison can be done manually in transaction PFCG, or executing a mass report in the target system.

Improvement point: add restriction on user name, which results in better performance, when just the user role assignment changes, so when PFCG roles are assigned to the user only.

C – This symptom become more in the foreground with metadata driven applications. You perform changes to the OData service, but it is not reflected on the UI. You added annotations to the metadata extension file, or new fields to the consumption view. I would like to mention here that, please do not run this feature with * without a good reason. Again I would immediately take my chainsaw from my drawer my dear as Your colleague 🙂 – in such case only.

Hint: when using CDS entities as reference model in SEGW projects, the generation of the project might required, which has nothing to do with the cache. In case You enhanced a standard CDS view in such setup, You might faced the issue that a value help annotation will never be part of the OData service, because this would need the regeneration of the SEGW project => standard modification.

D – Becomes a handy function when implementing an SAP system for example. You can use this feature to get a list of active services in the development/quality and production systems and do a comparison to discover discrepancies. You can read here more about mass activation of SICF services.

E – When You activate an OData service in the development system using transaction /IWFND/MAINT_SERVICE or using a task list, the service endpoint is created in ICF and activated. The activation does not automatically happen after importing the transport request in the target system. You can discover such endpoints, and activate them in transaction SICF. The same has to be done for UI5 applications. You can use this feature to discover such services, so that end users are not getting the popup, that the Fiori application cannot be loaded, not available, please contact system administrator…

F – This is a tiny feature added to option D and E to put a filter on the ICF service list, to show only OData and UI5 application services (which BTW are doubled under node /sap/bc/bsp in transaction SICF always).

I hope you enjoy this tool, and it will help You to overcome the boring robot DevOps tasks during implementation and delivery🙂