Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- global class ID_ApprovalSchedulable implements Database.Batchable<sObject>, Schedulable {
- global void execute(Database.BatchableContext oBatchableContext, List<cms__Approval__c> oApprovalBatchChunkList) {
- System.debug('>>> ID_ApprovalSchedulable.execute(Database.BatchableContext ...)');
- System.debug('=== ID_ApprovalSchedulable.execute(Database.BatchableContext ...): `oApprovalBatchChunkList.size()=' + oApprovalBatchChunkList.size() + '`');
- System.debug('=== ID_ApprovalSchedulable.execute(Database.BatchableContext ...): `oApprovalBatchChunkList=' + String.valueOf(oApprovalBatchChunkList) + '`');
- // get the work item list
- List<ProcessInstanceWorkItem> oWorkItemList = [SELECT ProcessInstance.TargetObjectId, ActorId FROM ProcessInstanceWorkitem WHERE ProcessInstance.TargetObjectId IN :oApprovalBatchChunkList];
- System.debug('=== ID_ApprovalSchedulable.execute(Database.BatchableContext ...): `oWorkItemList=' + oWorkItemList + '`');
- // auto approve the items
- for (ProcessInstanceWorkItem oWorkItemCurrent: oWorkItemList) {
- Approval.ProcessWorkitemRequest oPWR = new Approval.ProcessWorkitemRequest();
- oPWR.setComments('Auto approved through JobId: '' + oBatchableContext.getJobId() + ''');
- oPWR.setAction('Approved');
- oPWR.setWorkItemId(oWorkItemCurrent.ID);
- Approval.ProcessResult oPR = Approval.process(oPWR);
- }
- System.debug('<<< ID_ApprovalSchedulable.execute(Database.BatchableContext ...)');
- }
- ...
Add Comment
Please, Sign In to add comment