Search Results amw_proc_approval_pkg




Overview

AMW_PROC_APPROVAL_PKG is a PL/SQL package body owned by the APPS schema that supports the approval lifecycle for process hierarchies within Oracle E-Business Suite's Enterprise Transaction Risk Management (ETRM) module, marketed as Oracle Advanced Controls (part of the Oracle GRC suite). ETRM is delivered in EBS 12.1.1 and 12.2.2 as the framework underpinning controls, risks, objectives, significant elements, and process hierarchies. The package encapsulates the business rules that govern submitting a process for approval, approving it, rejecting it, and persisting the resulting approved hierarchy definitions.

The object is classified as OTHER in the ETRM metadata, indicating it is a supporting internal package rather than a public or formal FND_API-governed API, although it leverages FND_API, FND_GLOBAL, FND_MESSAGE, and FND_MSG_PUB for the standard API error-handling and message stack pattern.

Key Procedures and Functions

The documented package exposes thirteen procedures and functions:

  • SUB_FOR_APPROVAL — submits a process or associated object into the approval workflow state, likely acquiring a lock to prevent concurrent modification.
  • APPROVE — approves the submitted process or hierarchy, recording the approval event.
  • REJECT — rejects a submitted process, returning it to an editable state.
  • CHECK_HIER_APPROVED — validation function that determines whether a hierarchy has an approved version.
  • APPROVE_ASSOCIATIONS — approves the association records (accounts, risks, objectives, controls) linked to the process.
  • WRITE_APPROVED_HIERARCHY — persists the approved hierarchy into the denormalized and approved-hierarchy tables.
  • AUTOAPPROVE — automatic approval path used when the workflow is configured to bypass manual review.
  • CHECK_APPROVAL_SUBM_ELIGIB — eligibility check determining whether an object may be submitted for approval.
  • PROD_ERR_UNAPR_OBJ_ASS_EX, PROD_ERR_MODIFIED_NSCHILDLIST, PROD_ERR_UNAPPR_NSVAR — error-producing helpers that raise validation messages for unapproved object associations, modified non-standard child lists, and unapproved non-standard variations respectively.
  • WEBADI_APPROVE — entry point used by WebADI (Web Application Desktop Integrator) uploads to approve hierarchies loaded via spreadsheet.

Tables Accessed

The package reads and writes through APPS synonyms against AMW_PROCESS and AMW_PROCESS_LOCKS for workflow state and concurrency control; AMW_APPROVED_HIERARCHIES, AMW_PROC_HIERARCHY_DENORM, and the views AMW_CURR_APP_HIERARCHY_RL_V and AMW_LATEST_HIERARCHY_RL_V to persist and read approved hierarchy definitions. It manages association tables including AMW_ACCT_ASSOCIATIONS, AMW_RISK_ASSOCIATIONS, AMW_OBJECTIVE_ASSOCIATIONS, and AMW_CONTROL_ASSOCIATIONS, plus the underlying base objects AMW_CONTROLS_B, AMW_RISKS_B, AMW_SIGNIFICANT_ELEMENTS, and AMW_NONSTANDARD_VARIATIONS_B. DUAL is used for utility SQL. It also calls AMW_RL_HIERARCHY_PKG and AMW_UTILITY_PVT for shared hierarchy and utility logic.

Usage Notes

This package is invoked indirectly by the ETRM approval workflow and by the WebADI integration layer rather than by end users directly. Forms in the Advanced Controls/ETRM responsibility trigger approval actions that resolve to these procedures; the WebADI path enters through WEBADI_APPROVE. Because it is not referenced by other database objects, it should be treated as a leaf-level workflow driver. Custom integrations requiring approval submission should call it only with a full understanding of FND_GLOBAL session initialization and the lock semantics enforced via AMW_PROCESS_LOCKS, as the package raises errors through FND_MSG_PUB rather than propagating raw Oracle exceptions.