Which Business Objects Auditing Activities or Events Capture BO Universe Name?
Some of us in the in the wide world of BO use universes as a method to segregate our reporting. This is logical since a universe is usually tied to a single database connection. Therefore little groups of reporting users tend to congregate around universes. Some of us have picked up on this little fact and we require a naming standard that allows us to identify those groups. Some may try to do this with report names, but most fail. Ok, let me get to the point…
In such a scenario you may want to track the activities of these groups. This is possible with Business Objects auditing services and the universe name recorded there; however, it does not work in every way you want it to. Universe is not a field in the auditing database tables as username or start_timestamp are. Universe will be found in the big melting pot that BO calls the Audit_Detail table. It is one of the many values that bless the detail_text field. Not bad news, but this will hurt your query performance.
So now that we know where to find the universe name in the auditing data, we need to talk about which Events or User Activities it accompanies. First the bad news: you won’t find it on any of the following BO Auditor event types: get page, edit document, or read document. This is bad news, but get over it, there is nothing you can do about it. So now for the good news: you will find it on Document Refresh and Generate SQL.
Just in case you are not already intimately familiar with these events let me tell you something about them:
Document Refresh: this is the interactive user refresh of a report, not the scheduled refresh
Generate SQL: this seems to be limited to saved changes to a query, or clicks on the “View SQL” button. Therefore, this may be an indicator of the amount of document editing and creation going on.
Please reply with your comments, I would love to hear them (especially if I have made a mistake).



Hi,
I am modifying the job summary report, where i want object name,user name,folderpath(Detail Type Description),status and object type(schedule output type)
I am able to get the details of object name,user name,folderpath(Detail Type Description),status with query filters Event Type Id inlist(327681;327682) and Detail Type Id equal to 43.
if add object type to the report,the data vanishes.
can you please suggest how can get schedule out put format for example excel,pdf etc.. with the query conditions Event Type Id inlist(327681;327682) and Detail Type Id equal to 43.
I will look into this soon and get back to you. Could you post your SQL, it would make it easier for both of us. Thanks.
Hi,
I am trying to find Document refresh event for a WebI report(Which is not scheduled).Please suggest what are all the objects I need to select from activity universe?
I Checked WebIntelligence report Server Audit settings also.It has the document refresh option enabled.But am not able to see the results.
In the report I selected Universe name,Action Name,Action Time,Document Name objects and applied filter on Action Name = Document Refresh and Universe Name.
But it retrieves Scheduled reports details only.
Please suggest.
Thanks,
Vanathi K
Hi Vanathi, the Auditing universe is full of derived tables it is hard to get what you really want. For more control, I suggest you add all of the Auditing tables ad create classes for each (you will need to define joins, but you can figure those out). With this you will be able to get just what you want. Audit_Event, Audit_Detail, Event_Type are all you really need.
Hi Julian,
Thanks for your prompt response.
I will try as you suggested.
Thanks,
Vanathi.
Hi, I was wondering if audit database needs some kind of maintenance or improvement to performace after some years using BO auditing?
Hi Erika, I suggest creating Audit_Event_Archive and Audit_Detail_Archive tables. Then I would move all of the Audit Events (with their corresponding Audit Detail records) older than 1 year to these tables. This will boost your performance after an index rebuild and table stats update (Oracle).
Other than this, all you can do is try to leave the data and just rebuild the indexes and update the table stats and you may see performance increase.
If you are using the “Activity” universe provided by Business Objects then your queries might heavily depend on their inefficient derived tables in that universe. You might see improved performance by creating a new universe on just the auditing tables and working directly with them.
Hi,
I am trying to find the duration of a report execution, meaning how long did the report actually ran on any particular day.
So, related to that, I have a question regarding AuditEvent.Duration object in the Activity universe. Is this the right object that I am looking for? I checked the Auditor Guide and it just says, “Duration, in seconds, of the action that is audited.” Can you throw some light further into understanding how the duration is calculated in this object.
All our universes are set for a 10 min query execution limit, but the values in this objects gives me 5 digit numbers (10894 secs)which is ~ 181.5 mins … which doesnt makes sense to me.
I hope my question is clear. Please let me know if you have any questions for me.
Please help!
Thanks,
Alisha.
Hi Alisha, firstly, I don’t trust the Activity universe much. It is probably accurate, but it is quite inefficient. I suggest adding the real tables to the universe and creating the joins between then the data model is quite easily discerned. If you are looking at “report refresh” (#19) audit events then you should be seeing durations in seconds, yes. Can you query the tables directly to check that the values are not being fudged up by the Activity universe? Also, which version of BO are you using? When I here back from you I will take a closer look at my test environment’s auditing.
Julian,
I am curently working on getting access to Audit Database. I will query the database as you said once I have my access. Currently in my environment here … we have diff derived tables with custom sql for extracting report name, universe name, object name, viewed report name, edited report name etc … with filters on event type ids and detail type ids for each derived table.
We are using XIR3.1 with audit database on oracle 10.
Let me know if you need any additional information.
Thanks much !!!!!
Alisha.
Access to the database is not necessary if you have access to Designer and the Activity universe. You could simply add the tables to that universe, or create a new one using the same connection. Then you would have all that you need. One of these days I should create a universe that is just based on the auditing data structures and not on any derived tables. I really don’t like those derived tables very much.
Julian,
I’m trying to pull all the universes connection names using
SELECT SI_NAME, SI_ID, SI_FILES, SI_DATACONNECTION FROM CI_APPOBJECTS WHERE SI_KIND = ‘universe’
but using the above query, i’m getting only the universe name instead of universe name and connection name.
Could you please look into this and assist me ASAP
Hi Cherry, try using
si_kind = 'MetaData.DataConnection'.I am using BO XI R2 I enabled all the Audit check-boxes BUT no data is getting populated. Any ideas? The tables AUDIT_EVENT, AUDIT_DETAIL are all empty. I presume these are the tables where I can find universe usage, report usage, user audit etc.
Hi Brat, are you certain that the auditing DB is correctly configured through CCM, and that all servers in the cluster running CMS are properly configured to be able to connect to this auditing database? Your tables and expectations are correct, by the way. I would also recommend a full system restart after confirming my first questions.
Thanks for your response. If you ask me if its correctly configured, can you please let me know what you mean? The ccm cms are all functioning properly for many months now and no problem with business objects reporting. I recently switched on the audit as I wanted to develop some custom admin universe and reports to track usage but the corresponding tables did not get populated. Do you think i need to check anything else to ensure its configured correctly. I have enabled all the auditing on all servers if thats what you mean??
Again, Thanks Julian for your reply.
Guess what – its working now, i had to restart twice thats it.
However can you also please let me know which are the primary keys to link between tables so I can know audit it. information like who logged on when, which univ was accessed, which report was created, which fact table was queried etc