Maintain your old Siemens Hipath system

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

[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();

Fi le.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 )

In The News:

21 killed as pipeline explodes after fuel theft
Sat, 19 Jan 2019 03:08:00 +0000
At least 21 people have died and 71 others injured after a pipeline breached by fuel thieves exploded triggering a massive fire in central Mexico.

Bangkok pollution 'at crisis level' as planes trigger rain
Fri, 18 Jan 2019 23:34:00 +0000
Doctors in Thailand are warning Bangkok could face a pollution health crisis if it does not address its smog problem.

Ex-president turns pizza delivery man amid US shutdown
Sat, 19 Jan 2019 09:34:00 +0000
Former US president George W Bush tried his hand at delivering pizza to treat unpaid Secret Service staff amid the ongoing government shutdown.

Hundreds of migrants tunnel under US border together
Sat, 19 Jan 2019 10:33:00 +0000
Almost 400 asylum seekers have been arrested in Arizona after tunnelling under the US-Mexico border, officials have said.

From jail, crime bosses blow up bridges and set petrol stations on fire
Fri, 18 Jan 2019 14:03:00 +0000
Petrol stations set alight, bridges blown up and police stations torched are just a few of the ways crime bosses in Brazil are flexing their muscles from within the confines of their prison walls.



tikatoshop.it

Erfahrungen mit Pallhuber Wein
Agen Bola SBOBET Terpercaya

Travel in comfort and at your leisure with CT Airlink Limousine & Car Service for top quality private transportation and exceptional customer service. We operate Sedans, SUVs & Vans for CT Car Services to covering all Connecticut airports including Car Service from CT to Newark Airport , Mohegan Casino Uncasville CT, Foxwoods Casino Mashantucket CT, Manhattan Cruise Terminal NYC, Brooklyn Cruise Terminal NYC and Bayonne Cruise Terminal NJ. CT Airlink hire licensed and friendly chauffeurs who have in-depth knowledge of the Areas.

Software Engineering: An Introduction

Software Engineering is the Systematic Approach for analysis design implementation... Read More

SyncUp ? A File/Folder Synchronizer For Windows

SyncUp, a file synchronizer is designed to assist the home... Read More

DVD Burning Tips

CD and DVD replication is a process that works by... Read More

Tripwire for Linux File Integrity

What is Tripwire?Tripwire is a form intrusion detection system (IDS)... Read More

Partitioning, Formatting and Reinstalling in Windows 98

Formatting and reinstalling windows 98 is very easy if you... Read More

Collaboration Software: Index of Collaboration Software Technologies

Collaboration SoftwareCollaboration Software, also known as group collaboration software or... Read More

Microsoft Great Plains Remote Support - Overview

Microsoft Great Plains is now standard mid-market ERP application, serving... Read More

The Software 2005 Conference - A Review

The Software 2005 conference is now a wrap. This conference,... Read More

Microsoft Great Plains - Payroll & HR Inexpensive Solution? Not Any More

Microsoft Great Plains is main Microsoft Business Solutions accounting package... Read More

Selecting Microsoft Great Plains Partner/VAR/Reseller: ERP Implementation & Customization ? Overview

In the case when you represent mid-size or mid-size-to-large business,... Read More

Preventive Maintenance Software Companies

Several software companies design programs for preventive maintenance. Most of... Read More

Crystal Reports - Geterogeneus databases: SQL Server, Oracle, Unidata, Btrieve ? Tips For Developer

Crystal Reports is the most flexible tool on the market... Read More

Microsoft CRM ? Typical Customizations

Microsoft CRM was designed to be easily customizable. Microsoft CRM... Read More

Microsoft Great Plains in Metal Distribution: Implementation & Customization ? Consultant Overview

Microsoft Business Solutions Great Plains serves to the wide spectrum... Read More

Internet Faxing Service Review

The Internet is reshaping every form of communications medium, and... Read More

Microsoft Great Plains Food Processing ? Implementation & Customization Highlights

Microsoft Great Plains might be considered as ERP platform to... Read More

CROOK: A Methodology for the Refinement of Forward-Error Correction

Table of Contents1) Introduction 2) Related Work 3) Framework 4)... Read More

A Symons Mark II Function Point Counting Example

I provide, here clear explanations and a count of function... Read More

Microsoft CRM Implementation & Remote Support

We would like to give you pluses and minuses of... Read More

The Secret of the Layer Styles Dialogue

When you double-click a layer in the Layer Palette, you... Read More

Do You Know These Facts About Spyware ?

Imagine something that follows you home and sets itself up... Read More

Unwanted Files

A LOT OF UNWANTED FILES.When you uninstall an item of... Read More

Implementing Microsoft CRM: setup and configuration ? notes for IT specialist

Microsoft Business Solutions CRM is web-based CRM application, deploying all... Read More

Microsoft Great Plains: exchange & brokerage ? implementation notes

If you company is small or mid-size special products or... Read More

Microsoft Navision Database Selection: C/SIDE or MS SQL Server - Overview For IT Specialist

There are certain pluses and minuses in both cases and... Read More