Microsoft Business Solutions main middle market ERP application – Microsoft Great Plains has multiple integration options: MS SQL Scripting (stored procedures and views), ADO.Net programming, Microsoft SQL Server DTS packages. You certainly can deploy such SDK tools as eConnect. However here we would like to show you how to program the simplest user friendly tool: Microsoft Great Plains Integration Manager.
Multiple times in our consulting practice we saw the need to integrate General Ledger transactions from one text file and here we give you this and even more complex case, when credit and debit amounts are present on the same line with their own account numbers. Let’s assume that we have tab delimited text file, GLSOURCE.txt. Here is how the line looks:
“11242004” (date) “11020016000” (debit account) 212446.68 (debit amount) “15260005400” (credit account) 212446.68 (credit amount)
Pretty challenging, isn’t it?
Let’s begin
First of all and this is probably easy – you need ODBC DSN, use Microsoft Text Driver, change default directory, select the file and switch to tab delimited type.
Next, open Microsoft Great Plains Integration Manager and create two new queries – one will be for the Header and the second for distribution lines in GL transaction. In both cases use Advanced ODBC type of text queries.
GL Header should aggregate by date, so in its SQL window enter this:
select F1 from GLSOURCE.txt group by F1
Now the lines – here we need unionizing and checking if amount is not zero:
select F1, F2, F3, 0 from GLSOURCE.txt
where F3''
union
select F1 F4, 0,F5 from GLSOURCE.txt
where F5''
The one above is the most difficult part of this article. Please understand it – we are splitting line into two by union, first we create debit part and then we attach credit part, plus we are weeding out 0 amounts.
Next – we need to link two queries – simply link them by F1 field (date). Do it in query relationship. When you are done with linking, right click on the arrow, open properties and in Select Relationship Type window change to:
There can be 0 or more records in the child for each record in the master.
This is important – we’ll have more than one line in GL distribution.
The rest should be familiar for IM consultant.
Select destination as GL Journal, assign transaction date and batch ID as F1 from Header query, switch to entries and select them from debit and credit parts of the lines query.
As additional tools in filtering your text query you could use VBA scripting and even translation.
Translation is the way to go when you need to replace account numbers from the text file with different or translated accounts in Great Plains.
Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Texas, New York, Georgia and Florida and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer.