Graduating to Microsoft Dynamics AX Development

Development , Dynamics AX , X++ Add comments

Author Seth Shaheen

Microsoft Certified Technology Specialist More ...

Only a few short months ago, I began my career as a Microsoft Dynamics AX developer. While it did not take long to learn the basics, developing modifications for Microsoft Dynamics AX 2012 was and is a unique challenge. The combination of the X++ programming language, the MorphX integrated development environment (IDE), and a layered architecture make Microsoft Dynamics AX 2012 an application that stands on its own despite the similarities each of its pieces may share with other software. Those similarities are an asset to the new developer, but it is the remarkable features of Microsoft Dynamics AX 2012 that make it interesting.

The X++ programming language is used to code most business logic in Microsoft Dynamics AX 2012. X++ uses object-oriented principles, such as encapsulation, inheritance, classes, objects, methods, and properties. These make it similar to other object-oriented languages such as C#. But one major difference is a feature that makes X++ very powerful. SQL data manipulation statements may be written and executed directly in the language without the need for external connections nor API calls to be made from within the code. All that are necessary are a table buffer for storing retrieved data, and the Transaction Tracking System statements which ensure data integrity. For example:

void changeCustGroup()
// Declare table buffer
CustTable custTable;
// Open transaction
// SQL select
select forUpdate custTable
where custTable.AccountNum == ‘ABS’;
// Manipulate data
custTable.CustGroup = ‘Customers’;
// Close transaction

The code above will select a record from the customer master and modify one of its fields. The connection to the database is abstracted away by the Application Object Server.

X++ programming and other development is primarily done within the MorphX IDE, accessible by only a couple of clicks or a keyboard shortcut from the primary Microsoft Dynamics AX 2012 user interface. Once in the development workspace, every application object can be found visually within the Application Object Tree (AOT). Objects such as tables, forms, and classes can all be found in the AOT. The AOT also houses documentation for standard objects, which can be of great use to the developer. A unique aspect of the AOT is the ability to create and modify objects using drag-and-drop functionality. A developer need only click and drag a data type and drop it onto a table, and a field which extends that data type will be added to the table. Many development tasks can be completed using drag-and-drop. It is only for the business logic behind those objects that classes and X++ code are necessary.

All of the objects and source code in Microsoft Dynamics AX 2012 are built in a layered architecture. There are seven layers, the base of which is the SYS layer which stores the standard Microsoft Dynamics AX 2012 application. Each layer on top of that builds on the layer below it. The topmost layer is what is seen by a user of the application. If any layer should be removed, all layers below that layer would remain unchanged. This allows the source code to be exposed while also providing security, because changes are always reversible and will not break the standard application. Layers may also be imported and exported, allowing modifications to be extracted from one application and implanted in another.

Behind the stylized user interface which has much in common with Microsoft Office products, Microsoft Dynamics AX 2012 has a robust IDE that contains everything one needs to develop for the application. External products such as Microsoft Visual Studio 2010 may be used in conjunction with Microsoft Dynamics AX 2012, but are not necessary to create most practical modifications to the base software. Developing for Microsoft Dynamics AX is unique, with both simple and complex aspects which set it apart from the crowd. I hope that you now have a better understanding of some of these features and wish to learn more about Microsoft Dynamics AX development.

Author Seth Shaheen

Microsoft Certified Technology Specialist More ...

Microsoft Dynamics AX is a robust ERP and Lean manufacturing enabler. The latest release, Dynamics AX 2012, combines the powerful planning and execution features required of comprehensive ERP integrated with the features of Lean to assist the "blended" manufacturer. Contact Agility Business Solutions, Inc. to learn more.

1 response to “Graduating to Microsoft Dynamics AX Development ”

  1. Greg Says:
    Nice post! Dynamics AX sure is a unique experience

Leave a Reply

Leave this field empty:

Powered by Mango Blog. Design and Icons by N.Design Studio