Force “Refresh When Open” everytime a user opens any report ( even if the user has saved the report keeping “Refresh When Open” property unchecked) by changing WebI application properties in CMC
There is Web-Intelligence trick to “force” every report that user opens to “Refresh” regardless of whether the report is saved with ” Refresh When Open” property checked or unchecked in Document Properties
** for this blog post I am using SAP Business Objects 4.2 SP 03 Patch 11
The basic idea is to –
- Make sure that every time a user tries to open the report, he is presented with the latest data in the database ( not the pre-saved/ outdated data).
- Even if someone else ( who has wider access to the data) sends the report to a user ( through BI Inbox, who has very limited data access), the Data Security can be enforced ( i.e. every user sees only the data-set that he is authorised to, even if someone tried to find a workaround to it).
- Even if someone ( who has wider access to the data) SAVES a report with Data in Public Folders the Data Security can be enforced whenever someone tries to open the report.
By default, if someone wants to create any WebI report, “Refresh When Open” box is “unchecked”, that means when some one creates a report and saves the report with data at that point of time, to any folder under Public Folders, next time when same user or someone else opens the report, he would see pre-saved data ( and if user doesn’t manually hit “Refresh” then the report would show old/ pre-saved data) that may be incorrect.
OR
If user sends this report ( which was saved with data, keeping “Refresh When Open” box unchecked, then the receiver would see all the data that sender was able to see ( which might turn out to be a data security concern).
Fortunately, there is a solution to this problem ( we CAN force every report to refresh when user tries to open it, regardless of whether the report was saved with “Refresh When Open” box was checked or not.
Even better, this setting can be controlled at a user group level ( it doesn’t have to be enabled at Platform Level)
The steps are as follows –
- Log on to CMC, Go to Applications -> Web Intelligence -> Properties -> User Security
- Select the desired user group -> Assign Security ( please refer to below screenshot)
- Under “Advanced”, Click on “Add / Remove Rights” (please refer to below screenshot)
- Under Web intelligence permissions, Deny the ‘Documents – disable automatic refresh on open’ permissions, Save an Close. (please refer to below screenshot)
- Now, Go back to CMC -> Applications -> Web Intelligence -> Properties and Look for ” Automatic Document Refresh On Open Security Right Setting, and enable the option ‘Check the Disable Automatic Refresh on Open for all documents Security Right’, Save and Close. (please refer to below screenshot)
Once these steps are executed, All of the reports even if ‘Refresh on Open’ is not selected at report level; will Automatically refresh on open.
Cons-
- If you put every report to refresh when open, every time, it may cause excessive load on the server. The report would refresh everytime you open it, regardless of whether there is a need or not.
On a side note, there are some solutions based on modifying TOMCAT / Web-server Configuration properties but those changes would impact the whole deployment, while the solution mentioned in this blog post allows you a flexibility to enforce “Refresh On Open” only to certain user groups.
Cheers!
Ashish
Hi Ashish Farkya
Interesting post, but I am a bit curious to what effect this change would have on report instances.
Wouldn't this change force a refresh of a Webi document instance that have been scheduled to populate the data?
Because in that case, this change would defeat the purpose of having large reports scheduled and "pre-build".
Br
Thomas
Hi Thomas,
Thanks for your comments. There is no impact on scheduled instances of the report ( even if it’s in WebI format). It doesn’t fire any query on the database if you try to retrieve scheduled instance of the report.
Cheers!
Ashish