We Hope You Enjoy Our Free Services.
Thank You For Visiting
www.MoneZine.com
Google
 
Web www.MoneZine.com
 
Microsoft Great Plains Integrations – Retail Management sample
by: Andrew Karasev
 
 

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

Google
 
Web www.MoneZine.com

MoneZine.com has served pages since July 1, 2005