PO_HEADERS_ALL
Product: POtransactionBU-striped (PRC_BU_ID)Purchasing document headers — one row per purchase order or agreement (standard, blanket, contract), with supplier, buyer, currency, and the document status; striped by the procurement business unit
SEGMENT1 is the PO number — a naming collision with key flexfields, not a flexfield (Oracle's unique index PO_HEADERS_U2 makes it unique only with the document type plus the sold-to legal entity SOLDTO_LE_ID for STANDARD orders, or the procurement BU PRC_BU_ID for every other type - so the same number can repeat across legal entities and BUs; join on PO_HEADER_ID). The BU stripe is the NAMED column PRC_BU_ID (procurement BU), with REQ_BU_ID (requisitioning) and BILLTO_BU_ID alongside — no literal ORG_ID. Status is DOCUMENT_STATUS; there is no CLOSED_CODE.
What the badges mean
- Product: EGP
- Product: the Oracle product family that owns the object — the short code Oracle's Tables and Views documentation lists as the object owner. Fusion is SaaS, so this isn't a database schema; there's no SQL path to the tables at all (see the quirks guide).
- master
- Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or a documented view.
- BU-striped (ORG_ID)
- Rows are scoped to a business unit. The column is still named
ORG_ID, but in Fusion it means business unit, not the EBS operating unit — treat any migrated “operating unit” filter as suspect (see the quirks guide). - Per inventory org
- Rows are scoped to an inventory organization via
ORGANIZATION_ID— always pair it withINVENTORY_ITEM_IDon item-level joins (see the quirks guide). - Set / ledger / named-BU striped
- Some tables stripe by a named column instead of
ORG_ID: reference data set (SET_ID— see the quirks guide), ledger (LEDGER_IDon the GL journal tables), or a named business-unit column (PRC_BU_ID/REQ_BU_IDin procurement). The table page’s partition line names the column, and the generated SQL anchors on it — never treat these tables as unpartitioned. - Language-striped
- The table carries a
LANGUAGEcolumn (a _TL translation table or FND_LOOKUP_VALUES) — one row per language. Filter to oneLANGUAGEor a join multiplies rows. - Date-effective
- This is an
_Ftable — one row per entity per effectivity window, withEFFECTIVE_START_DATEandEFFECTIVE_END_DATEpart of the key. Join without a window filter and every fact multiplies by history (see the quirks guide). - View
- This is a documented convenience view, not a physical table. Extract through the BICC data store that fronts its base objects instead of assuming the view lands as-is.
Structural facts — how the table is partitioned, not a trap by itself
Join & extract hazards — verify before you rely on this
Header & line
PO_HEADERS_ALL is the header for its lines in PO_LINES_ALL.
Extract access
The delivered surfaces that reach this table — the BICC extract data store (PVO) for bulk extraction and the OTBI subject areas for real-time queries. There is no SQL path to the SaaS database.
- FscmTopModelAM.PrcExtractAM.PoBiccExtractAM.PurchasingDocumentHeaderExtractPVOOTBI: Procurement - Purchasing Real TimeOTBI: Procurement - Procure To Pay Real Time
Purchasing Document Headers data store — keyed on PoHeaderId; covers purchase orders AND agreements in one store. From the Procurement extract book (oadpr).
Oracle data-store documentation (opens in new tab)
Fields
18 fields · 1 key
18 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | PO_HEADER_ID | Surrogate key of the purchasing document | NUMBER | Key |
| 2 | SEGMENT1 | The visible PO number — a naming collision with flexfields, unique only with the document type plus SOLDTO_LE_ID (standard orders) or PRC_BU_ID (all other types), per Oracle's PO_HEADERS_U2 index; join on PO_HEADER_ID | VARCHAR2 | |
| 3 | PRC_BU_ID | Procurement business unit that owns the document — Fusion's named BU stripe | NUMBER | |
| 4 | REQ_BU_ID | Requisitioning business unit the order was raised for | NUMBER | |
| 5 | SOLDTO_LE_ID | Sold-to legal entity | NUMBER | |
| 6 | BILLTO_BU_ID | Bill-to business unit — note the spelling, no underscore in BILLTO | NUMBER | |
| 7 | TYPE_LOOKUP_CODE | Document type (standard, blanket, contract…) | VARCHAR2 | |
| 8 | DOCUMENT_STATUS | Header-level document status — there is no CLOSED_CODE in Fusion | VARCHAR2 | |
| 9 | VENDOR_ID | Supplier on the document | NUMBER | |
| 10 | VENDOR_SITE_ID | Supplier site the document is placed against | NUMBER | |
| 11 | AGENT_ID | Buyer on the document | NUMBER | |
| 12 | CURRENCY_CODE | Document currency | VARCHAR2 | |
| 13 | RATE | Currency conversion rate | NUMBER | |
| 14 | APPROVED_FLAG | Y when the current revision is approved | VARCHAR2 | |
| 15 | APPROVED_DATE | Last approval date | DATE | Filter date |
| 16 | CLOSED_DATE | Date the document was closed | DATE | |
| 17 | CANCEL_FLAG | Y when the document is cancelled | VARCHAR2 | |
| 18 | REVISION_NUM | Document revision counter | NUMBER |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading the BICC-landed copy of PO_HEADERS_ALL on Databricks — real DATE columns need no conversion, and the org anchor and the LAST_UPDATE_DATE watermark (the column incremental BICC extracts key on) are already in place. Set your Unity Catalog location, schema, and org values below; they’re substituted into the SQL and the copy button.
7 parameters not filled: <catalog>, <schema>, <PRC_BU_ID>, <PO_HEADER_ID>, <DATE_FROM>, <DATE_TO>, <watermark>
-- ============================================================
-- Table : PO_HEADERS_ALL — Purchasing document headers — one row per purchase order or agreement (standard, blanket, contract), with supplier, buyer, currency, and the document status; striped by the procurement business unit
-- Purpose: Column-selected read of PO_HEADERS_ALL — auto-generated from field metadata
-- Grain : One row per PO_HEADER_ID
-- Notes : Auto-generated skeleton for Oracle Fusion Cloud data landed in your lakehouse by a BICC extract — there is no SQL path to the SaaS database. Column names follow Oracle's table documentation — if your landed data still carries PVO attribute headers, map names first; see quirks #pvo-drift. Dates are real DATE/TIMESTAMP columns — no conversion needed. WHO audit columns omitted (see the quirks guide); the optional LAST_UPDATE_DATE watermark filter supports incremental extracts.
-- ============================================================
SELECT
t.PO_HEADER_ID AS "Surrogate key of the purchasing document",
t.SEGMENT1 AS "The visible PO number — a naming collision with flexfields, unique only with the document type plus SOLDTO_LE_ID (standard orders) or PRC_BU_ID (all other types), per Oracle's PO_HEADERS_U2 index; join on PO_HEADER_ID",
t.PRC_BU_ID AS "Procurement business unit that owns the document — Fusion's named BU stripe",
t.REQ_BU_ID AS "Requisitioning business unit the order was raised for",
t.SOLDTO_LE_ID AS "Sold-to legal entity",
t.BILLTO_BU_ID AS "Bill-to business unit — note the spelling, no underscore in BILLTO",
t.TYPE_LOOKUP_CODE AS "Document type (standard, blanket, contract…)",
t.DOCUMENT_STATUS AS "Header-level document status — there is no CLOSED_CODE in Fusion",
t.VENDOR_ID AS "Supplier on the document",
t.VENDOR_SITE_ID AS "Supplier site the document is placed against",
t.AGENT_ID AS "Buyer on the document",
t.CURRENCY_CODE AS "Document currency",
t.RATE AS "Currency conversion rate",
t.APPROVED_FLAG AS "Y when the current revision is approved",
t.APPROVED_DATE AS "Last approval date",
t.CLOSED_DATE AS "Date the document was closed",
t.CANCEL_FLAG AS "Y when the document is cancelled",
t.REVISION_NUM AS "Document revision counter"
FROM <catalog>.<schema>.PO_HEADERS_ALL t
WHERE
t.PRC_BU_ID = <PRC_BU_ID> -- business unit — this table stripes by a NAMED BU column, not ORG_ID; see quirks guide #all-means-bu
-- AND t.PO_HEADER_ID = <PO_HEADER_ID>
-- AND t.APPROVED_DATE >= DATE '<DATE_FROM>'
-- AND t.APPROVED_DATE <= DATE '<DATE_TO>'
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- the column incremental BICC extracts key on
ORDER BY t.PO_HEADER_ID;Verified September 2026 · docs release 26C
Column names differ in BICC extracts — see PVO header drift.
Relationships
Diagram of 1-hop neighbors — join details below. FND lookup decode and translation edges are highlighted; they’re the joins newcomers most often get wrong.
Join details
ON PO_HEADERS_ALL.PO_HEADER_ID = PO_LINES_ALL.PO_HEADER_IDON PO_HEADERS_ALL.VENDOR_ID = POZ_SUPPLIERS.VENDOR_IDON PO_HEADERS_ALL.VENDOR_SITE_ID = POZ_SUPPLIER_SITES_ALL_M.VENDOR_SITE_IDON PO_HEADERS_ALL.PRC_BU_ID = FUN_ALL_BUSINESS_UNITS_V.BU_IDON POR_REQUISITION_LINES_ALL.PO_HEADER_ID = PO_HEADERS_ALL.PO_HEADER_IDON AP_INVOICE_LINES_ALL.PO_HEADER_ID = PO_HEADERS_ALL.PO_HEADER_ID
More Procurement tables
- PO_LINE_LOCATIONS_ALLPO schedules — one row per shipment schedule (or blanket price break) with need-by/promised dates and the system-maintained received/accepted/rejected/billed quantity buckets; the workhorse grain for open-PO analytics
- PO_LINES_ALLPurchasing document lines — the item, category, unit price, and ordered quantity per line; the line quantity is the rollup of its schedules one level down
- POR_REQUISITION_HEADERS_ALLRequisition headers — the requisition number, preparer, status, and justification; where demand enters procurement before it becomes a purchase order
- POR_REQUISITION_LINES_ALLRequisition lines — item, quantity, price, need-by date, destination org, and suggested supplier per line; carries the keys of the resulting PO header, line, and schedule once sourced
- POZ_SUPPLIER_SITES_ALL_MSupplier sites — the transactable endpoints purchase orders and payments point at, one row per supplier address per procurement business unit, with purchasing/pay/RFQ purpose flags and payment defaults
- POZ_SUPPLIERSThe supplier master — one row per supplier with the supplier number, type, business relationship level, and tax attributes, backed by the trading community architecture through its party id