function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Rick RossiRick Rossi 

Batch Class to update values on case

Hi!

I am trying to update all case subject values to "Case Subject"

How would this look like if I want to do this in a batch class? I am running into errors.

Thank you!
Best Answer chosen by Rick Rossi
CharuDuttCharuDutt
Hii Rick
Execute In Anonymous Window To See Changes In Org

CaseProcessor lp = new CaseProcessor(); 
Id batchId = Database.executeBatch(lp);
-----------------------------------------------

@isTest
public class CaseProcessorTest {
    
    @isTest    
    public static void testit() {
        List<Case> l_lst = new List<Case>();
        for (Integer i = 0; i<200; i++) {
            Case l = new Case();
            l.Status = 'New';
            l.Origin = 'Web';
            l.Subject =  'Test Subject';
            l_lst.add(l);
        }
        insert l_lst;
        
        test.startTest();
        
        CaseProcessor lp = new CaseProcessor();
        Id batchId = Database.executeBatch(lp);
        Test.stopTest();
            
    }

}
Please Close YouR Query By Marking It As Best Answer If It Helps So It Can Help Others In Future
Thank You!
 

 

All Answers

CharuDuttCharuDutt
Hii Rick Rossi
Try Below Code
public class CaseProcessor implements Database.Batchable<sObject> {
    public Database.QueryLocator start(Database.BatchableContext bc) {
        return Database.getQueryLocator('SELECT Id, Subject FROM Case');
    }
    public void execute(Database.BatchableContext bc, List<Case> records){
        for(Case c : records){
           c.Subject = 'Case Subject';
        }
        update records;
    }
    public void finish(Database.BatchableContext bc){
        Id job = bc.getJobId();
    }
}
Please Mark It As Best Answer If It Helps Thank You!
 
Rick RossiRick Rossi
Hello !

The apex class was succesful however are there any further steps besides creating the apex class?

Thank you!
CharuDuttCharuDutt
Hii Rick
Execute In Anonymous Window To See Changes In Org

CaseProcessor lp = new CaseProcessor(); 
Id batchId = Database.executeBatch(lp);
-----------------------------------------------

@isTest
public class CaseProcessorTest {
    
    @isTest    
    public static void testit() {
        List<Case> l_lst = new List<Case>();
        for (Integer i = 0; i<200; i++) {
            Case l = new Case();
            l.Status = 'New';
            l.Origin = 'Web';
            l.Subject =  'Test Subject';
            l_lst.add(l);
        }
        insert l_lst;
        
        test.startTest();
        
        CaseProcessor lp = new CaseProcessor();
        Id batchId = Database.executeBatch(lp);
        Test.stopTest();
            
    }

}
Please Close YouR Query By Marking It As Best Answer If It Helps So It Can Help Others In Future
Thank You!
 

 
This was selected as the best answer