While Microsoft SQL Server Reporting Services (SSRS) reports allowed in in Dynamics AX 4.0 a user to create Ad'hoc reports that were only based on the data stored in the Dynamics AX database, in Dynamics AX 2009 Production reports allow also the execution of Business Logic. The Business Logic can either be X++ code in the AOT or C# code directly in the SSRS report.
This also brings up the question how the C# code could be debugged when necessary. You can use the Visual Studio 2008 integrated debugger however you need to follow certain steps otherwise your breakpoints will not be hit.
You need a PC where the following components are installed:
Note:In the following example we use a report that is based on Microsoft SQL Server Analysis Services (SSAS) data. Therefore the Dynamics AX default cubes need to exist, however SSAS does not necessarily need to be locally installed.
In the following steps I will explain how you can debug the standard SSRS / SSAS report Cust.CashInflowvsCashOutflow for example:
Some more hints:
How can I determine the correct w3wp.exe process to attach to?
The Microsoft SQL Server Reporting Services 2005 are hosted in the Microsoft Windows Server Internet Information Services (IIS). Therefore the process to attach to for debugging is the IIS Worker Process (w3wp.exe). As IIS is starting at least one Worker Process per Application Pool, more than one w3wp.exe processes are usually running on a Windows Server.
In order to see what Worker Process is serving what IIS Application Pool tools exists:
The output of the tools looks as follows:
Once identified the correct w3wp.exe process (based on the Application Pool) use the PID (Process ID) to attach to the correct w3wp.exe process.