1

有没有办法获取失败批次中的记录?AsyncApexJob 只给了我失败的次数——但仅此而已......

http://www.salesforce.com/us/developer/docs/object_reference/index_Left.htm#CSHID=sforce_api_objects_asyncapexjob.htm|StartTopic=Content%2Fsforce_api_objects_asyncapexjob.htm|SkinName=webhelp

4

1 回答 1

2

我认为没有办法使用默认功能获得所有所需的详细信息。我通过创建一个批处理状态对象来解决这个问题,我可以在其中记录批处理中发生的错误。本质上,我将批处理执行代码包装在 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;
}
于 2012-06-18T15:52:25.167 回答