簡體   English   中英

ule子:在批處理中提交批處理后捕獲失敗的Salesforce Upsert記錄

[英]mule: Capturing failed Salesforce Upsert record after batch commit in batch processing

我必須向銷售人員的機會中添加大量數據。 在第一批步驟中使用了批量提交。 Upsert Bulk的結果是Upsert Result列表,其中包含成功,id,錯誤,字段。

遍歷此結果,以檢查失敗的記錄(成功為假),現在我想將錯誤和原始有效負載發送到電子郵件。

  1. 如何將失敗的upsert結果與原始有效負載相關聯?
  2. 批量提交后,輸出中是否保持輸入有效負載的順序?

示例:inputpayload:[rec1,rec2,rec3] UpsertResult [成功:true,成功:false錯誤:無效字段,成功:true]

我想發送一封電子郵件,說rec2因錯誤無效字段而失敗。

任何幫助將不勝感激。

Salesforce操作結果的順序將與輸入訂單相同。 在批處理步驟之前,將輸入存儲在哈希表中,以ID作為鍵,將整個輸入作為值。 批處理步驟之后,遍歷結果並在結果狀態為false時收集ID。

現在,您可以通過傳遞ID輕松地從哈希圖中檢索失敗的ID數據。 程式碼片段

def inputPayloadForReprocess = [];

//邏輯以建立用於重新處理for(int i = 0; i <payload.size(); i ++){
if(payload.get(i).toString()。contains(“ success ='false'”)){//檢查salesforce失敗

    inputPayloadForReprocess.add(message.getInvocationProperty("storePayload").get(i));
    break;
}

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM