Thursday, March 24, 2011

Upgrade from Great Plains 9 to Great Plains 2010

We just recently upgraded from Great Plains 9 to Great Plains 2010 and it went pretty smoothly. I had heard the upgrade to Great Plains 10 was pretty bad so I was concerned. We don't use a lot of modules so that helps. We did lose a couple of reports but I was able to import the missing reports from the old reports dictionary into the new one without any problems. As issues arise I will update this post with how the issues were resolved.

Issue #1:

Our custom Check Remittance report stopped working. When we would run the Check Remittance report we kept getting the following error: Undefined Symbol F01343D00789 Sequence Num

Thankfully, I found the following blog post that explained how to fix the problem:
http://mohdaoud.blogspot.com/2011/02/undefined-symbol-errors-when-upgrading.html

Be sure to also read the response to the article that mentions you have to select key #3 in the Report Writer tool after importing the modified report.


Issue #2:

I have quite a few integrations written using the Great Plains Integration Manager. Everything worked after the upgrade except for the "After Document" script I had written. Because the script runs after the integration is successful there isn't any error logged by the Integration Manager. The error reported by the Integration Manager in the status window was "variable uses an automation type not supported in VBScript". I am using the "After Document" script to update a different database with a success flag so that the row I just imported isn't imported again. I knew this wasn't working because the Integration Manager was importing the same data over and over again.

What I finally figured out was that the SQL string I was building was failing because it was no longer dynamically converting my integer datatype to a string when concatenating the two together. So for example, what I used to have was something like this:

strSQL = "UPDATE ExportToGreatPlains SET SuccessFlag = 1 WHERE ExportID = " & SourceFields("ExportID")

This used to work perfectly fine in Integration Manager 9. However, once we upgraded to Integration Manager 11 with Great Plains 2010 it didn't like this anymore. What I had to do was convert the integer to a string and then concatenate the two together like this:


strSQL = "UPDATE ExportToGreatPlains SET SuccessFlag = 1 WHERE ExportID = " & Cstr(SourceFields("ExportID") )

Now everything works perfectly again. I was able to add some message box displays in the script to help me pinpoint the error in the script and would recommend using them to help you when debugging these kinds of errors.


No comments:

Post a Comment