Saturday, December 15, 2007

Axapta 3.0 to Dynamics 4.0: upgrade errors and issues

The documentation that Microsoft provides for upgrading from Dynamics AX version 3 to version 4 (the 676-page implementation guide) is surprisingly complete. During our conversion process, though, we ran into a couple of unexpected error messages. Here are some of the issues we ran into, and how we worked through them.

1. =======================================
Extra tables in the database. The Dynamics AX development environment takes care of managing the SQL tables and data structure. Any tables that you want added should be done through the AOT. But this is a best practice that is sometimes ignored. In our case we had a few tables in the database for our Axapta 3.0 installation that were created through SQL server itself. (They aided communication with another application.) When running the DB Upgrade Preparation Tool (which transfers each table in the 3.0 database to a new, empty version 4.0 database) tables that were created outside the Axapta development environment cause an error. You'll want to remove these tables before the beginning the conversion process. If you get the error in the middle of the DB upgrade prep process you can delete the offending table using SQL Server management tools, and re-start the process.

2. =======================================
Errors caused by compiling before entering license keys. When you start the Dynamics 4.0 client for the first time after converting your data from version 3.0, you are presented with an upgrade checklist. The first 2 steps are compiling the application and entering your license keys. Here is where we get to a catch-22: you have to compile the application before you enter your license keys, but the compiler needs your license keys to know if you have rights to the application objects.

If you are doing a fresh installation (not migrating data from version 3.0), this is not a problem, because there will be no license keys in the database, and Dynamics allows full access in demo mode. But if you have data from Axapta version 3.0, your license keys are stored in the database. Dynamics 4.0 uses different license keys than version 3.0 and it interprets the existing keys as invalid. This will cause a number of errors while compiling, and will cause errors in later steps, like the pre- and post-synchronize data upgrade cockpit. You'll get errors like these:

  • Insufficient rights on object
  • Error executing code: JMGParameters (table) has no valid runable code in method numberSeqModule

The fix is to compile the application again after entering your license keys for version 4.0, and before starting the pre-synchronize data upgrade cockpit. If you already started the pre-sync data upgrade process and got an error, don't worry, you won't lose anything. Close the data upgrade form, re-compile the application, and re-start the data upgrade process. (If asked, you don't need to reset the dependent steps in the checklist.)

==================================

Hope you find these tips useful. If you are in the middle of a conversion, post a comment here letting me know how it's going!

2 comments:

Anonymous said...

Another option is to empty (delete all rows, but do not drop) the table SysConfig manually from the database. This will reset your application into the demo mode.
Best regards,
Thomas.

Unknown said...

Thank you much for sharing this with us, I'm waiting for your upcoming blogs on AX 4.0 upgrade Your blog is nicely written and rich in content.