Decode the Error Codes in Dynamics CRM

Microsoft has done a fine job in documenting the web service error codes for all versions of CRM. The web service error codes for CRM 2013 can be found here.

The Error IDs documented on MSDN and CRM SDK are in hexadecimal format. For example, the error code ‘80040516’ translates to a ‘The opportunity cannot be closed’ error message. But when you encounter an error or an exception in your application, the error log displays the error ID in a decimal format. The same exception is displayed with an error code ‘-2147220202’. Searching for this error code on MSDN or CRM SDK may not fetch you the desired results.

What do you do next?

Open the Windows Calculator. Set the view to ‘Programmer’ (ALT + 3). Copy the decimal number and then select the ‘Hex’ option to convert it to a Hexadecimal number. The result displayed would be something like ‘FFFFFFFF80040516’. Strip the ‘FFFFFFFF’ and search SDK for the error code ‘80040516’. This will give you the required information on the error code.


Cracking the UAT puzzle

The purpose of User Acceptance Testing (UAT) is to conduct user testing and also to obtain user acceptance sign-off for the Microsoft Dynamics CRM solution.


This involves testing of the end-to-end system to ensure that the system meets the customer business requirements.  These tests are performed on the UAT environment using actual transactions that would provide a good sample of their business.  The test results are then analyzed and compared to the original requirements and design.

Although the analysis may determine that the tests were successful, the customer may still request changes to the feature, data migration, or integration process. These changes are then taken up through the Change Control process. Once the changes are approved and implemented, the changes made to the system will be subject to individual unit and function testing, and will have to undergo UAT again.

Below are some of the considerations for a successful UAT:

Define the Test Objectives– The key here is to define test objectives for UAT testing. This is because a complete test execution for large application may not be possible in UAT phase. Testing should be carried out by prioritizing critical business objectives first. Think of what are the most important use cases or business processes that you would like to execute as part of UAT. One of the ways of identifying this is to understand how many different modules of CRM a specific process touches upon.

Create a Sandbox EnvironmentIdentify the key set of users who have defined the requirements and those who would potentially play a role during UAT. These are the power users. Deploy the configurations and customizations to the Sandbox environment and get these set of users to familiarize the work-in-progress solution. The benefits of a Sandbox environment are multi-fold – (1) the users get a feel of the application that is being rolled out for them. (2)Collecting valuable feedback which can be incorporated into the product either as part of the current release or the future releases. (3) No surprises to the customer and the system implementer during the UAT (4) both parties have a head-start through these informal trainings.

Drive Product Familiarization WorkshopsInvite the power users for a product familiarization workshop. The product familiarization workshops can happen at various milestones of the project – for e.g. – midway of design phase, end of design phase, midway of development phase, end of development phase. The aim of the product familiarization workshops is to introduce the new set of configurations and customizations made to the CRM system. This is another way of acclimatizing the users to the work-in-progress solution.

Setup the UAT Environment and Real-world test dataProvide a heads-up to the customer IT team on the UAT Plan and execution dates will in advance. This information would help the customer IT team to organize the servers required to model the production environment setup, along with the real-world test data. Prepare a Pre-UAT checklist which defines the tasks that the customer IT team and your development team are responsible for. Track the check-list to completion.

Pre-UAT TrainingBy now, you will have the list of all the users who will participate in UAT. You already have a head-start as a subset of the UAT users (power users) knows how to operate the system. These power users can be your advocate during the Pre-UAT training and the UAT phase.

a.    Set the UAT AgendaIt is very important to set the UAT Agenda and UAT users accept the agenda. The time allotted will vary depending on the functionality being tested. Ensure that the test schedule allows for the resolution of issues and discussion.

b.    Highlight the Acceptance CriteriaHighlight the criteria to determine system acceptability. Your reference should always be the use cases, functional requirements and functional design gathered as part of the earlier stages of the project.

Collect User FeedbackHandhold the UAT users. Even though the product familiarization workshops and pre-UAT trainings have been imparted, some of the UAT users might lose their way. It is the responsibility of the Functional Consultant to bring them back on track. During UAT, collect feedback from the end-users – the feedback could be related to the processes or the usability or the design. The feedback could be the first step in building a scope for the next phase of the CRM implementation.

Microsoft Dynamics Student Training Material

Microsoft has made available the student training material for Microsoft Partners through PartnerSource.

PartnerSource contains plethora of training material for the following products

  • Microsoft Dynamics AX
  • Microsoft Dynamics CRM
  • Microsoft Dynamics GP
  • Microsoft Dynamics NAV
  • Microsoft Dynamics SL
  • Management Reporter for Microsoft Dynamics
  • Microsoft Dynamics Point of Sale
  • Microsoft Forecaster
  • Microsoft FRx
  • Microsoft Retail Management System
  • Microsoft Dynamics Sure Step

The following training materials are available for Microsoft Dynamics CRM 2013

  • Sales Management in Microsoft Dynamics CRM 2013
  • Customer Service in Microsoft Dynamics CRM 2013
  • Customization and Configuration in Microsoft Dynamics CRM 2013
  • Installation and Deployment in Microsoft Dynamics CRM 2013

The link to the student training material can be found here

Happy learning!

CRM 2013 – Video – Microsoft Dynamics CRM 2013 SDK New Features – Client API

Microsoft Dynamics CRM 2013 SDK New Features – Client API

Hosk's Dynamic CRM Blog

This videos goes through the new functionality in the Client API (JavaScript)

I will warn you, the woman speaking has probably the most monotone voice I have ever heard, which is a shame because the information is very useful but it sometimes become very difficult to hear it because I was tuning out.

She explains new functions at around 10 minutes with some examples

if you want to see what code has changed then this post lays it out really well

it has thing like this


    • Returns a string value of the primary attribute for the entity


  • Xrm.Page.ui.setFormNotification()
    • Takes in a string value to set a form notification with the passed in string
    • Pass in “ERROR”, “INFORMATION” or “WARNING” to dictate the type of notification


View original post

Training & Adoption Kit for Microsoft Dynamics CRM 2013

Microsoft has released a Training & Adoption Kit for Microsoft Dynamics CRM 2013. The kit applies to Microsoft Dynamics CRM Online and Microsoft Dynamics CRM 2013.

I have seen teams creating training materials from scratch. Often, the training materials relate to the out of the box solutions and tasks. With the help of the training & adoption kit, teams can create their own training materials on CRM 2013. This certainly saves lot of effort in CRM implementations. Perhaps a two week effort to draft a user manual might take you just a week!

My favourite – Microsoft Dynamics CRM User Guide

The kit can be downloaded from the below link on the Microsoft website

Happy reading!

My Top 5 items for a successful CRM Implementation

Over the last 11 years, I have deployed over 20 large Dynamics CRM implementations around the world. There has been a learning curve in every CRM implementation – it could be in the area of technology, business or strategy.

A successful CRM engagement can provide the organization with the potential for
• increased revenue growth,
• increased market segment share,
• increased margins through lower attraction and retention costs,
• greater customer loyalty and satisfaction, and
• improved business productivity through more streamlined and efficient workflows

Without the executive directive and alignment, constant communication and process coordination among complimentary initiatives and functions throughout the enterprise, organizations are more likely to end up with a failed CRM implementation.

Here’s my top 5 items that I would include in my technology roadmap to organizations which would minimize the risk of a failed CRM implementation.

(1) Create a Blueprint – Develop a “CRM Blueprint” that supports the long-term business objectives and ties in existing, related quick hits. This roadmap is the compass that steers your CRM initiatives as you incrementally build the vision over time.

(2) Keep-it-Small-and-Simple – Define and prioritize initiatives and carve out meaningful “Phases” to deliver the highest value in the shortest amount of time. This builds ongoing support and momentum in the organization.

(3) Create Quick Wins – Develop and execute the Roadmap with milestones, grouped into phases of approximately 3 months. This approach allows you to incrementally build toward the vision, while providing interim benefits to the business along the way.

(4) Monitor and Measure Success – Develop a value scorecard to monitor and measure the return on investment for every phase.

(5) Plan for End-User Adoption – Training should not be underestimated. A Structured training will not suffice on its own. Use expert, 1: N, 1:1 “bite size” training chunks. A strategy has to be put a strategy in place for incremental launch and content conversion. A plan to measure adoption, for both executive sponsorship and feedback, has to be in place.

The above items is a large foot forward to help organizations and its people realize their potential, about being more than they currently are.