Search Results g_proposal_id




Overview

The APPS.IGW_PROPOSAL_APPROVAL package body is a PL/SQL API within the Oracle E-Business Suite Grants, Proposal, and Awards (IGW) module. Its primary business function is to initiate and manage the approval workflow for proposals submitted within the Grants management system. This package orchestrates the approval process by validating user rights, applying business rules, executing routing logic, and populating workflow staging tables that drive the Oracle Workflow engine. It serves as the technical backbone that connects grant proposal records to the organizational authorization hierarchy and approval routing mechanisms. The package is classified as an "OTHER" API type in ETRM, indicating it is not a standard public interface but rather an internal engine invoked by the application's approval framework. It is referenced by one other package, suggesting it occupies a mid-tier position in the approval call stack, where a higher-level orchestration package delegates approval initiation to it.

Key Procedures and Functions

The package exposes twelve documented procedures and functions:

  • START_APPROVAL_PROCESS — The primary entry point. It accepts a proposal identifier and API-standard parameters such as an initialization flag, commit flag, and validate-only mode, returning status and message outputs. It initializes the message list, maps the proposal, and delegates to START_APPROVAL unless validation-only mode is active.
  • VALIDATE_LOGGED_USER_RIGHTS — Validates whether the currently logged-in user possesses the rights required to approve or act upon a given proposal. Note that in the documented source this validation is commented out, indicating it was deprecated.
  • START_APPROVAL — Performs the core approval initiation logic, invoked by START_APPROVAL_PROCESS with the proposal ID, an error message output, and a return status.
  • GET_BUSINESS_RULES — Retrieves the applicable business rules governing approval routing for the proposal's context.
  • EXECUTE_BUSINESS_RULE — Applies a specific business rule to determine routing or approval outcomes.
  • EXECUTE_LINE — Processes an individual business rule line, executing its associated action or condition.
  • FOUND_STRING / NOT_FOUND_STRING — Utility functions used in dynamic rule evaluation to return literal string results based on condition matching.
  • EXECUTE_DYNAMIC_SQL — Executes dynamically constructed SQL derived from business rule definitions, enabling configurable rule logic.
  • GET_PARENT_ORG_ID — Resolves the parent organization identifier, used to ascend the organizational hierarchy for approval routing.
  • ASSIGN_SO_ROLE — Assigns a Sales Order (SO) role, determining the approval role for a participant.
  • POPULATE_LOCAL_WF_TABLES — Populates local workflow staging tables used to feed Oracle Workflow's approval notification engine.

Tables Accessed

The package references a broad set of tables via APPS synonyms. Proposal data is read from IGW_PROPOSALS_ALL, while approval run history is written to IGW_PROP_APPROVAL_RUNS and its sequence-backed table IGW_PROP_APPROVAL_RUNS_S. Organizational routing uses HR_ALL_ORGANIZATION_UNITS, IGW_ORG_MAPS_ALL, and IGW_ORG_MAP_DETAILS. Configurable approval logic relies on IGW_BUSINESS_RULES_ALL and IGW_BUSINESS_RULE_LINES. User identity is resolved through FND_USER. Budget context comes from IGW_BUDGETS, IGW_BUDGET_DETAILS, and IGW_BUDGET_PERIODS. Checklist and mapping logic reference IGW_PROP_CHECKLIST, IGW_PROP_MAPS, and IGW_PROP_MAPS_S.

Usage Notes

This package is invoked programmatically, typically from Oracle Forms or a calling wrapper package when a user submits a proposal for approval, or when a concurrent program initiates approval runs in batch. The g_proposal_id search term reflects a common developer inquiry when tracing how the proposal identifier flows through the approval API. Developers customizing or debugging approval logic should note that START_APPROVAL_PROCESS supports a validate-only mode, allowing pre-flight checks without committing data. Modifications should be avoided in the APPS schema; instead, extensions should wrap or call these procedures. Because VALIDATE_LOGGED_USER_RIGHTS is commented out in the source, user-rights validation is effectively delegated elsewhere, which is an important consideration when troubleshooting unexpected approval behavior.