The Salesforce Upsert step updates existing records and inserts new records into your Salesforce database using the Salesforce Web Service.
You can also use the following other PDI steps to modify your Salesforce database:
- Salesforce Input: Reads records directly from your Salesforce database.
- Salesforce Insert: Inserts records directly into your Salesforce database.
- Salesforce Update: Updates records directly into your Salesforce database.
- Salesforce Delete: Deletes records directly from your Salesforce database.
Enter the following information in the transformation step name field:
- Step name: Specifies the unique name of the Salesforce Upsert transformation step on the canvas. You can customize the name or leave it as the default.
The General tab contains the following sections:
Enter the connection information in the following transformation step options:
|Salesforce Webservice URL||
Specify the URL to the Salesforce Webservice.
The URL specified is dependent on the API version used by PDI:
Specify the username for authenticating to Salesforce (email@example.com for example).
Specify the password for authenticating to Salesforce. Enter your password followed by your security token. For example, if your password is PASSWORD and your security token is TOKEN, you would enter PASSWORDTOKEN in this field.
Click to verify the connection can be made to the Salesforce Webservice URL you specified.
Enter the upsert process settings in the following transformation step options:
|Time out||Specify the timeout interval in milliseconds before the step times out.|
|Use compression||Select to compress (.gzip) data when connecting between PDI and Salesforce.|
|Rollback all changes on||
Revert changes unless all records are processed successfully. When you select this option, records without errors are inserted and updated, while records with errors are marked as failed in the upsert results. The default behavior is to allow partial success of upserted results.
|Batch Size||Indicate the maximum number of records to collect before the upsert is committed.|
Select the module (table) in which you want to update and insert records.
This list will be populated upon successfully authenticating to Salesforce using the Test Connection button.
|Upsert Comparison Field||
Specify the Salesforce ID of the field to use as a basis of comparison to determine if you are updating an existing record or inserting a new record.
Enter the output information in the following transformation step option:
- Salesforce ID fieldname: Specifies the field to contain the Salesforce ID of the first record in the set of records (batch) you updated and inserted.
You can specify what fields to update and insert in your Salesforce database through the Fields table. Click Get fields to populate the table with input from the PDI data stream.
The table contains the following columns:
The name of the field within the Module
|Stream field||The name of the field in the PDI data stream|
|Use External id?||
The flag indicating if the field links to an external ID. To resolve the ID, Salesforce needs the object type, column name, and relationship name in the following syntax:
Object name.column name/relationship
Optionally, click Edit mapping to specify custom mapping. For example, you can map a single PDI field to multiple Salesforce fields.