Share via


Guidance when Upgrading Reports

Important

This content is archived and is not being updated. For the latest documentation, see Microsoft Dynamics 365 product documentation. For the latest release plans, see Dynamics 365 and Microsoft Power Platform release plans.

Applies To: Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012

Reports are not upgraded automatically during the upgrade process. Microsoft Dynamics AX provides hundreds of default, out-of-the-box reports that you can deploy and customize. To upgrade MorphX reports, we recommend that you customize a default report. The default reports run on SQL Server Reporting Services. Reporting Services is a server-based reporting platform that provides comprehensive reporting functionality for a variety of data sources.

When upgrading to Microsoft Dynamics AX 2012, existing Reporting Services reports and reports based on the MorphX reporting framework are copied to the Microsoft Dynamics AX 2012system. However, they will not be upgraded.

This topic describes additional options to determine the best approach to upgrade a MorphX report when you need to customize a default report.

Determining the Best Upgrade Approach

For each report, there are considerations to determine the best upgrade approach. If, after you customize a default report, it does not meet your needs, the following list contains other options for upgrading a MorphX report.

  • Define a new Reporting Services report

  • Convert the report to a Reporting Services report

This section provides the steps for each of these options to understand the best approach to upgrade your MorphX reports.

Define a New Reporting Services Report

Reporting Services is the primary reporting platform for Microsoft Dynamics AX. The following list provides the steps to define a report when using the Visual Studio tools for Microsoft Dynamics AX.

  1. Define the data source for the report. The Microsoft Dynamics AX data source options are DynamicsAX or DynamicsAXOLAP.

  2. Define the report data source type for the report. The Microsoft Dynamics AX data source options are Query, Report Data Provider, Business Logic, or AX Enum Provider.

  3. Define the report by using the Visual Studio tools for Microsoft Dynamics AX. In Visual Studio, you will add a report, create the design, auto or precision, and preview the report to get started.

  4. Add detail to the report. You can work with data regions, display an image, and add a report or style template.

  5. Add interactive features such as the following:

  6. Localize the report by using labels for localizable text.

  7. Preview the report in Visual Studio.

  8. Deploy the report to the report server.

  9. View the report in Report Manager using the URL: http://[MachineName]/reports

  10. View the report in Microsoft Dynamics AX by creating a menu item for the report.

  11. After you upgrade the report you must manually delete the old report. For more information, see How to Delete a SQL Reporting Services Report

Note

There is no need to reference another reporting project. You can access all model elements in the AOT without using a reference.

Convert the Report to a Reporting Services Report

To convert a report from MorphX to Reporting Services you must migrate business logic to development concepts used for Reporting Services reports. Determine which advanced Reporting Services development concepts are required to define the same reporting solution as the MorphX report.

Use the following steps to convert a MorphX report to Reporting Services.

  1. Examine the MorphX report.

    1. In the AOT, expand the Reports node, and then expand the node for the MorphX report that you want to convert.

    2. Determine the data source used for the report. This includes the relationships between tables and the fields that are used to display data for the report.

    3. Apply Microsoft Dynamics AX database schema changes.

      Fix compilation issues in the MorphX report related to database schema changes. The following list describes some of the schema changes that affect legacy reports.

      • Dimensions

      • Primary Key and Surrogate Foreign Key References

    4. In the AOT, expand the MenuItems node, expand the Output node, and then double-click the report name with Old appended to it, for example, AXSalesReportOld.

      This opens the parameter dialog.

    5. Enter data in the parameter dialog form and then click OK to print the report.

  2. Define the report data source.

    Determine which type of data source is appropriate for your Reporting Services report. To do this you must understand the structure of the report data source. The following table describes when to use a query or a Report Data Provider (RDP) class.

    Data source

    Description

    Query based report

    Data for a report can be fulfilled by using a combination of table relations and table display methods.

    RDP based report

    Data for a report requires custom X++ business logic.

    Take into account items in the following list when you review the report dataset.

    • Source of the data contained in the report dataset.

    • Elements of the report that are from report business logic.

    • Calculated columns based on Microsoft Dynamics AX data.

    • Extended Data Types (EDTs) that are used to format data.

    • Data that does not display on the report but which is used to navigate to Microsoft Dynamics AX forms.

  3. When custom business logic is needed, create a Report Data Provider (RDP) class.

    An RDP class is the data access layer that contains the X++ custom business logic used to produce the report dataset. Refactor the existing X++ code into an RDP class and then separate the business logic from the report that renders logic.

  4. TempDB temporary tables are used to store the report dataset generated by the RDP class.

  5. In the AOT, create a temporary table to store the report dataset and then define the table schema based on the dataset that is needed to generate the report.

  6. Consider if you should use the report execution sequence. Create a report controller class that extends the SysOperationController class for MorphX report execution. The following list describes the reasons to override the controller class.

    • Change the query based on input parameters.

    • React to form control events.

    • Add contextual input validation that is not part of the contract.

    • Select the report design based on the user input.

    • Modify organization or culture information.

  7. Define a report in Visual Studio and bind it to the RDP class.

  8. If necessary, convert the basic design into a precision design to achieve the desired report layout.

  9. Deploy the report to the Reporting Server. In Visual Studio, from the Build menu, click Deploy Solution to Deploy the report.

  10. From the File menu, click Save All and close Visual Studio. You are prompted to add the local project to the AOT.

  11. View the report in Report Manager by using the URL: http://[MachineName]/reports

  12. View the report in Microsoft Dynamics AX by creating a menu item for the report.

  13. After you convert the report you must manually delete the old report. For more information, see How to Delete a SQL Reporting Services Report

Note

There is no need to reference another reporting project. You can access all model elements in the AOT without using a reference.

See also

Report Integration and Customization Overview

How to: Add Validation to a Data Contract Class