You are not logged in.
Announcement
Unanswered posts
|
Pages: 1

I finally found the format for related record id upserts into salesforce but running into an issue.
I need to have a column name in the output schema like 'Account.ExternalKeyName' that gets saved to the CSV.
Salesforce will recognize (i hope) this and lookup the correct SFId from this if I put the correct external value in this field.
Can't create a column name in the schema with a . in it.
Any ideas on a work around?
Thanks all.
Mike
Last edited by elcalvomike (2012-04-19 23:26:31)
Offline

Thanks vgalopin.
Getting invalid batch exception.
I guess I could output to a CSV and then replace the column name in the file with a tJava string replacement.
.------+---------+-----------+----------------------------+--------------------.
| tLogRow_1 |
|=-----+---------+-----------+----------------------------+-------------------![]()
|custid|FirstName|LastName |Email |Account_XM_CustID__c|
|=-----+---------+-----------+----------------------------+-------------------![]()
|526136|Scott |Peters |john.seymour@ang.af.mil |526136 |
|94878 |Larry |Hendrickson|larry_hendrickson@crpusd.org|94878 |
|521872|chris |gardini |cgardini@avanttechnology.com|521872 |
'------+---------+-----------+----------------------------+--------------------'
Exception in component tSalesforceOutputBulkExec_1_tSBE
[AsyncApiException exceptionCode='InvalidBatch'
exceptionMessage='Records not processed'
]
at com.sforce.async.BulkConnection.parseAndThrowException(BulkConnection.java:108)
at com.sforce.async.BulkConnection.doHttpGet(BulkConnection.java:472)
at com.sforce.async.BulkConnection.getBatchResultStream(BulkConnection.java:369)
at org.talend.salesforceBulk.SalesforceBulkAPI.getBatchLog(SalesforceBulkAPI.java:327)
at beta_test_sf_load_account.contactsupsert_nolookuptest_0_1.ContactsUpsert_nolookuptest.tMSSqlInput_1Process(ContactsUpsert_nolookuptest.java:4208)
at beta_test_sf_load_account.contactsupsert_nolookuptest_0_1.ContactsUpsert_nolookuptest.tWarn_1Process(ContactsUpsert_nolookuptest.java:707)
at beta_test_sf_load_account.contactsupsert_nolookuptest_0_1.ContactsUpsert_nolookuptest.runJobInTOS(ContactsUpsert_nolookuptest.java:5223)
at beta_test_sf_load_account.contactsupsert_nolookuptest_0_1.ContactsUpsert_nolookuptest.main(ContactsUpsert_nolookuptest.java:4852)
Offline

That did it.
I manually changed the CSV to Account.MYKEY and the bulk worked.
Now just need to find a way to change it with some Java code.
It would be nice if we could set the schema correctly with a . in a tMap.
Mike
Offline
Good to know! Well you can make that as a feature request, but this is a java limitation, so I'm not sure we can do anything about it.
Offline

I did do that but you are right this is a bit of a java problem.
I guess I will try find and replace to augment the CSV files to include the . after the files are created.
Ill post any code success I have.
Offline
I have developed a fix for this issue in the tSalesforceOutputBulk component. Forgive my ignorance on this but can someone point me to a link with the proper procedures for contributing the updated component back to the community?
Offline
Pages: 1