Guest User

Untitled

a guest
Oct 19th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. global class ID_ApprovalSchedulable implements Database.Batchable<sObject>, Schedulable {
  2.  
  3. global void execute(Database.BatchableContext oBatchableContext, List<cms__Approval__c> oApprovalBatchChunkList) {
  4. System.debug('>>> ID_ApprovalSchedulable.execute(Database.BatchableContext ...)');
  5. System.debug('=== ID_ApprovalSchedulable.execute(Database.BatchableContext ...): `oApprovalBatchChunkList.size()=' + oApprovalBatchChunkList.size() + '`');
  6. System.debug('=== ID_ApprovalSchedulable.execute(Database.BatchableContext ...): `oApprovalBatchChunkList=' + String.valueOf(oApprovalBatchChunkList) + '`');
  7.  
  8. // get the work item list
  9. List<ProcessInstanceWorkItem> oWorkItemList = [SELECT ProcessInstance.TargetObjectId, ActorId FROM ProcessInstanceWorkitem WHERE ProcessInstance.TargetObjectId IN :oApprovalBatchChunkList];
  10. System.debug('=== ID_ApprovalSchedulable.execute(Database.BatchableContext ...): `oWorkItemList=' + oWorkItemList + '`');
  11.  
  12. // auto approve the items
  13. for (ProcessInstanceWorkItem oWorkItemCurrent: oWorkItemList) {
  14. Approval.ProcessWorkitemRequest oPWR = new Approval.ProcessWorkitemRequest();
  15. oPWR.setComments('Auto approved through JobId: '' + oBatchableContext.getJobId() + ''');
  16. oPWR.setAction('Approved');
  17. oPWR.setWorkItemId(oWorkItemCurrent.ID);
  18. Approval.ProcessResult oPR = Approval.process(oPWR);
  19. }
  20.  
  21. System.debug('<<< ID_ApprovalSchedulable.execute(Database.BatchableContext ...)');
  22. }
  23.  
  24. ...
Add Comment
Please, Sign In to add comment