Updating Dexterity code for Microsoft Dynamics GP 2013

David Meego - Click for blog homepageToday we are going to cover some of the changes you will need to make to your Dexterity code to just bring forward your code to Microsoft Dynamics GP 2013. This will not leverage any of the new functionality or features of Microsoft Dynamics GP 2013, but will at least get your Dexterity code running.

 

Named System Database 

Microsoft Dynamics GP 2013 allows for the System Database to be named, so it is no longer hardcoded to DYNAMICS. This allows for multiple instances of the Microsoft Dynamics GP application to share a single SQL Server instance. For developers and consultants it will avoid the need to have multiple instances of SQL Server installed on their systems to support multiple application instances.

To update your scripts, do a find and replace on both the constants:

SQL_SYSTEM_DBNAME and ST_DYNAMICS

And replace them with the function in the Dynamics.dic core dictionary:

GetSystemDatabaseName()

Also search your scripts for "DYNAMICS" to check for any hard coded references.

 

Scripts with No Executable Code

Dexterity will now produce a warning for scripts which have no executable code in them, but need to remain in the dictionary, for example: placeholder scripts to trigger against.

The reason for the warning is to avoid un-necessary call backs between the User Interface and the business logic with the Web Client and so improve performance.

You can add the following pragma comment to avoid the warning message.

pragma(disable warning NoExecutableCode);

You could also add the command abort script; to the script to avoid the warning, but this will not help with the Web Client performance issue.

 

Please note that as always, after updating your code (with index file) into a clean GP 2013 DYNAMICS.DIC, you should recompile your entire dictionary. Changes to some commands, for example: Defaults_Write() will cause errors if the code has not been recompiled.

 

[Edit] For additional updating tips see the follow on post:

 

Hope this gets you going with Dexterity for Microsoft Dynamics GP 2013. 

David

20-Feb-2013: Added link to Dex - Illegal address for field 'System Database Name' exception post.

25-Mar-2014: Added Link to follow on post.