We have a user getting the error message “Access denied to method processReport in class PurchReceiptsListDP” when he is trying to print a receipts list for a PO. This method seems to be called by SSRS at runtime and the data in the report comes from two sources.
1. PurchReceiptsListDetailsTmp table
2. PurchReceiptsListHeaderTmp table
So far, I cannot seem to figure out what might be causing this message. Has anyone else seen this before or know of any possible solutions?
Thanks in advance for any assistance.
To see how access to this server method is typically granted, please inspect the SSRS report named PurchReceiptsList in the AOT. If you expand the Designs node, then the Report node, you'll find the Permissions node, under which there are Table, Server Methods, and Associated Forms branches.
The Server Methods branch contains a reference to PurchReceiptsListDP.processReport. It's properties allow you to specify an EffectiveAccess of Invoke. I suspect in your case this permission has somehow been removed from the SSRS report.
This works very much like how a Form can grant access to its underlying tables.
If you were having this problem across all SSRS reports, I would suspect a problem with your BC Proxy Account and its setup within SSRS itself.
Hope this helps, and good luck!
Add the processReport method of the class to the previleges permission under server methods.If you get empty data returned then you might need to add the query's datasource tables also under permissions.
Thanks for the response. I took a look at the report as you suggested below in the AOT. I found the reference to PurchReceiptsListDP.processReport in the Server Methods branch. The properties were already set as follows.
System Managed: Yes
So, it appears that there must be something else going on here. I'm continuing to investigate, but am stumped on this one at the moment. I'm not sure what caused it to stop working.
Check that output menu item property LinkedPermissionObject points to the correct SSRS report.
Hope this helps.
I am experiencing something similar with R2 CU1 - the permissions defined under the SSRS report are honoured in my development environment as Brandon suggests, but when the model is moved to a different environment and SSRS reports are redeployed, the report permissions no longer seem to be inferred.
I have to explicitly add Invoke access on the processReport method (and any other required tables) to the associated privilege to make this work consistently (even though it works in my development environment when launching ax32 as a different user.)