Mass submit approval process through apex code


/******************This method assign selected applications to selected user/queue*************/
public PageReference assignApplication() {
PageReference pageRef = null;
List requests = new List();
SavePoint sp = Database.setSavePoint();
try {
for(ApplicationWrapperClass appWrapper : applicationWrapperList) {
if(appWrapper.isSelected) {
Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest( );
req.setComments('Submitted for approval. Please approve.');
req.setObjectId(appWrapper.application.Id);
req.setNextApproverIds(new List{selectedUserOrQueue}) ;
requests.add(req);
}
}
update applicationList;
Approval.process(requests);
success = true;
pageRef = Page.BulkAssignApplication.setRedirect(true);
} catch(Exception e) {
Apexpages.addMessage(new Apexpages.Message(Apexpages.severity.ERROR, e.getMessage() + '**' +e.getStackTraceString()));
Database.rollback(sp);
}
return pageRef;
}

Published by Sandeep Kumar

He is a Salesforce Certified Application Architect having 11+ years of experience in Salesforce.

Leave a Reply