我有一个案例,我必须在Salesforce中的对象中记录异常错误,我必须在那里获取有错误的有效负载(记录)。这里的错误将是记录级错误,我正在使用批处理。在屏幕截图中,我们是如何处理异常的。
以下是xml
<batch:step name="HandleFailedRecords_AccountSF-360" accept-policy="ONLY_FAILURES">
<set-payload value="#[getStepExceptions()]" doc:name="Set Payload"/>
<foreach doc:name="For Each" collection="#[payload.values()]">
<set-variable variableName="Record_level_error" value="#[payload]" doc:name="Record_level_error"/>
<dw:transform-message doc:name="Transform Message" metadata:id="9c2e408a-f530-4ffd-a205-a787c8bc94b2">
<dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
payload map
{
SF_Object_Type__c: "Account"
}]]></dw:set-payload>
</dw:transform-message>
<sfdc:create config-ref="Salesforce__Basic_Authentication" type="Exception__c" doc:name="Salesforce">
<sfdc:objects ref="#[payload]"/>
</sfdc:create>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
<!-- <flow-ref name="HandleRecordFailure" doc:name="HandleRecordFailure"/> -->
</foreach>
</batch:step>
</batch:process-records>
在这里,我能够得到我得到的异常,但我还需要的是它的错误值。
答案 0 :(得分:1)
在批处理中正确处理异常处理的麻烦方法是使用正确的异常处理对正常流程进行流程参考,在那里您将能够以标准的骡子方式处理异常并执行您需要的操作异常捕获流程。 希望这有帮助
此致