PO_LINES_ALL
Product: POtransactionBU-striped (PRC_BU_ID)Purchasing document lines — the item, category, unit price, and ordered quantity per line; the line quantity is the rollup of its schedules one level down
The item column is ITEM_ID and the table carries no inventory org — resolve the receiving org through the schedule's SHIP_TO_ORGANIZATION_ID before joining the item master. AMOUNT is populated only for service-type lines (goods use QUANTITY × UNIT_PRICE); agreement lineage rides FROM_HEADER_ID / FROM_LINE_ID.
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_LINES_ALL lines join back to their header PO_HEADERS_ALL — and the org column — so a line never fans out.
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.PurchasingDocumentLineExtractPVOOTBI: Procurement - Purchasing Real TimeOTBI: Procurement - Procure To Pay Real Time
Purchasing Document Lines data store — keyed on PoLineId; also carries agreement lines.
Oracle data-store documentation (opens in new tab)
Fields
18 fields · 1 key
18 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | PO_LINE_ID | Surrogate key of the line | NUMBER | Key |
| 2 | PO_HEADER_ID | Parent purchasing document header | NUMBER | |
| 3 | LINE_NUM | Visible line number | NUMBER | |
| 4 | ITEM_ID | Item on the line — no inventory org here; resolve it through the schedule's ship-to org | NUMBER | |
| 5 | ITEM_REVISION | Item revision | VARCHAR2 | |
| 6 | ITEM_DESCRIPTION | Line item description | VARCHAR2 | |
| 7 | CATEGORY_ID | Purchasing category | NUMBER | |
| 8 | QUANTITY | Ordered quantity — the rollup of the line's schedules | NUMBER | |
| 9 | UNIT_PRICE | Price per unit in document currency | NUMBER | |
| 10 | AMOUNT | Budget amount — populated only for service-type lines | NUMBER | |
| 11 | UOM_CODE | Unit of measure | VARCHAR2 | |
| 12 | LINE_TYPE_ID | Goods vs services line type | NUMBER | |
| 13 | LINE_STATUS | Line status | VARCHAR2 | |
| 14 | CLOSED_DATE | When the line was closed | DATE | |
| 15 | CANCEL_FLAG | Y when the line is cancelled | VARCHAR2 | |
| 16 | FROM_HEADER_ID | Source agreement/quotation header the line references | NUMBER | |
| 17 | FROM_LINE_ID | Source agreement/quotation line | NUMBER | |
| 18 | PRC_BU_ID | Procurement BU stripe, denormalized from the header | NUMBER |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading the BICC-landed copy of PO_LINES_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.
5 parameters not filled: <catalog>, <schema>, <PRC_BU_ID>, <PO_LINE_ID>, <watermark>
-- ============================================================
-- Table : PO_LINES_ALL — Purchasing document lines — the item, category, unit price, and ordered quantity per line; the line quantity is the rollup of its schedules one level down
-- Purpose: Column-selected read of PO_LINES_ALL — auto-generated from field metadata
-- Grain : One row per PO_LINE_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_LINE_ID AS "Surrogate key of the line",
t.PO_HEADER_ID AS "Parent purchasing document header",
t.LINE_NUM AS "Visible line number",
t.ITEM_ID AS "Item on the line — no inventory org here; resolve it through the schedule's ship-to org",
t.ITEM_REVISION AS "Item revision",
t.ITEM_DESCRIPTION AS "Line item description",
t.CATEGORY_ID AS "Purchasing category",
t.QUANTITY AS "Ordered quantity — the rollup of the line's schedules",
t.UNIT_PRICE AS "Price per unit in document currency",
t.AMOUNT AS "Budget amount — populated only for service-type lines",
t.UOM_CODE AS "Unit of measure",
t.LINE_TYPE_ID AS "Goods vs services line type",
t.LINE_STATUS AS "Line status",
t.CLOSED_DATE AS "When the line was closed",
t.CANCEL_FLAG AS "Y when the line is cancelled",
t.FROM_HEADER_ID AS "Source agreement/quotation header the line references",
t.FROM_LINE_ID AS "Source agreement/quotation line",
t.PRC_BU_ID AS "Procurement BU stripe, denormalized from the header"
FROM <catalog>.<schema>.PO_LINES_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_LINE_ID = <PO_LINE_ID>
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- the column incremental BICC extracts key on
ORDER BY t.PO_LINE_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_LINE_LOCATIONS_ALL.PO_LINE_ID = PO_LINES_ALL.PO_LINE_IDON PO_LINES_ALL.ITEM_ID = EGP_SYSTEM_ITEMS_B.INVENTORY_ITEM_IDON PO_LINES_ALL.CATEGORY_ID = EGP_CATEGORIES_B.CATEGORY_ID
More Procurement tables
- 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
- PO_DISTRIBUTIONS_ALLPO accounting distributions — how each schedule's quantity charges out: destination type and org, deliver-to, the GL charge account, project costing columns, and the requisition distribution it fulfills
- PO_HEADERS_ALLPurchasing 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