Crystal Report Usage Run History
Looking for a way we can audit Crystal Report History
1) Log who Ran the Report
2) Time it Started
3) Time it Completed
In an Oracle Table every time a user runs a Crystal Report. Was thinking we may be able to do this by calling a Stored Procedure inside the Crystal Report? but we have been seeing issues with this. Has anyone else been able to do something like this sucessfully ? or anybody have any ideas on how to go about doing something like this?
Jaime Hargreaves replied
Ah well... Then fudging it with subreports in the report header and footer would be your best bet.
Create a couple of SP's:
parameters: report_name, user, start_time etc...
This should write a new row to a logging table with the input values. You'll have to store the output into a (global) variable so that it can be passed via the main report to the second subreport which calls...
parameters: row_id, end_time
This should update the row_id that's passed in with the end_time value
HOWEVER (!!), I believe that sp_end will only get called (and therefore the row updated) when you either view the last page of the report, or print/export it. If you just look at the first page, it'll never have to try and render the final page, and therefore not call the subreport.
Also, refreshing the report / exporting it to multiple formats will cause multiple lines to be written to the logging table.
So, not nice. Unless someone else has a better idea?