Microsoft CRM Customization – programming Closed E

Microsoft CRM Customization – programming Closed Email Activity

by: Boris Makushkin

Microsoft CRM is CRM answer from Microsoft and attempt to get market share from Siebel, Oracle and others traditional Client Relationship Management System vendors. Microsoft CRM uses all the spectrum of Microsoft recent technologies: .Net, MS Exchange, MS Outlook, MS SQL Server, Replication, Indexing, Active Directory, Windows 2000/2003 security model, C#, VB.Net, HTML, XML Web Service, XLTP, Javascript to name a few.

Todayกs topic is Activity of email type programming you usually deal with these customizations when you improve Microsoft Exchange CRM connector. How do you create closed activity this is the main discussion topic. We’ll use C#.Net coding

One of the roles of our Exchange Event Handler/Sink is creation MS CRM Closed Activity in handling incoming and outgoing email messages. The interaction with Microsoft CRM uses two approached – using MS CRM SDK (handling inbound and outbound XML messages) and via direct access to MS CRM Database. Let’s first look at the Closed Activity creation algorithm:

1. First we need to understand the entity we need to create activity for: Account, Lead or Contact. The selection should use specific criteria – in our case this is email address:

if ((crmAccount = crmConnector.GetAccount(mailboxFrom)) != null) {

}

else if ((crmContact = crmConnector.GetContact(mailboxFrom)) != null) {

}

else if ((crmLead = crmConnector.GetLead(mailboxFrom)) != null) {

}

2. Then we have to get GUID of MS CRM user, who owns this entity, C# code like this:

crmUser = crmConnector.GetUser(crmAccount.GetOwnerId());

3. Next step is closed Activity creation:

emailId = crmConnector.CreateEmailActivity(

crmUser.GetId(),

Microsoft.Crm.Platform.Types.ObjectType.otAccount, crmAccount.GetId(),

Microsoft.Crm.Platform.Types.ObjectType.otSystemUser, crmUser.GetId(),

crmAccount.GetEmailAddress(), crmUser.GetEmailAddress(), sSubject, sBody);

4. The method to create closed activity:

public Guid CreateEmailActivity(Guid userId, int fromObjectType, Guid fromObjectId, int toObjectType, Guid toObjectId, string mailFrom, string mailTo, string subject, string body) {

try {

log.Debug(กPrepare for Mail Activity Creatingก);

// BizUser proxy object

Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser();

ICredentials credentials = new NetworkCredential(sysUserId, sysPassword, sysDomain);

bizUser.Url = crmDir + กBizUser.srfก;

bizUser.Credentials = credentials;

Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

// CRMEmail proxy object

Microsoft.Crm.Platform.Proxy.CRMEmail email = new Microsoft.Crm.Platform.Proxy.CRMEmail();

email.Credentials = credentials;

email.Url = crmDir + กCRMEmail.srfก;

// Set up the XML string for the activity

string strActivityXml = กก;

strActivityXml += กก;

strActivityXml += กก) + กก;

strActivityXml += กก;

strActivityXml += userId.ToString(กBก) + กก;

strActivityXml += กก;

// Set up the XML string for the activity parties

string strPartiesXml = กก;

strPartiesXml += กก;

strPartiesXml += กก + mailTo + กก;

if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) {

strPartiesXml += กก + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + กก;

}

else if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml += กก + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + กก;

}

else if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml += กก + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + กก;

}

else if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml += กก + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + กก;

}

strPartiesXml += กก+ toObjectId.ToString(กBก) + กก;

strPartiesXml += กก;

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString();

strPartiesXml += กก;

strPartiesXml += กก;

strPartiesXml += กก;

strPartiesXml += กก + mailFrom + กก;

if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) {

strPartiesXml += กก + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + กก;

}

else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml += กก + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + กก;

}

else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml += กก + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + กก;

}

else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) {

strPartiesXml += กก + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + กก;

}

strPartiesXml += กก+ fromObjectId.ToString(กBก) + กก;

strPartiesXml += กก;

strPartiesXml += Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString();

strPartiesXml += กก;

strPartiesXml += กก;

strPartiesXml += กก;

log.Debug(strPartiesXml);

// Create the email object

Guid emailId = new Guid(email.Create(userAuth, strActivityXml, strPartiesXml));

return emailId;

}

catch (System.Web.Services.Protocols.SoapException e) {

log.Debug(กErrorMessage: ก + e.Message + ก ก + e.Detail.OuterXml + ก Source: ก + e.Source);

}

catch (Exception e) {

log.Debug(e.Message + ก

ก + e.StackTrace);

}

return new Guid();

}

5. To make the activity just created be shown correctly you need to setup it’s flags according to MS CRM standards:

public void UpdateActivityCodes(Guid emailId) {

try {

OleDbCommand command = conn.CreateCommand();

command.CommandText = กUPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) WHERE ActivityId = (?)ก;

command.Prepare();

command.Parameters.Add(new OleDbParameter(กDirectionCodeก, Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING));

command.Parameters.Add(new OleDbParameter(กStateCodeก, Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter(กPriorityCodeก, Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter(กActivityIdก, emailId));

log.Debug(กPrepare to update activity code ก + emailId.ToString(กBก) + ก in ActivityBaseก);

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + ก

ก + e.StackTrace);

}

}

public void UpdateActivityQueueCodes(Guid emailId, Guid queueId) {

try {

OleDbCommand command = conn.CreateCommand();

command.CommandText = กUPDATE QueueItemBase SET Priority = (?), State = (?), QueueId = (?) WHERE ObjectId = (?)ก;

command.Prepare();

command.Parameters.Add(new OleDbParameter(กPriorityก, Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter(กStateก, Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter(กQueueIdก, queueId));

command.Parameters.Add(new OleDbParameter(กObjectIdก, emailId));

log.Debug(กPrepare to update activity queue code ก + emailId.ToString(กBก) + ก in QueueItemBaseก);

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + ก

ก + e.StackTrace);

}

}

Happy customizing, implementing and modifying! If you want us to do the job give us a call 18665280577! help@albaspectrum.com

About The Author

Boris Makushkin is Lead Software Developer in Alba Spectrum Technologies – USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, Boston, San Francisco, San Diego, Los Angeles, Houston, Dallas, Atlanta, Miami, Montreal, Toronto, Vancouver, Madrid, Moscow, Europe and internationally (www.albaspectrum.com), he is Microsoft CRM SDK, C#, VB.Net, SQL, Oracle, Unix developer. Boris can be reached: 18665280577 or borism@albaspectrum.com.

borism@albaspectrum.com

This article was posted on October 25, 2004

by Boris Makushkin

Microsoft CRM Integration with IBM Lotus Notes Dom

Microsoft CRM Integration with IBM Lotus Notes Domino – machinery dealership example

by: Andrew Karasev

IBM Lotus Notes with Domino email server is traditional document workflow management solution for large corporate business, where you need audit trail on approval cycle and decision making. Microsoft Business Solutions CRM is very cost efficient solution to automate sales process. It might be surprising, but we see good strata of clients who are willing to deploy and integrate both systems: MS CRM and Lotus Domino. In our opinion these clients are balancing ERP platform risks and trying to protect and deploy investments into Lotus licenses, while deploying new and already leading CRM solution – Microsoft CRM. In this small article we’ll give you the integration example – European division of one of the well known machinery manufacturer dealership network.

• Custom Lotus Database. In our case client had custom database, which was designed back in the beginning of 1990th. Some dealers had Lotus Notes Domino 4.0 and some of them had 6.0 and 6.5. Technical excurse – in Lotus Notes Domino 6.0 you can use Java 2 agents, and it seems to be platform independent (Microsoft Windows Server, IBM AS/400). To synch all the dealerships – the decision was made to upgrade across the network to Lotus Notes Domino 6.0 (to be a bit conservative)

• Domino Messaging. Obviously you have to have just one email server assigned to your url domain, and as traditionally Lotus Domino was the email server – the replacement with Microsoft Exchange 2003 (which is natural choice if you purchase Microsoft CRM) was not an option. With Alba Spectrum Technologies MS CMR Lotus Notes Domino connector you can switch email messaging to Lotus Domino

• Lotus & MS CRM events synchronization. IBM and Microsoft software designers designed CRM & Lotus events differently. Second phase of the project implementation will synchronize appointments, calendar events, etc. between Lotus and MS CRM.

• MS CRM ODBC lookups to Lotus database. As the second phase we plan to implement lookups from MS CRM Account to cases with custom fields and Lotus notes lookup tab. This tab will be realized as web .net application, integrated into MS CRM web interface. This web application will have machine serial number, warranty & service info. As you probably know in MS CRM 3.0 you can deploy custom table in link it to MS CRM object as onetomany. The most important is that it will be synchronized by MS Outlook and will allow you as a salesperson to work offline.

You can always have us help you with MS CRM customization, implementation, support & MS CRM SDK data conversion. Give us a call: 866.528.0577 or 1.630.961.598, help@albaspectrum.com

About The Author

Andrew Karasev is Chief Technology Officer at Alba Spectrum Technologies ( http://www.albaspectrum.com ) Microsoft Business Solutions Great Plains, Navision, Axapta MS CRM, Oracle Financials and IBM Lotus Domino Partner, serving corporate customers in the following industries: Aerospace & Defense, Medical & Healthcare, Distribution & Logistics, Hospitality, Banking & Finance, Wholesale & Retail, Chemicals, Oil & Gas, Placement & Recruiting, Advertising & Publishing, Textile, Pharmaceutical, NonProfit, Beverages, Conglomerates, Apparels, Durables, Manufacturing and having locations in multiple states and internationally.

help@albaspectrum.com

This article was posted on September 02

by Andrew Karasev

Integrating Microsoft Great Plains Accounting/ERP:

Integrating Microsoft Great Plains Accounting/ERP: RMS, CRM, eCommerce, Lotus Domino – overview for developer

by: Andrew Karasev

Microsoft Business Solutions Great Plains has substantial market share among horizontal and vertical clientele in the USA, Canada (including French version for Quebec/Montreal), UK, Australia, New Zealand, Spanish speaking Latin and Central America, South Africa and Middle East. Nowadays ERP can not stay as it is offtheshelf product – it requires integration with Legacy or newly implemented systems, such as CRM, Retail Management applications, custom inhouse made business systems (transportation/cargo tracking, etc). The tendency is that if company uses Microsoftdriven computer park (Windows domain, SQL Servers, MS Exchange) the rest of the ERP/CRM applications are Windowsoriented. However you can have successful bridge between nonMicrosoft ERP and Great Plains: Oracle, IBM Lotus Notes/Domino, DB2 or others), usually it involves Java/CORBA/EJB/JSP type of expertise.

Microsoft RMSGreat Plains integration. There are few options – first one is to use standard integration, coming with MS RMS. It has Dexterity interface in Great Plains, does integration to single company at the time. Doesn’t integration on SOP/AR level, however. Second option is to use integration, maintained by Alba Spectrum Technologies – it integrates unlimited number of stores, SOP/AR/POP, posts through Bank Reconciliation module and so allows to track Check Books/Credit Card balances. This integration also has Dexterity interface for StoresGP Companies mapping and could work as nightly or real time SQL Server routine

Microsoft CRMGreat Plains integration. This integration is maintained by Microsoft Business Solutions and allows you to synchronize SOP and Customers in Great Plains with Microsoft CRM Quotes and Orders. Microsoft CRM has open Microsoft CRM SDK and so you can customize and integrate Microsoft CRM at will, having C# or VB.Net inhouse expertise. The above mentioned integration could be altered and tuned by programming MS BizTalk server (it can use either BizTalk runtime or regular license)

Microsoft Great Plains as Back office for eCommerce website. Here we need to mention interesting thing, The product, created and dedicated to eCommerce developers – Great Plains eConnect is often considered as a bit expensive and licensingrestricting solution. If your company is ISV and implements eCommerce product, integrating to Great Plains – you would rather prefer set of open and simple stored procedures, moving data to and retrieving from Microsoft Great Plains Sales Order Processing (SOP) module

Microsoft Great Plains integration with Oracle. Well – you can do it either from Oracle or from MS SQL Server side – in both cases you have linking tools and heterogeneous queries mechanisms

Microsoft Great Plains integration with Lotus Notes/Domino. – If you want Great Plains documents lookup from Lotus – you typically use ODBC connection to MS SQL Server. You need to know Great Plains tables structure (Tools>Resource Description>Tables in Great Plains)

Good luck in upgrading and if you have issues or concerns – we are here to help! If you want us to do the job give us a call 18665280577, 16309615918! help@albaspectrum.com

About The Author

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Great Plains, Microsoft CRM customization company, serving clients in Chicago, California, Texas, Florida, New York, Georgia, Arizona, Minnesota, UK, Australia and having locations in multiple states and internationally ( http://www.albaspectrum.com ), he is CMA, Great Plains Certified Master, Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer. You can contact Andrew: andrewk@albaspectrum.com.

help@albaspectrum.com

This article was posted on April 17

by Andrew Karasev

Microsoft CRM integration: Oracle database access

Microsoft CRM integration: Oracle database access from MS CRM

by: Boris Makushkin

Today’s article topic is customization possibility demonstration for user web interface of Microsoft CRM. As an example we’ll use MS CRM integration with ASP.Net application, accessing customer data access, when customers are stored in Oracle 10g database. Let’s begin:

1. First, let’s create the table to store customer information in Oracle database. We’ll use web application iSQL for table metadata manipulation:

2. Table is now created and contains four fields: CUSTOMER_ID, FIRST_NAME, LAST_NAME и ADDRESS. Fill it with text data:

3. Now we’ll work with data access to Oracle database from ASP.Net application. We should download from Oracle site http://www.oracle.com Windows Instant Client. We don’t have to install it – just unpack all the files in the directory of your choice, for example c:\oracle and set environmental variable TNS_ADMIN, pointing to this directorty.

4. In c:\oracle directory (or where TNS_ADMIN point out) create file tnsnames.ora as following (change host and service names):

ORCL1 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = oraclehost.youtdomain.com)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ORCL1)

)

)

5. Make correction to windows registry to have MS SQL Linked Server work properly withOracle OLE DB Provider. In the hive KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI make these changes:

OracleXaLib = กoracleclient8.dllก

OracleSqlLib = กorasql8.dllก

OracleOciLib = กoci.dllก

6. Now let’s create Linked Server in MS SQL Server 2000:

Note: in the Security tab we need to use security context with the credentials, having valid access to Oracle Database.

7. Linked Server is ready – let’s test it functioning – open table list. We should see customer table there:

8. Now we’ll create stored procedure for Oracle data access:

SET ANSI_NULLS ON

SET ANSI_WARNINGS ON

GO

CREATE PROCEDURE MyCustomersList AS

SELECT * FROM OPENQUERY(ORACLE, กSELECT * FROM Customerก)

RETURN

9. Next step is customizing Microsoft CRM using interface. We’ll add customer list button into Quote screen toolbar. Edit isv.config:

Change Url to your host name.

10. To create ASPX page we’ll use RAD for ASP.Net WebMatrix:

11. Create new page for data access:

12. Change it’s code to access our data:

Sub Page_Load(Sender As Object, E As EventArgs)

Dim ConnectionString As String = กserver=(local);database=Albaspectrum;trusted_connection=trueก

Dim CommandText As String = กEXEC MyCustomersListก

Dim myConnection As New SqlConnection(ConnectionString)

Dim myCommand As New SqlCommand(CommandText, myConnection)

myConnection.Open()

DataGrid1.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection)

DataGrid1.DataBind()

End Sub

13. Now we’ll test our web application by calling it from MS CRM:

Happy programming, implementation, customization and modification! If you want us to do the job – call use 16309615918, 18665280577, Europe: +49 231 4387600! help@albaspectrum.com

About The Author

Boris Makushkin is Lead Software Developer in Alba Spectrum Technologies – USA nationwide Oracle, Navision, Microsoft CRM, Microsoft Great Plains customization company, serving Chicago, California, Arizona, Colorado, Texas, Georgia, Florida, New York, Canada, Australia, UK, Russia, Europe and internationally ( http://www.albaspectrum.com ), he is Oracle, Unix, Microsoft CRM SDK, Navision, C#, VB.Net, SQL developer.

BorisM@albaspectrum.com

This article was posted on February 21

by Boris Makushkin

Microsoft CRM USA Nationwide Remote Support

Microsoft CRM USA Nationwide Remote Support

by: Andrew Karasev

Remember old good days when your company probably had Great Plains Dynamics? If you are in San Francisco Bay Area – you had local Great Plains Software partner consulting company, who served you basically coming onsite and charging you four hours minimum, even if the problem deserved 5min fix? This was at the end of 20th century and remote support technologies were not very advanced – Citrix was making good progress and taking market over from Symantec PCAnywhere. Today, when Microsoft Terminal Server and Citrix are remote support standards and IT department uses them to host application server for nationwide and worldwide users, you should probably be thinking of getting remote support for your ERP and CRM systems. In this small article we’ll take a look at Microsoft CRM remote support, customization, reporting, implementation and integration.

Why Microsoft CRM Remote Support? Microsoft CRM market niche is still narrow and MS CRM consulting companies do not have enough clientele in their respected locals markets: Houston, Los Angeles, Chicago, New York – even in these hypermarkets. In order to survive Microsoft CRM VAR went to nationwide and even international markets to get clients base.

Technologydriven consulting companies. Microsoft CRM has web and MS Outlook clients and so by its nature it is web application. When you are considering hosting your web site – you typically do not care where hosting company is located – you consider price and quality. Microsoft CRM could be hosted with .Net hosting companies and implementation could be done remotely with websessionbased training.

Customization. Today, even if Microsoft Business Solutions has open technology Microsoft CRM SDK – the complexity of the specific tasks (messaging through Lotus Notes Domino, generic MAPI, advanced MS CRM – Exchange connector) requires precision programming, which should be outsourced to nationwide development centers. As our experience indicates – clients are demanding the expertise, not just cheap generic developers. Whoever comes for the cheap price – they usually get poor results.

Large Business ERP. Microsoft CRM proved its market strength and ability to automate large publicly traded corporation. It sits in Microsoft SQL Server and uses all the spectrum of Microsoft technologies: .Net, Active Directories, MS Exchange, FullText Search, Crystal Reports Enterprise. We are confident in Microsoft CRM ability to automate Aerospace & Defense, Pharmaceutical, Supply Chain Management, Medical & Hospitals, Distribution & Logistics, Oil & Gas, Wholesale & Retail, Education, Nonforprofit

Integration. Microsoft CRM has standard integration tool with Microsoft Great Plains, Navision and Axapta integrations are on the way. However you can integrate Microsoft CRM with heterogeneous databases, such as Oracle, DB2, Lotus Notes Domino, Sybase, Pervasive SQL or Ctree/Faircomm.

WebSessions and Skype training. Web Seminars are normal these days and you should be OK with the idea of remote web training. This will allow you to get the best expertise with moderate price.

You can always have us help you, give us a call: 16309615918 or 18665280577, help@albaspectrum.com

About The Author

Andrew Karasev is consultant and CTO in Alba Spectrum Technologies ( http://www.albaspectrum.com ) – Microsoft Business Solutions partner, serving clients in Illinois, New York, California, Florida, Georgia, Texas, Arizona, Virginia, Minnesota, Canada, UK, Europe, Australia, Asia, Russia. He is Microsoft Great Plains certified master, Great Plains Dexterity, Microsoft CRM SDK C#.Net, Crystal Repots developer.

help@albaspectrum.com

This article was posted on August 07

by Andrew Karasev

Microsoft CRM Integration with Navision – overview

Microsoft CRM Integration with Navision – overview for programmer

by: Andrew Karasev

Microsoft Business Solutions CRM is very good budget alternative to Siebel and actually beloved by Microsoftoriented IT department system. Considering the fact that in many cases Microsoft CRM should somehow fit into and cooperate with existing legacy business applications, integration question maybe the first to place. It is probably good to mention that Microsoft Navision has its own CRM module (and Navision will probably have MS CRM Navision integration tool for MS CRM 2.0 – at this moment we do not know when). We would like to give you, software developer highlight on how you allow Navision data lookup from Microsoft CRM screens: Account (which is customer), contact, lead.

We suppose that Navision is installed with native C/SIDE database, because in the case of MS SQL Server this topic doesn’t make sense

Microsoft CRM web interface is built on .Net architecture and Microsoft CRM SDK is married with .Net. We suggest you to use Microsoft tools to connect to Navision database via ODBC.

Native C/SIDE Database. If Navision sits in C/SIDE database, then create ODBC linked server to Navision via C/ODBC

Configure web.config to enable Microsoft CRM customization

Configure isv.config to place the button or navigation bar on one of your MS CRM customizable forms: Lead, Account, Contact, etc.

Use MS CRM SDK sample code to come into Microsoft CRM Security realm

Create separate Database on the same SQL server where Microsoft CRM is hosted and place heterogeneous stored procedures or views – which will be pulling data from Navision C/SIDE linked server

Program ADO.Net calls and returned dataset processing in Visual Sudio.Net (preferably C#.Net, because Microsoft CRM SDK is C# oriented)

We probably should mention that isv.config buttons allow you to transfer GUID of the Contact, Lead or Account to your integrated web application

Crystal Reports caution – MS CRM has builtin Crystal Reports Enterprise, licensed for MS CRM data access only. So, if you like to integrate web Crystal report into your application – you should resolve licensing issue and check with Microsoft on purchasing full version of Crystal Enterprise. The other way is to separate your Crystal web application and MS CRM by placing them on separate hardware

Additional tip – in your stored procedure use this directive: DBCC TRACEON(8765), which allows working with the data results of variable length returned by C/ODBC driver

Good luck with integration! If you want us to do the job give us a call 16309615918 or 18665280577! help@albaspectrum.com

About The Author

Andrew Karasev is Chief Technology Officer 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 ), he is CMA, Great Plains Certified Master, Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer. You can contact Andrew: akarasev@albaspectrum.com

This article was posted on February 18

by Andrew Karasev

Microsoft CRM Implementation US market lessons

Microsoft CRM Implementation US market lessons

by: Andrew Karasev

Microsoft CRM is CRM answer from Microsoft Business Solutions. If you compare it to other traditional CRM applications, such as Siebel you will see that Microsoft CRM does use all the resent Microsoft technologies, that means that Microsoft targets its CRM to Windows market exclusively, plus this means that Microsoft CRM is more difficult in its installation. Microsoft doesn’t even have to care about other platforms, such as Linux/Unix or Apple. Now we see kind of paradoxical situation when Microsoft CRM is gaining market share even in recession and early postrecession time. Where is the secret?

Let us give you our vision, based on our three years of MS CRM implementation practice in USA and internationally.

1. Microsoft CRM is for MCSE / Microsoft oriented IT departments – Microsoft CRM would be beloved system for IT specialists. If you are MCSE+I CRM will recruit all your MS Exchange, Active Directory, MS SQL Server, Windows domain security, Windows 2003 Server, Web publishing and HTML knowledge and experience. This is completely opposite to earlier Apple Computer believe that computer systems should be easy in service and completely intuitive. MS CRM is kind of intuitive for end user, but not for its administrator.

2. Microsoft CRM is not CRM but rather simplified CRM if you do remember old days whitepapers about CRM in general, or even itกs predecessor Lotus Notes/Domino these papers were full of predictions about the future and were written for top level company executives, not for regular computer specialists. This was probably why so high percentage of CRM sales failed in implementations. Microsoft CRM has the highest ever rate of successful implementations, because it is not a CRM, but rather popularized version of it it just does the job as cheap and reliable car.

3. Transportation Companies about 30% of our clients in the States are transportation and freight forwarding companies. This actually proves the hypothesis that MS CRM is very simple solution these companies usually do not have extra money to spend on their computer system, but need the solution for its sales people to instantly see the cargos, plus have simple customization, allowing them to integrate with legacy system.

4. Movement down to small and tiny companies – this is completely new trend for CRM market. We know the examples when 5 employees companies make a decision to implement and have surprising success in Microsoft CRM implementation.

Happy implementing!

About The Author

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Colorado, Texas, New York, Georgia and Florida, Canada, UK, Australia and having locations in multiple states and internationally (www.albaspectrum.com) You can reach Andrew at 16309615918 or 18665280577. He is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer.

akarasev@albaspectrum.com

This article was posted on December 06, 2004

by Andrew Karasev

Microsoft Business Solutions: ERP, CRM, RMS for sm

Microsoft Business Solutions: ERP, CRM, RMS for small and midsize company overview for Consultant

by: Andrew Karasev

Microsoft Business Solutions has good combination of ERP, CRM, Retail Management applications to cover all the needs for small, midsize and even large company. These are ERP: Microsoft Great Plains, Navision, Axapta, Solomon, Small Business Manager; CRM: Microsoft CRM and Navision CRM; Retail Management: Microsoft RMS and Navision Retail module.

You should know that these products were not initially developed by Microsoft (except Microsoft CRM), but purchased from leading midmarket software development companies: Great Plains Software, SMS, Navision Software. This means that Microsoft is on the way to align all its products and make them be granular (socalled Microsoft Business Suites: Financial, Manufacturing, Logistics, Project Accounting, etc.)

Also please know that Microsoft is trying to create integration packages between it’s products – as far as they come from different vendors – these products were not initially designed to be crossintegrated. Microsoft however covered long way to prepare such integrations – it has Microsoft Biztalk server.

Next point for you – Microsoft is now on the way to move all its products to its database platform – Microsoft SQL Server. Good example is Great Plains – now it is available on MS SQL Server or MSDE, no Ctree or Pervasive SQL 2000 (with new version – Microsoft Great Plains 8.0). Also Microsoft is trying to enable other technologies for its ERP, CRM and RMS – the best example is Microsoft CRM: MS SQL Server, MS Exchange, Active Directory, Replication, Message Queue, Text Indexing to name a few. This means for you, consultant, that your client’s IT group will love these solutions from technical side, if they are Microsoftoriented and vise versa – they will be more than reserved if they are coming from Java/Oracle/IBM world.

ERP. If you are in USA, UK, Canada, Latin America, South Africa, Australia or New Zeeland – you should first consider Microsoft Great Plains. In the very complex Project oriented business case (large consulting, construction/project management) – you should take a look at Solomon, or if you have light manufacturing – you may turn to Navision. If you are in Europe, Russia or the rest of the World – first consider Navision.

CRM. Microsoft CRM is the solution worldwide

Retail Management. If you are outside of Navision realm (most of continental Europe) you should look at Microsoft RMS (Store Operations and Headquarters – if you need stores consolidation). If you are in Continental Europe – look at Navision Retail module or check with Microsoft in your country.

Happy selecting! if you want us to do the job give us a call 16309615918 or 18665280577! help@albaspectrum.com

About The Author

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Great Plains, Microsoft CRM, Microsoft RMS customization company, serving clients in Chicago, California, Colorado, DC, New Jersey, Washington, Texas, Arizona, Florida, Georgia, New York, U.K., Canada, Australia, Europe ( http://www.albaspectrum.com ), he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM developer.

akarasev@albaspectrum.com

This article was posted on December 24, 2004

by Andrew Karasev

Microsoft CRM Sales Automation – overview for Cons

Microsoft CRM Sales Automation – overview for Consultant

by: Andrew Karasev

Microsoft CRM – Client Relationship Management application, promoted by Microsoft subdivision Microsoft Business Solutions, is in the beginning of its market share gaining, however, surprisingly enough – even with its basic functionality (which is natural for first versions of the software product) Microsoft CRM is welcomed by clients in many servicing industries. Why so many clients are choosing Microsoft CRM and even replacing such systems as Siebel with this basic solution. Probably the secret of this success lays in several simple facts:

Basic functionality

Open Microsoft Customization technology

Believe that Microsoft will stay successful for a long time

Cost factor

We are describing Microsoft CRM Version 1.2. Lets work out these suggestions.

Basic Functionality. This means that it is very simple to sell it – you nee only several features to demo to the prospect and the rest could be tuned and customized by enduser (which is of course not true to the 100%, but to some extent – it is correct statement). Its Sales Automation module is almost abstract and everyone with basic sales skills can understand it on the fly.

Open Microsoft Customization technology. There are so many Microsoft network specialists, database administrators, VB.Net programmers – this makes your customization easily doable and you don’t have a risk of dependence on one unique programmer or technology

Believe that Microsoft will stay successful for a long time. Well – this is probably just the projection of the past to the future, every business has business strategy and philosophy and these two are subject to transformation and deformation. But, we’ve heard these arguments of successful business longevity and we believe that this is important factor

Cost factor. Microsoft CRM deploys existing technologies and servers, such as Microsoft Exchange, Microsoft SQL Server, Microsoft Windows 2003 server and so – you do not have to purchase these pieces second time. You purchase just a middle ground, which is based on these platforms. In such situation, Microsoft is willing to go down with the license pricing. To some extent of course.

You can always have us help you, give us a call: 16309615918 or 18665280577, help@albaspectrum.com

About The Author

Andrew Karasev is consultant and CTO in Alba Spectrum Technologies ( http://www.albaspectrum.com ) – Microsoft Business Solutions partner, serving clients in Illinois, California, New York, Florida, Georgia, Arizona, Colorado, Texas, Minnesota, Virginia, Washington, UK, Canada, Australia. He is Microsoft Great Plains certified master, Great Plains Dexterity, Microsoft CRM SDK C#.Net, Crystal Repots developer. You can reach Andrew: akarasev@albaspectrum.com.

This article was posted on January 06

by Andrew Karasev

Is your CRM (Customer Relationship Management) sys

Is your CRM (Customer Relationship Management) system doomed to fail?

by: Perry Norgarb

ขRight, People. Let’s blast out that mail campaign we’ve been planning for so long.ข

It’s time to put your trusty CRM software to work; to let it earn its keep. You run a search of people and companies you want to target.

You soon realize something’s wrong when your list is far smaller than anticipated. A quick check reveals many profiles/categories have not been filled in, impacting your search results. Further inspection shows numerous records are incorrect; others are riddled with typos. And that’s just for starters.

With a sinking feeling, you realize that last push isn’t going to happen in a hurry.

Time for some Damage Control or Preventative Maintenance.

Fortunately one of the most common reasons cited for the high failure rate of CRM systems poor data quality is also one of the easiest to avoid.

Your CRM software is only as good as the information it contains. As the old programmers motto goes ‘garbage in, garbage out’.

So how can you avoid incomplete, incorrect, irrelevant or outofdate and generally unfitforuse data from permeating your CRM software?

You need to gather your key CRM users together and thrash out a DATA CAPTURE PROCEDURE document, defining the rules of use.

Spell out:

Who has what rights to the system; who can Create, Insert, Modify or Delete records, assuming your software supports all these functions? Forward this information to your system administrator to action.

Decide on a procedure to check for any duplicates before creating a record. Depending on what ‘deduping’ or ‘data scrubbing’ features your system has, this might require some simple searches before starting a new record.

Do you allow abbreviations or acronyms? For example: IBM, or I.B.M, or International Business Machines Inc. or Incorporated and so on. A policy on ensuring consistency of input will help to avoid duplications in future.

Are records going to be created in Upper and Lower case and when are CAPS acceptable?

By when do you expect records, notes and so on to be created or updated? Same day, on return to the office?

Check to see whether your Postal Services have specific requirements. Ensure your data meets these criteria.

Is the primary address of clients to be created as a postal or a physical address?

Make sure everyone checks spellings if they are unsure and do not trust spellchecker! When in doubt, ask the client – they’ll respect that. Is it Clark with an ‘e’; Shawn, Sean or Shaun? One certain way to get your mail binned is to spell someone’s name incorrectly.

Also confirm the kind of corporation e.g. LLC, Inc, PTY Ltd. and so on.

Make rules for creating new profiles or User Definable Fields (UDF) (or whatever your specific CRM software calls them.) Place a lot of emphasis on this. Every time a new UDF is needed, it should first be approved. Otherwise duplicates will permeate your database e.g. Lead Source: Yellow Pages, YP, yelo pages.

Ensure that email addresses are put in correctly. Basic but common mistake!

Set up procedures, if not supported by your software, of how to create records from inbound emails.

If applicable, are you going to use Mandatory/Forced fields?

You might as well address the issue of Backups while you are about it.

Who is the responsible person for backing up your databases/s? Who covers for them when they are absent or unavailable?

How frequently are backups to be done? Diarise!

How are backups done e.g. by the Grandfather, Father, Son method.

Ensure backups are made on good quality CD’s or whatever format you are using. It’s no good doing a backup, then finding on attempting a Restore that it doesn’t work! It is also a good idea to copy backups onto more than one data format.

Where are the backups to be stored?

Are the backups secure? This is important for both security and practical reasons.

Once your Data Capture Procedure Document is finished, get everyone to sign it off as READ!

As standard practice, ensure that document is handed to all new employees at your company.

Refer back to this document for possible revision every three months or so.

Try this: select a couple of records both good and bad every week, to put on the overhead at staff meetings. Make sure you don’t unduly embarrass anybody but watch this become the lightrelief highlight of your meetings! People learn best when having fun!

What if your database is in one unholy mess?

Has the rot set in so deeply that your database needs a complete overhaul? Turn this seemingly insurmountable task into an opportunity to you. This is an excellent excuse to reestablish contact with your clients and let them know you care. You can always put lapses down to data crashes but tell them you have fixed the problem!

Importantly, help your staff understand what you need from the data to facilitate more accurate marketing and reporting and hence the success of your business and their careers.

By creating a sense of pride and ownership in the company database, you are nurturing the essential process of buyin, necessary for the success of your CRM initiative. Don’t compromise this critical tool by allowing your CRM software to be infected by inferior data.

About The Author

Perry Norgarb has specialized in Small Business CRM solutions for the last 15 years.

Contact him or find out more about CRM, Contact Management and other Sales Tracking software tips and solutions for small businesses at: http://www.smallbizcrm.com.

You are free to republish this article as long as this bio box and copyright remain intact. © 10 December, 2004.

This article was posted on December 15, 2004

by Perry Norgarb

Microsoft CRM for Large Corporation – Security

Microsoft CRM for Large Corporation – Security

by: Andrew Karasev

Microsoft Business Solutions CRM proved to be reliable solution in the whole spectrum of industries and market niches: transportation & logistics, education, recruiting & placement, supply chain management, pharmaceutical, oil & gas, aerospace & defense, manufacturing, wholesale & retail. When corporation is looking into CRM application to choose from – one of the fist questions is security. In this small article we’ll try to give you the highlights on the most typical questions we are receiving in the security area.

Active Directory. Microsoft CRM uses Active Directory users and its security is built upon Windows domain security. We heard complains about this tight integration. If you compare MS CRM with Siebel, for example – you will see, that Siebel security is built on the CRM level and Siebel can be installed on Windows and Unix/Linux platforms

Vertical Security, Roles. If you are thinking about vertical security, say assign more rights to manager, versus salesperson, this should be done on the role level. We first talk about vertical security, to give you conception of the matrixtype of security, realized in MS CRM

Horizontal Security, Teams. At this moment (MS CRM 1.2, MS CRM 3.0 is due in September 2005) team can include users only, not other teams, however, if you share the object with the team – you can share it with multiple teams. This is the place where collective security begins. Imagine, you have Worldwide product line – widgets and you have several regions: Europe, Pacific, USA, Australia & New Zealand, China. In gadgets team you have product manager, who should see all the sales worldwide, also you create regional teams for European, America, Australian etc markets and then make gadgets manager as team member of all these teams

Secured Reporting. When you, as European market manager run report on the gadgets sales – you see only records in your security realm. This statement is true even if you have customization, done in MS CRM SDK: C# or VB.Net.

Presentation Level. If you use MS CRM Web or Outlook clients – these are just two types of presentation level clients. Microsoft CRM schema sits in MS SQL server database, so if you deploy MS CRM SDK to modify/customize your CRM – both presentation clients will get the custom interface

Messaging. Microsoft CRM deploys MS Exchange. However you can improve MS CRM Exchange connector to catch emails by addresser email or domain, also you can deploy Lotus Notes Domino as email server – check with Alba Spectrum Technologies

Integration with MS Great Plains. Microsoft CRM integrates with GP customers, SOP Orders & Invoices. You can have custom integration, by calling Great Plains objects (customer annual sales info, employee’s payroll summary, etc.)

Good luck and you can always seek our help in customization, implementation, integration and support. Call us: 18665280577 or 16309615918, help@albaspectrum.com

About The Author

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Great Plains, Microsoft CRM customization company, serving Chicago, California, Arizona, Texas, Florida, Georgia, New York, Australia, UK, Canada, Continental Europe, Russia and having locations in multiple states and internationally ( http://www.albaspectrum.com ), he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer

help@albaspectrum.com

This article was posted on August 04

by Andrew Karasev

Microsoft CRM Development

Microsoft CRM Development

by: Andrew Karasev

Microsoft CRM is CRM answer from Microsoft Business Solutions.

The whole conception behind CRM seems to be different. In case of traditional CRM software (Siebel, Oracle) the application was designed with platform independence in mind. Microsoft CRM is dedicated to Microsoft technology and so deploys all the Microsoft tools: Windows Active Directory, Microsoft Exchange 2003/2000, SQL Server, Crystal Reports Enterprise, Biztalk server, Microsoft Outlook, Internet Explorer, Microsoft Great Plains as backend, etc.

If you are software developer, database administrator or web designer who is asked: how do we customize Microsoft CRM we are giving you directions in this article.

1. Microsoft CRM SDK this is software development kit with C# and partly VB.net code samples it is supported by Microsoft Business Solutions technical support. It is based on web service calls, if you are C# .NET developer you are excellently positioned to do this type of customizations. This is the preferred modification scenario and this should be easily upgradeable customization. VB.Net examples will be available soon.

2. Legacy SQL Data integration. This is also easy and safe. If you have SQL database, sitting on the same or linked SQL Server you can create ASPX .Net application and simply integrate it into CRM. You can place it on the navigation bar or menu in isv.config please refer to MS CRM SDK

3. Legacy ASP integration this is somewhat more sophisticated. You have to deploy HTTP handler to be a middle party between CRM which is .Net based and ASP which is legacy IIS. The trick is you have to have INI file with security settings to penetrate into MS CRM with proper credentials, calling web service.

4. Microsoft Exchange Programming. Microsoft CRM has Exchange connector which moves CRM incoming email to MS if it has GUID in its subject. You can alter this logic (for instance move email to CRM if it doesn’t have GUID but it is from the sender who is contact or account in MS CRM). Refer to MS Exchange SDK onsyncsave event handling. Then simply apply some MS CRM SDK programming you need some COM+ objects creation and VB programming experience.

5. Direct SQL touch in #4 above I described you the scenario with MS Exchange handlers this would be ideal world if MS CRM SDK does the job. But in real world this is not always true you have to do direct flags correction in CRM database (like making Activity closed, moving email attachments/octet streams, etc). This is not supported by MBS technical support but you can rescue to this technique if you have to get job done.

6. MS CRM Customization tool this is rather enduser tool and we don’t describe it here read the manual. Weกve described above the options to use when this tool doesn’t do the job

7. Crystal Reports feel free to create Crystal report tables and views structure is self explanatory. Try to avoid the temptation to create your own SQL view or stored procedure in MS CRM database, instead create custom database and place your view and stored proc in it.

About The Author

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Texas, New York, Colorado, Georgia, Florida, Canada, UK, Autralia 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

This article was posted on December 06, 2004

by Andrew Karasev