CRM DMF 3.0 and error code 0x80040225

We want to migrate some data from a non-CRM system into CRM 3.0 using
DMF 3.0.  The CDF database has been initialized, so that the current
users in the target CRM system are in the cdf_systemusers table.
We've written a program that reads the inhouse system's data and maps
it into CRM/CDF records, relating records to the correct CDF system
user ids (by matching the domainnames to get the systemuser ids).

The net result is that we want DMF to migrate the following CDF tables
(including their ext and info tables):

When we run the DMF migration wizzard (after populating the CDF
database), only the Uom, Uomschedule, and pricelevel records get
migrated.    The remainder of the records fail to migrate and have the
error code 0x80040225 reported against them.  No other explanation is

8/2/2007 - 2:02:27 PM -- Processing entity: PriceLevel
8/2/2007 - 2:02:27 PM -- Starting migration phase
8/2/2007 - 2:02:27 PM -- Test Batch Count = 0
8/2/2007 - 2:02:27 PM -- Creating object
8/2/2007 - 2:02:29 PM -- Object created successfully. CDF Id = 38,
Microsoft CRM Id = {2A7F58AD-3B41-DC11-9EE5-0019B9C9FB79}
8/2/2007 - 2:02:29 PM -- Recording migration status
8/2/2007 - 2:02:29 PM -- Migration phase completed
8/2/2007 - 2:02:29 PM -- Processing entity: Account
8/2/2007 - 2:02:29 PM -- Starting migration phase
8/2/2007 - 2:02:29 PM -- Test Batch Count = 0
8/2/2007 - 2:02:29 PM -- Migration phase completed
8/2/2007 - 2:02:29 PM -- Processing entity: Contact
8/2/2007 - 2:02:29 PM -- Starting migration phase
8/2/2007 - 2:02:29 PM -- Test Batch Count = 0
8/2/2007 - 2:02:29 PM -- Creating object
8/2/2007 - 2:02:29 PM --  Failed to migrate object: Exception from
HRESULT: 0x80040225.

What does this code mean?  And what is the best way to diagnose the


anedza (69)
8/2/2007 6:36:18 PM
crm 35858 articles. 1 followers. Follow

5 Replies

Similar Articles

[PageSpeed] 21

It looks like DMF uses the same calls to the CRM Server (located in C:
\Program Files\Microsoft CRM\Server\bin) as the crmservice webservice
does to write data into the target CRM system.

Although the DMF documentation states that DMF uses SQL Server stored
proceedures to do it's migration, a review of these proceedures shows
that they are designed to only read data from the CDF database, update
GUIDs in the CDF_xxx_info files, and clear the CDF database tables.

If this is true, then DMF migrated data should be constrained by the
same set of rules and restrictions as those imposed on creating CRM
records through the crmservice webservice.

For example, you can't create account or contact records through the
crmservice while assigning ownership of these records to a disabled
user.  Similarly, if you try to migrate account or contact records
using DMF whose ownershipid's map to a cdf_systemuser that is disabled
in the target CRM system, these records will fail to migrate because
the CRM Server will refuse to write them if the owning users are
inactive (unlicensed).

Missing mandatory attributes for entities will also cause the CRM
Server to reject record writes.  For example, if you don't specify UOM
and UOM Schedule for a product record, it won't write through the
crmservice webservice.  In the same way, if you fail to populate these
fields in the cdf_product table with values that correctly map to the
cdf_uom and cdf_uomschedule tables, then the cdf_product record will
fail to migrate.

The error code 0x80040225 is NOT a DMF error code, but instead is the
CRM Server's way of saying "Invalid Request Made".  The DMF just
echoes this code from the CRM server to its own log.  The XML that is
returned seems to be the data record that was submitted to the CRM
Server, which it echoed back.  The easiest way I found to debug this
error is to submit the data in the returned XML through a
crmservice.create.  Whatever detailed error information you get back
from the thrown exception is likely the same problem the DMF is
experiencing in migrating the record.


8/3/2007 2:11:17 PM
Here's what I found so far...

It looks like DMF 3.0 uses the same calls to the CRM Server as the
crmservice webservice does for writing records into CRM.  Although the
DMF documentation says it uses stored procedures for its migration, a
review of these showed that they only read CDF entity tables, update
the GUIDs in the CDF info tables, and generally clear CDF tables.

If this is true, then the same restrictions imposed on creating
records through the crmservice should also constrain the migration of
CDF records into CRM via DMF.

For example, you can't create account records that have their
ownership assigned to disabled CRM users using the crmservice
webservice.  Similarily,  cdf_account records whose ownershipids map
to cdf_systemusers that have their CRM accounts disabled in the target
CRM will fail to migrate, because the CRM Server will refuse to create
records for unlicensed users.

Missing required attributes should also cause records not to migrate.
Just as the product record has to have UOM, UOM Schedule, and
PriceLevel fields set to be created via the crmservice, the same
corresponding fields in the CDF product record have to have values
that map to the CDF ids of the same equivalent CDF UOM, UOMSchedule,
and pricelevel records.

I believe the 0x80040225 error code originates from the CRM Server and
is only echoed by DMF in its log.  I believe this is a general code
the CRM Server throws to indicate an "invalid request".  The XML in
the DMF log represents the transaction record the CRM Server had that
it was supposed to act upon.

Recreating the same record write using crmservice.create may shed some
more clues on what is wrong by examining the detailed error message
from the thrown exception.  So I decided to see if I could post the
xml reported in the log into the online screen for the
crmservice.create command, but it turns out the parameters this
command accepts are too complicated to display in a submission form.

Anyone else have any other ideas?

8/3/2007 5:25:37 PM
We've made some good progress in migrating records into CRM 3.0 using
DMF 3.0, and have been able to migrate accounts, opportunities,
quotes, customers, uom, quote detail, products, and custom attribute
data using the DMF mapping and migration wizards.

The key was not to migrate everything all at once, and to break up the
migration into accumulative stages.

Something we've discovered was that we had to keep the history of past
migrations in the cdf tables for future DMF migrations.  This is
because the cdf _info tables provide the mappings for CRM entity GUIDs
that records from your source system acquired from past migrations.

The DMF migration wizard checks these info tables to see whether it
has to link up records in the current migration to records that
already exist in CRM, or whether it needs to create new GUIDs for such
linkages (this happens when the DMF migration wizard has to convert
the integer value for CDF ids to GUIDs used by CRM ids).  Once a
record has been mapped, however, it won't be migrated again by the CDF

The program you have to write to extract your source data and to
format it into the CDF tables has to use some recursion to lookup
existing values in the cdf info tables when it assigns cdf ids to see
if it needs to reuse any of them (otherwise it should increment to and
assign the next unused integer value for an id).  It should also use
recursion on entities that have parent and children relationships in
order to build the interconnected entities to support the records you
want to migrate.

Once you have populated your cdf tables, its a good idea to write and
run a routine that goes through all of the cdf tables that have an
owning user and to check whether the destination ID is null in the
corresponding info table.  Then, for all such records, trace the
owning user id to a domainname in the cdf_systemuser table and report
a list of these domain names.  This will help you to determine what
crm users you have to activate before starting the migration.

8/13/2007 7:46:46 PM
After checking our migration, we discovered that some entities had
their picklist selections changed by the DMF migration wizard.
Further investigation showed that what was going wrong was we were
specifiying the CRM picklist value in a picklist field, instead of the
cdf_stringmap and cdf_stringmapcrm stringmapid integer value that
corresponds to the particular picklist value we wanted.

When you run the DMF initialization wizard on the target CRM system,
it populates the cdf_stringmap table with all your custom picklists
and their ranges of values, and the cdf_stringmapcrm table with all of
CRM's picklists and their ranges of values.  Your source system data
extraction program has to lookup the CRM picklist value you want using
the ObjectTypeCode and AttributeValueInt fields (or thier equivalent
AttributeName and AttributeValueStr) in the corresponding
cdf_stringmap table to find the stringMapId you have to use to
populate your picklist field in your cdf_entity table.

8/15/2007 4:12:53 PM
Well, the story for picklist migration isn't like I just told it.  We
found some more bugs, so here's an update on how we fixed our picklist

It seems that you have to populate the normal CRM picklist values in
the cdf entity and custom tables for ALL picklist fields, except for
statuscode and statecode.   For other than these two picklists, you
don't have to remap picklist field values to the cdf_stringmapcrm
table's StringMapID as described in the previous posting (instead, use
the same values you would use when populating picklist fields using
the crmservice).

Populate cdf entity table statecode and statuscode field entities ONLY
by using the string description for a selection rather than its index
value.  This is easy to do for the statuscode as it exposes a name and
value; the statecode only exposes a value.  You can obtain the
statecode string description from the cdf_stringmapcrm table using a
proceedure similar to what was described in the previous posting.  The
only difference is that you should use the AttributeValueStr instead
of the stringMapId as a return value.

After you export your cdf data to the target CRM system, you should
run the DMF mapping wizard.  When I did this, I got an error thrown
the the DMF proceedure p_cdf_AutoMapPickLists because it was trying to
compare the string values of statecode and statuscode against the
cdf_stringmapcrm table using an "=" operation instead of like.  When I
clicked okay, the DMF mapping wizard was still running, but it let me
manually select the mappings of the picklists.  This time, it showed
ALL the picklists, including the status and state code mappings for
opportunity which didn't appear in the wizard before.

8/16/2007 10:23:31 PM

Similar Artilces:

Upgragding to 1.2 to 1.3
Receiving the media on Monday. Any issues that I should be aware of? Pralell dongle. Best, M Manny, Why not wait til 1.3R due within the next couple of weeks? Otherwise, backup your database and any customized reports and/or receipts. If you get a license violation after the install, just unplug and re-plug in your dongle. -- * Get Secure! - You must be using Outlook Express or some other type of newsgroup reader to see and download the file attachment. If you are not using a reader, follow the link below to setup Outlook Express. Click on "Open wi...

email format #3
I have an emailing program that uses a Rich_text_box as a body. Now with rich_text_box you can have bold, multi color underlined.etc TEXT. Since using HTML body is a bad (not recommended, even thought it would keep all the formatting) thing then what else can I use to have the same type of format as an rich_text or html so when the recipient receives, it looks presentable with all it indenting, bold,.etc???? HELP!!! Only Outlook recipients can see rich-text content. HTML is a better approach if you want to reach the most people. -- Sue Mosher, Outlook MVP Author of Microsoft O...

Office 2004 update 11.3.9 weirdness
Installed Office 2004 update 11.3.9 when microsoft auto update pushed it down this morning. Any idea why it changed the name of my hard drive to "v bc"? Any idea what to do about that? mac book pro, OSX 10.4.10 In article <>, wrote: > Installed Office 2004 update 11.3.9 when microsoft auto update pushed > it down this morning. Any idea why it changed the name of my hard > drive to "v bc"? Any idea what to do about that? > > mac book pro, OSX 10.4.10 The Office updat...

ALL of my email is gone- getting error message as well
I am getting this message: The message store has been corrupted by an application external to Windows Mail. Windows Mail has been able to successfully recover from this corruption. (0x0000000) In addition ALL of my emails are gone. Any suggestions on how I can recover them? And what I should do about the message. Try running the various repair functions in the WMUtil program: If still no improvement, upgrade to Windows Live Mail: It will automatically import all your WM data. Gary VanderMolen, Microsoft MVP (Mai...

How do I track emails ONLY using tokens in CRM 4.0?
The pattern matching or "intelligent" matching of email content is misapplying inbound emails to non-related cases. I want to turn this feature OFF ASAP and return to ONLY tracking through tokens in the subject line. I can turn OFF tokens but not the smart matching. A configuration option would have been nice. I think you turn on the tokens, and then your users have to use the option to only track "E-mail messages in response to CRM e-mail" - that's how you prevent CRM from using 'smart' matching. Dave Ireland "Forrest_Adam" <ForrestAd...

CRM Field Names
Is there a list on field names that CRM creates in the database in order to use them for setting up workflow? ...

CRM 3.0 and CRM 4.0
Dear All, We were implementing MSCRM for a very protential CRM customer (Education). Even they haven't signed the contract but we already started developing on the CRM 3.0, 3 weeks ago. A lot of customisation + .NET developing required on the version 3 but now we knew that we're reinventing the wheels as some of them will be already built in the V4 which one will be realease very soon (Q1-2008?) If we place order to MS now, we will receive the V4 earlier than Q1-2008, but it is V4, not V3 So now we decided moving the developing on V4 directly because no guarantee what we wer...

Organizational Settings in CRM 3.0
Is it possible to hide viewing of Organizational Settings from non System Administrator users? ...

error when reinstalling XP Pro
thHi, I have a Dell Latitude D620. That was having some issues with ethernet and wireless connections. Nothing really found as fas as malware or viruses, without updates of course. I tried to do a windows repair from the XP CD and right when it shows starting windows to choose repair or install windows I get a blue screen with the error... PCI.SYS-address F76130BF base at F76000000 Date stamp 3B7D855C. I tried a few times and even set the BIOS to minimal. Then I pulled the hard drive out and connected to another laptop using a usb cradle, formated the drive and put it back in th...

CRM and MapPoint
I have a client that has MapPoint 2004. They would like to have the ability to map all of their current clients in certain areas, also with the ability to make indication of future growth in these same areas. Currently, they can only map one facility at a time. They would like to be able to map all of their existing and future facilities for a spcific service area on one map. Does anyone know of a solution for accomplishing this? Thanks, -Rick Not a mappoint expert by any means but I think there are 2 choices: 1. Export data from CRM (can probably just use the excel export option)...

Cannot access CRM homepage on another machine
Hi, I have installed CRM 1.2 on a Windows Server 2003 SP1 machine. I can work with CRM on this machine using http://localhost. But when I try to access the homepage on another computer by typing http://CRMserver or http://IP address of CRM server I cannot access it. Can anyone please tell what do I have to configure to access the homepage on another machine? Thanks and Regards, Harshad ...

Reset CRM
Hi, How can I reset CRM database? I create contacts, acounts, invoices, etc., and i want delete all. Tnhank's, RS You cannot reset the database. You could restore the database if you took a backup before you started adding data. You can also go into the system and start deleting records. Can I ask why you need to do this? Have you been experimenting with CRM and now want to go to a live server? -- John O'Donnell Microsoft CRM MVP "Ricardo" <> wrote in mes...

outlook express ME 5.0
Hi! My friend has a computer that we cannot delete any sent messages. Everything else seems to work. He has messages from 2007 that need to be deleted. Any help would be appreciate. Thanks, Leo ...

From Rows to Columun #3
I have data in rows, I want to past to columns so i can import intio access... HELP Example (Current data) 3 42 42 3 38 38 4 22 I want to move to 3 42 42 3 38 38 4 22 THANKS ...

Vista CRM 3.0 Desktop client
Can someone tell me where I can find the CRM 3.0 Desktop client which works with Vista & Office 2007? Thanks You can download it using the following link. Magui "circulent" <> wrote in message > Can someone tell me where I can find the CRM 3.0 Desktop client which > works > with Vista & Office 2007? > > Thanks ...

How works conflictresolution with the offline outlookclient and ms crm?
Hi Does somebody know how the conflictresolution works if one ore more offlineclients synchronise to the server. How does it work if diffrent offlineclientds did some changes on the same field? Does someone know a good description about this problem? Thank's Michel Consider a situation where a field has been changed. 1. Two offline clients making a change 2. One offline and the second online client making a change when the client goes online the data present in the client is synchronised and saved irrespective of the time when the last changes were made to the field. "Hope...

3-rd tools to Recovery edb files
Do you know any good tools to restore single mail or single mailbox from offline backup Exchange database files (edb or stm files). thanks -- My Regards, Omar El-Sherif "Luk" <> wrote in message news:eox4HmrPGHA.2828@TK2MSFTNGP12.phx.gbl... > Do you know any good tools to restore single mail or single mailbox from > offline backup Exchange database files (edb or stm files). > > thanks try - they've been around for a few years now and seem to have a...

CRM registration can not be done!
After CRM installation and valid internet connection via LAN, I could not succeed to register CRM 3.0. Is there anybody who had this problem before and solve it?? When you fill in the registration details, if you specify the implementation was done by a partner company, make sure you fill in data in all fields for the partner company, otherwise the registration process can fail -- David Jennaway - Microsoft Dynamics CRM MVP Web: "Pleiades" wrote: > After CRM installation and valid internet connection via LAN, I could > not succeed to registe...

Any way to round using number format codes?
I'd like to have numbers displayed as being rounded up to the next 5000. So, if a cell contains 92,345...I'd like it to display 95,000. Is there any way to do this with just number format codes (instead of with the worksheet fxns?) Thanks in advance. sert Not with format codes. You can display in thousands but not to the nearest 5000. On Mon, 18 Oct 2004 16:15:47 -0400, sert <> wrote: >I'd like to have numbers displayed as being rounded up to the >next 5000. > >So, if a cell contains 92,345...I'd like it to display 95,000. > >I...

Transaction Log Files #3
How do I calculate total Transaction Log file size on Exch2k3SP1 when I move mailboxes with, for example, total size of 100MB from one server to another (1 Storage Group, one Mailbox store)? -- Kind regards, Menko den Ouden NL On Wed, 5 Oct 2005 10:21:04 +0200, "Menko den Ouden" <> wrote: >How do I calculate total Transaction Log file size on Exch2k3SP1 when I move >mailboxes with, for example, total size of 100MB from one server to another >(1 Storage Group, one Mailbox store)? I always assume "alot". If you are worried...

File in Use Error
Hello, I have a excel spreadsheet with two worksheets, each of which connects to the same Access database via an ODBC connection to retrieve data. The worksheets have different data and are pulling from different tables in access. I was able to do this without any problem but since I am the owner and creator for both files I did not forsee any problems. Now I need another individual to do this task but when they open the excel file they get 'File in Use :|' error. The person has read, write, modify and excute rights to the database. Any help will be appreciated. Thank you. Sini ...

Migrating CRM to CRM
We had to delete the OU from the Active Directy, and now cannot get to our data. Reading through the posts it looks as though we have to use the DMF to convert our data because of the GUIDs that are hard-coded in the files. Unless someone knows of a utility that I can use to change the GUIDs in the Active Directory - but we tried a number of different things. So, is there an easy method to import CRM data into CRM? I tried using SQL DTS to the cdf_entities, but this is like pulling teeth, and don't know if I am going to be losing any data. Anyone have any insight into getti...

Tables in Publisher #3
I am trying to figure out how to get tables in Publisher to auto create a new table on a new page as the table information reaches the end of a page. Auto build the tables. It is possible to do this in Word but I can not seem to find out how to get it to work in Publisher. -- Jeremie B You can't. Publisher recognizes a page, Word doesn't so it just goes on and on. Tables are one of the few areas that Word has the edge over Publisher (but I'm biased). -- JoAnn Paules MVP Microsoft [Publisher] ~~~~~ How to ask a question "Jer...

PDF's not traking in crm
when tracking a pdf file in CRM we get an error saying that we can not track it. the files are small so it is not an issue with them being to big. we can track other types of attachments with no problem. in the event viewer we get an error with the event ID: 5983. i did a google on it and find a solution for the old 3.0 version(which was to update to a later 3.0 version). we are on 4.0 with the latest updates. thanks for your help Hi, There is a problem attaching an email which has an attachment with an '&' in the file name. Could this be your problem? Rob "Tyler Ba...

Crm grid error
I've created a custom entity called Billed hours and associated it to the case entity (which is the parent). It doesn't allow me to open the instance of the billed hours entity in the associated view and when i select it and try to delete it, it says: "You must select one or more records before you can perform this action". I'd appreciate any help :) ...