This is part 2 of 3 of a series of posts in which we examine the customization options for Dynamics GP, focusing this time on programming tools. You can read part 1 here: Customization options for Dynamics GP: Add-on products. Even though the emphasis here is on Microsoft Dynamics products, the basic ideas apply to most leading ERP systems in the market today.
In part 1 of this series we suggested looking at third-party products as the first option to better adapt an ERP to your needs. As a second option, leading ERP vendors often provide different kinds of programming tools built into their products. Microsoft Dynamics GP (Great Plains), for example, incorporates excellent tools to add functionality to the product in a way that is transparent for the users. These tools allow customers to create or modify existing reports, fields, and windows, program new functionalities, and even add new fields, windows, or processes.
When we talk about customization, anything goes. If your requirement is modifying existing reports or building new reports, for example, each product offers its preferred set of tools. There are even tools that are suitable for use with many ERPs or even for homegrown applications. For good reading, I recommend one of the most popular posts in this blog: “Crystal Reports vs SQL Reporting Services: Clash of the Microsoft Dynamics GP Reporting Titans” which does a good job of explaining the existing reporting possibilities for Dynamics GP. In summary, the best choices for creating operational reports today are Crystal Reports and SQL Reporting Services; I favor the latter for Dynamics GP implementations.
Now, if we talk about adding functionality to the product, making fields appear or disappear from existing windows, or even adding new windows and new business logic to the product, we then need to resort to programming tools. Dynamics GP offers rich programming options with different levels of complexity and power, allowing final users and IT professionals to exploit their ERP to its fullest.
At its most basic level, Dynamics offers the Extender tool to create new menus and windows and fields, which can be associated with any existing window in the system. So if you need to add industry-specific data about your customers (such as patient data associated to customer records), the Extender makes this a simple task that can be performed by end users with minimal IT expertise. At this same basic level, there is a tool called Smart List Builder, which is designed to create user-manageable lists of records that maintain a live link to Dynamics data and any other SQL-based product your company may be running. These lists are shown together with others built into the system and can be exported to Excel and Word, for example.
On the other hand, if your requirement calls for modifying an existing window, adding new windows tied to complex business logic, and adding custom process controls, the Modifier with Visual Basic for Applications (MVBA) may be the tool of choice. MBVA has been included within Microsoft Dynamics GP for the past decade, making it a very mature and robust tool to add functionality that is completely integrated to the system.
At this same level of power and complexity there are other tools, such as Visual Studio .Net, that can be even more powerful and still provide full integration to the Dynamics system. The most recent versions of Dynamics GP support the use of Add-ins created using VS, with some particular advantages derived from the fact that this is a much more modern development platform than VBA. One of the advantages of custom code built with VS as Add-ins is that these work without altering any of the existing Dynamics components, suggesting easier updates. Just copy the compiled components to the Dynamics “Add-Ins” directory, and the new functions, menus and window will magically appear within the product.
Dynamics MVP Mariano Gómez recently published a good summary of the current state of programming tools for Dynamics in the
So far it should be clear that it is possible to change the way your ERP works to fit it to your specific needs. But many of you may have had horror stories with customizing systems only to be trapped within a non-upgradeable system. So, will these customizations limit your ability to maintain and update your system? The answer with Dynamics GP is a clear “No”. Dynamics customization tools are designed to be easily upgradeable. When properly created, custom code will be updated seamlessly together with your system updates.
So take advantage of the ability that Dynamics offers to customize your system; that is what these tools are there for. And regardless of which one is your favorite tool, ICON has been using it with our customers for the past 15 years, with code that has outlived dozens of updates of infrastructure and the ERP system itself. So, if you need to add some functionality to your ERP,
In our next blog, we will discuss a third option to customize your ERP... so stay tuned.