Reporting Framework in AX 2012
Reporting Framework in AX 2012
.....
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.
Comments
Post a Comment