#GPPT GP Power Tools turns 20 years old

Yesterday marked the 20th Anniversary of the creation of the MBS Support Debugging Tool. This was the original name of the Dexterity based Tool originally created by David Musgrave while he was an Escalation Engineer on the Asia Pacific customer services and support team for Microsoft Dynamics GP.
The tool was released publicly to partners two years later on 03-Sep-2008 as the Support Debugging Tool (dropping the MBS prefix). With the help of Pam Mishialek, David secured the rights to the software, and it was renamed and re-released on 07-Jul-2015 as GP Power Tools.
History
The creation of the original tool came about after a support case had been open without resolution for 12 months. In this case we could see incorrect data in one of the apply tables where the Microsoft Dynamics GP had marked a transaction as posted even though the transaction itself was still in work state and not posted.
The customer could see that the data had changed, which in turn caused a report on applied but unposted transactions to be incorrect. However, no-one could identify how the data had become incorrect. The customer, the partner, the Asia Pacific Support team, the Asia Pacific Escalation team (David), the North American Support team and the North American Escalation team were all involved and no-one could narrow down the cause of the issue.
While thinking of a way to identify where the bug was in the Microsoft Dynamics GP code, David decided that a trigger on the saving of the apply table could be used to check the posted flag and compare this against the work table to confirm if the transaction was still unposted. The original plan was just to open a system dialog to say that the event had occurred and the data was now incorrect, please contact support with the steps currently being performed.
Then David remembered that Dexterity has commands that can be used to programmatically stop and start logging (including Dexterity Script Logging, Dexterity Script Profiling and Dexterity SQL Logging). Combining logging with the table trigger allowed logs to be captured up to the point that the issue we were looking for occurred. If the trigger fires and the error condition was not found, logging could be restarted, waiting for the next trigger event.
Rather than write this with a hardcoded table and hardcoded error condition, David wrote the code with a setup window which could be used to enter the Table and the product dictionary it belonged to as well as a small Dexterity script that could be used to detect if the error condition had occurred. This was Build 1 of the tool.
It was deployed at the customer and after 12 months with no resolution, the tool displayed the dialog on the fourth day. We finally had logs with the last script executed being the one responsible for making the incorrect change to the apply table. Reviewing this script in the source code we were able to identify that printing an edit list of the batch would mark a transaction as posted. The same code is used for the Batch Edit List and the Posting Journal and this data change had not been coded to only take effect when actually posting.
Once the Development team were notified of the cause with information of the exact script and script change to be made, a fixed build was released within the week, and the customer’s issue was finally fixed.
The MBS Support Debugging Tool had proved itself a valuable tool in identifying the cause of non-reproducible errors. Since that original build, there were 8 builds until Build 9 was released to the public as the Support Debugging Tool, then 10 more builds until Build 19 was released just before David was made redundant in October 2014. After securing the rights to the software, Build 20 was released as GP Power Tools and we are now up to Build 33 with a massive amount of functionality across the areas of application administration, database administration and customization tools.
Special Deals
To celebrate this milestone, we are highlighting the following deals for new and existing customers who place an order before the end of the year (31-Dec-2026):
New Customers:
New customers to GP Power Tools can use the code GPPT20 when they (or their partner) order the entire GP Power Tools suite and we will add an additional 3 months subscription to their order at no additional cost. This is equivalent to 25% discount, worth US$450.
Existing Customers:
For existing customers who don’t yet have the entire GP Power Tools suite, if they (or their partner) mention the code GPPT20 when contacting us to add the additional modules and upgrade to the entire suite, we will add an additional 3 months subscription to their system at no additional cost. Getting the entire suite gets you the “Sweet” Suite Discount as well.
Note: If the customer does not want to change their renewal month, we can charge a 9 month renewal and renew for 12 months.
Training
If you want to learn more about GP Power Tools, register now for the one-day workshop Academy class just before the upcoming Community Summit conference.
If you want to learn the Dexterity development environment, used by Microsoft Dynamics GP and GP Power Tools, register now for the five-day bootcamp training during the week before the upcoming Community Summit conference.
Looking forward to seeing you at the conference, use this special Winthrop Development Consultants 15% discount code (WinthropDev15) when registering. Make sure you come visit us at Booth 321 during the Expo hours.
David
This article was originally posted on https://www.winthropdc.com/blog.

