d7f2e992_rt_Programming_Model__AX_2012___Description
[Concept] Controller [Class] SrsReportRunController [When to override] Override when you must do the following: Change the contract before you run it. For example, to change the query based on parameters in the form, override the modifyReportContract method. React to form control events. In this case, override the method, and provide the override events. Add basic validation that is not part of the contract, or not at the table level. In this case, override the validate method, and call the super method. Change the name of the report that is being run based on a parameter. In this case, override the modifyReportContract method, and set parmReportName. Modify the company or culture. In this case, override the modifyReportContract method, and set the company and culture on SrsReportRdlDataContract. [Description] 
The controller of the Model View Controller (MVC) pattern. Given the report name, the controller does the following: Call SrsReportRunInterface to parse RDL. Get the report contracts. Create the necessary UI builders and invoke them. Call validate on contracts. Validation occurs on the server through a service call. Save to the SysLastValue table. After the form is displayed, and the user clicks OK, run the report.
Report Programming Model [AX 2012]