Batch Class:
global class accountBatch implements Database.Batchable<sobject> { global Database.QueryLocator start(Database.BatchableContext bc){ String query = 'SELECT Id, Name FROM Account'; return Database.getQueryLocator(query); } global void execute(Database.BatchableContext bc, List<account> scope) { for(Account a : scope) { a.Name = a.Name + 'Updated'; } update scope; } global void finish(Database.BatchableContext bc) { } }
Scheduled Class:
global class accountBatchSchedule implements Schedulable{ global void execute(SchedulableContext sc) { //invoke the batch class Database.executeBatch(new accountBatch()); } }
There are 2 ways to schedule an apex job:
- Scheduling a Job from the UI
- Using the System.Schedule Method
Go to Setup | Apex Class | Click Schedule Apex
- Enter Job name and select Apex Scheduled Schedulable.
- Select the Schedulable frequency Weekly or Monthly as per your requirement.
- Select the start and end dates.
- Select preferred start time.
- Click on Save.