AOT node compare

One of the most often used tool is the AOT node Compare utility, which has some improvements from the past but can be changed further.

Now in AX 2012 the compare tool can be executed as CIL code rather than in the X++ runtime tier, which should give you considerable performance boost for larger code comparison. Here is a great post (The compare tool–and running X++ code as IL) from mfp about improvements that Microsoft did.

On the other hand you can do some improvements yourself by adding the following line to the SysCompare class, selectionChanged method:

This allows you that for example when you compare objects that is being imported from an XPO file, you will be able to add new objects which would not be allowed otherwise, like new fields.

The other improvement you might want to do is to get back the good old AX 4.0 behaviour, by always having the lower layer on the top of the compare form, thus highlighting the new changes in blue colour. The simplest solution is adding a button next to the buttongroup on the SysCompareForm form to switch the layers around, with the following lines in the clicked method:


DAXRunBase / 2012-08-14 / AX 2012
Tags: , , , , ,


  1. Hari - 2017-06-21 @ 06:48

    Hi, thanks for that, it works for fields, but groups and indexes and relations it still doesnt work.
    Any idea for that?
    If so, please let me know. Update is from 2012 R2 to 2012 R3

    • DAXRunBase - 2017-06-23 @ 08:23

      This change will not allow you to create some of those entries indeed.
      If you manually create the field group/relation/index with the same object name, save it, then run compare again, it will allow you to change the properties and add fields, relations from the compare window.


Leave a Reply

Your email address will not be published / Required fields are marked *