Search Results process_approve




Overview

POS_SUPP_APPR is an Oracle E-Business Suite PL/SQL package owned by the APPS schema that implements the supplier registration approval lifecycle for Oracle iSupplier Portal. Its principal responsibility is to drive and interrogate the Oracle Approvals Management (AME) and Oracle Workflow components that govern whether a newly registered or updated supplier is routed for approval, who the current and next approvers are, and how approval or rejection outcomes are recorded against the supplier record. The package is declared AUTHID CURRENT_USER, meaning its SQL executes with the privileges of the invoking schema rather than the definer, which allows it to be called safely from both the iSupplier Portal application layer and from Workflow background activities.

Internally the package binds itself to a fixed approvals configuration. It declares an AME application identifier of 177 (the Purchasing/iSupplier application context used by AME), an AME transaction type of POS_SUPP_APPR, and a Workflow item type of POSSPAPP with a process named POSSPAPP_PROCESS. These constants tie every procedure in the package to a single, well-defined approval routing definition.

Key Procedures and Functions

The package exposes fifteen documented procedures and functions. The Workflow callback procedures — INITIALIZE_WF, IS_AME_ENABLED, GET_NEXT_APPROVER, and SET_STATUS_REJECTED — conform to the standard Oracle Workflow function activity signature (itemtype, itemkey, actid, funcmode, resultout) and are executed by the Workflow engine as the POSSPAPP process advances.

CHECK_IF_AME_ENABLED and IS_AME_ENABLED determine whether AME-based routing is active for supplier approval, allowing the process to branch to either the AME path or a legacy approver path. STARTWF_POSSPAPP launches the supplier approval Workflow process for a given supplier, optionally accepting the supplier name and requestor identity.

Approver resolution is handled by GET_APPROVER_IN_WF, which returns the current Workflow approver's user identifier, user name, first name, and last name together with a status indicator, and by CHECK_IF_APPROVER, which validates whether a nominated user is an approver for a supplier. CHECK_CURRENT_APPROVER is the procedure most directly relevant to verifying the acting approver against the supplier's live approval state, and GET_APPROVER_NAME_IN_WF resolves an approver's display name.

The action procedures PROCESS_APPROVE and PROCESS_REJECT record an approver's decision and return both a result and a process result. GET_AME_PROCESS_STATUS and GET_AME_APPROVAL_LIST_HISTORY expose the AME-side status and the full approval history for the transaction, while PROCESS_RESPONSE_INTERNAL supports internal response handling for the approval flow.

Tables Accessed

The package reads user identity through the FND_USER synonym and party information through HZ_PARTIES, using these to resolve approver names and supplier parties. Human resources data is drawn from PER_ALL_PEOPLE_F and PER_ALL_ASSIGNMENTS_F, with PER_ALL_POSITIONS, PER_JOBS, and PER_ASSIGNMENT_STATUS_TYPES supplying the position, job, and assignment-status detail needed to evaluate an approver's authority. PO_DOCUMENT_TYPES is referenced to determine applicable purchasing document type configuration. PLITBLM is used as the PL/SQL table (index-by) type container for passing collections of values.

Usage Notes

POS_SUPP_APPR is invoked primarily from the iSupplier Portal supplier registration and approval forms and from the POSSPAPP Workflow process, whose item type and process name are hard-coded in the package specification. It is also callable from custom PL/SQL or concurrent programs that need to query the current approver or approval history for a supplier. Because the package is not referenced by any other documented package in the ETRM metadata, it functions as an integration endpoint rather than a shared library. Custom code should treat the exposed procedures as the supported interface and avoid direct manipulation of the underlying AME and Workflow tables.