Monday, May 30, 2016

Troubleshooting Illegal data conversion from original field synchronization Errors Dynamics AX 2012

Hi All,

Recently, I encountered this synchronization error in AX 2012

Error:

I got this error on opening Customer form after I did a update of my local AX with a copy from UAT AX.

Error:

Illegal data conversion from original field CustTable.ServiceRegionsDN to CustTable.ServiceOrderDN: unable to convert data types to anything but character field type (14 to 49)

Note: ServiceRegionsDN and ServiceOrderDN are custom VAR fields.

Solution:

Note - Please be careful while doing any SQL update from database. I did this in my local sandbox, Not recommended to do it in Production AX.

Check the field id in AOT and compare it with SQLDictionary table in SQL with the following query

select * from sqldictionary where TABLEID in (select TABLEID from sqldictionary where name = 'CustTable')
and name = 'ServiceRegionsDN '

Update SQLDictoniary table with the correct fieldid
update SQLDICTIONARY set fieldid = 60080 where TABLEID in 
(select TABLEID from sqldictionary where name = 'CustTable'
)
and name = 'ServiceRegionsDN '

Reference - https://blogs.msdn.microsoft.com/axsupport/2012/09/19/troubleshooting-aot-synchronization-errors/


2 comments:

  1. You don't need SQL for that. AX provides static helper methods for theses cases since version AX 3.0 (mayber earlier):
    ReleaseUpdateDB::changeFieldByName, changeFieldByAOTName, changeFieldId
    Those methods were used in earlier versions upgrade scripts if fieldIds or tableIds have changed.
    Kind regards, Mark.

    ReplyDelete
  2. Thanks Mark. Good to know about that.

    ReplyDelete