What's New in Microsoft Dynamics AX 2009 for Developers

The following information provides descriptions about many of the features that are available in Microsoft Dynamics AX. Updated and additional developer documentation for Microsoft Dynamics AX can be found at the Microsoft Dynamics AX Developer Center on the Microsoft Developer Network (MSDN). The following features are described in this document:

  • Layers

  • Workflow

  • Business Connector

  • Development Best Practice Checks

  • Version Control System Integration

  • XML Documentation

  • Enterprise Portal

  • Reporting Tools for Microsoft Visual Studio

  • Reverse Engineering Tool

  • Navigation Pages

  • Queries and Views

  • Time Zone Support

  • Composite Query

  • Cross-Company Support

  • X++ SQL Enhancements

  • X++ Enhancements

  • Debug a Batch that Runs on the AOS

  • Update Cross-reference by Using AT.exe

  • E-signature Subsystem Support

  • Application Integration Framework

  • MorphX

  • Business Intelligence

  • Documentation Changes

  • Changes in SP1

Layers

Three new solution layers, SL1, SL2, and SL3 have replaced DIP, LOS and LOP to enable deployments of Microsoft Dynamics Industry Solutions (MDIS). Each solution is deployed in separate layers. When upgrading, the new layer is installed using standard Microsoft Dynamics AX tools. This will enable customers to install more than one MDIS solution. Only MDIS partners will be able to write solutions in the SL1, SL2 and SL3 layers.

The DIS layer is renamed to HFX. The HFX layer can be used for hot fixes. For more information, see Application Object Layers.

There are now 8 layers which share IDs 1 – 20000. Application object IDs are now combined and allocated for the layers as shown in the following table.

Layer

Application object ID range

SYS

1-20000

SYP

1-20000

GLS

1-20000

GLP

1-20000

HFX

1-20000

SL1

1-20000

SL2

1-20000

SL3

1-20000

Workflow

The Microsoft Dynamics AX workflow infrastructure enables user configurable workflows in Microsoft Dynamics AX application modules with specific focus on task and approval workflows. The workflow runtime manages configuration and execution of workflows while the application modules will manage activation and business logic associated with workflows.

There is a new node in the Application Object Tree (AOT) named Workflow. Within the workflow node, you can create workflow templates, categories, tasks, and approvals. Workflow templates are the basis for creating workflow configurations in the application. The workflow template defines the data fields that the workflow operates over, tasks and approvals, and event handlers to run business logic during the workflow. The workflow category determines whether a workflow template is available in a specific module. Workflow tasks are single step units of work defined in the AOT. Workflow approvals are specialized tasks that can contain many steps, and support an approval process. For more information, see Implementing Workflow for Microsoft Dynamics AX.

Microsoft Dynamics AX workflow has three workflow providers. The due date provider is used to select a date and time for completion of a workflow, workflow task, or workflow approval step based on the calendar set up in Microsoft Dynamics AX. The participant provider resolves assignment of a workflow to a user group. The hierarchy provider resolves assignment of a workflow to a user within a user group based on conditions set up by the user.

Business Connector

COM Business Connector is no longer going to be supported in a future release. If you need to install COM Business Connector, you must install from the command line. For more information, see How to: Install COM Business Connector using Command-line Options. For information about .NET Business Connector, see .NET Business Connector Overview.

Development Best Practices Checks

For a description of the new MorphX and X++ best practices checks in Microsoft Dynamics AX, see New Best Practices in Microsoft Dynamics AX 2009.

Version Control System Integration

MorphX, the Microsoft Dynamics AX Integrated Development Environment, can now integrate with more version control management systems.

  • Features for Microsoft Visual Studio Team Foundation Server (TFS) version control include concurrent development, isolated development, change description, change history, change list support, and quality bar enforcement.

  • MorphX VCS, which is included with Microsoft Dynamics AX, provides out-of-the-box version control. Features for MorphX VCS include change description, change history, and quality bar enforcement.

  • For more information about version control options, see Version Control System.

XML Documentation

You can now write XML documentation in X++ source code to document classes, class methods, and table methods. This XML documentation can be extracted from the source code to create an XML documentation file. For more information about XML documentation, see XML Documentation.

Enterprise Portal

A new framework is being used for Enterprise Portal. By using this new framework, controls for Enterprise Portal are developed in Visual Studio. For information about how to develop for Enterprise Portal, see Enterprise Portal Development Overview. For information about how to use Visual Studio to develop controls for Enterprise Portal, see User Controls Overview.

Reporting Tools for Microsoft Visual Studio

Microsoft Dynamics AX provides a model-based approach for creating reports by providing project templates and modeling tools that are incorporated into the Microsoft Visual Studio development environment. The reporting tools provided by Microsoft Dynamics AX are based on a tight integration with SQL Server Reporting Services. The reporting tools allow you to do the following:

  • Create reports quickly using the auto design reporting feature. This feature automatically creates a report design based on the report data. Most reports can be created this way.

  • Use SQL Report Designer for reports that require a very precise design. SQL Report Designer can be launched directly from within your reporting project in Microsoft Visual Studio.

  • Create a consistent look and feel for your reports using style templates. One style template can be applied to many reports. Style templates allow you to separate the style settings from the actual report definition. There are several predefined style templates available. These are standard templates for Microsoft Dynamics AX reports created with the reporting tools in Microsoft Visual Studio.

  • Preview reports at design time from within the Microsoft Visual Studio development environment.

  • Write business logic for your reports in managed code.

  • Choose from several different data region types. You can choose from list, table, and matrix data regions. In addition, several chart data region types are supported, including column, bar, line, pie, and doughnut charts.

  • Add interactive report features. You can add parameters and filters to sort and filter data, document maps that users navigate to different areas of a report, drill-down and drill-up actions to allow users to expand and collapse areas of data, and drill-through reports to allow users to drill through to additional data in another report.

  • Display images in your reports.

  • Develop your reports in a neutral language, and then create translated versions of the resource files when you are ready to localize your reports. Standard .NET Framework localization techniques are used to localize the resource files in a reporting project.

  • Use the deployment utility that is installed with the reporting extensions to deploy reports to a report server.

For more information about the reporting tools for Microsoft Visual Studio, see Reporting Overview and Creating Reports for Dynamics AX in Visual Studio.

Reporting projects created with the reporting tools for Microsoft Visual Studio can be integrated into Microsoft Dynamics AX. Reporting projects are added to the AOD in a packaged format. This allows the reporting projects to be customized, upgraded, and patched using the built-in layering support. Reports can display from menus and forms in the Microsoft Dynamics AX client and in Enterprise Portal Web parts. For more information, see Report Integration Overview.

Reverse Engineering Tool

The Reverse Engineering Tool supports a new model type. You can now use the Reverse Engineering Tool to generate an .erx file that can be used to create an entity relationship (ER) data model. An ER data model describes the data in a system and provides a means of visualizing tables, views, and their relationships. You can import an .erx file into modeling tools, such as Microsoft Office Visio and CA ERwin Data Modeler, where you can create an ER data model from the imported elements. For more information, see Reverse Engineering Tool Overview.

Several additional properties have been added to the Properties sheet to aid in describing application elements. The DeveloperDocumentation and EntityRelationshipType properties have been added to the Properties sheet for tables, views, and maps. The EntityRelationshipRole property has been added to the Properties sheet for table relations. These properties are helpful in describing application elements and how they relate. The descriptions for these properties are captured in the .erx file that is generated from the Reverse Engineering Tool and can be used in describing the elements within an ER data model.

Microsoft Dynamics AX contains new types of forms that you use to view data records and open forms. The new types of forms are known as navigation pages. Navigation pages include the following types of pages:

  • A primary list page retrieves and displays a list of data records in the client content pane. A list page also contains an action pane, a filter pane, and optional controls like a preview pane. The action pane contains buttons that perform an action on one or more list page records.

  • A secondary list page builds upon an existing list page but modifies the list page data source. The new data source includes data constraints that cause the secondary list page to display a subset of the records from the original list page.

  • A content page enables the client content pane to display data in a format other than a list. For example, a content page can use a tree control to represent the organizational hierarchy of a group of records

  • An area page contains menu items that open list pages, content pages, forms, reports, classes, jobs, and queries.

To access a navigation page, use the client Navigation Pane or an area page to find and open a specific list page or content page. For more information, see Navigation Pages in Microsoft Dynamics AX.

Queries and Views

The AOT includes changes to the view and query objects that enable more flexibility in how you retrieve records from the database. To enable flexibility, the following changes were made to queries and views:

  • The AOT query object enables the construction of a query that represents the union of two or more existing data sources. A union retrieves the same type of data from each data source. You can specify whether the query should remove or retain duplicates records. For more information, see How to: Combine Data Sources.

  • The AOT query relation enables more flexibility to define how to join two data sources. The query relation enables you to specify the data source you want to join with the current data source. For more information, see Query Elements in the AOT.

  • The AOT view object lets you use a query as a view data source. New views should always use a query for a data source. For more information, see View Overview.

Time Zone Support

Microsoft Dynamics AX 2009 introduces time zone support. While on a business trip, David enters sales information in his local time. Then Susan can view the sales information with the date/time values automatically adjusted to her local time.

For more information, see the following topics:

Composite Query

In the AOT, a query that uses another query as its data source is called a composite query. Composite queries are new in Microsoft Dynamics AX 2009. A composite query is a way to improve the reuse of code and objects. You can add ranges to a composite query, and you can override methods of the original query. A composite query or a regular query can be the data source for other AOT objects such as forms, reports and views.

For more information, see Query Framework in the AOT.

Cross-Company Support

A cross-company query can return data for several companies in a single run. A query does not have to be limited to returning data for the current session company. Central to this functionality is the new X++ keyword crossCompany, and the new property AllowCrossCompany on Query objects in the AOT.

For more information, see Cross-Company Data Access.

Note

The DataAreaId length has been increased from 3 characters to 4 characters.


X++ SQL Enhancements

The SQL statements in X++ have been enhanced to bring them closer to the functionality of industry standard SQL. The enhancements include better support for inner and outer join clauses, better group by and order by clauses, and better support or using variables as a source of data to be inserted or updated. For more information, see the following topics:

X++ Enhancements for CLR Interop

The following enhancements have been made to the X++ language. These enhancements increase the support for common language runtime (CLR) interoperability.

byref Keyword

Support for calling .NET Framework assemblies, those managed by the common language runtime (CLR), has been enhanced by the addition of the byref keyword. This enables you to write X++ code that calls a C# method that requires either an out or ref parameter.

For more information, see How to: Use the byref Keyword for CLR Interop.

.NET Framework Array Support

X++ provides syntax for declaring and allocating arrays of .NET Framework common language runtime (CLR) primitive data types. For more information, see How to: Use X++ Syntax for CLR Arrays.

.NET Framework Enum Support

In Microsoft Dynamics AX 2009, you are now able to reference the members of .NET Framework enum types. For more information about accessing static members of a managed type, see How to: Access Static and Instance Members of .NET Framework Classes.

Debug a Batch Job that Runs on the AOS

In previous versions of Microsoft Dynamics AX, each batch job ran on the dedicated client. In Microsoft Dynamics AX 2009, the default is for each batch job to run on the Application Object Server (AOS). Yet the developer might want to debug the batch from his client computer. The utility AxDebug.exe can now do this. For information on how to debug a batch that is running on the AOS, see Walkthrough: Debugging a Batch that Runs on the AOS.

Update Cross-reference by Using AT.exe

The batch system cannot update cross-reference information in Microsoft Dynamics AX 2009. The Microsoft Windows Task Scheduler interface (or AT.exe) can be used to run a cross-reference update beginning in the late evening, so it completes before morning. For more information, see How to: Schedule Cross-references Without a Batch.

Electronic Signature Support

Microsoft Dynamics AX 2009 SP1 provides a system for capturing and for processing electronic signatures. The system provides several built-in signatures, such as Bill of Material Approval.

You can enable the built-in signatures by using the Electronic signature requirements form. This form also enables the administrator to define new signatures for tables or fields. Defining new signatures requires careful planning to avoid excessive security which could block proper access to tables.

For more information about using built-in signatures or defining new signatures, see "Electronic signature requirements (form)" in System and Application Setup Help. In the SP1 edition of the Help, see "Generic electronic signatures".

Application Integration Framework

Application Integration Framework (AIF) enables companies to integrate Microsoft Dynamics AX and communicate with external business processes and partners through the exchange of XML over various transport media. AIF enables both business-to-business and application-to-application integration scenarios. Enhancements to AIF in Microsoft Dynamics AX include the following:

  • Create, read, update, and delete (CRUD) operations are now supported. The ability to update and delete data through AIF enables companies to fully integrate Microsoft Dynamics AX in their business processes.

  • The programming model for AIF supports document services that encapsulate business logic and are the interface between Microsoft Dynamics AX and external systems. The document services can be customized by adding your own methods. Microsoft Dynamics AX now supports the ability to expose business logic implemented in X++ as Windows Communication Foundation (WCF) services. All services can be published through AIF asynchronous adapters or through WCF.

  • AIF provides functionality for consuming external Web services from within X++. This enables the integration with any external data provided as a Web service.

  • Performance improvements include the ability to scale up and handle more messages through parallel message processing and the addition of multiple AOSs.

  • New document services for additional commonly-used documents.

For more information about AIF for developers, see Application Integration Framework Overview. For more information about setting up AIF, see "Configuring and managing AIF" in the Server and Database Administration Help.

Update and Delete

AIF now supports the ability to update and delete data in Microsoft Dynamics AX through document exchange. Two new actions enable the ability to update or delete a single record or multiple records. The Axd Wizard is now the AIF Document Service Wizard and enables developers to create custom documents that support updating and deleting data.

Programming Model Changes

Documents are now exposed as services making them more flexible and customizable. Service operations can now be consumed from external AIF clients as well as directly from X++ code. The AIF framework has been updated to enable developers to expose X++ business logic as WCF services. ASMX Web services have been replaced with WCF services enabling new functionality such as message encryption.

Consume Web Services

Microsoft Dynamics AX provides the ability to consume Web services from within X++. Creating a service reference to an external Web service generates a .NET service proxy that enables the service to be available through IntelliSense within X++. The external Web service can be consumed by Microsoft Dynamics AX using the .NET service proxy through CLR interop.

Performance

AIF now supports the ability to scale up message processing when using the AIF adapters by adding AOSs. You can now define whether messages are processed sequentially or in parallel. If parallelism is implemented, messages can be processed in any order by multiple AOSs. After implementing parallel message processing, specific messages can still be designated for sequential processing.

New Documents

AIF includes support for an enlarged set of frequently used documents. Documents new to Microsoft Dynamics AX include the following.

Document

Supported service operations (Create, Read, Update, Delete)

Address

CRUD

Bill of Materials (BOM)

CR

Cash Discount

R

Contact Person

CRUD

Credit Card

C

Customer

CRUD

Customer Group

R

Customer Payment Journal

C

Expense Report

CR

Fixed Asset

CRU

Fixed Asset Condition

R

Fixed Asset Group

R

Fixed Asset Location

R

Fixed Asset Major Type

R

General Journal

CR

Inventory profit/loss journal

C

Item

CR

Item Dimension (Color)

R

Item Dimension (Configuration)

R

Item Dimension (Size)

R

Item Dimension Combination

R

Payment Terms

R

Product Groups

R

Product Picking List

C

Project Hour Journal

C

Project Invoice

R

Return Order

CR

Return Order Acknowledgment

R

Route Card

C

Sales Invoice

R

Sales E-Invoice

R

Service Agreement

R

Service Order

CRUD

Shipping Methods

R

Route Card

C

Unit

R

Unit Conversion

R

Vendor

CR

Vendor Group

CR

Vendor Payment

R

Warehouse

R

In addition to these new documents, the sales order document has been updated to support multi-site functionality as well as the ability to update and delete data.

Partners and customers can easily customize and extend the existing application programming interfaces (APIs) by using the Microsoft Dynamics AX software development kit (SDK). The SDK includes a new service wizard that developers can use to easily create their own custom document services.

MorphX

Several usability enhancements and new features were added to the MorphX development environment. These enhancements address developer pain points to improve the development environment usability and to help increase developer productivity.

The following features were added to the AOT:

  • AOT caption that contains the path of the selected object.

  • Support for table field drag-and-drop operations between tables.

  • Find-as-you-type support to Property sheet drop-down lists.

  • Enhanced menu navigation for the Add New menu in Projects.

The following enhancements were made to the X++ Editor:

  • Removed the limit to the number of Undo actions.

  • Increased the default window size.

The Embedded Resources tool was updated and added to the Development Tools menu.

The following table contains keyboard shortcuts that were added to the development environment.

Command

Shortcut key

Compare

CTRL+G

Projects

CTRL+Shift+P

Open new workspace

CTRL+W

Import

CTRL+Shift+I

Version control parameters

CTRL+Shift+V

Business Intelligence

The Business Intelligence infrastructure enables you to generate Unified Dimensional Models (UDMs) by leveraging metadata from the Microsoft Dynamics AX relational data model. You can specify measures and dimensions in the AOT to define Online Analytical Processing (OLAP) cubes. A perspective is used to identify the tables that contain measures and dimensions for a cube. You can generate a Business Intelligence project and manage and customize the cubes using SQL Server Business Intelligence Development Studio. For more information, see Defining Cubes in Microsoft Dynamics AX and Working with Business Intelligence Projects.

Documentation Changes

The following changes have been made to the documentation for developers in Microsoft Dynamics AX 2009:

  • New scenario-based documentation

    The documentation for Microsoft Dynamics AX 2009 contains more "How to" topics and walkthroughs. These topics take you step-by-step through various tasks in the development environment.

  • Class and table method documentation

    Reference documentation has been added for many class and table methods. We know that there are still gaps and we will be publishing updates to the reference documentation on MSDN.

  • Improved table documentation

    The reference topics for tables now contain a description that explains what each table is used for. These topics also contain information about the table methods, fields, relations, and indexes.

  • Help also available in Visual Studio

    Development for the Enterprise Portal, Reporting, and the .NET Business Connector is performed in Visual Studio and in MorphX. So the help for those components is available in both tools.

  • More documentation for legacy features

    We have continued to add new documentation on MSDN since the release of Microsoft Dynamics AX 4.0. All this new content has been incorporated into the product documentation for Microsoft Dynamics AX 2009.

Changes in Microsoft Dynamics AX 2009 SP1

See Also

What's New in Microsoft Dynamics AX 4.0 for Developers