在salesforce中插入查找类型记录时遇到问题:mule esb

时间:2015-01-23 04:56:04

标签: salesforce mule mule-studio

我在salesforce中插入记录时遇到问题。 记录类型是查找(帐户),字段名称是site_id。我将csv文件记录插入salesforce。但由于此记录(数据类型(查找)),我无法在salesforce中插入记录。如果我将记录类型更改为文本而不是我可以插入。但我需要查找(帐户)类型。 怎么可能......请帮帮我

以下是我的流程

<batch:job name="testsalesforceBatch1">
        <batch:input>
            <file:inbound-endpoint path="CustomFile" responseTimeout="10000" doc:name="File"/>
            <data-mapper:transform config-ref="CSV_To_List_Report__c__1" doc:name="CSV To List&lt;Report__c&gt;"/>
        </batch:input>
        <batch:process-records>
            <batch:step name="Batch_Step">
                <batch:commit size="1000" doc:name="Batch Commit">
                    <sfdc:create-bulk config-ref="Salesforce" type="Report__c" doc:name="Salesforce">
                        <sfdc:objects ref="#[payload]"/>
                    </sfdc:create-bulk>
                </batch:commit>
            </batch:step>
        </batch:process-records>
        <batch:on-complete>
            <logger message="#[payload.totalRecords]" level="INFO" doc:name="Logger"/>
        </batch:on-complete>
    </batch:job>

我收到了以下错误...

 [SaveResult  errors='{[1][Error  fields='{XXXXXXX,}'
 message='XXXXXX: id value of incorrect type: 000'
 statusCode='MALFORMED_ID'
]

注意:账户表

中有000值

2 个答案:

答案 0 :(得分:0)

我得到了答案..如何通过mule在salesforce中插入查找数据类型记录。 使用recordId存储该值......

由于

答案 1 :(得分:0)

对于Salesforce Integrations,有两种方法可以插入/插入/创建具有查找值的字段。

方式1:使用查找目标的实际ID。因此,如果您要查找帐户,首先需要获取您要定位的帐户的ID,然后在字段中将该ID用作&#34;字符串&#34;在数据映射器中。

方式2:在帐户上使用外部ID,并在引用外部ID时竖立新记录。这有点复杂,但是不必进行两次API调用是非常好的方法。 然后,在Datamapper中,您需要将Account列为元素而不是属性。这必须手动完成,因为Datamapper不知道自己做这件事。

Account (Element)
|-type (String)  -> 'Account'  *this is just a fixed string*
|-ExternalIdFieldName__c (String) -> external_id_from_datasource

由于Account是一个标准的SalesForce对象,因此它后面没有__c或__r,如果它是一个自定义对象而你正在进行查找,它会稍微改变一下。

对象:

MyCustomAccount__c
External ID in above: AccountExternalId__c
Lookup field:  AccountLookup__c  (lookup to Account from Contact)

在Datamapper中你有:

AccountLookup__r  (Element)  *notice the __r instead of __c*
|- type (String) -> 'MyCustomAccount__c'  *this is just a fixed string*
|- AccountExternalId__c (String) -> externalidfieldfromcsv