Posted by: Q Factor | November 15, 2009

Dynamics GP as a Single Source

More and more companies are integrating their various business information systems in an attempt to streamline IT and accounting processes.  One of my customers recently decided to use Dynamics GP as their primary database for storing Login information for all their disparate systems.

Before I outline our approach to meeting their requirements, let me explain how they were doing this.  Their recruiting and hiring process is fast-paced, to say the least. This company is opening new retail stores in new markets all the time, so their recruiters are on the road collecting applications daily and setting up new hire meetings every couple of weeks.  In order to set up a new employee, the recruiter would fill out all the basic information in a spreadsheet, which was then passed on to the payroll department to create an employee record in Dynamics GP.  The payroll department would then send a spreadsheet to the IT department with the new hires’ information.  IT would set up the necessary logins and passwords in each system based on another spreadsheet summarizing the different systems required by each job title, then communicate these back (again via a spreadsheet) to the recruiting department.  The final step for recruiting was to prepare (manually, using Word) a login sheet for each new hire to be distributed at their new hire orientation.  In addition to this “workflow”, there were additional data elements that were often not captured or only partially captured, resulting in inaccurate information or worse: erroneous payroll transactions.

Overall, a cumbersome process relying on several people to remember to fill out all the necessary information and send a notification by e-mail that the shared spreadsheet was ready or attach and e-mail a new spreadsheet to someone in another department. Additionally there was frequently a need for cross-communication regarding missing pieces of information for some new hires.  The primary pain point to be addressed was setting the appropriate commission flag in their point of sale system to ensure that employees received commissions when applicable.

The first step to address in developing their new process was removing the back-and-forth nature of creating employee information in their various systems. In order to handle the initial setup, we utilized Extender to create two new windows in Dynamics GP.  The first window is attached to the Payroll Position Setup window and lists all of the user logins required by position code along with a commissionable flag.  The second window is attached to the Employee Maintenance window and captures each employee’s logins for the various systems.  Once this was complete, we published each of these windows as SQL Views using Extender views, then used Smartlist Builder to attach the two views and create a smartlist that IT could use to generate a spreadsheet of new hires along with their required logins defined by position code. Finally, we created a second smartlist that recruiting can use to create a mail merge in Microsoft Word for their new hire login sheets.

We changed the business process to remove the payroll department from the initial setup of new hires.  The recruiting department now enters the employee ID and SSN in the employee maintenance window, along with the department and position code.  The IT department merely checks the smartlist on a daily basis to determine if new hires have been entered by the recruiting department (if the logins fields are blank, this indicates a new employee record). If records are found, they export the list to Excel, and as the various logins are defined IT completes this spreadsheet and uses an Extender import to populate the logins window in Dynamics GP.  Recruiting uses their login sheet mail merge smartlist to quickly generate the forms they need for orientations. The Payroll department completes an employee record after recruiting confirms the employee has attended an orientation and filled out all the necessary paperwork (this is also tracked using  Extender windows on the employee maintenance window).

Now that I’ve written all of that, it looks very complicated, but it really simplifies and streamlines the process of adding new hires and their various logins into the numerous systems. In addition, the commissionable flag is now determined at the position code level instead of on an employee-by-employee basis, so there is much less room for error in setting up the point of sale system. In addition, because all of the logins are now stored in a single location, the IT department is able to use the SQL views to push login information into various systems automatically instead of having to set up each one individually. A similar process (utilizing the same Extender windows and SQL views) is used by the IT and Payroll departments to communicate changes in status (which often result in a change to the commissionable flag and login requirements) and terminations.

Posted by: Q Factor | May 12, 2009

Modifier w/VBA – an example

I’ve had people ask me why they would ever need the Modifier tool, and what use is VBA in enhancing Dynamics GP? Well, it has come in quite handy over the years.  This is one example of a customer request where Modifier and VBA were the perfect tools for the job.

The Modifier is a tool that allows users to make simple visual changes to Dynamics windows, for example moving fields around or removing unused fields from the user space.  VBA can be used in combination with the Modifier to add to existing Dynamics logic or sometimes stop the logic from occurring, for example when someone clicks a button on the window.

Disclaimer: this article assumes a degree of experience with the tools, or at least an adventurous spirit… so if you’re the type of person who can take an example and run with it, this is for you!

Following is the request I received from my ideal customer (You gotta love a customer who provides screenshots and mock-ups of their desired outcome!):

 Slide1

Slide2

 

As I said, a perfect scenario for a Modifier/VBA solution, so here’s how I addressed it step by step.  This particular customer has a systems analyst who administers their Dynamics GP environment, so these are the instructions I gave him.

1.  Open the IV_Item_Inquiry window in modifier

2.  Add a button for internet info. I named this PB_World, but it can be called anything. Just change the vba references below to your field names.

3.  Doubleclick the Field field in order to open the definition window and click the elipse (…) to set the graphic to the appropriate one (see below)

Capture1

Capture2

4.  Add another button for the backordered link

Capture3

5.  This one will be set to invisible, but leave it displayed until the testing is completed

6.  The Backordered text field can be changed to be blue and underlined using the properties box. This will make it consistent with the other hyperlink fields on the window.

7.  Once those are done, open the modified window in GP and add it to VBA (if it’s already in the VBA project, you only need to add the two new fields that you created) – this example is in version 10, but the window should look the same.

Capture4

8.  Once you’ve added those two fields from the item inquiry window, you’ll need to add the internet information window to VBA too, along with the appropriate fields:

Capture5

9.  Open the sales item inquiry window and add the appropriate fields from there:

Capture6

10. Finally, insert this code in the VBA project:

Private Sub PBWorld_AfterUserChanged()
InternetInformation.Open
InternetInformation.SelectInformationfor.Value = 4
InternetInformation.MasterID = ItemInquiry.ItemNumber
End Sub
Private Sub PushButtonM20_BeforeUserChanged(KeepFocus As Boolean, CancelLogic As Boolean)
SalesOrderProcessingItemIn.Open
SalesOrderProcessingItemIn.Include = 96
SalesOrderProcessingItemIn.Items = ItemInquiry.ItemNumber
SalesOrderProcessingItemIn.Redisplay.Value = 1
End Sub

 

In order to deploy to additional clients, simply copy the Dynamics.vba from that installation to the other workstations and you should be good to go.

Note: I had to experiment with the selection on the sales order processing item inquiry window to get to the 96 value. so it may be necessary to try various values to get the correct selection for your project.

Posted by: Q Factor | May 8, 2009

Demystifying Dynamics GP: Welcome to Dynamics World

A lot of people have been using Microsoft Dynamics GP (formerly Microsoft Business Solutions, formerly Great Plains) for many years, so you’ve already encountered corrupt reports dictionaries.  You know what to add to the Dex.ini in order to create troubleshooting logs.  You can say “been there, done that” when the error dialog box pops up with an ODBC or SQL error. You may even remember hearing “Welcome to Dynamics” when you logged in (it’s been awhile, but I do recall having a customer that wanted to change the voice so it sounded like Antonio Banderas instead of that pleasant woman…)

But for those of you who are new to the Dynamics GP world, this is an introduction to underlying architecture which I hope will explain some of the issues reported every day and help you resolve them.  I like to think of it as the Dynamics rendition of the good, the bad, and the ugly: The DIC, the EXE, and the SET.

Read More…

Categories