How to maintain variable value inside the Batch class?

How to maintain variable value inside the Batch class?

To maintain variable value inside the Batch class, Database.Stateful is used.


Sample Class:

global class Class_Name implements Database.Batchable<sobject>, Database.Stateful{
    Integer i = 0;
    global Database.QueryLocator start(Database.BatchableContext bc){
        return Database.getQueryLocatory(‘SELECT Id, Name, Sequence_Number__c FROM Employee__c’);
    }
    
    global void execute(Database.BatchableContext bc, List<Employee__c> listEmployee){
        for(Employee__c e : listEmp){
            e.Sequence_Number__c = i;
            i += 1;
        }
    }
    
    global void finish(Database.BatchableContext bc){
    }
}


here i value will be maintained even though execute method is called several times.

Cheers!!!

2 thoughts on “How to maintain variable value inside the Batch class?

Leave a Reply