Software Information |
Microsoft CRM: Data Conversion - Import from Act!
Best Software Act! is very popular CRM for small and mid-size organization. This system attracts business owner by its low price, plus system is very easy to use. However if your business is growing you should reach the moment to implement more advanced CRM solution. Natural question is - how do we convert the data from Act! to new CRM solution and the mapping of your objects for conversion. You would probably like to avoid operator data entry with potential numerous errors and mistypes. Assuming that you are IT specialist, we'll give you technical side of Act to MS CRM data migration: ? First you need to download Act! SDK from Best Software website ? Install Act! SDK on the computer, where you plan to do programming ? We'll use asynchronous data export/import model, this means that we'll design the system, containing two parts: export into XML and this XML file import into the CRM ? Lets code Act! data export application, we'll use C# to address Act Framework classes, we'll need these libraries: using Act.Framework; ? To connect to Act! database: ActFramework framework = new ActFramework(); framework.LogOn("Act Username", "password", "SERVER", "Database"); ? Now we need Act field names to map them with the fields in the MS CRM: private void ShowContactsFieldsDescriptions(ActFramework framework) { ContactFieldDescriptor[] cFields = framework.Contacts.GetContactFieldDescriptors(); ContactFieldDescriptor cField; for(int x = 0; x < cFields.Length; x++) { cField = cFields[x]; Console.WriteLine("Table Name: {0}", cField.TableName); Console.WriteLine("Column Name: {0}", cField.ColumnName); Console.WriteLine("Display Name: {0}", cField.DisplayName); Console.WriteLine("ACT Field Type: {0}", cField.ACTFieldType); Console.WriteLine(""); } } ? Let's get contact list and create the file for import instructions to MS CRM: ContactList cList = framework.Contacts.GetContacts(null); FileInfo t = new FileInfo("Contacts.xml"); StreamWriter stw = t.CreateText(); ? Now we form export data: for (int i = 0; i < cList.Count; i++) { string strContactXml = ""; ContactFieldDescriptor cField; Object oValue; // First Name cField = framework.Contacts.GetContactFieldDescriptor("TBL_CONTACT.FIRSTNAME"); oValue = cField.GetValue(cList[i]); if (oValue != null && !(oValue.ToString().Trim().Equals(""))) strContactXml += "[CDATA[" + oValue.ToString() + "]]"; // Last Name cField = framework.Contacts.GetContactFieldDescriptor("TBL_CONTACT.LASTNAME"); oValue = cField.GetValue(cList[i]); if (oValue != null && !(oValue.ToString().Trim().Equals(""))) strContactXml += "[CDATA[" + oValue.ToString() + "]]"; else strContactXml += "" + "N/A" + ""; // Salutation cField = framework.Contacts.GetContactFieldDescriptor("TBL_CONTACT.SALUTATION"); oValue = cField.GetValue(cList[i]); if (oValue != null && !(oValue.ToString().Trim().Equals(""))) strContactXml += "[CDATA[" + oValue.ToString() + "]]"; // Job Title cField = framework.Contacts.GetContactFieldDescriptor("TBL_CONTACT.JOBTITLE"); oValue = cField.GetValue(cList[i]); if (oValue != null && !(oValue.ToString().Trim().Equals(""))) strContactXml += "[CDATA[" + Regex.Replace(oValue.ToString(), "
", " ? This is only portion of the data, that could be transferred into CRM, the whole list of fields is too long for small article, but your could design the whole list of desired fields. Please, pay special attention to replace ? Next is import application creation. We will not describe here connection to MS CRM details - please read Microsoft CRM SDK if you need this examples. We'll concentrate on the nature of the import. The XML export file should look like this: [CDATA[John]][CDATA[Smith]][CDATA[John]][CDATA[1234 W. Big River]][CDATA[Chicago]][CDATA[IL]][CDATA[123456]][CDATA[Toy Corporation]]{4F1849C3-9184-48B5-BB09-078ED7AB2DAD} ? Reading, parsing and MS CRM object creation look is relatively simple: Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser(); ICredentials credentials = new NetworkCredential(crmUsername, crmPassword, crmDomain); bizUser.Url = crmDir + "BizUser.srf"; bizUser.Credentials = credentials; Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI(); // CRMContact proxy object Microsoft.Crm.Platform.Proxy.CRMContact contact = new Microsoft.Crm.Platform.Proxy.CRMContact (); contact.Credentials = credentials; contact.Url = crmDir + "CRMContact.srf"; CorrectXML("Contacts.xml", userAuth.UserId); StreamReader reader = File.OpenText("Contacts.xml"); string input = null; while ((input = reader.ReadLine()) != null) { string strContactId = contact.Create(userAuth, input); Console.WriteLine("Contact {0} is created", strContactId); log.Debug("Contact " + strContactId + " is created"); } ? Just consider in more details CorrectXML function - it places OwnerId into XML contact tree: private void CorrectXML(string fileName, string userId) { File.Move(fileName, fileName + ".old"); StreamReader reader = File.OpenText(fileName + ".old"); FileInfo t = new FileInfo(fileName); StreamWriter writer = t.CreateText(); string input = null; while ((input = reader.ReadLine()) != null) { input = Regex.Replace(input, "{_REPLACE_ME_}", userId); writer.WriteLine(input); } reader.Close(); writer.Close(); File.Delete(fileName + ".old"); } ? Finally, we are launching export, import, opening MS CRM and looking at the contact list, transferred from Act! ? Separate task would be Sales data from Act!, Notes etc. - we plan to describe them in the future articles Good luck with integration! If you want us to do the job - give us a call 1-630-961-5918 or 1-866-528-0577! help@albaspectrum.com Andrew Karasev is Lead Software Developer in Alba Spectrum Technologies - USA nationwide Great Plains, Microsoft CRM customization company, serving clients in Chicago, Houston, Atlanta, Phoenix, New York, Los Angeles, San Francisco, San Diego, Miami, Denver, UK, Australia, Canada, Europe and having locations in multiple states and internationally ( http://www.albaspectrum.com )
MORE RESOURCES: Unable to open RSS Feed $XMLfilename with error HTTP ERROR: 404, exiting |
RELATED ARTICLES
Causes of ERP Failures ERP is the acronym of Enterprise Resource Planning. Multi-module ERP software integrates business activities across various functional departments, from product planning, parts purchasing, inventory control, product distribution, to order tracking. Microsoft CRM Custom Design & Development: SDK, C#, SQL, Exchange, Integration, Crystal Reports Microsoft CRM is new player on the CRM software market. The whole conception behind CRM seems to be different. Microsoft Great Plains e-Commerce - additional considerations for programmer Microsoft Great Plains, designed back in 1990th as database transferable and graphical platform independent ERP application - Great Plains Dynamics/Dynamics C/S+/eEnterprise. For eCommerce developer the most important is to understand Great Plains tables structure and business processes in Sales Order Processing, Accounts Receivables, Inventory Control (inventory items allocation, backordering, etc), posting to Bank Reconciliation and General Ledger. Great Plains Bill of Materials Setup & Customization for Process Manufacturing - Overview Microsoft Great Plains has full-featured Manufacturing suite of modules: Capacity Requirements Planning, Job Costing, Master Production Scheduling, Materials Requirements Planning, etc. However Microsoft Great Manufacturing serves so-called discrete manufacturing market niche. .Net Charts and Graphs Interact with Businesses and Customers Bar charts, bar graphs, and any other chart or graph used in financial statements, inventory reports, sales reports, and a slew of other types of reports have typically been paper reports or online reports depicting various levels of complex information for tracking, investing, planning, and buying. However, until the . Microsoft Great Plains Nationwide Remote Support ERP Consulting industry is on the way to serve clients nationwide and even worldwide, when the client is multinational corporation. There are several reasons to specialize in remote support. Spyware Protection: A Must for Any Home Computer Now that spyware is the single most dangerous threat to home computers connected to the internet today, getting your hands on some sort of spyware and adware protection is critical. Spyware has outpaced computer viruses in its prevalence, and in the kind of damage it can do to your system. The Death of Windows I have always regretted how Microsoft price gouges and rips off computer users. I really regret Windows XP activation. Microsoft Great Plains Upgrade - Version 8.0 Overview for IT Director/Controller If you have Microsoft Great Plains as main accounting and ERP system you need to know some technical details on Great Plains version upgrade and what is going on behind the scenes, which options do you have in case of Dexterity, VBA, SQL customizations, ctree/Pervasive migration to MS SQL/MSDE. As of right now it is reasonable to upgrade to Microsoft Great Plains 8. Algebra Help Software Need help making sense of algebra? Have algebra lectures in your classroom left you scratching your head and wondering: "How on earth did they get that answer"? Do not despair, because help is at hand. AlgebraSolver from Softmath can make all the pieces of the algebra puzzle fall into place, improving your grasp of the subject with step-by-step problem solving that demonstrates exactly how a solution has been reached. Lotus Notes Domino and Web: Application Development - Tips for Programmers Beginning with Domino version R4 it has integration with the Web, and the server itself becomes a HTTP-server. The next releases of Domino Web-server add new functionality (for example servlet managers, supported JVM versions upgrade, etc). Microsoft Great Plains Partner Selection: Overview Microsoft Great Plains, Navision, Solomon and Axapta are Microsoft Business Solutions ERP applications, serving to the whole spectrum of vertical and horizontal markets. Assuming that you already have one of these systems installed and implemented we would like to give you - IT director, Database Administrator, Programmer, Software Developer, Controller your options in supporting/upgrading Microsoft Great Plains for your companyIt is always good idea to install everything on your own - however Great Plains requires combination of computer networking, some programming, good accounting/distribution/logistics/reporting background - so it is not a surprise that Microsoft Business Solutions requires their customers to have specially assigner Microsoft Great Plains Partner/VAR/Reseller to serve the account. Great Plains Dexterity Development: FAQ Microsoft Business Solutions Great Plains is Dexterity-written application and currently we see increased interest for Great Plains customers to do in-house Dexterity development and customization. Dexterity itself is written on C programming language and its initial architecture was based on the Graphical and Database platform independence, which C programming language was believed to provide. Falling in Love With More Than One Screensaver: The Fun Part Having from five to ten and more favorite screensavers is cool. But how do you enjoy them all in a straightforward and convenient way? Draw the power you need from the little yet useful tools discussed in this article!As you remember, earlier in my article What to Do if You Fall in Love With More Than One Screensaver we discussed the standard way of switching between multiple screensavers. Microsoft Great Plains: Offshore Customization & Development - Overview for Consultant When you visit department stores and see that majority of the apparels are produced in other countries, not US - you probably do not worry about this fact. About 10 years ago, when Clinton's high tech era was at the inception - we saw the signs of high tech professionals inflow in the USA from overseas. Microsoft Business Solutions Partner - How to Launch New IT Consulting Practice In the new era of internet marketing the problem of severe competition comes into the first position. If you look back into 1990-th you will find high tech companies using traditional sales techniques: purchasing local and regional businesses contact lists, making cold calls and then trying hard sales closing techniques, such as "selling to the top" - IBM style, selling to VITO (very important top officer), etc. Business Plan Software Review: Ultimate Business Planner? One of the main reasons business owners and entrepreneurs use business plan software is to simplify building their financial models. Even with an explosion in business plan software packages on the market today, "doing the financial projections" is still often cited as the most difficult part of completing a business plan. Pros and Cons of Using FREE Software in Your Business Itâ??s easy to understand why you might be drawn to the allure of free software. After all, it is free and free is always a good price to pay. Explore the Internet in a Whole New Way For a long time now Microsoft's Internet Explorer has ruled as 'King of Internet browsers'. Like many of Microsoft's products an initially brutal marketing campaign pushed Internet Explorer into the mainstream's consciousness and from then on it was the logical, default choice. Crystal Reports For Microsoft RMS - Overview For Developer/Report Designer If you are software developer or database administrator - we would like to give you the clues on Crystal Report creation for Microsoft RMSDatabase: Microsoft SQL Server or MSDE - this means that you can deploy native SQL driver for connection or use ODBC for flexibility. Tables Structure - it is extremely self-explanatory: Customer, Transaction (invoices, returns, layaways and others), TransactionAmount, Cashier, Tender to give you examples Links - Usually master table has ID column and Transaction-related table links by [Entity]ID column: Transaction. |
home | site map | contact us |