Search Results ap_hold_codes




Overview

The AP_HOLD_CODES table is a core reference table within the Oracle E-Business Suite Payables (AP) module. It serves as the central repository for defining and managing all hold and release codes applicable to invoices, expense reports, and recurring payments. Its primary role is to standardize the reasons for placing a transaction on hold (preventing payment) and for subsequently releasing it. This table is fundamental to the internal control and workflow processes in Accounts Payable, ensuring that payments are only processed once specific validation or approval criteria are met. The table's data is referenced by multiple transaction tables to enforce business rules and track the status of documents throughout their lifecycle.

Key Information Stored

The table's structure is designed to catalog distinct hold and release conditions. The most critical column is HOLD_LOOKUP_CODE, which serves as the unique identifier (primary key) for each hold or release reason. While the provided metadata does not list all columns, based on standard EBS design, this table typically includes descriptive columns such as DESCRIPTION and ENABLED_FLAG. The description provides a clear, user-facing name for the code (e.g., "Quantity Received," "Approval Required," "Tax Verification"). The enabled flag controls whether the code is active for use. The data in this table is typically seeded by Oracle and can be extended with custom codes to meet specific business requirements.

Common Use Cases and Queries

This table is central to troubleshooting and reporting on held transactions. A common operational query involves joining AP_HOLD_CODES to the AP_HOLDS_ALL table to generate a detailed report of all currently held invoices, showing both the hold reason and any associated release reason. For example:

  • Listing Active Hold Codes: SELECT hold_lookup_code, description FROM ap_hold_codes WHERE enabled_flag = 'Y' ORDER BY 1;
  • Identifying Invoices on a Specific Hold: SELECT aia.invoice_num, aia.invoice_date, ah.hold_reason FROM ap_invoices_all aia, ap_holds_all ah, ap_hold_codes ahc WHERE aia.invoice_id = ah.invoice_id AND ah.hold_lookup_code = ahc.hold_lookup_code AND ahc.hold_lookup_code = 'APPROVAL';

Administrators use this table to configure which hold reasons are available during invoice entry and the hold release process.

Related Objects

As indicated by the foreign key relationships in the metadata, AP_HOLD_CODES is a parent table to several key transaction tables. The AP_HOLDS_ALL table references it twice: once via HOLD_LOOKUP_CODE to record why an invoice was placed on hold, and again via RELEASE_LOOKUP_CODE to record why it was released. Furthermore, it is referenced by AP_EXPENSE_REPORT_HEADERS_ALL to hold expense reports and by AP_RECURRING_PAYMENTS_ALL to hold scheduled payment templates. This widespread integration underscores its critical role as a master source of hold reason codes across multiple Payables subledgers.