Creating Custom Audit reports in WebIntelligence (WebI in BI Launchpad)
Just recently, I was tasked to develop a Business Objects Webi report that displays the list of all users within the system along with their last login dates. As simple as this project may sound, it involved some crucial steps and tweaks to the SAP BO Audit universe that is provided by SAP. In this blog, I will share information on how I was able to successfully accomplish my goals for creating this Webi report.
I was working with SAP BI 4.1 sp6 with a SQL server database back-end for storing the infostore and audit data.
Here is the list of steps that I had to go through in order to successfully complete the project:
Please ensure that Auditing is turned on within CMC with the database connection pointing to the appropriate AUDIT database. If you skipped the AUDIT database creation during the install, you just need to create a new audit database and fill in the database details within the Audit configuration screen in CMC and the system will automatically create the necessary audit tables for storing audit information.
Downloading the AUDIT Universe:
As most of you may be already aware, the AUDIT universe and reports are not part of the standard business objects installation starting with version 4.x. In order to run audit reports, you will first need to download the AUDIT universe along with instructions to deploy the universe within your current system. Here is the link from where to install this: http://scn.sap.com/docs/DOC-53904
Develop the Webi Report:
Once you have deployed the universe to the repository. You are now ready to build audit reports. Below is an example of a query for an audit report that will “provide a monthly report for a given period that will report the following information for the prior requested period:
Date user last accessed BOBJ
Number of days in prior month user accessed BOBJ”
Step1: Open Web Intelligence tool from BI Launchpad and select Universe as source:
Step2: Select Auditing universe
Step3: Select required fields along with Query filter to specify time period as shown below
Step4: Specify your time period
Step5: Select “Start datetime” column and apply “MAX” function as shown in the picture
Step6: Then you will get the user last accessed date as shown
Step7: To convert date formats Select “User last Accessed” column->Select “Formatting” tab->Select “Numbers” sub tab and then select required Date format..
Step8: Now create a new Variable to find out no of users logged in for the given period
Step9: Give the formula as shown in the picture
Step10: Drag the new variable into result pane as shown
Step11: In order to have the column heading as shown in the screen shot use the below formula at the heading cell
=”No of Times User Logged Between : “+ FormatDate(ToDate(UserResponse(“Events Started After”) ;””); “MM/dd/yyyy”) + ” -” + FormatDate(ToDate(UserResponse(“Events Started Before”) ;””); “MM/dd/yyyy”)
Hope it is useful…