Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello community ,
I have a talend job that communicates salesforce objects and generates an .xml file as output.
The .xml file contains several nodes. One of the nodes requires the recovery of the file from all the associated objects on the job (2 objects are concerned).
I used Contentdocumentlink to pass the id of object x and to retrieve the document title.
For more info , the two objects x and y are associated 'inner join) . the object x is associated with contentdocumentlink (left outer join/ reload at aech row).
The problem is that object x contains 700 records of object y and the job will do 700 transactions.
Any help to optimize this job ?
Thank you
Hello @khouloud yaakoubi ,
As a test, could you please try to setup the Lookup Model to "Load once" for contentdocumentlink component with tXMLMap like
Best regards
Aiming
Hello ,
Thank you for your response , I change the lookup Model to load once but i have this error now :Exception in component tSalesforceInput_4 (XMLFile)
java.io.IOException: [UnexpectedErrorFault [ApiFault exceptionCode='UNKNOWN_EXCEPTION'
exceptionMessage='invalid parameter value'
extendedErrorDetails='{[0]}'
]
]
at org.talend.components.salesforce.runtime.SalesforceInputReader.start(SalesforceInputReader.java:118)
at org.talend.codegen.flowvariables.runtime.FlowVariablesReader.start(FlowVariablesReader.java:73)
at archivage.xmlfile_0_1.XMLFile.tSalesforceInput_4Process(XMLFile.java:9383)
at archivage.xmlfile_0_1.XMLFile.tSalesforceInput_1Process(XMLFile.java:4212)
at archivage.xmlfile_0_1.XMLFile.tSalesforceConnection_1Process(XMLFile.java:1114)
at archivage.xmlfile_0_1.XMLFile.tSetGlobalVar_1Process(XMLFile.java:877)
at archivage.xmlfile_0_1.XMLFile.tPrejob_1Process(XMLFile.java:743)
at archivage.xmlfile_0_1.XMLFile.runJobInTOS(XMLFile.java:9981)
at archivage.xmlfile_0_1.XMLFile.main(XMLFile.java:9735)
Caused by: [UnexpectedErrorFault [ApiFault exceptionCode='UNKNOWN_EXCEPTION'
exceptionMessage='invalid parameter value'
extendedErrorDetails='{[0]}'
]
]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:677)
at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:560)
at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:250)
at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:224)
at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:163)
at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:108)
at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1197)
at org.talend.components.salesforce.runtime.SalesforceInputReader.executeSalesforceQuery(SalesforceInputReader.java:163)
at org.talend.components.salesforce.runtime.SalesforceInputReader.start(SalesforceInputReader.java:105)
... 8 more
[statistics] disconnected
I try to get content document link from two object in the sceen shor below 'offer +PositionnementEMG" so i create to setglobal var to get id of offer and id of pos but not work .Usualy i get the contentdocumentlink of offer.
Any idea please?
Query of contentDocumentLink :"SELECT Id,ContentDocumentId, LinkedEntityId ,
ContentDocument.title ,
ContentDocument.LatestPublishedVersion.FileExtension,
ContentDocument.LatestPublishedVersion.Title
FROM ContentDocumentLink
where (LinkedEntityId='"+(String)globalMap.get("OffreId")+"' or LinkedEntityId='"+(String)globalMap.get("PosId")+"')
and ContentDocument.LatestPublishedVersion.FileExtension!='zip'
"
Thank you
Hello @khouloud yaakoubi,
To use the Lookup model 'Load once' in tXMLMap, please remove the globalMap variables in the query of contentDocumentLink like:
"SELECT Id,ContentDocumentId, LinkedEntityId ,
ContentDocument.title ,
ContentDocument.LatestPublishedVersion.FileExtension,
ContentDocument.LatestPublishedVersion.Title
FROM ContentDocumentLink
where ContentDocument.LatestPublishedVersion.FileExtension!='zip'
"
Hello , but the contentdocumentLink query required to put value of linkedentityId or contentdocumentId.In my case i'd like to extract the title of files for two objects(offer, posionnement_EMG__c).Thats why i put tsetglobalvar to get the id of offer(tsetglobalvar1) and the ids of posionnement(tsetglobalvar2).
Other tracks ?
Thank you