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 に答える