iSnare.com - Free Content Articles Directory
Authors Contents [Advanced Search][Add OpenSearch][Job Search]
Distribute your articles to thousands of article sites for only $2 and below! Read more...

Index  Computers and Technology
 

Microsoft CRM: Data Conversion – Import From Act!

 
[ Contact the Author] [ Send to a Friend] [ Article Publisher] [Make PDF] [ Print] [ Bookmark & Share]
 
Read our Terms of Service before reprinting this article. The submitter specified above has claimed the rights to this article.
Andrew Karasev

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;
using Act.Framework.Activities;
using Act.Framework.Companies;
using Act.Framework.ComponentModel;
using Act.Framework.Contacts;
using Act.Framework.Database;
using Act.Framework.Groups;
using Act.Framework.Histories;
using Act.Framework.Lookups;
using Act.Framework.MutableEntities;
using Act.Framework.Notes;
using Act.Framework.Opportunities;
using Act.Framework.Users;
using Act.Shared.Collections;

• 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:\t\t{0}", cField.TableName);
Console.WriteLine("Column Name:\t{0}", cField.ColumnName);
Console.WriteLine("Display Name:\t{0}", cField.DisplayName);
Console.WriteLine("ACT Field Type:\t{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 += "";

// Last Name
cField = framework.Contacts.GetContactFieldDescriptor("TBL_CONTACT.LASTNAME");
oValue = cField.GetValue(cList[i]);
if (oValue != null && !(oValue.ToString().Trim().Equals("")))
strContactXml += "";
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 += "";

// Job Title
cField = framework.Contacts.GetContactFieldDescriptor("TBL_CONTACT.JOBTITLE");
oValue = cField.GetValue(cList[i]);
if (oValue != null && !(oValue.ToString().Trim().Equals("")))
strContactXml += "") + "]]>";

• 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
HTML tag – this is required for text data transfer into CRM

• 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: {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

Important NoticeDISCLAIMER: All information, content, and data in this article are sole opinions and/or findings of the individual user or organization that registered and submitted this article at Isnare.com without any fee. The article is strictly for educational or entertainment purposes only and should not be used in any way, implemented or applied without consultation from a professional. We at Isnare.com do not, in anyway, contribute or include our own findings, facts and opinions in any articles presented in this site. Publishing this article does not constitute Isnare.com's support or sponsorship for this article. Isnare.com is an article publishing service. Please read our Terms of Service for more information.

Andrew Karasev is Chief Technology Officer at Alba Spectrum Technologies ( http://www.albaspectrum.com ), serving Microsoft Great Plains, CRM, Navision to mid-size and large clients in California, Illinois, New York, Georgia, Florida, Texas, Arizona, Washington, Minnesota, Ohio, Michigan
Article Tags: crm [See Dictionary], data [See Dictionary], ms [See Dictionary]
Got a question about this article? Ask the community!
Article published on July 03, 2005 at Isnare.com
 
Rate this article:

Oracle E-Business Suite – Is It Really Possible To Support It Remotely?
Submitted by: Andrew Karasev

Well, let’s begin from philosophical introduction It is probably moving into this direction, all the recent talks about offshore development, remote support, customization project outsourcing, BPO (business processes outsourcing)...

ERP: Brazil – Microsoft Dynamics, Oracle Financials, SAP Business One
Submitted by: Andrew Karasev

Brazilian ERP/Accounting systems market is represented by local MRP applications, such as Microsiga, Datasul and other local ERP applications as well as several international ERP brands from Microsoft Business Solutions / Dynamics, SAP, Oracle...

Barcoding For Microsoft Dynamics GP/Great Plains – Customization Overview
Submitted by: Andrew Karasev

As we see ERP system are implemented in the companies, where it must be tightly integrated with existing or legacy system, automate warehousing, shipping & receiving operations, bar code scanners (Symbol wireless and stand alone) inventory order fulfillment...

Microsoft CRM Data Migration – Overview For Consultant Developer
Submitted by: Andrew Karasev

Microsoft Dynamics CRM 30 is now parading and triggering Microsoft CRM installation, implementation, customization, data conversion, upgrade and migration interest...

Corporate Accounting: Microsoft Dynamics GP/Microsoft Great Plains
Submitted by: Andrew Karasev

The ideas of Corporate ERP/MRP/Accounting application was developed back in 1960th, however nowadays the topic is still actual and we are watching how dozens of new Accounting packages hit the market every year...

Oracle Applications (Oracle E-business Suite) Customizations: What Is It?
Submitted by: Andrew Karasev

Oracle Applications Customizations is a major issue in many companies that have implemented it Oracle recommends every company that installs Oracle Applications to avoid any customization, but I have not seen any company that utilizes it and have not done any customization...

Microsoft Dynamics GP 9.0 Customizations & Development – The Most Popular Tables In Your SQL Scripts
Submitted by: Andrew Karasev

The table design/architecture of Microsoft Dynamics GP, as we write the current version is Microsoft Great Plains 9...

Microsoft Dynamics GP/Great Plains 9.0 Review & Customization Notes For Consultant & Developer
Submitted by: Andrew Karasev

Microsoft Great Plains version 90 or new name of the Microsoft Business Solutions former “Project Green” –Microsoft Dynamics: Microsoft Dynamics GP (Great Plains)...

Microsoft Dynamics GP: Purchasing It Cheap / On Sale – Overview
Submitted by: Andrew Karasev

This is probably one of the most delicate questions, we are discussing on the internet As you probably know that in order to get access to purchasing new modules for Microsoft Great Plains – you need to be on annual maintenance program – this program ranges from 16 to 25 percent of the software price list...

Microsoft Dynamics CRM 3.0 Lotus Notes Domino Connector – Overview For Consultant
Submitted by: Andrew Karasev

We have reworked the original material, dedicated to Microsoft CRM 12 and first version of the Connector, now we are very close to make it work with Lotus Calendar events and support Microsoft Dynamics CRM 3...

Oracle Financials Implementation: Brazil – Notes For International ERP Consultant
Submitted by: Andrew Karasev

Oracle E-Business Suite, also referred as Oracle Applications/Oracle Financials is competing with other high-end ERP products, such as SAP R/3 or mySAP...

Microsoft Axapta – Dynamics AX: Brazilian Portuguese Version – Consultant Highlights
Submitted by: Andrew Karasev

Axapta/Microsoft Dynamics AX short overview Navision Axapta was designed by Navision Software, shortly before its acquisition by Microsoft Great Plains Business Solutions...

Microsoft Great Plains, Axapta, SAP Business One, Oracle E-Business Suite – SQL Databases/Companies – Overview
Submitted by: Andrew Karasev

Corporate ERP clients sometimes come up with the question, which can not be answered by one specific ERP reseller...

Microsoft Dynamics AX-GP-NAV-CRM: Trends & International Recommendations
Submitted by: Andrew Karasev

Microsoft Dynamics project – or formerly referred as Project Green should unify and modulate all Microsoft Business Solutions ERP applications: Microsoft Great Plains/Microsoft Dynamics GP, Microsoft Navision (former Attain) Microsoft Dynamics NAV, Microsoft (Navision) Axapta/Microsoft Dynamics AX...

Microsoft Dynamics ERP: GP, AX, NAV, CRM – Which One To Select
Submitted by: Andrew Karasev

Being in MRP implementation, customization, integration, data migration/conversion business for many years, we would like to give you some orientation, in the case if you are on the way of ERP selection for your company...

Design Your Dream Deck With A Computer
Submitted by: Jesse Akre

When going about adding a deck to your home, you want it to be perfect It must fit in with the scheme of your home, and you don’t want it to be too big or too small...

Using IP Cameras in Prisons and Correctional Facilities
Submitted by: Wesley Fernley

In prison and correctional facilities, it's critical to have a proper video surveillance system This is why more and more prisons are opting for the IP Camera which works like a normal surveillance camera but with the added benefit of internet access...

Hightech Cameras Making Sport Training Easier
Submitted by: Jesse Akre

Lately, the advances in commonly used everyday items has increased dramatically We have cell phones that can double as MP3 players, as well as having internet capabilities, video consultations on our computers, digital cameras that can download right to the computer and then be sent in for printing, and so on...

Choosing a Guillotine Style Paper Cutter
Submitted by: Jeff McRitchie

An important piece of equipment to have in your copy room or work area is a guillotine paper cutter Guillotine paper cutters can help you quickly trim large stacks of paper...

MBM Destroyit 3803 Shredder Review
Submitted by: Jeff McRitchie

The Destroyit 3808 is a heavy duty shredder that the manufacturer posits as a centralized, heavy-use office shredder...

MBM Destroyit 4005 Shredder Review
Submitted by: Jeff McRitchie

Strengths: 1 The MBM Destroyit 4005 offers a super-wide 16 inch feed opening...

MBM Destroyit 4605 Shredder Review
Submitted by: Jeff McRitchie

The Destroyit 4606 is a high-capacity industrial shredder with a top-loading mechanism that is rated for continuous use...

DFG E Titan Wire Review
Submitted by: Jeff McRitchie

DFG's E Titan Wire is an electric wire binding system that is meant for ultra heavy duty use In this review, we will take a closer look at this machine a list what we consider to be some of its strengths and weaknesses...

DFG Titan Coil Binding Machine Review
Submitted by: Jeff McRitchie

The DFG Titan Coil is a well-constructed binding system aimed at filling the needs of medium sized organizations who want to have the ability to bind their own documents in the spiral coil style...

DFG Titan Comb Review
Submitted by: Jeff McRitchie

The DFG Titan Comb is a well-constructed, heavy duty plastic comb binding option aimed at smaller binderies, print shops, and other organizations who want the ability to bind booklets, proposals, presentations, and reports in a large variety of sizes and thicknesses...

DFG TitanCoil Ultra Review
Submitted by: Jeff McRitchie

As one of the only spiral coil binding machines on the market capable of punching through hard bound / chipboard covers, DFG's TitanCoil Ultra is aimed at providing a new binding option to print and copy shops as well any organizations who desires the capability of producing hardcover wire bound books...

DFG TitanWire L Review
Submitted by: Jeff McRitchie

As a relatively new company on the binding scene, DFG is setting out to make a name for themselves The TitanWire L is a two-to-one pitch wire binding machine that is aimed at small to medium sized organizations that do a fair amount of binding in the twin loop style...

DFG Wire 1000 Review
Submitted by: Jeff McRitchie

Aimed at small or home offices and organizations that are looking for a method of binding a few dozen or so booklets a week, The DFG Wire 1000 offers the user 3:1 pitch hole punching and three different binding styles at a reasonable price...

How to Get a Free Laptop Through the Internet
Submitted by: Jason Main

A laptop is probably one of the gadgets that anybody would love to have With everything that one could do through a laptop is it not surprising to find many men and women squirming with excitement to have a laptop...

Multi-Utility GPS Cell Phone
Submitted by: Roberto Sedycias

GPS cell phone may help in reducing gas emissions and keep the environment cleaner in a realistic way proving its multi-utility purpose...

Isnare.com Footer Divider

© 2004-2009. Isnare Free Articles - An Isnare Online Technologies Free Articles Project. All Rights Reserved.   Privacy Policy