PO_LINES_ALL
Product: POtransactionPurchasing 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
- master
- Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or a documented view.
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 →
Fields
18 fields · 1 key
| # | 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_ALLon 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.
-- ============================================================
-- 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
1 = 1 -- no partition column on this table; the filters below are optional
-- 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;4 parameters not filled: <catalog>, <schema>, <PO_LINE_ID>, <watermark>
Relationships
1-hop neighbors — click a table to navigate there. 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