Devart Salesforce Destination is designed for loading data into Salesforce objects.
For data migration to the Salesforce database, Devart Salesforce Destination component uses Salesforce Bulk API that is designed for work with large sets of data.
A Salesforce object represents a database table, and a Salesforce record is an analogue of a database table row.
Salesforce objects are divided into standard ones, that comprise a set of database tables created for you by Salesforce, and custom ones you create yourself.
The Salesforce object you want to migrate data to can be selected in the Salesforce Object combo-box on the Component Properties tab of the Devart Salesforce Destination data flow object.
The action that should be performed with data during migration is defined by the Action parameter of Devart Salesforce Destination object, that provides the following options: Insert, Update, Delete, Upsert, HardDelete. As all of the actions have certain peculiarities:
Note: |
---|
Peculiarity of this action consists in the fact, that performing it requires using Salesforce ID of an object. Thus, when performing an update, you must know and specify the Salesforce ID of the object to update a record. |
Note: |
---|
As is the case with the Update action, the ID column from the local data source corresponding to the ID column in the Salesforce object, must be used. |
Note: |
---|
When executing an upsert, records are inserted if they do not exist in the Salesforce object; in case records do exist, then data update is performed. This action is based on the External ID field. In order to use the Upsert option, the External ID field must be added to the Salesforce object, and the local storage must contain the corresponding unique column (usually this is a primary key in the database table). When customizing the component, mapping of the unique column to the External ID in the Salesforce object is implemented. |
The amount of data that can be migrated at a time is limited by two Destination component parameters, they are BatchSize and BufferSize.
BatchSize defines the maximum number of rows to be sent as a batch to the server, its default value equals 5000.
BufferSize defines the maximum size of the local buffer, its default value equals 10485760.
Of these two limitations that one takes effect, the value of which is reached first.
Devart Salesforce Data Flow components support error outputs, which allow you to manage how the component treats row-level errors in both incoming and outgoing data.
The error output includes the column set taking part in the data flow and additional columns, they are ErrorCode that identifies the error, ErrorColumn that contains the lineage identifier of the error column and ErrorDescription that provides a detailed description of the error.
Devart Salesforce Data Flow components contain one more additional column, that is RecordID, which is a unique Salesforce identifier of the changed record.
The ErrorCode column can accept the following values:
ErrorCode | Description |
---|---|
-1 | Means that the record is valid. |
>0 | Means that the record causes an error. |