Mapping to Salesforce

Hello,

I am trying to load data into salesforce using the adapter.
Each target salesforce table has
Id
Name
Created Date
CreatedByID
LastModifiedDate
SystemModstamp
LastActivityDate
Acount_c
Company_phone_c
Phone_type_c
Phone_for_matching
Ex-tension_c

Data in Salesforce reads like
ID Name CreatedDate CreatedByID Lastmodifieddate
A0t1vd CUP-0003243 2008.12.08 0051IBL 2008.12.8
lastmodifiedbyid systemmodstamp
005
**IBL 2012.12.08

I have been told that Id, Name Created Date, CreatedByID, systemModstamp, LastActivityDate columns are salesforce generated keys.
In Data services how do I do the mapping for ID,Name,CreatedbyID,LastmodifiedbyID?

Thanks in Advance


pavithra.R (BOB member since 2012-08-22)

what is the version of DS that you are using ?

if you are on DS 4.0 SP2 and higher, then you can map only the columns that you want to create/update in the salesforce table and in the loader option set the include column names flag to yes, since ID is PK DS would expect it to be mapped, you can use a constant like ‘abcd’ the actual ID will be created by SFDC

for earlier version set the value to NULL for the coulmns created/updated by SFDC and dumppy value like ‘abcd’ for the ID and Key columns


manoj_d (BOB member since 2009-01-02)

Hi Manoj,

We are using DS 12.2.3.4
Jobserver 12.2.3.1
JobEngine 12.2.3.1

The target SDFC has 15 columns, i need to feed data into 7 columns.
I followed your advice and put ‘abcd’ for ID and null for the rest of the columns SDFC needs to update. I get the following error.

28347 26964656 RUN-058104 8/29/2012 3:12:27 PM Error loading <Company_System_Phone_c>: .


pavithra.R (BOB member since 2012-08-22)

if you are on DS 12.2.3.4 why is the job server and engine version 12.2.3.1 ? try to use same version for Client and Server

if you use 12.2.3.4 for job Server and Engine, there will be no need for you to map all the columns that are created by SFDC

now coming to the error that you are getting, you can pass a dummy value for the ID column in case that ID is for that object and will be generated by SFDC

you can’t pass a dummy id in case the value is coming from another table, like foreign key, you will have to first get the Id value from that table and use that in the mapping when inserting into this table


manoj_d (BOB member since 2009-01-02)

Hi Manoj,

I was able to feed the table by getting in the parent table that holds the relation as source and map the related field in the target.
But now we have a new concern.
We are getting all the data from the OTLP source–>ODS–> salesforce.
We have about 21 tables of which two are parents and other are child.
Each parent table has more than 20 million rows.
we will need to update/insert data into all salesforce tables every 30 mints. What is the best process to update the tables through adapter to Salesforce. We were planning on using map_operation to update/insert data but we are concerned about the duplicate keys.


pavithra.R (BOB member since 2012-08-22)