我正在尝试从数据库中的数据填充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:#["SELECT id FROM FM_Account__c WHERE account_number__c = '"+payload.NT_ACCOUNT+"' LIMIT 1"]" 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>