global class NFM603Batch implements Database.Batchable < sObject > , Database.AllowsCallouts { public String query; public List repairIdList; global NFM603Batch(){} global NFM603Batch(List repairIdList) { this.repairIdList = repairIdList; } global Database.QueryLocator start(Database.BatchableContext bc) { if (this.repairIdList != null) { return Database.getQueryLocator([SELECT Id,AwaitToSendAWS__c FROM Repair__c WHERE Id IN:repairIdList]); } return Database.getQueryLocator([SELECT Id,AwaitToSendAWS__c FROM Repair__c WHERE AwaitToSendAWS__c = true]); } global void execute(Database.BatchableContext BC, list repairList) { List < String > repairOrderIdList = new List < String >(); for (Repair__c repair: repairList) { repairOrderIdList.add(repair.Id); repair.AwaitToSendAWS__c = false; } NFM603Controller.executefuture(null,repairOrderIdList); update repairList; } global void finish(Database.BatchableContext BC) { } }