我必须将大量数据存储到salesforce中的机会。在第一批步骤中使用批量提交。 Upsert Bulk的结果是Upsert Result的列表,其中包含成功,id,错误,字段。
迭代此结果,检查失败的记录(成功是错误的),现在我想将错误和原始有效负载发送到电子邮件。
示例:inputpayload:[rec1,rec2,rec3] UpsertResult [success:true,success:false errors:invalid field,success:true]
我想发送一封电子邮件,说rec2因错误无效字段而失败。
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
salesforce操作结果的顺序将保持与每个输入订单相同。 在批处理步骤之前,将输入存储在Hashmap中,其中Id为键,整个输入为值。 批处理步骤之后,迭代结果并在结果状态为false时收集ID。
现在,您可以通过传递Id轻松地从散列映射中检索失败的Id数据。 代码段
def inputPayloadForReprocess = [];
//为重建过程构建错误记录的逻辑
for(int i = 0; i< payload.size(); i ++){
if(payload.get(i).toString()。contains(" success =' false'")){//检查salesforce失败
{{1}}
}