Mule Salesforce查询

时间:2015-06-03 14:46:44

标签: salesforce mule datamapper

我正在尝试从数据库中的数据填充Salesforce中的joiner表。 joiner表有两个查找(当然是两个不同的对象)。

My Flow从查询数据库开始。查询提取有两个字段NT_ACCOUNT& CXM_ID - 这两个在Salesforce中作为单独的对象存在,因此我必须对salesforce执行查找以获取其相应的salesforce Id以在我的joiner表中创建记录。我不确定这样做的理想方式

下面是我的流程,它采用NT_ACCOUNT并对SF进行查询以在SFDC中获取其ID并创建joiner记录。现在我的问题是什么是在我的joiner中填充另一个循环的理想方式(在SFDC中查找数据库中的CXM_ID)。在SFDC中查询CXM_ID以查找其相应的SFDC ID是一个很好的选择,并将两个有效负载组合在一起并在创建时传递(如果有的话,任何关于如何做的指针都会有帮助)。

<batch:job name="Batch2">
        <batch:threading-profile poolExhaustedAction="WAIT"/>
        <batch:input>
            <poll doc:name="Poll">
                <fixed-frequency-scheduler frequency="1000"/>
                <db:select config-ref="Generic_Database_Configuration" doc:name="Database">
                    <db:parameterized-query><![CDATA[SELECT NT_ACCOUNT,CXM_ID from Table where lastmodifieddate = 'within last 24 hours';]]></db:parameterized-query>
                </db:select>
            </poll>


        </batch:input>
        <batch:process-records>
            <batch:step name="Batch_Step_1">

                    <sfdc:query-single config-ref="Salesforce__Basic_authentication1" query="dsql:#[&quot;SELECT id FROM FM_Account__c WHERE account_number__c = '&quot;+payload.NT_ACCOUNT+&quot;' LIMIT 1&quot;]" doc:name="Salesforce"/>

            <batch:commit size="200" doc:name="Batch Commit">

                    <data-mapper:transform config-ref="Map_To_Map_1" doc:name="Map To Map"/>


                    <sfdc:create config-ref="Salesforce__Basic_authentication1" type="Joiner_Table__c" doc:name="Salesforce">
                        <sfdc:objects ref="#[payload]"/>

                    </sfdc:create>
                    <logger message="#[message.payload]" level="INFO" doc:name="Logger"/>

            </batch:commit>  

            </batch:step>
        </batch:process-records>

    </batch:job>

0 个答案:

没有答案