Search Results igi_exp_hold
Overview
IGI_EXP_HOLD is an APPS-owned PL/SQL package body in the Oracle E-Business Suite that supports invoice hold processing for expense-related workflows, particularly those originating from procurement and receiving transactions. The package is classified as OTHER in the ETRM repository, indicating that it is internally invoked by Oracle application modules rather than exposed as a public API. Its principal role is to evaluate and manage the hold status of invoices and invoice distributions, deciding whether a given hold should be applied or released based on the state of the associated receiving transaction, line location, or invoice.
The version header (115.7, dated August 2003) reflects an object that has remained stable across the 12.1.1 and 12.2.2 releases. It is part of the IGI (Internet Government/Internal Controls) module family used by Oracle Payables and related expense processes to enforce holds during invoice validation and matching.
Key Procedures and Functions
The ETRM 12.2.2 metadata documents a single public entry point, PLACE_HOLD, though the package body itself exposes several additional procedures supporting the full hold lifecycle:
- Process_Inv_Hold_Status — Central driver that determines whether a given hold should be placed or released for an invoice, using the invoice identifier, line location, receiving transaction, hold lookup code, and system user context.
- Release_Hold — Removes an existing hold identified by the invoice, line location, receiving transaction, and hold lookup code, updating the in-memory holds array and release counters.
- Set_Hold — Applies a hold with a specified reason and lookup code, updating the holds array and holds counters.
- Get_Hold_Status — Retrieves the current hold status and hold reason for the specified invoice/line/receiving transaction combination.
- Get_Release_Lookup_For_Hold — Resolves the release lookup code associated with a given hold lookup code.
- Update_Inv_Dists_To_Approved — Updates invoice distributions to an approved status following hold resolution.
All procedures operate on HOLDSARRAY and COUNTARRAY NOCOPY parameters, which are passed by reference for performance.
Tables Accessed
The only table documented in the ETRM metadata for this package is AP_HOLDS, accessed via an APPS synonym. This table stores invoice hold records in Oracle Payables, including hold lookup codes, hold reasons, release information, and the identifiers for the associated invoice, line location, and receiving transaction. IGI_EXP_HOLD reads AP_HOLDS to determine existing hold status and writes to it when placing or releasing holds. The updating of invoice distribution approval status implies indirect interaction with AP_INVOICE_DISTRIBUTIONS, though this is not confirmed by the documented metadata.
Usage Notes
IGI_EXP_HOLD is referenced by zero other packages per the ETRM metadata, indicating that it is invoked directly by Oracle forms, concurrent programs, or internal workflow components rather than by other PL/SQL APIs. In typical deployments, it is called during invoice validation and matching cycles, and during receiving transaction adjustments that affect invoice hold eligibility. The procedures accept a p_calling_sequence parameter, which is used for diagnostic tracing in debug logs.
Because the package is not exposed as a public API, customizations that call it directly must supply the full invoice, line location, and receiving transaction context and manage the HOLDSARRAY and COUNTARRAY structures appropriately. On the "release_hold" search that led to this object, users should note that Release_Hold is the relevant procedure, though it is not the primary documented entry point. Oracle recommends using supported Payables APIs such as AP_HOLDS_PKG for hold release wherever possible, reserving direct IGI_EXP_HOLD invocation for expense-specific scenarios requiring the receiving-side logic this package provides.
-
PACKAGE BODY: APPS.IGI_EXP_HOLD
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:IGI_EXP_HOLD, status:VALID,
-
PACKAGE: APPS.IGI_EXP_HOLD
12.2.2
-
PACKAGE: APPS.IGI_EXP_HOLD
12.1.1
owner:APPS, object_type:PACKAGE, object_name:IGI_EXP_HOLD, status:VALID,
-
PACKAGE: APPS.IGI_EXP_HOLD
12.1.1
-
PACKAGE: APPS.IGI_EXP_HOLD
12.2.2
owner:APPS, object_type:PACKAGE, object_name:IGI_EXP_HOLD, status:VALID,
-
PACKAGE BODY: APPS.IGI_EXP_HOLD
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:IGI_EXP_HOLD, status:VALID,
-
SYNONYM: APPS.AP_HOLDS
12.2.2
owner:APPS, object_type:SYNONYM, object_name:AP_HOLDS, status:VALID,
-
12.2.2 DBA Data
12.2.2
-
SYNONYM: APPS.AP_HOLDS
12.1.1
owner:APPS, object_type:SYNONYM, object_name:AP_HOLDS, status:VALID,
-
12.2.2 DBA Data
12.2.2
-
12.1.1 DBA Data
12.1.1
-
12.1.1 DBA Data
12.1.1
-
PACKAGE BODY: APPS.IGI_EXP_HOLD
12.1.1
-
PACKAGE BODY: APPS.IGI_EXP_HOLD
12.2.2
-
APPS.IGI_EXP_HOLD dependencies on IGI_EXP_HOLD
12.2.2
-
APPS.IGI_EXP_HOLD dependencies on IGI_EXP_HOLD
12.1.1
-
APPS.IGI_EXP_HOLD dependencies on AP_HOLDS
12.1.1
-
APPS.IGI_EXP_HOLD dependencies on AP_HOLDS
12.2.2
-
12.2.2 DBA Data
12.2.2
-
12.2.2 DBA Data
12.2.2
-
12.1.1 DBA Data
12.1.1
-
12.1.1 DBA Data
12.1.1
-
PACKAGE: SYS.STANDARD
12.1.1
owner:SYS, object_type:PACKAGE, object_name:STANDARD, status:VALID,