So I have this customer who is acquiring businesses at a rapid pace. Usually when this happens integration of systems or migration into the companies systems need to occur. This is where I get involved, as I have a life time of experience with system integration and data migration.
The project at hand was to migrate the data from SFDC into Infor CRM. I had not done a SFDC migration as of yet and was not sure of the effort or my plan of attack, however like all systems when there is a will there is a way. I knew there were tools out there to assist but I had to weigh the costs, time for training and any support for using a tool that ultimately is for a one time effort. So I did what I find most comforting, I rolled up my sleaves and dug in, learning how to extract the data out of Salesforce, doing a full review and creating a import solution for the primary data available. For this specific customer after review it seemed focus was around Accounts, Contacts, Opportunities, and Attachments (Documents).
After reviewing the data export from Salesforce I decided to build a custom service in Infor CRM to do the load. This way I could control the mapping, pre-processing, etc. as well as make sure that any and all business rules are executed ensuring consistent data after the process was completed.
I created the service and some base classes for a import file, so that for each of the entities that had to be imported I only had to focus on the differences in process and have the highest level of reusability. The only really interesting part was the pre-processing I had to do on the exported documents. You see the files are returned without a filetype prefix. This had to be discovered by looking at a .csv file and marrying up the data to the file. I decided to preprocess all the files outside of the Job Service data loader to ensure that the files were readable.
So after a weekend of building, testing and refining the process I was able to import all the data into Infor CRM, and navigate around and confirm all the entities, and their relationships were brought in successfully.
I have to say I do love to code still after all this time, and glad that I could provide great services to another customer. If you have an integration/migration need please do keep me in mind.