The big question is can it be done in a weekend!!!
I started tinkering and building on this massive monstrosity of a project about 10 months ago. I didn't think it would happen at times, either the company getting sick of waiting, me losing my mind or it just not being feasible. Well here we are ready to release the largest portion of the system, other parts have been running flawlessly for months and one piece is left to be finished. There are about 100,000 accounts and 80,000 contacts to sync in a weekend, friday night to sunday afternoon, leaving enough time to restore backups if there are problems. Fun huh?
I'm going to document the process as much as my insomnia will allow.
1. Servers and systems were backed up and verified.
2. Start a single Microsoft Dynamics AX AOS that normal users do not access to work from and ensure all other AOS's are turned off.
3. Turn off all batch jobs and remove batch servers.
4. To minimize the amount of API calls I am making to salesforce and to increase processing speed I pull a copy of the salesforce tables down to a local MS SQL server and do the mass of the hard processing there, for the initial sync at least.
5. Start the class that processes the Salesforce.com accounts into Dynamics AX, this is a lengthy process and has to be monitiored for random error that occurs when an address is incorrect or the zipcode / counties tables in Dynamics AX are missing a value.
I would receive the same error no matter how the address record is created but in this instance I am creating the address from a webservice I created, that allows some extended functions you do not get with the normal CustCustomerService webservice that comes with Dynamics AX. Since there was no way to update an address of an account in the standard CustCustomerService webservice I had to create a custom one.
6. Next I will start on the output of the files from Dynamics AX and syncing to Salesforce.com. This is the full 106,000 accounts and is a very slow process, so maybe I can get some sleep then.
...More updates to come as long as the process goes well. lol
I started tinkering and building on this massive monstrosity of a project about 10 months ago. I didn't think it would happen at times, either the company getting sick of waiting, me losing my mind or it just not being feasible. Well here we are ready to release the largest portion of the system, other parts have been running flawlessly for months and one piece is left to be finished. There are about 100,000 accounts and 80,000 contacts to sync in a weekend, friday night to sunday afternoon, leaving enough time to restore backups if there are problems. Fun huh?
I'm going to document the process as much as my insomnia will allow.
1. Servers and systems were backed up and verified.
2. Start a single Microsoft Dynamics AX AOS that normal users do not access to work from and ensure all other AOS's are turned off.
3. Turn off all batch jobs and remove batch servers.
4. To minimize the amount of API calls I am making to salesforce and to increase processing speed I pull a copy of the salesforce tables down to a local MS SQL server and do the mass of the hard processing there, for the initial sync at least.
5. Start the class that processes the Salesforce.com accounts into Dynamics AX, this is a lengthy process and has to be monitiored for random error that occurs when an address is incorrect or the zipcode / counties tables in Dynamics AX are missing a value.
I would receive the same error no matter how the address record is created but in this instance I am creating the address from a webservice I created, that allows some extended functions you do not get with the normal CustCustomerService webservice that comes with Dynamics AX. Since there was no way to update an address of an account in the standard CustCustomerService webservice I had to create a custom one.
AddressService.createListI don't really do anything at this stage for those records that error. I will catch them after as they will be missing an address record and that is a requirement of the sync process. The process is currently about 1/3rd complete, well the creation of the 38,000 Salesforce.com accounts into Dynamics, it does it direct from the sql db into custom Dynamics AX classes so it is somewhat fast, still takes 4 hours or so.
Line=1, Pos=315, Xpath=/AddressService/DirRel[1]/DirMap[1]/Address[1]
The value 'VENTURA' in field 'County' is not found in relating table 'Counties'.
Error found when validating record.
Creation has been canceled.
Document Address Service could not be created
6. Next I will start on the output of the files from Dynamics AX and syncing to Salesforce.com. This is the full 106,000 accounts and is a very slow process, so maybe I can get some sleep then.
...More updates to come as long as the process goes well. lol