Hitachi Vantara Pentaho Community Forums
Results 1 to 5 of 5

Thread: External Id for Salesforce Insert/Upsert

  1. #1
    Join Date
    Dec 2016
    Posts
    2

    Default External Id for Salesforce Insert/Upsert

    Hello,

    I was working with kettle and Salesforce, but I have problems when I use an external ID on Pentaho data Integration 7.0, I don't know if Pentaho has any bug about that or I'm doing something wrong, when I make some load to Salesforce, kettel don't give me any issue, but when I check the data, the external id doesn't work.

    Anyone knows anything about this problem?

    Thanks you!

  2. #2
    Join Date
    Apr 2016
    Posts
    156

    Default

    Haven't had that sort of problem. Your description is a bit vague... can you be more specific?

    Have you confirmed that your connectivity is working correctly? Can you use, for example, Salesforce Input step to run some SOQL query and get result rows into Kettle?

    For Salesforce Insert: how have you configured it?

    In previous versions of PDI I've had issues with both SFDC timeout and PDI's expectation of results (lots of errors). A workaround I remember using is to chunk data into multiple batches 'manually' through PDI... different from setting the timeout/batch size in the PDI steps.

    Do you get error for all Salesforce Insert steps? Do you get same error, for example, if you try inserting just one record into a sandbox environment?
    My runtime environment: MacOS, JDK 1.8u121, PDI 7.0

  3. #3
    Join Date
    Dec 2016
    Posts
    2

    Default

    when I do the Salesforce Upsert I configure 2 things for external id, one is Module field ( adding this structure Object:column_name/reference_column_name) and on "use External id?" I mark with "Y".

    when I execute the job, everything it's ok, but when I check on Salesforce, the data is loaded but the external id didn't load, is like this column doesn't do it any action.

  4. #4
    Join Date
    Apr 2016
    Posts
    156

    Default

    Sorry, I'm still not following exactly, unfortunately. Maybe someone else with more background on Salesforce Upsert step can contribute.

    Parting thoughts:

    * in your SFDC object, is the field you want to load an External ID to set as type 'idLookup'? Ref: https://developer.salesforce.com/doc...lls_upsert.htm

    * this old thread has a solution to a different problem (order of PDI elements streaming in)... would this help your case? Ref: http://forums.pentaho.com/showthread...-Update-Upsert

    * maybe you can follow along with the JIRA case history (and its related tickets) listed in that thread... ref: http://jira.pentaho.com/browse/PDI-3813
    My runtime environment: MacOS, JDK 1.8u121, PDI 7.0

  5. #5
    Join Date
    Sep 2014
    Posts
    1

    Default

    I believe I am experiencing this same problem. Salesforce has a concept on an External Id field attribute. This is used as a foreign key to a different system. This is valuable when importing data because you can give Salesforce the External Id instead of the record Id when using an Upsert command and Salesforce will find and update or create if not found on the core record. That is working correctly.

    The problem with the move to 7.0 is that External Ids can also be used to dynamically find a related object based on that parent object's External Id field value. So instead of passing the Id of the parent I can pass the External Id of the parent and Salesforce will populate the lookup with the parent record holding the correct External Id.

    This second behavior works correctly in 6.1 but does not work in 7.0. Lookup type fields are not being populated when given the External Id syntax (SObject:ExternalField__c/RelationshipName__r) Lookup = Y

    The problem is in jira as PDI-15903. I think it would be good for anyone experiencing this problem to add details.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.