How to upgrade SysDim fields to AX 2012


Assume in AX 2009 you have a field on a table that extends SysDim EDT and represents single Dimension value. Usually it goes together with SysDimension enum which tells us the type of the dimension.

In AX 2012 there is no SysDim field (well… there is but it is obsolete).

Dimension is replaced by DefaultDimension which is the RecId reference to DimensionAttributeValueSet table.

In our case we have single dimension.

What most probably represents single dimension is DimensionAttributeValue table records. But the problem appears when I try to add it to a form. It does not have any replacement key and so shows RecId values which is not good for users.

However DimensionAttributeValueSetItem does not look to be good idea to replace single dimension because it stores elements of the dimension set.

Does anybody knows what would be the best way to upgrade SysDim field to AX 2012?



Does anybody now something about this issue?

Looks like nobody knows [:)]

I recently find out that the best way to upgrade SysDim fields is by upgrading them to DefaultDimension field (DimensionDefault EDT, relation to DimensionAttributeValueSet table). When upgrading this way you are able to restrict specific dimension attributes on the form with method setEditability of DimensionDefaultingController. Thats how you would allow user to enter values on certain dimensions.

It’s even working then you have a “dynamic” type of dimenson which used to be SysDimension enum type field (now its DimensionAttributeRecId type field). because you can set editability on active method of the datasource.

Hope this info was usefull to somebody.