Answered by:
GP CRM Integration

Question
-
HI
Can anyone tell me how to integrate Customer Details from GP10. into CRM4.0 using Visual Studio.Now I am trying to integrate using both Webservices.is any other way to integrate?
Regards
Thiyagarajan
Thursday, January 22, 2009 10:52 AM
Answers
-
Using the Crm Sdk is the best way to integrate to Crm. You can use eConnect (eConnectOut) to get the changed/modified customers which neesd to be updated in Crm. You can have the integration logic in a console application and run it as a scheduled task.
- Proposed as answer by Maruf Tuesday, February 3, 2009 6:16 AM
- Marked as answer by DavidJennawayMVP, Moderator Wednesday, May 20, 2009 4:48 PM
Tuesday, February 3, 2009 6:16 AM
All replies
-
Using the Crm Sdk is the best way to integrate to Crm. You can use eConnect (eConnectOut) to get the changed/modified customers which neesd to be updated in Crm. You can have the integration logic in a console application and run it as a scheduled task.
- Proposed as answer by Maruf Tuesday, February 3, 2009 6:16 AM
- Marked as answer by DavidJennawayMVP, Moderator Wednesday, May 20, 2009 4:48 PM
Tuesday, February 3, 2009 6:16 AM -
please can you provide some more detail about integration or sample code?
SmithSaturday, July 30, 2011 5:08 PM -
In your integration, depending on the direction, you may want to read from one system and write to another. eg: Read a customer from GP, map it to CRM account fields and push it to CRM.
Here is a code sample from MSDN which retrieves a customer card from GP -
// Specify the Microsoft Dynamics GP server and database in // the connection string sConnectionString = @"data source=MySrvr;initial catalog=TWO; integrated security=SSPI;persist security info=False; packet size=4096"; // Specify the customer to retrieve eConnectOut myRequest = new eConnectOut(); myRequest.DOCTYPE = "Customer"; myRequest.OUTPUTTYPE = 1; myRequest.INDEX1FROM = "Customer001"; myRequest.INDEX1TO = "Customer001"; myRequest.FORLIST = 1; // Create the eConnect requester XML document object RQeConnectOutType[] eConnectOutType = new RQeConnectOutType[1] { new RQeConnectOutType() }; eConnectOutType[0].eConnectOut = myRequest; eConnectType eConnectDoc = new eConnectType(); eConnectDoc.RQeConnectOutType = eConnectOutType; // Serialize the object to produce an XML document MemoryStream memStream = new MemoryStream(); XmlSerializer serializer = new XmlSerializer(typeof(eConnectType)); serializer.Serialize(memStream, eConnectDoc); memStream.Position = 0; XmlDocument myDoc = new XmlDocument(); myDoc.Load(memStream); // Retrieve the specified customer document string myCustomer = e.GetEntity(sConnectionString, myDoc.OuterXml);
Here is a code sample taken directly off the CRM 4.0 SDK for Creating an account. There are a lot of other samples on retrieving/updating entities and much more -
// Set up the CRM Service. CrmAuthenticationToken token = new CrmAuthenticationToken(); // You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication. token.AuthenticationType = 0; token.OrganizationName = "AdventureWorksCycle"; CrmService service = new CrmService(); service.Url = "http://<servername>:<port>/mscrmservices/2007/crmservice.asmx"; service.CrmAuthenticationTokenValue = token; service.Credentials = System.Net.CredentialCache.DefaultCredentials; // Create the account object. account account = new account(); // Set the properties of the account object. account.name = "Fourth Coffee"; account.address1_line1 = "23 Market St."; account.address1_city = "Sammamish"; account.address1_stateorprovince = "MT"; account.address1_postalcode = "99999"; account.donotbulkemail = new CrmBoolean(); account.donotbulkemail.Value = true; // Create the target object for the request. TargetCreateAccount target = new TargetCreateAccount(); // Set the properties of the target object. target.Account = account; // Create the request object. CreateRequest create = new CreateRequest(); // Set the properties of the request object. create.Target = target; // Execute the request. CreateResponse created = (CreateResponse)service.Execute(create);
Do you have eConnect and CRM installed locally? There are some samples that come with the eConnect install. Alternatively, you may install this - http://www.microsoft.com/download/en/details.aspx?id=8870
HTH,Maruf
- Proposed as answer by Maruf Sunday, July 31, 2011 7:55 PM
Saturday, July 30, 2011 10:56 PM -
Hi,
If you are integrating customer details from GP 10.0 into CRM 4.0 then eConnect or GP web services can not help you becuase they can only be used to create, update and delete record in Dynamics GP not in Dynamics CRM. To create, update, delete customer record in Dynamics CRM 4.0, on customer record creation, update, delete either you need to call CRM webservice ( http://msdn.microsoft.com/en-us/library/bb928212.aspx or http://www.codeproject.com/KB/applications/DynamicsCrmPart1.aspx ) from VBA modifer code (http://dynamicsgpblogster.wordpress.com/2009/03/07/workshop-day-3-adding-the-vba-code-to-the-project/) or Visual Studio Tools for Microsoft Dynamics GP (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6363) or Dexterity (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8651)
If this answers your quesiton then please Vote as Helpful and Mark as Answer.
Jehanzeb Javeed
http://worldofdynamics.blogspot.com
Linked-In Profile |CodePlex Profile
If you find this post helpful then please "Vote as Helpful" and "Mark As Answer".
- Proposed as answer by Jehanzeb.Javeed Sunday, July 31, 2011 6:44 PM
- Edited by Jehanzeb.Javeed Sunday, August 7, 2011 8:58 AM
Sunday, July 31, 2011 6:43 PM -
I am pretty positive that eConnect Out can be used to retrieve changed information which includes master data like Customers, Vendors etc. The sample provided is from MSDN samples.
Thanks,
Maruf
Sunday, July 31, 2011 7:55 PM -
Hi,
You can even retirve the customer information directly from the Dynamics GP database if you are planning to develop the real time integraiton then it is not required to fetch Customer, Vendor record information via eConnect. If you are developing a Windows Service/Console Application or SQL Server Integraiton Services to schedule the integration then even you can fetch theh customer informaiton directly from GP company database (much simpler and faster way) or webservices instead of using eConnect Com Component, creating XML document etc (also this requires additional license cost)
Jehanzeb Javeed
http://worldofdynamics.blogspot.com
Linked-In Profile |CodePlex Profile
If you find this post helpful then please "Vote as Helpful" and "Mark As Answer".- Proposed as answer by Jehanzeb.Javeed Sunday, July 31, 2011 8:10 PM
Sunday, July 31, 2011 8:10 PM -
Develop a Post Create/Update Plugin in CRM which would push the record to GP using eConnect/Webservices. You may also use Scribe if you dont want to do any custom development (www.scribesoft.com).
This link shows GP to CRM Integration - Note that CRM to GP is also possible using Scribe Publisher feature
http://blog.scribesoft.com/2011/08/how-to-enable-the-dynamics-gp-to-dynamics-crm-template-for-use-with-crm-online.html
Sunday, August 7, 2011 4:51 PM -
Develop a Post Create/Update Plugin in CRM which would push the record to GP using eConnect/Webservices.
You may also use Scribe if you dont want to do any custom development (www.scribesoft.com).
This link shows GP to CRM Integration - Note that CRM to GP is also possible using Scribe Publisher feature
http://blog.scribesoft.com/2011/08/how-to-enable-the-dynamics-gp-to-dynamics-crm-template-for-use-with-crm-online.html
Sunday, August 7, 2011 4:59 PM -
k
Regards,
Smith- Edited by Smith Smith Friday, August 12, 2011 9:47 AM
Wednesday, August 10, 2011 10:19 AM -
Hi Smith,
This thread is already answered, i would suggest you to create a new thread and post your quesiton in detail. Also Mark as Answer only those replies which provides solution to the problem.
Jehanzeb Javeed
http://worldofdynamics.blogspot.com
Linked-In Profile |CodePlex Profile
If you find this post helpful then please "Vote as Helpful" and "Mark As Answer".Wednesday, August 10, 2011 10:23 AM