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