As I was reviewing notes from the recently released CRM SDK 5.0.9, I noticed a section on Error Codes. "This looks interesting," I thought.
After you have installed the CRM SDK, navigate to the following folder:
sdk\samplecode\cs\helpercode
In that folder you will find, among other things, three files related to error codes, each in a different format. It appears that there are around 2,015 error codes. Wow, that’s a lot of documentation!
crmerrors.xlsx
Is a Microsoft Excel worksheet formatted like this:
errorcodes.cs
Is a C# class that has the error codes inside of a class that you can incorporate into your applications. The code starts off like this:
private static Hashtable ErrorMessages = new Hashtable();
static ErrorCodes()
{
ErrorMessages.Add(InvalidAuth,
"Organization Authentication does not match the current discovery service Role.");
ErrorMessages.Add(CannotUpdateOrgDBOrgSettingWhenOffline,
"Organization Settings stored in Organization Database cannot be set when offline.");
ErrorMessages.Add(InvalidOrgDBOrgSetting,
"Invalid Organization Setting passed in. Please check the datatype and pass in an appropriate value.");
ErrorMessages.Add(UnknownInvalidTransformationParameterGeneric,
"One or more input transformation parameter values are invalid: {0}.");
ErrorMessages.Add(InvalidTransformationParameterOutsideRangeGeneric,
"One or more input transformation parameter values are outside the permissible range: {0}.");
crmerrors.xml
The final version of the file is an XML which is formatted like this:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <crmerrors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <crmerror> <ErrorId> 80048516 </ErrorId> <ManagedErrorName> InvalidAuth </ManagedErrorName> <ErrorMessage> Organization Authentication does not match the current discovery service Role. </ErrorMessage> </crmerror> <crmerror> <ErrorId> 80048515 </ErrorId> <ManagedErrorName> CannotUpdateOrgDBOrgSettingWhenOffline </ManagedErrorName> <ErrorMessage> Organization Settings stored in Organization Database cannot be set when offline. </ErrorMessage> </crmerror>Regardless of how you use it, these files are a great resource for any CRM developer.