Dexterity (programming language)

The Dexterity programming language was designed in the late 1980s for the implementation of platform independent graphical accounting software. Dexterity itself is written in the C programming language. It was used in the development of Great Plains accounting software.

Microsoft Dynamics GP, formerly Great Plains Dynamics and eEnterprise, is a Dexterity-written application. Microsoft's small business line, Microsoft Small Business Manager and Small Business Financials, were also written in Dexterity and use the same code base as Great Plains.

History of Dexterity
Great Plains Dexterity is a proprietary programming language and technology, designed in the late 1980s with the goal to build a platform-independent graphical accounting package - Great Plains Dynamics. Dexterity itself is written in C (with the hope that C would provide platform independence). The user can install Dexterity from the Dynamics GP CD #2 and it allows custom pieces to be seamlessly integrated with the Dynamics GP interface.

Features

 * Native Dexterity Cursors:
 * Dexterity was designed as a platform-independent programming language. If you want code to be operable on all currently supported Dynamics GP databases, use Dexterity ranges and loops to manipulate the records


 * Dexterity with SQL Stored Procs:
 * Currently, most Dynamics GP installations have been moved to MS SQL Server - so you can use Dexterity for custom forms drawing only and make the buttons run SQL stored procedures.


 * COM Object calls:
 * Beginning with version 7.0, Dexterity supports COM objects - register them as libraries in Dexterity. Refer to the manual as to how to do this. This technique allows you to call such things as web services across the internet.


 * Dynamics GP Alternate Forms:
 * These are modifications to existing forms – the ones found in DYNAMICS.DIC. The most popular customizations are made on the SOP Entry form. Alternate forms are not recommended by Microsoft as they make version upgrades more difficult. Customization usually has to be redone.


 * Some restrictions:
 * Dynamics GP is actually an integration of multiple dictionaries: DYNAMICS.DIC, ADVSECUR.DIC, EXP1493.DIC, etc. In your Dexterity customization you can generally deal with only one dictionary - DYNAMICS.DIC. Integration with other dictionaries is supported but is difficult.

Dynamics GP macros can also be recorded in Dexterity. The ability to handle branches does not appear to exist in these macros.