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
raji ch 8raji ch 8 

How to write a batch class ? We have a tasks in our organization delete all cmpleted tasks ?

Best Answer chosen by raji ch 8
Ashif KhanAshif Khan
Hi Raj,

create a class as DeleteTasks
global class DeleteTasks implements 
    Database.Batchable<sObject>, Database.Stateful {
    
   global Database.QueryLocator start(Database.BatchableContext bc) {
        return Database.getQueryLocator(
            'SELECT Id,Status FROM Task where  status=\'completed\''
        );
    }
    global void execute(Database.BatchableContext bc, List<Task> taskList){
        
        delete taskList;
    }    
    global void finish(Database.BatchableContext bc){
     // can add here any email notification code  
    }    
}

Regards 
Ashif

All Answers

Anil MalneniAnil Malneni
/*
Created By :

Created Date:

Description: Delete the Completed Tasks

*/
global class CompletedTasksDelete implements Database.Batchable<sObject> {
    global Database.QueryLocator start(Database.BatchableContext BC) {
        return Database.getQueryLocator('SELECT Id,Name,Phone FROM Task WHERE Status = 'Completed' ');
    }

    global void execute(Database.BatchableContext BC, List<Task> scope) {
    list<Task> tsk = new list<Task>(); 
        for (Task t: scope) {
            tsk.add(t);
        }
            delete tsk;
    }  
    global void finish(Database.BatchableContext BC) {
    
    }
}


Hope this help you if it works please mark this as solved.
Thanks and Regards,
Anil Malneni
Ashif KhanAshif Khan
Hi Raj,

create a class as DeleteTasks
global class DeleteTasks implements 
    Database.Batchable<sObject>, Database.Stateful {
    
   global Database.QueryLocator start(Database.BatchableContext bc) {
        return Database.getQueryLocator(
            'SELECT Id,Status FROM Task where  status=\'completed\''
        );
    }
    global void execute(Database.BatchableContext bc, List<Task> taskList){
        
        delete taskList;
    }    
    global void finish(Database.BatchableContext bc){
     // can add here any email notification code  
    }    
}

Regards 
Ashif
This was selected as the best answer