Microsoft Great Plains Integrations – Retail Management sample
Microsoft Business Solutions is emerging as very attractive vendor for mid-size companies. The strength of its products is in their cross integration potential. This integration strategy will be the software development direction for this Microsoft subdivision. Meanwhile, as of right now – we have to recommend just to stake on it and deal with custom or in-house developed integration.
If you are developer who needs some sample code to start with – we are placing Accounts Receivable level integration code – it pulls info from Microsoft RMS and places it into work tables in Great Plains.
Be aware, that Microsoft Great Plains version 7.5 has out of the box integration with Microsoft RMS 1.2, but it is on GL and POP level only. You can’t do check book reconciliation, for example. Currently Microsoft is in decision on who will be coding the integration for Great Plains 8.0 and what the functionality should be. More likely – it will be Nodus Technologies with the integration on SOP and GL level – it will deploy Great Plains Dexterity and MS SQL Server stored procs.
And here is the code, you have to deal with RM10301 and distribution RM, also we recommend insert new customers into RM00101 and RM00102:
-- Sales Transaction Record
insert into RM10301
(
DOCTYPE,
RMDTYPAL,
RMDNUMWK,
DOCNUMBR,
DOCDESCR,
DOCDATE,
BACHNUMB,
BCHSOURC,
CUSTNMBR,
CUSTNAME,
ADRSCODE,
COSTAMNT,
SLSAMNT,
MISCAMNT,
FRTAMNT,
TAXAMNT,
DOCAMNT,
CASHAMNT,
CBKIDCSH,
CASHDATE,
DCNUMCSH,
CHEKAMNT,
CBKIDCHK,
CBKIDCRD,
CHEKNMBR,
CHEKDATE,
DCNUMCHK,
CRCRDAMT,
DCNUMCRD,
CRCRDNAM,
RCTNCCRD,
CRCARDDT,
TRDISAMT,
ACCTAMNT,
DISCDATE,
DUEDATE,
LSTEDTDT,
LSTUSRED,
GLPOSTDT,
PSTGSTUS,
CURNCYID,
TXENGCLD
)
select
DOCTYPE = (case
when a.Total > 0 then 1
else 7
end),
RMDTYPAL = (case
when a.Total > 0 then 1
else 8
end),
RMDNUMWK = 'SMS' + replicate('0',
13 - datalength(convert(varchar(13), a.TransactionNumber))) +
convert(varchar(13), a.TransactionNumber) + convert(varchar(10), a.StoreID),
DOCNUMBR = 'SMS' + replicate('0',
13 - datalength(convert(varchar(13), a.TransactionNumber))) +
convert(varchar(13), a.TransactionNumber) + convert(varchar(10), a.StoreID),
DOCDESCR =
left(a.ReferenceNumber, 29),
DOCDATE = convert(varchar(10), a.[Time], 101),
BACHNUMB = 'SMS'
+ replicate('0',
2 - datalength(convert(varchar(2), a.StoreID))) +
convert(varchar(2), a.StoreID)
+ replicate('0',
9 - datalength(convert(varchar(11), a.BatchNumber))) +
convert(varchar(11), a.BatchNumber),
BCHSOURC = 'RM_Sales',
CUSTNMBR='CASH',
CUSTNAME = 'CASH',
ADRSCODE = 'PRIMARY',
COSTAMNT = (case
when isnull((select round(sum(round(Cost * Quantity,2)),2)
from LINKEDSERVER.HQ.dbo.TransactionEntry
where TransactionNumber = a.TransactionNumber and
StoreID = a.StoreID),0) > 0 and a.Total > 0 then
abs(isnull((select round(sum(round(Cost * Quantity,2)),2)
from LINKEDSERVER.HQ.dbo.TransactionEntry
where TransactionNumber = a.TransactionNumber and
StoreID = a.StoreID),0))
when isnull((select round(sum(round(Cost * Quantity,2)),2)
from LINKEDSERVER.HQ.dbo.TransactionEntry
where TransactionNumber = a.TransactionNumber and
StoreID = a.StoreID),0) 0 and
a.StoreID = '1' and
not exists (select 1 from RM10301 c
where c.RMDNUMWK = 'SMS' + replicate('0',
13 - datalength(convert(varchar(13), a.TransactionNumber))) +
convert(varchar(13), a.TransactionNumber) + convert(varchar(10), a.StoreID) and
c.RMDTYPAL = (case
when a.Total > 0 then 1
else 8
end)) and
not exists (select 1 from RM00401 c
where c.DOCNUMBR = 'SMS' + replicate('0',
13 - datalength(convert(varchar(13), a.TransactionNumber))) +
convert(varchar(13), a.TransactionNumber) + convert(varchar(10), a.StoreID) and
c.RMDTYPAL = (case
when a.Total > 0 then 1
else 8
end))
and a.[Time] > '01/01/2004'
Happy integrating! if you want us to do the job or use our product - give us a call 1-866-528-0577! help@albaspectrum.com
Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Great Plains, Microsoft CRM, Microsoft RMS customization company, based in Chicago, Arizona, California, Colorado, Texas, Georgia, New York, 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.
akarasev@albaspectrum.com
|