Results for “ap_holds_v”

44 results




AI-generated from documented ETRM metadata — verify critical details on the linked pages.

Overview

AP_HOLDS_V is a reporting view owned by the APPS schema within the Oracle E-Business Suite Payables (AP) module. It presents invoice hold information in a denormalized, human-readable form by joining the transactional hold records held in AP_HOLDS against the hold code definitions, invoice headers, and lookup translations required to resolve oracle-internal codes into displayed values. In EBS 12.1.1 and 12.2.2 the view remains a stable, VALID object and is widely used by embedded reports, Oracle Payments integration points, and customer-developed concurrent programs that need to display why a Payables invoice cannot be paid.

The view abstracts away several complexities. Rather than forcing the developer to join AP_HOLD_CODES, AP_LOOKUP_CODES, FND_USER, and AP_INVOICES_ALL manually, AP_HOLDS_V returns resolved columns such as HOLD_NAME, HOLD_TYPE, RELEASE_NAME, HELD_BY_USER_NAME, and RELEASE_BY_USER_NAME. This makes it suitable for hold-audit reports, dunning and payment-exception worklists, and supplier-portal integration where the hold reason and releasing user must be displayed in business language. Because the object type is VIEW, all access is read-only and any data change must be performed against the underlying AP_HOLDS table through the Payables APIs or forms.

Underlying Base Objects

The documented referenced objects for AP_HOLDS_V are AP_HOLDS, AP_HOLD_CODES, AP_INVOICES_ALL, AP_LOOKUP_CODES (itself a view), FND_GLOBAL (package), FND_USER, HR_GENERAL (package), HR_LOCATIONS, PO_HEADERS_ALL, PO_LINES_ALL, PO_LINE_LOCATIONS_ALL, PO_LINE_TYPES, PO_RELEASES_ALL, RCV_SHIPMENT_HEADERS, RCV_SHIPMENT_LINES, and RCV_TRANSACTIONS, most of which are referenced through private synonyms in the APPS schema. AP_HOLDS is the driving table, supplying one row per hold event, including HELD_BY, HOLD_DATE, HOLD_LOOKUP_CODE, HOLD_REASON, INVOICE_ID, LINE_LOCATION_ID, RELEASE_LOOKUP_CODE, RELEASE_REASON, STATUS_FLAG, RESPONSIBILITY_ID, and ORG_ID, along with the standard WHO columns and fifteen descriptive flexfield attributes.

AP_HOLD_CODES supplies the hold definition flags USER_RELEASEABLE_FLAG, USER_UPDATEABLE_FLAG, and POSTABLE_FLAG. The purchasing and receiving tables (PO_HEADERS_ALL, PO_LINES_ALL, PO_LINE_LOCATIONS_ALL, PO_LINE_TYPES, PO_RELEASES_ALL, RCV_SHIPMENT_HEADERS, RCV_SHIPMENT_LINES, RCV_TRANSACTIONS) support line-location context so that holds applied at the receipt or purchase-order line level can be described. AP_INVOICES_ALL provides INVOICE_NUM, AP_LOOKUP_CODES resolves lookup codes into DISPLAYED_FIELD values, FND_USER and the HR packages resolve user and location names, and FND_GLOBAL performs session-context lookups. Although the user search term was wf_status, no Oracle Workflow status column or attribute is documented within this view; the analogous status column here is STATUS_FLAG, which drives which holds are currently active.

Key Columns

  • ROW_ID — the ROWID of the underlying AP_HOLDS row, useful for locking or targeted DML.
  • INVOICE_ID / INVOICE_NUM — the invoice key and its human-readable number.
  • HOLD_LOOKUP_CODE / HOLD_NAME / HOLD_TYPE — the hold code, its displayed name from AP_LOOKUP_CODES, and its classification.
  • HOLD_REASON / HOLD_DATE / HELD_BY / HELD_BY_USER_NAME — why the hold was applied, when, by which internal user ID, and the resolved user name (including the NLS translation of the system user).
  • RELEASE_LOOKUP_CODE / RELEASE_NAME / RELEASE_REASON / RELEASE_BY_USER_NAME — release details when the hold has been released.
  • STATUS_FLAG — indicates whether the hold is active or released; this is the closest analogue to a workflow status.
  • USER_RELEASEABLE_FLAG, USER_UPDATEABLE_FLAG, POSTABLE_FLAG — hold-code policy flags controlling manual release and posting.
  • LINE_LOCATION_ID, ORG_ID, RESPONSIBILITY_ID — context for line-level holds and multi-organization security.
  • ATTRIBUTE_CATEGORY and ATTRIBUTE1–15 — descriptive flexfield values captured on the hold record.

Common Use Cases and Queries

Typical usage includes listing all active holds on an invoice, identifying holds that block payment, auditing who released a hold, and reporting system-applied versus user-applied holds. A basic listing for one invoice is:

  • SELECT invoice_num, hold_name, hold_reason, hold_date, held_by_user_name, status_flag FROM ap_holds_v WHERE invoice_num = :p_invoice_num AND status_flag = 'A';
  • SELECT hold_lookup_code, hold_name, COUNT(*) FROM ap_holds_v WHERE status_flag = 'A' GROUP BY hold_lookup_code, hold_name ORDER BY 3 DESC;
  • SELECT invoice_num, hold_name, held_by_user_name, hold_date FROM ap_holds_v WHERE status_flag = 'R' AND release_by_user_name IS NOT NULL;

Because the view is defined over APPS synonyms and performs scalar subqueries against AP_LOOKUP_CODES for NLS translation of the system user, queries should filter on indexed columns such as INVOICE_ID or ORG_ID when run at volume, and consumers should not attempt DML through the view. For release or application of holds, callers must use the supported Payables APIs against AP_HOLDS.