大概这种应用场景不多,文档里竟然没有找到介绍。
终于在谷歌老师的帮助下,获得了如下神码(经过我的二次整理优化):
List<Approval.ProcessWorkitemRequest> requestList = new List<Approval.ProcessWorkitemRequest> ();
for (ProcessInstanceWorkitem workItem : [
SELECT Id
FROM ProcessInstanceWorkitem
WHERE ProcessInstance.TargetObjectId IN :idListToRecallList
AND ProcessInstance.Status = 'Pending'
]) {
Approval.ProcessWorkitemRequest workItemRequest = new Approval.ProcessWorkitemRequest();
workItemRequest.setAction('Removed');
workItemRequest.setWorkItemId(workItem.Id);
requestList.add(workItemRequest);
}
List<Approval.ProcessResult> result = Approval.process(requestList);