I am upgrading customer Navision 2.00 data to attain 3.6. I get an error when I run code unit 104045, Upgrade 3.60 Step 1. Under step 6 of the of the 18 upgrade steps. The error I get reads “Over flow under type conversion of decimal to integer value”. Could anyone there have met the same error? How can it be solved? The error has occured only when upgrading the Customers database which is heavily customized. Thanks
Fredrick, I did encounter a similar problem but cannot remember if it was exactly the same. You need to look closely at the code and find out the objects involved. I found one of the upgrade objects had an error in the field names. [}:)] So just debug the codeunit. [;)]
I haven’t done an upgrade from 2.00 to 3.60 but am currently involved in two upgrades both from 2.60 to 3.60. I’m pretty certain that the problem you have described is in the code that updates the estimated ending time on the status form that is displayed during the process. You can find this code in table 104037 (State Indicator). While we’re on the subject of upgrades - following are some of my observations and tips. If there is an error anywhere in the process then the entire process is rolled back. You must find the cause of the error, fix it, and restart the process from the beginning. Therefore, I always run the upgrade process with the debugger turned on (Active – On, Breakpoints – Off). This way if there is an error, the debugger will kick in and I have a better chance of diagnosing the error. Because the entire process can take a very long time it is particularly frustrating to get an error when the process has been running for a long time. Once the error is fixed, the process must be restarted from the beginning. This can happen several times until you are successful in running through the entire process. I have modified the code that updates the status form in table 104037 (State Indicator) to write a record to a checkpoint table and execute a COMMIT at the end of the UpdateTable function. If there is an error at any point I can examine the checkpoint table to see where the last COMMIT was performed. Once I fix the error, I can then comment out all the upgrade processing through this last commit and then when I restart the process I can restart almost at the point where the error occurred. My checkpoint table contains the table name, number of records, and the current date and time. This also helps to determine which tables are taking most of the time to process. I have also discovered that you can greatly speed up the process by disabling certain keys before starting the process. For example, in upgrading from 2.60 to 3.60 there is a particular function in codeunit 104045 (Upgrade 3.60 Step 1) called UpdateItemLedgEntry that processes each record in the item ledger entry table. By disabling all but the primary key in the item ledger entry table I was able to cut the processing time for this single function from over 30 hours to less than 1. There are other places where disabling keys can help. Importing the new customer objects into the database after processing the Step 1 codeunits can take a long time because of the redesign of some of the large tables and the building of keys on these large tables. Since I also disable some of the keys to speed up the processing of the Step 2 codeunits I am able to save time on the import by disabling those keys before importing the objects. Once all the upgrade steps have been completed, I import another set of objects with all the keys properly enabled; this causes the system to build the necessary keys. By examining the use of keys in the upgrade codeunits and disabling all but the primary key (and maybe 1 or 2 other keys that are used by the codeunits) for some of the larger tables you can speed the process up significantly. I was able to speed the processing for one database that had processed for over 40 hours and was less than half completed so that it completed in about 12 hours.
Hi all, I need to upgrade an international database from 2.00 to 3.60. Can you give me some hint?? Does exist any tool to directly upgrade from 2.00 to 3.60?? many thanks