Report Methods (MorphX Reporting Tools) [AX 2012]

Updated: March 8, 2011

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

You can override a report method in the Application Object Tree (AOT). To override a report method in the AOT, click the report to expand its node, right-click the Methods node, and then click Override Method. To add a report method in the AOT, click the report to expand its node, right-click the Methods node, and then click New Method.


Whenever possible, write your code in the underlying table instead of in the report. Methods written in a table are available to any report that uses that table as a data source.

Each report in the AOT has child nodes named Data Sources and Designs. These nodes have references to the member objects of the report. They can be manipulated in overridden methods.

The following table describes the report methods that you can override.




A Web method.


Creates a caption when previewing a report, or a document name when printing a report.


Called when the fetch method is being executed. This presents a progress indicator to the user, which is visible until all the data has been fetched and can be displayed. For reports that are only one page long, the progress indicator does not appear.

This method opens the SysPrintProgress form. You can override this method to use a different form.


Does nothing. This method can be overridden to add fields to the Reports dialog box.


Fetches records from the database. The fetch method instantiates a query, opens the query prompt, and then fetches the records.

During the execution of the fetch method, the next and get methods are executed in pairs on the query of the report. The send, the header and/or footer methods, and the progressInfo method are then executed. The cycle continues with calls to next, get, and so on, until all the data has been fetched.

The following are reasons for overriding the fetch method:

  • The report is not based on a query.

  • Some of the fetched data must be processed (this can also be done on the send method).

  • The report is based on a temporary table.

For more information, see How to: Override the fetch Method to Filter Data for Reports (MorphX Reporting Tools).


If overridden, you can execute code before, after, or instead of printing the footer of the report.


Determines whether to overwrite the existing output file when a user tries to save the report. This method is called by the form.


Gets a ReportViewer instance.


Called by the SysPrintForm form when a user changes the print medium. Use the return value to detect the selected print medium.


If overridden, you can execute code before, after, or instead of printing the header of the report.


Initializes the report and its objects. This is the earliest method that can be overridden among those executed when a report is constructed and run.

Override this method to add initialization tasks, such as the following:

  • Validation of the argument objects received

  • Initialization of supporting classes

  • Dynamic changes to the design

If your changes require access to the objects of the report, add your code after the super() call.

Caution noteCaution

Do not delete the super() call from this method. The super() call initializes all the objects of the report.


Used to instantiate an instance of the ReportRun class. The new method is a constructor.


Packs the report into a container. The pack method returns the container. This method can be overridden to reduce the amount of the report that is packed.

The packed report can then be sent between the client and server platforms, unpacked, and executed. The ReportRun class has several methods that are marked final. They are named in the patterns of pack* and unpack*.


Displays the printer properties of the actual printer. However, the pageFormatting method is obsolete and is no longer used. Calls are made instead to this method on the PrintJobSettings class.


Prints the report to the selected print medium, such as a printer, file, or screen.


Enables the user to select printer settings.

Executes when Printer Settings is selected in the shortcut menu or in the SysPrintForm form.


Updates the progress form with page and line numbers.

Override this method to add another progress indicator of the report evaluation progress.


Prompts the user to select a print medium and other information.

Available mediums include paper, the screen, a print archive, .rtf, HTML, ASCII, .pdf, and text (UTF-8).

To disable the print medium selection, override the method, and then remove the call to super().

Caution noteCaution

Do not mistake this method for the method of the same name on a query.


Runs the report. This method is executed when the user clicks OK on the preliminary specification dialog box of the report (which enables the user to select where to send the report, and so on).

The default version of this method does the following in the sequence shown:

  1. Calls prompt.

  2. Creates a basic design if it does not already exist.

  3. Arranges the fields.

  4. Calls fetch.

  5. Calls print.


Sends one fetched record to the body sections in the report.

Override this method if you want to change each record, but you do not want to override the fetch method.

The send method calls the progressInfo method.


Executed by the SysPrintForm form when the print medium is changed.

Use this method to select the print medium or the return value to detect the selected medium.


A Web method.


A Web method.


Gets or sets the title of the report.