Introduction
There are innumerous number of Reports which are created (either by implementation team, support team, technical team and also some by business superusers) in an ERP Application. While some of them are used regularly a few of them are only created as the need of the hour and are not referred in future. Such kind of reports (ocassionally / one time use reports) continue to stay in the application cluttering the BI Catalog Area causing confusion and chaos.
As such if there is a mechanism to find out details like:
Which Report was run how many times
Last date on which a report was executed
User who ran the report
Then one may take an informed decision on whether actually a Report is required or can be removed the system.
In order to arrive at such conclusion there is a need to have a Report which should be able to provide us Report Execution Details. While there does not exist a delivered report at this time one can surely go ahead and create a custom BI Report to meet our needs.
In this article, we will try to create one such report.
We would name this report as “BI Catalog Component Audit Report”
A high level overview of how to create such a report is already given in Metalink Note ID 2059102.1
We would try to follow the steps and create a simple report using the details provided.
Creating BI Catalog Component Audit Report
We would configure a BI Data Source as explained in the metalink article above.
Navigation -> BI Catalog -> Administration-> Manage BI Publisher -> Create JNDI Data Source
Data Source Name – Any name of your choice. BICatalogAudit in this case
*JNDI Name – jdbc/AuditDB
Allowed Roles – BI Consumer Role
Once the BI Data Source is configured we can create a BI Data Model from it.
SQL Issued |
SELECT ib.iau_eventcategory, ib.iau_eventtype, ib.iau_initiator, ib.iau_tstzoriginating, ib.iau_audituser, ib.iau_resource from FUSION_IAU.IAU_BASE ib where iau_eventcategory IN ('ReportAccess','ReportExecution') and iau_resource = NVL(:p_reportabsolutepath,iau_resource) order by iau_eventcategory,iau_eventtype,iau_resource |
Notice that we have used a parameter p_reportabsolutepath which has a LOV attached to it. The query for the LOV is :
p_reportabsolutepath (LOV Query) |
SELECT distinct ib.iau_resource from FUSION_IAU.IAU_BASE ib where iau_eventcategory IN ('ReportAccess','ReportExecution') |
Once done we may run the Report (once without passing any value to parameter where in details for all the reports are shown:
And when we pass the Report Name then it displays data for that specific Report Execution only