AX 2009 to AX 2012 field/column mapping


Is there any reference where I can find field/column mapping from AX 2009 to AX 2012.
Let me take an example…

I have one query which uses ItemName column of InventTable of AX 2009. Now I am going to upgrade it to AX 2012 then I found that ItemName has been removed from InventTable. So I want similar column in AX 2012 mapped with ItemName of InventTable in AX 2009.
This is just an example. I have many more like this…

I googled it and found somehting like ER diagram references but it’s very complex/typical to understand and use that to get these field/column mapping of AX 2009 to AX 2012.

Any help would be greatful…


Many things are document in white papers, nevertheless the most complete mapping is in the classes for data upgrade. If they didn’t know the logic, they wouldn’t be able to upgrade the data.

Thanks Martin for your quick reply…

Yes. They have documented things on white papers. but is there any easy way to understand table/column mapping from AX 2009 vs. 2012 for any SQL developer.

Because most of the things which I found in terminology of classed and methods… Other than that I found below link where I can clearly seen the difference of table/column migrated.

But in case of my above mentioned example It really makes me hard enough to find it and still I am searching where an ItemName column of InventTable in AX 2009 have been placed in AX 2012.



There is no need for documentation for SQL developers, because nobody should access AX database directly. And talking about classes and methods makes a very good sense, because they’re there to help you with managing complexity. For example, you can call itemName() method and you don’t have to know all details about item translations and such things. If you used the database directly, you would have to understand every little detail and reimplement all related business logic again in your own application.

You would also bypass AX security and so on.

Nevertheless if you want to know what exactly InventTable.itemName() does, just look inside.

Thanks Martin…

But let’s consider SQL developer has access over AX 2012 database and it is unaware of business processes/logic but have to deal with database tables/views/procedures/functions…and there has been built number of views/procedures based on AX 2009 database and now client AX 2009 has been upgraded. Please note here that SQL developer is of outside of AX team.

So is there any method to get through idea about these table/column mappings.



Working directly with Dynamics AX database and working with Dynamics AX data without any knowledge of AX are two bad ideas. If you don’t want to fail horribly, you’ll have to work closely with the AX team.

I already told you that there is no such documentation, because it’s not needed if you use the product correctly. Also note that the exactly structure database schema is considered an implementation detail and can change without warning, as it happened with table inheritance in AX 2012 R2.

I also told you where to find the most detailed information available (in the data upgrade classes). You won’t get anything better.

Thanks Martin for help…