I want to close Cases when the Cases has 5 minutes or more.
This action wil be happen without open o modified the cases, I create a Apex Scheduler but no function correctly.
How to use or implement a Apex Scheduler correctly ?
#Collaboration #Apex #Ask An Expert #Salesforce
global class pruebaAutoClose implements Schedulable {
global void updateTickets(SchedulableContext ctx) {
Boolean check;
String estado;
Decimal countTimer;
List<Case> casos = [SELECT Id, CaseNumber, Status, Tiempo_Monitoreo_Extendido__c, Monitoreo_Extendido__c FROM Case WHERE Status= 'Validación'];
for(Case caso: casos){
check = caso.Monitoreo_Extendido__c;
estado = caso.Status;
countTimer = caso.Tiempo_Monitoreo_Extendido__c;
}
if(estado == 'Validación'){
system.debug('countTimer:::: ' + countTimer);
if(check == true){
System.debug('Close Manual of Case.');
} else {
if(countTimer >= 5){
List<Case> casoUpdate = [SELECT Id, CaseNumber, Status, Tiempo_Monitoreo_Extendido__c, Monitoreo_Extendido__c FROM Case WHERE Status= 'Validación'];
for(Case caso: casos){
caso.Id = caso.Id;
caso.Status = 'Cerrado';
}
System.debug('Update Case.' + 'Close Case automatically.');
update casoUpdate;
}
}
}
}
}