A colleague had clients complain of slow running SSRS reports… apparently they would time out after ten minutes. He found the post at http://sinedax.blogspot.com/2012/11/ssrs-report-ax-2012-operation-has-timed.html which provided the key. It talked about using userConnection to populate the data in a pre-process way. But he had trouble completing the circle.
In this case it was VendLedgerReconciliation… in VendLedgerReconciliationDP.processReport, he used parmUserConnection(), then he passed it to VendReport_LedgerReconciliation.processVendLedgerReconciliation. Once in that method, he did another setConnection using the passed parm.
And presto, the report works. Info about that is in the comments to the blog referenced, but I’m hoping this blog provides a clearer example.