I use a flow action to update Enrolment records. It works for a smaller batch size around 500. But it doesn't work for a larger batch like 1500 records. Debug log doesn't give any errors I broke the update list to lists of 500 records. but the update operation still not working public class SBAddEnrolmenttoBatchFlowActionClass {
public class flowInputs {
@InvocableVariable(required = true)
public List<Id> EnrolmentIds;
@InvocableVariable(label='Most Recent Support Batch ID' required = true)
public ID SupportBatchId;
}
@InvocableMethod (label = '1.SB_1_Add_Enrolment_to_Batch_LEP')
public static Void addEnrolments(List<flowInputs> enrolments){
List<Id> EnrolmentIds = enrolments[0].EnrolmentIds;
system.debug('E List1 ' + EnrolmentIds );
ID SupportBatchId = enrolments.get(0).SupportBatchId;
List<Enrolment__c> enrolList = [Select Id, LEP_Points_in_Batch__c, Most_Recent_Support_Batch__c from Enrolment__c Where Id =:EnrolmentIds];
system.debug('E List ' + enrolList );
for (Enrolment__c e : enrolList){
system.debug('UPDATED***t ' + e.Most_Recent_Support_Batch__c );
e.LEP_Points_in_Batch__c = Null;
e.Most_Recent_Support_Batch__c = SupportBatchId;
}
List<Enrolment__c> enrolList1 = new List<Enrolment__c>();
List<Enrolment__c> enrolList2 = new List<Enrolment__c>();
List<Enrolment__c> enrolList3 = new List<Enrolment__c>();
List<Enrolment__c> enrolList4 = new List<Enrolment__c>();
if(enrolList.size()<500){
for(integer i=0; i< enrolList.size();i++)
enrolList1.add(enrolList[i]);
}
if(enrolList.size()>=500 && enrolList.size()<1000 ){
for(integer i=0; i< 500 ;i++)
enrolList1.add(enrolList[i]);
for(integer i=500; i< enrolList.size();i++)
enrolList2.add(enrolList[i]);
}
if(enrolList.size()>=1000 && enrolList.size()<1500 ){
for(integer i=0; i< 500;i++)
enrolList1.add(enrolList[i]);
for(integer i=500; i< 1000;i++)
enrolList2.add(enrolList[i]);
for(integer i=1000; i< enrolList.size();i++)
enrolList3.add(enrolList[i]);
}
if(enrolList.size()>=1500 && enrolList.size()<2000 ){
for(integer i=0; i< 500;i++)
enrolList1.add(enrolList[i]);
for(integer i=500; i< 1000;i++)
enrolList2.add(enrolList[i]);
for(integer i=1000; i< 1500;i++)
enrolList3.add(enrolList[i]);
for(integer i=1500; i< enrolList.size();i++)
enrolList4.add(enrolList[i]);
}
if(!enrolList1.isEmpty() && enrolList1 != null){
update enrolList1;
}
if(!enrolList2.isEmpty() && enrolList2 != null){
update enrolList2;
}
if(!enrolList3.isEmpty() && enrolList3 != null){
update enrolList3;
}
if(!enrolList4.isEmpty() && enrolList4 != null){
update enrolList4;
}
system.debug('UPDATE*** COMPLETED');
}
}