1
실패한 배치에서 레코드를 가져 오는 방법이 있습니까? AsyncApexJob은 나에게 failures- 수 있지만 정말보다 더 아무것도 ... 내가 기본 기능을 사용하여 원하는 모든 세부 사항을 얻을 수있는 방법이 있다고 생각하지 않습니다실패한 일괄 처리 레코드를 얻는 방법?
실패한 배치에서 레코드를 가져 오는 방법이 있습니까? AsyncApexJob은 나에게 failures- 수 있지만 정말보다 더 아무것도 ... 내가 기본 기능을 사용하여 원하는 모든 세부 사항을 얻을 수있는 방법이 있다고 생각하지 않습니다실패한 일괄 처리 레코드를 얻는 방법?
을 제공합니다. 이 문제를 해결하기 위해 일괄 처리 내에서 발생하는 오류를 기록 할 수있는 일괄 처리 상태 개체를 만들었습니다. 기본적으로 try/catch 블록에서 일괄 처리 코드를 래핑하고 catch 내에서 오류 세부 정보가있는 새로운 일괄 처리 상태 레코드를 추가합니다.
global void execute(Database.BatchableContext BC, List<sObject> scope) {
List<Batch_Status__c> BatchStatuses = new List<Batch_Status__c>();
try {
// ... batch execute code ...
}
catch(Exception e) {
// exception logging
Batch_Status__c BatchStatus = new Batch_Status__c();
// ... add exception detail to BatchStatus ...
BatchStatuses.add(BatchStatus);
}
insert BatchStatuses;
}
나는 그랬다. Matt, 도와 주신 모든 분들께 다시 한번 감사드립니다! – user11235813
side note : 위의 코드는'execute()'호출이 catch 가능한 예외를 가지고있는 한 잘 작동합니다. 한계 예외는'finish()'에서만 확인할 수 있습니다. – cropredy