upgrade process from ax 2009 to ax 2012


i just want to know about the code upgrade process from ax 2009 to ax 2012.

what is the difference,

  1. if i imported all customizations through .xpo file.

  2. if i moved customizations through AOD code upgrade check list in ax 2012.

will they both gives the same result? else the AOD code upgrade tool having any other capabilities to resolve the minor conflicts?

can any one explain me the difference?

thanks in advance…

It shouldn’t be a big difference for the active model store, although I believe you would have troubles with customizations on objects that don’t exist in AX2012 anymore if you used .xpo. But you can’t import .xpo to baseline model store and without that, you can’t use automatic conflict detection and property conflict resolution (this statement is about conflict-related upgrade project - Code Upgrade Tool, on the other hand, doesn’t depend on comparison with old code).

hi martin,

can you please explain me what is the active model store and baseline model store and the difference?



Only the “normal” model store contains code that is visible in AOT and actually runs. The baseline model store contains code that is used for comparison only, which is crucial during upgrade.

As part of upgrade checklist, you import original layers to the baseline model store and AX can use it to detect code conflicts. For example, if some SYS code changed between AX2009 and AX2012 and the change is overlayered by some code in a higher layer (e.g. because the method is changed in VAR), AX finds that by comparing active and baseline model store and add the object to the upgrade project.

Hi Martin,

I am doing an upgradation project from Ax4.0 to ax 2012r2 … i am very much confused regarding the class changes in ax 6.2. Especially the purchform letter classes for invoice, packing slip … etc … can u please advise the new changes in this and how to do upgrade for this …

Thanks and Regards,


You should always look at Code upgrade white papers [AX 2012] - in your case, you’ll need Using the Refactored Formletter Framework. It probably won’t answer all your questions but it surely helps.

Thankyou martin…