Monday, April 11, 2011

Monday. Convergence. Atlanta.

After a successful slow start yesterday with working in the labs, managing a Sure Step study hall, and a fun evening at the Georgia Aquarium and the World of Coca-Cola, we are off and running at Convergence 2011 here in Atlanta, GA. 

First, a word about the labs....for GP specifically...we have some good ones.  Include some recording demo-mates for GP 2010 R2 which is coming soon. We also have a number of self-guided and recorded labs on SQL Reporting Services, Management Reporter, and a variety of other analytic and customization tools for Dynamics GP.  Exciting stuff.  If you are here, and haven't already, stop by the Community and Learning Center to check out the labs.  Staffed by MCTs, the lab area (in my humble opinion) is one of the great resources at Convergence. 

Second, behind each lab section are the product groups.  What a great opportunity to speak with many of the rock star support folks we have come to know (and let's admit it, love) over the years are hear.  Talk their ears off, learn as much as you can.  Definitely a great resource while you are here, but I think people often forget about the Community and Learning Center and become uber-focused on sessions only.

And third, the Keynote this morning was what we have come to know and expect at Convergence--  energy filled and real world focused.  Personally, I always leave excited for what Dynamics (in general, and GP in particular) is doing for companies today and even more excited for what is coming in the future-- more capabilities, more business intelligence, more flexibility, more simplicity-- more, more, more.  But we all know I am nothing short of enthusiastic when it comes to Microsoft Dynamics :)

More later on the Sure Step Study Hall and a lingering Use Tax issue I have been working on. Until then, the Microsoft Conference Store is calling my name.... Stop by the labs and say hi if you are in town (I am the one in the pink BKD hat).

Thursday, April 7, 2011

Error Importing Custom VBA Windows on GP 2010

This week I upgraded some old GP 9 Modifier & VBA customizations to GP 2010.

The upgrades went smoothly on my GP 2010 development server, and everything worked fine.  I exported a package with all of the modified forms, VBA code, and three custom VBA user forms and provided it to the customer to import.

When they tried to import the package, they received a message "Errors during load", which then referred to a log file. 


 In the log file, we saw the following message.

"Class {C62A69F0-.......} of control VerticalLookupForm was not a loaded control class."



When I checked my package file, that GUID was the one assigned to my custom user form.  So for some reason the form was not loading.

I then tried exporting the form from VBA on my development server, and tried importing the .frm file on the customer server, but that didn't work either. 

I then removed all mods from the client's server, opened VBA, and tried to create a new user form.  Even that produced an error.  So that told me that the issue was with the client's GP 2010 server, and not necessarily with my package file.  The error was:


Class not registered.
Looking for object with CLSID:{AC9F2F90-E877-11CE-9F68-00AA00574A4F} 
 
Fortunately, this is documented in KB article 18250.   The VBA problem is caused when the file FM20.DLL is not properly registered on the machine.

So, it's an easy fix to run regsvr32--in our case it was a 64-bit server, so the command was:

regsvr32.exe "C:\Windows\SysWOW64\FM20.DLL"

After running that command, user forms could be created in VBA, and my package file imported just fine.
 
The problem occurred on a GP 2010 server, but I assume that the issue can occur with other versions of GP.


Steve Endow is a Dynamics GP Certified Trainer and Dynamics GP Certified Professional.  He is also the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.

http://www.precipioservices.com
 

Wednesday, March 30, 2011

Where Oh Where Is My Integration Manager?

A user navigates to Microsoft Dynamics GP>>Tools>>Integrate>>Integration Manager and nothing happens.  The menu item is available, but clicking on it does NOTHING.  We can check security, but there is nothing wrong there.  We can make sure Integration Manager launches fine from the Start menu, and it does.  So what is wrong? 

Well, it's a pretty easy fix.  Browse to the GP program directory (generally C:\Program Files\Microsoft Dynamics\GP).  And then find the Dex.ini file (in the Data folder).  Open the Dex.ini in notepad, and locate the following lines:



Validate that these paths are correct, making any necessary adjustments.  Then the menu selection should launch Integration Manager successfully!

Breaking It Down- New Budgets in Forecaster

I have to admit, there are a few questions that make me cringe.  They include--
  1. Why does the reports.dic have to be rebuilt so often?
  2. Do commissions post to payables or payroll?
  3. How do I set up a new budget year in Forecaster?
#3 is a popular one, and it makes me cringe only because there is not a simple answer.  So often (I am guilty of it too), the term "input set" is presumed to be the same as "budget".  But the fact is, an input set is only one piece of the budget puzzle. So here I thought I would break it down in to some basic steps.
  1. You need new periods to store the new budget numbers (Tools>>Wizards>>Period Wizard)
  2. You need a new column set to point to the new periods (Build>>Columns)
  3. You need a new input set to use the new column set (Setup>>Budgets>>Input Set (Copy button)
Now, the thing is, it can expand from there.  Let's say you use the Human Resources functions in Forecaster, or Revenue.  You can use Tools>>Wizards>>Copy Plan to copy these items from a prior input set.  You can also use this same function to copy your actuals from another input set in to your new input set (or use Tools>>Import>>Expresslink to pull the numbers from GP in to the new budget).

A WORD OF WARNING- It is imperative that you only create new periods (via Tools>>Wizards>>Period Wizard or Setup>>Segments>>Periods) when there are no other users in Forecaster.  Failing to ensure that you are the ONLY user in Forecaster when you complete this process can corrupt your database and be costly to resolve if you don't have a backup.  For this reason, I always suggest making a backup before engaging in the steps above.

Sure Step Study Hall Fun!

Hey all you Microsoft Partners out there!  If you still need to pass the Implementation Methodology certification before May 1st, come join me for a Sure Step Study Hall at Convergence.

Sunday April 10, 2011
3:15pm
Room B216, Georgia World Congress Center (Convention Center)

Join me for tips and tricks to creating a valuable study plan to pass the exam. We will overview key concepts in Sure Step, and focus on tools and guidance available in Sure Step to help focus your study efforts.

Monday, March 21, 2011

More Payroll Troubleshooting Scripts, Enjoy!

More FUTA and SUTA fun to share.  The following scripts can help you track down inconsistencies in your set up to identify potential causes of incorrect FUTA and SUTA wages. Each can be run against your company database to identify records with possible issues.

--identifies employees without a default SUTA state (Cards>>Payroll>>Employee)


select EMPLOYID as EmployeeID from UPR00100 where SUTASTAT=''

--identifies employee pay code records (Cards>>Payroll>>Pay Code) that are not marked for FUTA, SUTA, or do not have a SUTA state although the pay code set up (Setup>>Payroll>>Pay Code) does.

select UPR00400.EMPLOYID as EmployeeID, UPR00400.PAYRCORD as PayCode, UPR00400.SBJTFUTA as SubjectToFUTA, UPR00400.SBJTSUTA as SubjectToSUTA, UPR00400.SUTASTAT as SUTAState from UPR00400 inner join UPR40600 on UPR00400.PAYRCORD=UPR40600.PAYRCORD WHERE (UPR00400.SBJTFUTA=0 AND UPR40600.SBJTFUTA=1) OR (UPR00400.SBJTSUTA=0 AND UPR40600.SBJTSUTA=1) OR (UPR00400.SUTASTAT='' AND UPR40600.SBJTSUTA=1)


Christina Phillips is a Microsoft Certified Trainer and Dynamics GP Certified Professional. She is a supervising consultant with BKD Technologies, providing training, support, and project management services to new and existing Microsoft Dynamics customers.

Thursday, March 17, 2011

NIST SHA-3 Round 3 Finalists Announced

For any hard core software and security geeks out there who can appreciate encryption related acronyms like SHA and AES, in case you haven't heard, the National Institute of Standards and Technology has announced the Round 3 finalists for the SHA-3 competition.

Here is a link to the full report on the Round 2 reviews and selection process.

Secure, robust hash functions are critical to the implementation of certain aspects of computer security, so this competition and the peer review process is essential for ensuring that security measures remain effective as advances are made in tools and technologies that can potentially defeat existing hashing and encryption algorithms.

Unfortunately, I still regularly see software that uses SHA-1 hashing or DES encryption when better options have been available for over a decade.   For some low risk applications, these may be fine, but in most cases, implementing SHA-512 or AES is no more difficult, so it would be nice to see the newer standards implemented universally.

Dynamics GP has been occasionally criticized for some elements of its security, including pseudo-encryption in some areas, or complete lack of encryption in others.  While some of the criticisms have been specious and ill-informed, I consider some critiques to be valid, and would love to see future releases include additional security measures to make it easier to sell against newer packages that include greater emphasis on data encryption.

Here is a brief overview of the NIST hash project.

And here is a Wikipedia discussion of cryptographic hash functions.


Steve Endow is a Dynamics GP Certified Trainer and Dynamics GP Certified Professional.  He is also the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.

http://www.precipioservices.com