Power Directory provides a large number of articles and Web site links for browsing and searching on the Internet.Friday September 5th, 2008

Power Directory / EDI: Electronic Document Interchange for Microsoft Great Plains – Overview for Software Developer/Pr
Home  Latest Links Articles Contact Us
 
 
 
Site Tools

Free Downloads

Articles


Articles  


EDI: Electronic Document Interchange for Microsoft Great Plains – Overview for Software Developer/Pr

By: Andrew Karasev



Microsoft Great Plains - Microsoft Business Solutions accounting and ERP system, originally targeted to mid-size - now, with advancements and increasing reliability of its database - Microsoft SQL Server, Great Plains is attractive solution for large corporation. Big companies usually have purchasing and order processing automation via so-called Electronic Document Interchange or EDI. EDI was introduced long time ago for UNIX systems and in most of the cases appears in the form of Header, Lines and Trailer of predefined fixed position fields.We would like to give you - programmer, software developer, database administrator the primary clues on producing EDI formatted text from Microsoft Great Plains database. Please, note however that Great Plains here is taken as the example, similar approach will work for other SQL based systems: Navision (SQL Database or C/SIDE database), Microsoft RMS, Solomon as well as Oracle and other non-Microsoft products. In the case of non-SQL system, such as old Great Plains Dynamics, ACCPAC on Pervasive SQL - IDE interface will involve ADO/ODBC or Microsoft Access programming.1. Sample Query – The query below uses CAST construction to make the result fixed length and meet the positioning. Plus the unionizing allows to produce Header and Detail in one select statement. Here we are dealing with work Sales Documentsselectcasewhen b.LNITMSEQ=c.LNITMSEQ+1 and b.CMPNTSEQ=c.CMPNTSEQ+1 then CAST('Header' as char(10))else CAST('Detail' as char(10))endas FIELD0,casewhen b.LNITMSEQ=c.LNITMSEQ+1 and b.CMPNTSEQ=c.CMPNTSEQ+1 then cast(a.CUSTNAME as char(65))else cast(cast(b.QTYDMGED as decimal(19,5)) as char(65))endas FIELD01,casewhen b.LNITMSEQ=c.LNITMSEQ+1 and b.CMPNTSEQ=c.CMPNTSEQ+1 then CONVERT(char(51), a.DOCDATE, 101)else cast(b.ITEMDESC as char(51))endas FIELD03--Additional fields go herefrom SOP10100 a join SOP10200 b on a.SOPTYPE=b.SOPTYPE and a.SOPNUMBE=b.SOPNUMBE joinRM00101 d on a.CUSTNMBR=d.CUSTNMBRjoin(select SOPTYPE as SOPTYPE, SOPNUMBE as SOPNUMBE,LNITMSEQas LNITMSEQ,CMPNTSEQas CMPNTSEQ from SOP10200unionselect SOPTYPE as SOPTYPE, SOPNUMBE as SOPNUMBE, MIN(LNITMSEQ)-1 as LNITMSEQ, MIN(CMPNTSEQ)-1 as CMPNTSEQ from SOP10200group by SOPTYPE, SOPNUMBE) c on a.SOPTYPE=c.SOPTYPE and a.SOPNUMBE=c.SOPNUMBEand ((b.LNITMSEQ=c.LNITMSEQ and b.CMPNTSEQ=c.CMPNTSEQ) or (b.LNITMSEQ=c.LNITMSEQ+1 and b.CMPNTSEQ=c.CMPNTSEQ+1))left join SOP10106 udf on a.SOPTYPE=udf.SOPTYPE and a.SOPNUMBE=udf.SOPNUMBEwhere a.ADDRESS3'Exported' anda.SOPTYPE=3 and upper(d.USERDEF2)='YES'order by a.SOPTYPE, a.SOPNUMBE, b.LNITMSEQ asc2. Mark processed documents - for this reason we use SOP10100.ADDRESS3 field - which was not used in Great Plains Dynamics/eEnterprise version 6.0:update SOP10100 set ADDRESS3='Exported' where SOPTYPE=33. Communication with UNIX EDI Client or Server – each case requires individual approach. You may have to assign the file directory, exposed to the UNIX system or use old DOS command to move the file, or you can have automatic email. Good idea is to write communication application in your favorite programming language4. Scheduled DTS Package - you should probably create DTS package to do all the steps: call SQL Query and save it as a file, then call DOS command or simple EXE application - which does communicate with UNIXHappy programming! if you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.comAbout The AuthorAndrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Great Plains, Microsoft CRM customization company, based in Chicago, California, Colorado, Arizona, New York, Texas, Florida, Georgia and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, Transact SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer; akarasev@albaspectrum.com

Article Source: http://www.powerdirectory.net/articles/article54449.html





Related Articles

Can You Calculate Complex Financial Calculations? - Cavyl Stewart
20 Extra Hours Per Week: What Would You Do? - Daniel Tangredi
Microsoft Great Plains: Manufacturing or Bill of Materials - Overview for IT Specialist - Andrew Karasev
Microsoft Great Plains Integrations – Retail Management Sample - Andrew Karasev
Microsoft Great Plains Customization and Development – Overview for Programmer - Andrew Karasev
Who’s Watching What You Type? - Robert Palmer
Microsoft CRM Customization - Processing In/Out-Going Email Messages - Andrew Karasev
Monitoring Software Can be Used for Spying as Well - Alexandra Gamanenko
Protect Your Computer...and Your Business! - Ahmad Supaat
Chinese Input - Step by Step Instruction on How to Input Chinese Characters in English Windows XP - Rosie Wang