Requisition Approval calls AME from Workflow to get next approver. Firstly the Requisition Approval workflow (REQAPPRV) validates the setup for this document type / sub-type (AME_TRANSACTION_TYPE from table PO_DOCUMENT_TYPES) and sets the workflow attribute (IS_AME_APPROVAL) accordingly.
To retrieve the next approver, the workflow makes a call to procurement PL/SQL procedure, which in turn makes a call to AME (using API getNextApprover) to find the right values. The results (or 'No Approver Found' warning) are returned, and placed into the workflow attributes, for onward processing.
When workflow responses are processed, after validation and initial processing, the PL/SQL calls again go to AME API's to update the approver list and return the next approver.
AME evaluates applicable rules and generates an approver list. It then returns the next approver.
The calling application notifies next approver. The calling application deals with approver’s response Approve, Reject or Return and sends response to AME.The calling application repeats these steps until no more approvers are found. The function called here is “Get Next Approver Using AME”.
This function generates the list of approvers and from that it gets the next approver to whom Notification is to be sent.
Most of the processing between iProcurement and AME is done in PL/SQL package POR_AME_APPROVAL_LIST_WF1S (file: POXAME1B.pls).
Package POR_AME_APPROVAL_LIST_WF1S in file: POXAME1B.pls
Package POR_AME_APPROVAL_LIST in file: POXAPL2B.pls
Package REQAPPROVAL_INIT1 in file: POXWPA1B.pls
Package PO_APPROVALLIST_S1 in file: POXAPL1B.pls
Package PO_AME_SETUP_PVT in file: POXAMESB.pls (Release 12.x)
Package AME_API in file: ameeapin.pkb (and later ameeapi2.pkb)
Package AME_ENGINE in file: ameeengi.pkb
Workflow REQAPPRV in file: poxwfrqa.wft