2016-12-14 24 views
0

在Salesforce中,我從Apex類調用apex Batch,但它只調用批處理的構造函數,不調用start,execute和finish?到底是怎麼回事?我從APex類調用apex Batch,但它只調用批處理的構造函數,不調用start,execute和finish?

我從類中調用這樣的批處理。

ExportBatchClass EXPBTCH = new ExportBatchClass(); 
Database.executeBatch(EXPBTCH); 

,批量爲:

global class ExportBatchClass implements Database.Batchable <Sobject> , Database.Stateful { 
    public String qryString; 

    global ExportBatchClass(){} 

    global ExportBatchClass(String qryString1){ 
     qryString=qryString1; 
     System.debug('qryString======'+qryString);  
    }  //END ExportBatchClass // 

    // Start Method 
    global Database.QueryLocator start(Database.BatchableContext BC){ 
     qryString='SELECT Product__r.name From Products__c WHERE Name != null ORDER by Product__r.Name ASC'; 

     system.debug('########## in START qryString = '+qryString); 
     return Database.getQueryLocator(qryString); 
    } 

    // Execute Logic 
    global void execute(Database.BatchableContext BC, List<Sobject> scope) { 
     for(Sobject s : scope) 
     { 
     Products__c pro=(Products__c)s; 
     productRelateListBatch.add(pro); 
     } 
     System.debug('productRelateListBatch======'+productRelateListBatch.size()); 
    } 

    global void finish(Database.BatchableContext BC){ 

    } 
} 

我缺少什麼?

+0

代碼中沒有問題,請交叉檢查您的數據庫查詢。 –

+0

你將什麼分配給'qryString1' – Reshma

回答

0

謝謝Q !!我解決了它。我只是重新構建它,代碼現在可以正常工作。