Monday, 25 November 2019

Dashboard App to view the Usage/Operations of Fiori and UI5 Apps

This blog details about how to extract statistical, usage and other app based information for all the existing FIORI and UI5 based apps connected via SAP NWG(Netweaver Gateway).

Fiori and UI5 based apps related details(Technical Name, Entities, operations, users, device types etc) are  stored in Metering table(Ex: /IWFND/L_MET_DAT ).

Before proceeding further lets look at below jobs related to metering tables.

SAP_IWFND_METERING_AGG  job : SAP has provided this standard jobs to aggregate the data from Metering tables and store the same in aggregate tables( Ex: /IWFND/L_METAGR, /IWFND/SU_ASTATS etc) . This job aggregates data on Year and monthly basis. Generally, this job will be scheduled on daily basis.

SAP_IWFND_METERING_DEL  Job : This is standard job . This job will retain only latest 2 day’s data in Metering tables and deletes the data prior to two days. This is recommended by SAP for better performance of apps as all the backend calls(ODATA) requests done within apps will be recorded in this table.

Requirement:


Our Requirement is to extract details of the   apps based on the given date range. Input can be days/months/years.Output should be in months/years. If Input date range is greater than 1 year then show output Year wise else month wise.

Following Insights to be displayed in the app.

1.Active Users

2.Device Types

3.New Users

4.User Location

5.App Response Time

6.App Errors

7.App operations

Prerequisite:


Device type(Device from which app is accessed i,e Desktop/Mobile(Android/iPhone/Others) and user who accessed the app are not available in any of the aggregated tables so we have suspended SAP_IWFND_METERING_DEL  Job  to retain past data in metering tables.

Alternatively, you can also store required details from Metering tables in Custom table as per your requirement(daily/monthly) and access the data from custom table.

Solution:


1. To view the usage/operations of Fiori and UI5 app’s, develop a new app  Ex:Fiori Dashboard in Fiori.

2. Create ODATA service to extract the data from NWG system and pass this URI to Fiori to view the details in the Fiori App.For Each Insight create 1 entity.If different entities access same database tables,for better performance you can Use Extended Entity option and pass multiple entities data as single output.

3. Create a custom table to store below details. This table will be useful in identifying the new users assigned to the app as the “App Role Name” is stored in this table, and also to store External service name of the app so in future if the “Fiori Dashboard” app should show the details of any new app, we can just add the app details in this table without making any changes to the code.
App Service Name- External service name

i. App Technical name- Technical Name of the app.
ii. App Role – Role assigned to app.
iii. App External Service Name and Technical name will be available in /iwfnd/maint_service.

App External Service Name and Technical name will be available in /iwfnd/maint_service.


Note: If Namespace is available for app then in tables “External service Name” along with “Name space” will be stored.


Source Tables Details:


As the Fiori/UI5 details are available in NWG system. below most of the tables other than HRMS tables are NWG system tables.

Insight Name Insight Description  Data Source  Limitation  
User Devices Count of Type of devices used like iPhone, android, windows mobile, desktop etc. Table : /IWFND/L_MET_DAT
Field : CONSUMER_TYPE
In the field data, if ‘mobile’ string is there then the App is accessed by mobile device else from Desktop.

For Mobile Devices,Device Type like Android,iphone etc will be available in data string.
Active Users  Count of distinct users using the app Table : /IWFND/L_MET_DAT
Field:USERID 
New Users  Count of new users assigned to the app based on the Fiori roles assigned in the given period. Tables:CDPOS
Or
AGR_USERS 
If user leaves organization his/her SAP access and Roles will be deleted so we cannot find that user details from AGR_USERS.
If your organization deletes user details after users leaves organization then instead of AGR_USERS, you can use CDPOS tables based on below Keys
CDPOS:
OBJECTCLAS = ‘PFCG’
OBJECTID = App Role Name
TABNAME = ‘AGR_USERS’
FNAME = ‘KEY’
CHNGIND = ‘I’ or ‘D’
Response Time  Provides the response time of the App recorded in NWG Table :
/IWFND/SU_ASTATSField:AVG_GWTOTAL 
Data in table is stored Year and Month wise hence even though few days of a month are given in Input, data of the month will be shown 
User location  Count of the users utilizing the app based on country / region. HR Tables : PA0105, PA001,T500T,T500P
Source(SAP system that stores HRMS data) 
Total Logins  Total count of user logins to the app in the given month/year Table: /IWFND/L_METAGR
Field: CALLS_TOTAL 
Data in table is stored Year and Month wise hence even though few days of a month are given in Input, aggregated logins of that particular month will be shown in the Insight 
App Errors  Number of instances with App front end (UI) issues. Table :/IWFND/SU_ERRLOG
Field: ERROR_TEXT
Error_CNT : “No of Instances of same error”

Output:

Month Wise

Year Wise:

No comments:

Post a Comment