Applying Microsoft Dynamics GP v10 service pack 4: Tales from the trench

August 30, 2009

It’s a gloomy and rainy day in Atlanta, so I figured I could do something productive while under lockdown. I currently run Microsoft Dynamics GP build number is 10.00.1193 — service pack 3, which was installed using the Feature Pack 1 DVD image available on CustomerSource and PartnerSource under the Product Release section. This build installs the Dexterity dictionary 10.0.320.

Before beginning the installation of SP4, I created a backup copy of my current GP installation folder just in case I needed to revert to it, and of course, backed up all forms, reports, and VBA projects, and my DYNAMICS and company databases. I also backed up the registry key corresponding to the GP installation, HKLM > Software > Microsoft > Business Solutions > Great Plains.

The upgrade operation began by launching the Service Pack 4 msp installation file.

After 5 minutes of the “10.0 is being configured on your computer” process, the installation script began “Gatherting required information” to calculate the installation steps required to deal with my environment’s configuration.

That went fairly fast, until the progress bar reached 90%. This is when things slowed down again for approximately another 2 minutes.

Once planning phase was up, another progress bar began letting me know that “10.0 is being configured” on my computer, presenting a progress bar with the time remaining.

Approximately 1 second before the “Time remaining” phase was up, I got an error saying “DEX.DIC version 10.0.320 is not compatible with executable version 10.0.324.0“.The error showed up one more time and I clicked the OK button to continue. No other indications, except for the message that anything was wrong.

The process went along and completed “successfully” with all service pack files copied into the GP installation folder. All the Dexterity Shared components were replaced.

I then lauched Dynamics Utilities…remember that DEX.DIC error? There it was again! At this point, the only safe recovery option to protect my data’s integrity was restoring all previous backups: databases, reports, forms, registry entries, and application folders.

I then downloaded the latest hotfix prior to SP4, 10.00.1328 (KB971014), and repeated the installation process. Everything went fine. I did not receive the pesky Dexterity dictionary version check error, all system and company tables upgraded without a hitch. All my reports and forms upgraded successfully. I noticed the Dexterity dictionary version for this hotfix was 10.0.320. The question now was, would I receive the same error attempting to install SP4?

I repeated all the installation steps I previously described. The good news this time, the installation of the Service Pack 4 components completed without a hitch.

I onced again launched Utilities, this time to upgrade all system and company tables as required. The product validation went on successfully. SP4 rightfully detected the existance of a previous version. I clicked Next to continue with the system database upgrade. This operation completed successfully with the account framework synchronization.

Next was the company update process…this also went substantially smooth and fast. As to the error, I cannot say for sure whether the installation steps call to be on a specific Microsoft Dynamics GP hotfix build prior to beginning the installation of Service Pack 4, or if this is something that is unique to my environment configuration, but at least the word is out. If you find yourself in this situation, you may be forced to upgrade to the latest hotfix prior to the release of SP4 to correct this situation.

There is also another issue with the original Service Pack 4 installation, with SmartList Builder and Excel Report Builder. If you attempt to save a calculation, you will receive the error “Wrong number of arguments to ‘Replace_Text'”.

Fortunately, all you need to do is download a chunk file and apply to solve this problem. You will find a link to the chunk download by clicking on a link under the Current Release Downloads secition of the Service Pack, Hotfix, and Compliance page.

You are now directed to the error page, where you can download a zip file with the fix, under the Hot Topics area.

Applying the chunk was very simple, but is always recommended that you backup your data.

[Updated 09/02/2009]
Chad A., a user on the Dynamics GP newgroup reported having the same problem. This was his reply:

Found the issue! Looks like Microsoft changed the name of the dictionary from dex.dic to dex_us.dic (there is also a dex_int.dic) back in the day. My GP 10 SP3 install had both files (dex.dic and dex_us.dic) at the same version (10.0.320). SP4 upgraded dex_us.dic but didn’t upgrade dex.dic. I checked the dynamic.set, dynutils.set, and dex.ini file but didn’t see it listed anywhere so I just renamed dex_us.dic to dex.dic. That stoped the error message.

We started on GP 7.5 way back in the day. I wonder if that name change got
stuck in the system because we upgrade each time.

Microsoft should probably look into this. I will wait a little bit to see if they catch it, otherwise I may have to send an email to some internal Microsoft GP people I know.

Hope you find this response useful.

Until next post!

Mariano Gomez, MIS, MCP
Maximum Global Business, LLC


More ways to follow The Dynamics GP Blogster

August 29, 2009

A few months aback I announced the availability of The Dynamics GP Blogster blog site on Amazon’s Kindle. However, did you know you can follow me on other social media networks as well?

Follow me on Facebook

Follow me on Twitter

Follow me on the Microsoft Dynamics Community website

Follow me on LinkedIn

Whatever Social Networking tool you use, be sure to keep up with the latest Microsoft Dynamics GP articles from yours truly, The Dynamics GP Blogster.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Dex – Enabling long physical table names

August 26, 2009

As many of you may (or may not) know Dexterity had its origins in the days of the 8.3 file length limitation, imposed by the FAT file system found in the early versions of Windows — for more information, see the article Understanding how Microsoft Dynamics GP works with Microsoft SQL Server by David Musgrave over at Developing for Dynamics GP — This limitation reflected on the names of the physical files supported by the ISAM file servers at the time, FairCom (Ctree) and Btrieve.

The physical name constraints carried over to Microsoft SQL Server table naming convention, leaving tables with what a new bread of database administrators, systems administrators, and developers have denominated “cryptic names”. The fact is, reworking table physical names to support SQL Server would have been quite an expensive task, so the decision was made to continue with these names.

Nonetheless, Dexterity was enhanced to allow long physical table names, but this option needs to be activated prior to adding new tables to a Dexterity-based application. To enable long table names, follow these steps:

1. In Dexterity, click on the Edit menu option, then choose Options…

2. In the Options window, click on Allow Long Physical Table Names to enable the checkmark.

3. Click Ok to accept the changes. That’s it!

When the long physical table names option is not enabled, Dexterity may trick you into believing that you can enter those long names. Such physical names will then get truncated to 8 characters without any warnings.

New Microsoft Dynamics GP modules and third party applications now display long physical table names with explicit meaning, facilitating reporting from external sources. However, I still love the ‘old’ table names… they keep me gainfully busy!

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Microsoft Dynamics GP v10 Service Pack 4 now available

August 24, 2009

The highly anticipated Microsoft Dynamics GP v10 Service Pack 4 is hot out of the oven! Service Pack 4 had been expected by the end of this week, but the development and tesing teams worked around the clock to beat the deadline.

Service Pack 4 addresses a number of issues and delivers new features, such as International ACH Transactions (IAT) and Extender enhancement capabilities for forms and detail forms.

Extender Forms Enhancements

  • Create new data entry forms for master files and transactions
  • Create SmartLists for each new form
  • Add Note windows and Note List windows
  • Create conditional and calculated fields
  • Use lookups to link to any Microsoft Dynamics GP or third party table
  • Generate the next master ID numbers automatically
  • Add up to 50 extra windows for each form
  • Open associated applications from files
  • Use templates to default fields and increase data entry speed
  • Create multicurrency forms
  • Create views
  • Import data into forms

Extender Detail Forms Enhancements

  • Create scrolling windows with up to ten user defined fields
  • Import data into detail forms
  • Add detail forms as quick links on the Home Page

SP4 will bring the Dynamics dictionary build number to 10.00.1368, but be sure to read the Installation Guide topics. There is an issue with Service Pack 4 that changes the OLEPath in the Dex.ini to the default local path. If you use OLE Notes and have a path to a network share, make sure to review the Dex.ini at each client workstation following the hotfix installation to ensure the path is correct. This issue is currently under review for a fix release. The default location for the Dex.ini is C:\Program Files\Microsoft Dynamics\GP\Data.

You can download Microsoft Dynamics GP v10 Service Pack 4 from:

CustomerSource – Click here
PartnerSource – Click here

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

International ACH Transaction (IAT) functionality for Microsoft Dynamics GP 10.0

August 20, 2009

For those of you awaiting key EFT enhancements in Microsoft Dynamics GP, here is a bit of news published back in July — a bit late, but still worth sharing.

The National Automated Clearing House Association (NACHA) and Office of Foreign Assets Control (OFAC) have published new specifications for International ACH Transactions (IAT). As of September 18, 2009 the new IAT code will need to be in place that requires participants to identify international transitions and to code these transactions as IAT transactions.

Additional information regarding the specification can be found at

Microsoft Dynamics GP 10 will support the new International ACH Transaction (IAT) ACH format changes with the release of Microsoft Dynamics GP 10 service pack 4. The electronic file transfer (EFT) formats will be changed for Microsoft Dynamics GP Payables and Receivables modules.

Note: The Royal Bank of Canada file format specification changes will also be included in 10 service pack 4.

The latest word on service pack 4 is that it will be available on the week of August 24.

Until next post!

Mariano Gomez, MIS
Maximum Global Business, LLC

Microsoft Dynamics GP Technical Conference 2009

August 18, 2009

The dates are in! Microsoft Dynamics GP Technical Conference 2009 will be hosted in Fargo, North Dakota from November 9 through November 11. The Technical Conference is geared towards Microsoft Dynamics GP developers, implementers, and technical resources in general.

In addition, David Musgrave is working through Microsoft to have me as a co-presenter of two of his sessions. If no arrangements are made, I still will be attending the Conference and the sessions where I expect to meet a good number of you. The sessions being presented by David are as follow:

  • Customizing the Microsoft Dynamics GP Client with Visual Studio Tools, Dexterity and Modifier with VBA. Get an in-depth analysis of the various client-side customization tools for Microsoft Dynamics GP, including Modifier with Visual Basic for Applications, Dexterity, and Visual Studio Tools for Microsoft Dynamics GP. This session will help you understand how each of the tools can be used to create user-interface customizations as well as help you develop the ability to make sound decisions on the best tool for a particular purpose.
  • Troubleshooting Your Developed Solution. Do you know the vital development considerations necessary for effectively troubleshooting a packaged solution? Learn them and much more! David will highlight best practices, illustrate real-world examples, and provide and discuss requirements for the Certified for Microsoft Dynamics program. Plus, he will show how the Support Debugging Tool for Microsoft Dynamics GP can be used to help with both development and system administration.

Hopefully, everything can be sorted out as it will be my honor to co-present with David.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

VBA – Creating a keyboard shortcut for a Microsoft Dynamics GP window expansion button

August 17, 2009

Well, I had been absent (more like out of ideas) from writing any new VBA articles. The truth is, they are hard to come by without giving away too many secrets. 🙂

However, this one is worth giving away as I have seen many users request this feature to speed up data entry and processing. Take for example the Purchase Order Entry window. Won’t you just like the ability to press some combination of keys on your keyboard to quickly access the Vendor Detail Entry window where you can quickly change around shipping methods, or other information needed? Well this example shows just that, but can be used to add shortcuts to any other button control in any other Dynamics GP window.

The solution is simple:

1) Add a pixel size button to the window with Modifier.

2) Caption the button. Buttons can have captions preceeded with the ampersand (“&”) character, which in turn acts like a shortcut when used in combination with the Alt key on the keyboard.

As a personal choice, I captioned the button with &4, as the expansion button is Expansion Button 4.

3) In addition, we can change the button’s Visual properties to blend it in with the expansion button. I particularly prefer to stack these shortcut buttons on top of or next to the expansion button they will serve as a shortcut for.

4) The button can then be added to VBA where code can be written to force the execution the expansion button Change script. To run the Expansion Button 4 change script that will open the window, we use the Dynamics Continuum Integration library and pass-through Dexterity Sanscript.

Private Sub 4_BeforeUserChanged(KeepFocus As Boolean, CancelLogic As Boolean)
Dim CompilerApp As Object
Dim CompilerMessage As String
Dim CompilerError As Integer
Dim Commands As String

' Create link without having reference marked
Set CompilerApp = CreateObject("Dynamics.Application")
Commands = ""
Commands = Commands & "run script 'Expansion Button 4' of window POP_PO_Entry of form POP_PO_Entry;"

' Execute SanScript
CompilerError = CompilerApp.ExecuteSanscript(Commands, CompilerMessage)
If CompilerError 0 Then
MsgBox CompilerMessage
End If
End Sub

The following — and much simpler! — code will also do the trick for you non-Dexterity developers:

Private Sub 4_BeforeUserChanged(KeepFocus As Boolean, CancelLogic As Boolean)
ExpansionButton4.Value = 1
End Sub

You will need to add the expansion button to VBA in addition to the pixel size button for the above code to work.

Very simple! Now when you go to the Purchase Order Entry screen, enter PO number and select a vendor, you can press Alt + 4 on the keyboard to open the associated window to the Vendor ID expansion button.

Hope you find this sample project useful.


v10 – Sample Expansion Button shortcut package file – click here.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC