Search Results get_answer




Overview

IGW_PROP_APPROVALS_PVT is a private PL/SQL package body in the APPS schema that governs the proposal approval workflow within Oracle Grants Management (formerly Oracle Grants/Proposal, the IGW product family). Its principal business role is to initiate and orchestrate the routing of a proposal record through an approval process, evaluating configured business rules and assembling the workflow-related data required for routing. The package functions as the internal engine supporting the approval features exposed to users working on proposals, and it is classified as a PVT (private) API, meaning it is not intended for direct invocation by external consumers. At source version 115.10, the package was maintained as part of the core IGW approval infrastructure.

Key Procedures and Functions

The package exposes twelve documented procedures and functions, organized around the approval lifecycle.

  • START_APPROVAL_PROCESS — The primary entry point. It initializes the API message list, sets the return status, optionally creates a savepoint when a commit is requested, and delegates to the approval initiation logic. It returns standard FND_API status, message count, and message data.
  • VALIDATE_LOGGED_USER_RIGHTS — Verifies that the currently logged-in user is authorized to act upon the specified proposal before approval processing proceeds.
  • START_APPROVAL — Performs the substantive approval initiation for the given proposal, reporting back an error message and return status.
  • GET_BUSINESS_RULES — Retrieves the approval business rules configured for the proposal's organizational context.
  • EXECUTE_BUSINESS_RULE and EXECUTE_LINE — Evaluate individual business rules and the discrete lines within them, determining whether routing conditions are satisfied.
  • FOUND_STRING and NOT_FOUND_STRING — Utility routines supporting conditional rule evaluation and string matching.
  • EXECUTE_DYNAMIC_SQL — Runs dynamically constructed SQL as required by configurable business rules.
  • GET_PARENT_ORG_ID — Resolves the parent organization identifier used to locate applicable rules and approval hierarchies.
  • ASSIGN_SO_ROLE — Assigns the sales order-related role connected with approval routing.
  • POPULATE_LOCAL_WF_TABLES — Loads the local workflow staging tables that carry approval routing data into Oracle Workflow.

Tables Accessed

The package reads and writes across the IGW proposal, budget, and approval schema through APPS synonyms. Proposal and routing data reside in IGW_PROPOSALS_ALL, IGW_PROP_MAPS, IGW_PROP_MAPS_S, and IGW_PROP_CHECKLIST. Approval execution history is recorded in IGW_PROP_APPROVAL_RUNS and its sequence IGW_PROP_APPROVAL_RUNS_S. Business rule configuration is drawn from IGW_BUSINESS_RULES_ALL and IGW_BUSINESS_RULE_LINES. Organizational mapping and hierarchy resolution use IGW_ORG_MAPS_ALL, IGW_ORG_MAP_DETAILS, and HR_ALL_ORGANIZATION_UNITS. Budget context is supplied by IGW_BUDGETS, IGW_BUDGET_DETAILS, and IGW_BUDGET_PERIODS. User identity for authorization checks comes from FND_USER.

Usage Notes

Because IGW_PROP_APPROVALS_PVT is a private package, it is invoked indirectly rather than through direct custom calls. The ETRM metadata records zero dependent packages referencing it, confirming that it is called internally by the Grants Management approval forms, concurrent programs, and workflow background processes that submit proposals for approval. The START_APPROVAL_PROCESS routine is constructed in the standard FND_API style, accepting initialization, commit, and validate-only flags together with the proposal identifier, and returning the conventional return status, message count, and message data out-parameters. When p_commit is true, a savepoint named start_approval is created, and when p_init_msg_list is true the message list is initialized, consistent with Oracle's public API conventions. The p_validate_only flag allows rules and user rights to be evaluated without committing an approval run. Customizations should not call this package directly; integrators should use the public Grants Management approval APIs or the standard approval forms instead, since private APIs may change between releases without notice.