Skip to main content
Announcements
A fresh, new look for the Data Integration & Quality forums and navigation! Read more about what's changed.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Difference between Sales Force OutPut Components

Hi,

 

I am trying to learn SalesForce Integration. Can anyone please tell me difference between:-

 

  1. tSalesForceOutPut
  2. tSalesForceOutPutBulkExec

 

Regards

Tarunjit Singh

Labels (3)
1 Solution

Accepted Solutions
manodwhb
Champion II

if the any one batch has issue then all the records wil be failed in BULK mode.

View solution in original post

23 Replies
manodwhb
Champion II

The Generic out put component will do inert/upsert/update/delete operation on specific SF table,even with Bulk one also similar but the Bulk one first it will cretae a Bulk file and then it will try to the operations based on the Bulk file.

 

https://help.talend.com/reader/iYcvdknuprDzYycT3WRU8w/DdNFQ29mYUxqVhLa8fOMQw

 

 

Anonymous
Not applicable
Author

Hi,

 

But why would we want bulk file to be first created on server and then upload that bulk file content to SalesForce. Is there some specific advantage of creating this bulk file?

 

Regards

Tarunjit Singh

TRF
Champion II

The main difference is that they do not use the Salesforce API - always consider the Bulk API as soon as you have a huge data volume or want to deal easilly with rejected records.

 

manodwhb
Champion II

in the normal out it will process record by record,where from Bulk file it will do Bulk operation,Bulk one would be faster.

TRF
Champion II

tSalesforceOutput doesn't strickly work row by row, it has a "Commit Level" which fixe the transaction size.

As soon as 1 row is rejected due to a internal Salesforce reason, the whole transaction is lost.

With Bulk API, if a record is rejected the others are nore affected.

manodwhb
Champion II

based on the commit level it will insrt row by row. correct that where in batch ,if any bad records is there means entire batch willl reject.

Anonymous
Not applicable
Author

Hi,

 

Did you mean if 5 records have to be inserted using tSalesForceOutPutBulkExec and out of these 5 records 1 record get some error then 4 records will gets inserted and 1 record will be rejected.

 

However if 5 records have to be inserted using tSalesForceOutPut and out of these 5 records 1 record get then all of the 5 records will get rejected.

 

Regards

Tarunjit Singh

manodwhb
Champion II

in Bulk all the records rejected if 1 record having error means,

in output,it will insert 4 records and 1 record will be rejected where in same scenario.

Anonymous
Not applicable
Author

Hi,

 

I just tried it what you said however it is behaving in opposite manner.

 

When I tried to add 5 records in Sales Force using tSalesForceOutPut and 1 record have some error then no record gets added infact we got run time error as mentioned below. Also job didn't even completed its full flow that is flow doesn't enter in to Reject or Main flow.

Error Message

Exception in component tSalesforceOutput_1 (testSalesForceBulkJob)

java.io.IOException: Required fields are missing: [Name]

 

However when I tried to add 5 records in Sales Force using tSalesForceOutPutBulkExec and 1 record have some error then 4 records got added and 1 record not got added. More over there is no error when the job is run as is mentioned in tSalesForceOutPut  scenario. In this scenario job completed its flow completely that is flow enter successfully in to Reject or Main flow.