You are on page 1of 4

AWE Push Back Process

Workflow is a sequence of tasks for approval of particular claim or transaction. AWE supports multiple actions for
completion of a task like approve, deny, push back, resubmit, terminate etc.
This blog shows how to use push back for multilevel approvals using Application Packages and different mail
notification. It also gives an idea of Current status using Status Monitor.
Push back functionality is used to send a request back to the approver but not to the requestor. The meaning of push
back is that the approver is questioning the prior steps approval and is requesting clarification.
There might be a scenario where requestor has submitted a request, approver 1 has approved it and that transaction
is pending for approval at approver 2. Now, before approval, approver 2 wants some more information regarding
that transaction. So, instead of approving or denying it, approver 2 will send it back to approver 1 for more
information. Once approver 1 has given enough information and approved it then approver 2 can approve it and
complete the transaction.
Push back is an optional feature while implementing approval monitor. Below are the screenshots of how status
monitor will look on each approval level.
Consider there are 2 levels of approval after first approver has approved, from status monitor we can get the status.

Push Back
When there are only 2 levels of approval & second approver has pushed back status, monitor will be as below
showing which user has pushed back the transaction.

Following code can be written on Component savepostchange.
/*For Denying nomination submitted by employee*/
If &Action = Deny Then
&MyApprovalManager.DoDeny(&MyHeaderRec);
End-If;
/*For approving nomination submitted by employee*/
If &Action = Approve Then
&MyApprovalManager.DoApprove(&MyHeaderRec);
End-If;
If &Action = Push Then
&MyApprovalManager.DoPushBack(&MyHeaderRec);
End-If;End-If;
Push back is only possible within a path; therefore, the first step of a path cannot push back. But there might be a
scenario where first approver wants to get some more clarification so instead of denying, transaction can be
terminated.
The screenshot will look as below:

Code for terminate is as follows:
If &Action = Push Then
&MyLaunchManager = &MyApprovalsFactory.getLaunchManager(&MyApprovalProcessId, &MyHeaderRec,
%OperatorId);
If &MyLaunchManager.hasAppInst Then
&MyLaunchManager.TerminateRunningProcess();
End-If;
End-If;
Resubmit
After first approver has terminated a process, initiator can resubmit the transaction and previous workflow will
continue with the same approval process, but with different transaction ID in workflow records.

Below code can be appended on savepostchange of a component from where initiator is requesting a
transaction
If &MyLaunchManager.hasEndedAppInst Then
&MyLaunchManager.DoResubmit();
End-If;
End-If;
By
Geeta S
Posted in: HCM

You might also like