Saturday, 28 June 2014

Examples of SSRS Reporting Approaches in AX 2012


Types in AX reports

The helpful factor with any ERP would be you need not bring something from google; you can search it within your application itself. Same with SSRS Reports in AX. Let us move out of these normal 3 types of SSRS reports i.e. (RDP, Query & EnumProvider) and look at where can we find solutions for common requirements in report.

Query based report

It’s a Hello world for SSRS starter in AX. The best example would be AssetAddition report. Here a static query of AssetAddition is used as report data source and auto design is used to print the query.
Anything above select button in dialog where by default the field is disabled or greyed out can be created from range of this static query.  Check the vend query you can see range Vendor.

Simple Data Processing class

We write a DP class here which will have 3 methods generally ; processReport, InsertintoTempTable and GetTmpTable .

One can create DP with or without base query. 
·         Without Base Query: You can use Purchase order(PurchPurchaseOrderDP) as example.
·         With  Base Query: You can use VendListBasicDP as example. You can register base query in class declaration.


DP class with Barcode

You can find the detailed steps to create barcode in this blog.  Example is WmsPickingListReportDP.

Pre Processing DP

Pre processing report is used usually with respect to Accountable documents where the session starts post process . Example would be PurchPurchaseOrder .  inheriting class and userConnection in processReport is mandatory in this approach.  


And in process report,

You won’t be able to use pre-processing DP in EP reports.

Reports as Forms


There are places where DP classes are used to show the data in forms. The best example is Trial Balance. LedgerTrialBalanceListPage is the form which uses the DP with name LedgerTrialBalanceDP to fetch data and display it in UI.  

Marshaller Reports


SalesTaxTransReportDP_IN is one of the standard report DP which runs with Marshaller approach. This SalesTaxTransReport_IN report prints columns selected by end user in run time.  Here The dialog or form proposes 50 fields to end user in which one can select any 20 fields and click print to get the customized report.

HTML Reports

You can print report as HTML . The best example would be HcmSkillMappingReport ; which is taken as is from AX 2009.
Classes HcmSkillMappingReport & HcmSkillMappingReportGenerateHTML is the ones which does this operation. There will not be any SSRS designs in this case where as the tags you write in HcmSkillMappingReportGenerateHTML will get converted as design.

Print Management Report

 Examples are PurchPurchaseOrder ,PSAProjInvoice and so on. For All AD’s in AX we use print Management approach.
You can find the detailed steps to create PrintManagementReport  in this blog.

Cube Reports

You can find the detailed steps to create Cube report in this blog. However in AX most of the time this feature is used for charts or KPIs .
Report Object
Usage Type
ProjKPI
KPI
SalesAnalysis
Auto Bar Chart
YearToYearExpensesByPeriod
Role Center
Remember there won’t be any DP for this. All you can have is Contract and UI Builder.

EnumProvider Report

Here you will be passing enum as data source to report. WorkflowTrackingReport is the report which uses 3 approaches. The three approaches used are query , AX EnumProvider and DP class.

XMLExcel Report

These are the reports which you can use to directly export to excel. Obviously no design required.
Example can be XMLExcelReport_SalesBook_AddList_RU.

Some doesnot need DP and some doesnot design.. Its you who has to take wise decision that which approach to go with.

Happy DAXING :-)