Report Data Provider.
An RDP class is an X++ class that is used to access and process data for a Reporting Services report. The options for a data source type for a Microsoft Dynamics AX report are query, business logic, and RDP. An RDP class is an appropriate data source type when the following conditions are met.
- You cannot query directly for the data you want to render on a report.
- The data to be processed and displayed is from Microsoft Dynamics AX.
SSRS uses the WCF (Windows Communication Foundation) to connect to the AOS for data access. This connection has a threshold limit and it might fail if a report takes a long time to execute. The report server execution waits for the RDP to process the data and return it. In the event where the RDP takes too long a time to execute the reporting, the service might fail. Preprocessing is a strategy to beat this issue. This recipe will help you understand how to enable preprocessing for any RDP report
How to do it
When a report processes a huge amount of data or is found to take considerable time during the execution, then you can decide to incorporate preprocessing. Follow these steps to enable preprocessing.
- Modify RDP base class: SRSReportDataProviderBase -> SRSReportDataProviderPreProcessTempDB
- Update table type: InMemory -> TempDB
- Perform a full compile of IL
- Restart the AOS
- Introduce Controller class to run the report
- Update Output Menu Item: Report -> Controller class