SSRS Reporting Framework in AX 2012
We 
will start with understanding basic concepts in Reporting Framework to examples. 
Reporting 
Framework Terminologies
As 
you all know, the reports in AX 2012 have moved to SSRS reporting, so MS has 
introduced a robust reporting framework wrapping over the basic SSRS reporting 
functionality. There are many terms used in reporting framework in AX that I 
will try and explain here:
·         
Report 
Definition Language: RDL 
is an XML application primarily used with Microsoft SQL Server Reporting 
Services. RDL is usually written using Visual Studio. AX has Report Definition 
Language Contract classes that can generate and build the RDL for an AX SSRS 
report. This contract provides a weakly typed representation of parameters. It 
contains methods that can be used to get or set values. It also contains a map 
of parameter names and the SrsReportParameter class. The base class 
is SrsReportRdlDataContract.
·         
Report 
Data Provider (RDP): A 
framework that helps in building, processing and rendering data to reports. Most 
of the reports require RDP classes that help in implementing business logic 
required to process data and provide data in readable, presentable and required 
formats design. The base class is SrsReportDataProvider. 
This class has two main sub classes,SrsReportDataProvderBase and SrsReportDataProviderPreProcess. 
We will discuss about these classes in future posts.
·         
Report 
Data Contracts: The 
Report Data Contracts framework is used to provide and manage the parameters to 
an SSRS report. The report data contract contains all the other relevant 
instances like Report Data Provider contracts, print contracts, RDL contracts 
and query contracts that will be used by a report.
·         
Printing 
Contracts: The 
framework that manages report printing (to different mediums). The base class 
is SrsPrintDestinationSettings. 
There are other supporting contracts that are used for printing, we will discuss 
about them in future posts.
·         
Query 
Contracts: This 
framework manages the queries used to process report data. This framework is 
also responsible for providing dynamic filters (similar to our ‘Select” buttons 
on report dialogs that open the Query specification form to filter data on 
report queries).
·         
Report 
Controllers: Report 
controllers control the report execution and dialog forms. Report controllers 
can be used to modify report dialogs, validate report parameters and other 
validations necessary before report execution. The base class is SrsReportRunController. 
Reports utilizing report controllers can only be used for printing data on 
client side. Reports controlled by controllers cannot be used in Enterprise 
Portals.
·         
Report 
UI Builders: UI 
Builders are used to modify the report dialogs at run-time or to add additional 
parameters and write custom business logic to report dialogs. Ex: You want to 
perform some task based on data modified for one parameter, that affects other 
parameters or build a custom lookup etc (something that was provided by 
RunBaseReport framework class in previous versions. The base class 
is SrsReportDataContractUIBuilder
 
 
No comments:
Post a Comment