Custom Coding for Microsoft Dynamics GP Notes for Programmer

Nov 29
08:42

2010

Andrew Karasev

Andrew Karasev

  • Share this article on Facebook
  • Share this article on Twitter
  • Share this article on Linkedin

Formerly known as Great Plains Dynamics, modern Dynamics GP has long list of native modules as well as hundreds of so-called Add-Ons, typically programmed in Microsoft Dexterity and distributed via “chunk” technology

mediaimage

So,Custom Coding for Microsoft Dynamics GP Notes for Programmer Articles if you have relatively generic requirement in GP customization, we first recommend you to discuss it with your Dynamics GP Reseller, or call directly to Microsoft.  If custom functionality is not available through Dynamics GP ISV channel of extensions, you may decide to code it in-house or better via your Dynamics GP Technology Partner software development team.  Sometimes we see the scenarios, when add-on is too pricy (because you may need only tiny portion of what the add-on really does), and it is more feasible (cheaper) to perform small scale Dexterity programming.  Let’s review the tools, programming languages and methods:

1. Modern tools.  There are libraries for Microsoft Visual Studio, where you can extend existing forms with new logic, which will look very similar to Great Plains native interface.  However, it is probably good idea to deploy this SDK for small scale projects, as it seems to be better idea to create new tables directly in GP Dexterity (and this might look like limitation, as you, being C# programmer do not want to learn another tool, such as Dexterity).  The second tool, we would like to mention is eConnect Software Development Kit, which is good when you plan to interact with Dynamics GP objects from your external Microsoft Visual Studio hosted project (perfect for VB and C# coders, where they can find sample codes in their favorite programming languages).  eConnect was initially dedicated to ecommerce programmers, but later on extended to cover most of the native Dynamics GP modules.  Please, be aware, that eConnect provides integration, but it doesn’t have the power to change existing screens, or create new forms, seamlessly integrated into Great Plains user workstation interface

2. Traditional tools.  We already mentioned GP Dexterity, this was and still is in fact Great Plains architecture with its own scripting language (Sanscript) and Integrated Developing Environment (you can deploy Microsoft Visual Studio for Source Code Control and versioning, outside of the scope for this paper).  Dex is really all-mighty and if you are Dexterity programmer with experience – you can do “everything”, which could be characterized as Customization, Modification or New business logic development (for existing GP user interface and GP database).  Most of Dynamics GP ISV add-ons are programmed in Dexterity at this time and in foreseeable future (2010 and up).  There was a period of time, when Microsoft introduced so-called “Project Green” (around 2003 and 2004), when some of the Dynamics GP developers felt the signal (and probably tried to speculate and see it this was really the “message”), that Dexterity is in phasing out mode, and all its code will be reprogrammed in C# for Microsoft .Net.  On Convergence 2010 in Atlanta we attended Dynamics GP Customization Tools seminar, where we were sort of reassured, that Dexterity is not something to be phased out in foreseeable future; however new tools, such as MS Visual Studio SDK for GP (see paragraph #1) are now out there, but Dex will stay as professional tool.  OK, now we are good with Dexterity description, let’s move on to other “traditional” tools.  Modifier with VBA scripting – this tool is Dexterity module, where instead of coding in Sanscript, you have an option to create event handling scripts in VBA (Visual Basic for Applications, very popular in late 1990th, simple subset of Microsoft Visual Basic programming language).  Modifier allows you to change GP existing form (change fields position, add new buttons, editable fields, DDL).  Please, be aware that in the case when you need GP tables access, you have to use old fashioned ADO mechanism (not ADO.Net, as Modifier is not Microsoft .Net compliant)

3. Extender.  This tool was acquired by Microsoft Business Solutions from Australian based Dynamics GP ISV in mid 2000th.  It allows you to extend (create new forms) with the look and feel to be very similar as the ones in native Great Plains interface (as Extender is in fact an additional layer, built upon GP Dexterity, and it helps you in the way, that it allows you to do changes, without the necessity to be Dexterity programmer – we would like to compare with Modifier – where Modifier only modifies existing forms and reports, while Extender creates new forms – and both do not require you to be Dexterity developer).  To give you additional info, you may decide to consider Extender Enterprise version for Dynamics GP (available exclusively through eOne), where you can deploy Dexterity Sanscript codes in Extender objects (there is no way to debug, so you have to be experienced Dexterity coder to be sure that your scripts are perfect from the beginning)

4. Integration Manager.  It is not really a customization tool in its designation, however it might be considered as very powerful integration tool, which is in comparison to eConnect more end-user friendly and where you can have ongoing quasi real time integration from external application, such as ecommerce web site to be implemented with relatively modest programming budget.  IM has both traditional (where Dynamics GP User workstation is used as OLE server, requires one user license to be consumed during integration hours), as well as eConnect connectors (in fact encrypted SQL Stored procedures on the low level or technology background), where there is no requirements in additional user licenses and performance should be higher (SQL stored procedures is by its nature faster, comparing to Dexterity cursor, deploying several layers of technologies, prior to calling so-called Dexterity “atomic” stored procedures, beginning with “z_” prefix, if you look at the through Microsoft SQL Server Development Studio)

5. Direct SQL Insert, Update or Select Statements.  While Select statement is harmless, and we are encouraging you to use it in Reporting and Data Export tools, such as Crystal Reports, SSRS, Microsoft Access, Excel, other ODBC connection based reporting tools (Oracle, MySQL/Linux/PHP).  At the same time, we really discourage you from direct data altering via SQL Server Query Analyzer, as there is very high chance to damage the data or compromise data integrity

6. To request further support, please call us 1-866-528-0577, help@albaspectrum.com We need to discuss your cards in order to recommend you the best solutions, which is not contingent to our preferences.  We serve you USA/Canada nationwide via remote support (web sessions and phone/Skype conferences).  Local service is available in Western Michigan, Chicagoland, Southern California (LA, Orange County, San Diego), Houston area of the state of Texas