Search Results get_po_status




Overview

APPS.FV_PO_MASTER_V is a reporting and integration view in Oracle E-Business Suite (EBS) 12.1.1 and 12.2.2 that consolidates purchasing document information across headers, lines, line locations, and releases into a single flat structure. Its name, "FV_PO_MASTER_V," reflects its role as a master view for purchase order (PO) data, combining attributes typically required by external systems, custom reports, and interfaces that need a unified picture of purchasing activity without navigating the full relational model of the Purchasing module.

A distinctive feature of this view is that it does not store the purchase order status as a physical column. Instead, it derives the status dynamically by calling the PL/SQL function PO_HEADERS_SV3.GET_PO_STATUS(PH.PO_HEADER_ID), passing the PO header identifier. This is directly relevant to users who search for "get_po_status," because the view exposes that function's return value for every PO header row it returns. The view also filters out purchasing documents whose TYPE_LOOKUP_CODE is 'CONTRACT', ensuring that contracts are excluded from the result set. Because the status is computed at query time rather than persisted, results always reflect the current state of the document, though this introduces per-row function execution cost.

Underlying Base Objects

The view is defined over four base tables, joined through outer and inner joins, plus one PL/SQL package:

  • PO_HEADERS (SYNONYM) — joined to PO_LINES on PO_HEADER_ID; supplies header-level attributes.
  • PO_LINES (SYNONYM) — supplies line attributes and links to PO_LINE_LOCATIONS.
  • PO_LINE_LOCATIONS (SYNONYM) — outer-joined to PO_LINES on PO_LINE_ID, providing shipment-level detail.
  • PO_RELEASES (SYNONYM) — outer-joined to PO_LINE_LOCATIONS on PO_RELEASE_ID, supplying release information where applicable.
  • PO_HEADERS_SV3 (PACKAGE) — supplies the GET_PO_STATUS function used to derive header status.

The joins are: PH.PO_HEADER_ID = PL.PO_HEADER_ID, PLL.PO_LINE_ID(+) = PL.PO_LINE_ID, and PLL.PO_RELEASE_ID = PR.PO_RELEASE_ID(+). The outer joins ensure that lines without shipments, and line locations without releases, are still returned.

Key Columns

Common Use Cases and Queries

The view is commonly used in custom reports, data extracts, and integration feeds requiring combined header, line, shipment, and status data. Because status is derived via GET_PO_STATUS, queries can filter or report on status without joining to status history tables.

SELECT segment1, vendor_id, po_headers_sv3.get_po_status(po_header_id) status,
       line_num, shipment_num, quantity, quantity_received, quantity_billed
FROM   apps.fv_po_master_v
WHERE  org_id = :p_org_id
AND    cancel_flag = 'N';

A second frequent pattern retrieves open shipment quantities for receipt and reconciliation reporting:

SELECT segment1, line_num, shipment_num,
       (quantity - quantity_received) open_qty
FROM   apps.fv_po_master_v
WHERE  quantity_received < quantity
AND    type_lookup_code_filter IS NULL;

Note that contracts are excluded by definition, so contract-specific reporting must use other sources.