PO_LINE_LOCATIONS_ALL
Schema: POtransactionOU-striped (ORG_ID)PO shipment schedules — one row per delivery schedule per line with need-by/promised dates and the running received/billed/cancelled quantity counters; blanket price-break rows share the table
Price-break rows share this table with real shipments (SHIPMENT_TYPE distinguishes them), and QUANTITY_RECEIVED/QUANTITY_BILLED are running totals, not events — filter the type and treat the counters as balances
SHIP_TO_ORGANIZATION_ID is the receiving inventory org — the org half of every item join from purchasing (see quirks #two-orgs). Open quantity is QUANTITY − QUANTITY_RECEIVED − QUANTITY_CANCELLED. Receipt events live in the receiving transaction ledger.
What the badges mean
- Schema: INV
- Schema: the Oracle product schema that owns the table (INV, ONT, WSH, PO, BOM, WIP, MRP, MSC, AR, AP, GL, HR, APPLSYS) — tells you which product family the object belongs to, not who can query it.
- master
- Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or an APPS-schema view.
- OU-striped (ORG_ID)
- Rows are scoped to an operating unit. A landed extract carries every operating unit’s rows — filter or join on
ORG_ID, and don’t confuse it withORGANIZATION_ID(see the quirks guide). - Per inventory org
- Rows are scoped to an inventory organization (plant or warehouse) via
ORGANIZATION_ID— a different partition from OU-striped tables (see the quirks guide). - 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 (see the quirks guide). - View
- This is an APPS-schema convenience view, not a physical table. Extract the base tables it joins instead — views can be slow at scale and aren't guaranteed stable across patches.
Structural facts — how the table is partitioned, not a trap by itself
Join & extract hazards — verify before you rely on this
Fields
17 fields · 1 key
17 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | LINE_LOCATION_ID | Surrogate key of the shipment schedule — what receiving and drop-ship rows point at | NUMBER | Primary-key field |
| 2 | PO_HEADER_ID | The document header (denormalized) | NUMBER | |
| 3 | PO_LINE_ID | The document line | NUMBER | |
| 4 | ORG_ID | Operating unit | NUMBER | |
| 5 | PO_RELEASE_ID | The blanket release that created this shipment — NULL on standard POs | NUMBER | |
| 6 | SHIPMENT_TYPE | Shipment vs blanket price break — price-break rows share this table; filter before summing | VARCHAR2 | |
| 7 | SHIPMENT_NUM | Shipment number within the line | NUMBER | |
| 8 | SHIP_TO_ORGANIZATION_ID | The receiving inventory org — the org half of purchasing's item joins (see quirks guide #two-orgs) | NUMBER | |
| 9 | QUANTITY | Ordered quantity on the shipment (or the break quantity on price-break rows) | NUMBER | |
| 10 | QUANTITY_RECEIVED | Running total received — a balance, not an event; events live in the receiving ledger | NUMBER | |
| 11 | QUANTITY_BILLED | Running total billed by payables matching | NUMBER | |
| 12 | QUANTITY_CANCELLED | Quantity cancelled off the shipment | NUMBER | |
| 13 | PRICE_OVERRIDE | Shipment-level price (or the break price on price-break rows) | NUMBER | |
| 14 | NEED_BY_DATE | When the org needs the goods — the demand-side analysis date | DATE | The table's primary analysis date — a real DATE column, no conversion needed |
| 15 | PROMISED_DATE | The supplier's committed date — the OTD denominator | DATE | |
| 16 | CLOSED_CODE | Shipment closure state | VARCHAR2 | |
| 17 | CANCEL_FLAG | Y when the shipment is cancelled | VARCHAR2 |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading PO_LINE_LOCATIONS_ALL on Databricks — real DATE columns need no conversion, and the org anchor is already in place. The optional LAST_UPDATE_DATE watermark is included. 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>, <operating_unit_id>, <LINE_LOCATION_ID>, <DATE_FROM>, <DATE_TO>, <watermark>
-- ============================================================
-- Table : PO_LINE_LOCATIONS_ALL — PO shipment schedules — one row per delivery schedule per line with need-by/promised dates and the running received/billed/cancelled quantity counters; blanket price-break rows share the table
-- Purpose: Column-selected read of PO_LINE_LOCATIONS_ALL — auto-generated from field metadata
-- Grain : One row per operating unit (ORG_ID) + LINE_LOCATION_ID
-- Caution: Price-break rows share this table with real shipments (SHIPMENT_TYPE distinguishes them), and QUANTITY_RECEIVED/QUANTITY_BILLED are running totals, not events — filter the type and treat the counters as balances
-- Notes : Auto-generated skeleton for Oracle EBS R12 data landed in your lakehouse. 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.LINE_LOCATION_ID AS "Surrogate key of the shipment schedule — what receiving and drop-ship rows point at",
t.PO_HEADER_ID AS "The document header (denormalized)",
t.PO_LINE_ID AS "The document line",
t.ORG_ID AS "Operating unit",
t.PO_RELEASE_ID AS "The blanket release that created this shipment — NULL on standard POs",
t.SHIPMENT_TYPE AS "Shipment vs blanket price break — price-break rows share this table; filter before summing",
t.SHIPMENT_NUM AS "Shipment number within the line",
t.SHIP_TO_ORGANIZATION_ID AS "The receiving inventory org — the org half of purchasing's item joins (see quirks guide #two-orgs)",
t.QUANTITY AS "Ordered quantity on the shipment (or the break quantity on price-break rows)",
t.QUANTITY_RECEIVED AS "Running total received — a balance, not an event; events live in the receiving ledger",
t.QUANTITY_BILLED AS "Running total billed by payables matching",
t.QUANTITY_CANCELLED AS "Quantity cancelled off the shipment",
t.PRICE_OVERRIDE AS "Shipment-level price (or the break price on price-break rows)",
t.NEED_BY_DATE AS "When the org needs the goods — the demand-side analysis date",
t.PROMISED_DATE AS "The supplier's committed date — the OTD denominator",
t.CLOSED_CODE AS "Shipment closure state",
t.CANCEL_FLAG AS "Y when the shipment is cancelled"
FROM <catalog>.<schema>.PO_LINE_LOCATIONS_ALL t
WHERE
t.ORG_ID = <operating_unit_id> -- operating unit (MOAC does not filter extracts)
-- AND t.LINE_LOCATION_ID = <LINE_LOCATION_ID>
-- AND t.NEED_BY_DATE >= DATE '<DATE_FROM>'
-- AND t.NEED_BY_DATE <= DATE '<DATE_TO>'
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- WHO watermark, bulk-stamped by batch jobs; see quirks guide #who-columns
ORDER BY t.LINE_LOCATION_ID;Verified September 2026
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 OE_DROP_SHIP_SOURCES.LINE_LOCATION_ID = PO_LINE_LOCATIONS_ALL.LINE_LOCATION_ID AND OE_DROP_SHIP_SOURCES.ORG_ID = PO_LINE_LOCATIONS_ALL.ORG_IDON PO_LINE_LOCATIONS_ALL.PO_LINE_ID = PO_LINES_ALL.PO_LINE_ID AND PO_LINE_LOCATIONS_ALL.ORG_ID = PO_LINES_ALL.ORG_IDON PO_LINE_LOCATIONS_ALL.PO_RELEASE_ID = PO_RELEASES_ALL.PO_RELEASE_ID AND PO_LINE_LOCATIONS_ALL.ORG_ID = PO_RELEASES_ALL.ORG_IDON PO_LINE_LOCATIONS_ALL.SHIP_TO_ORGANIZATION_ID = MTL_PARAMETERS.ORGANIZATION_IDON PO_DISTRIBUTIONS_ALL.LINE_LOCATION_ID = PO_LINE_LOCATIONS_ALL.LINE_LOCATION_ID AND PO_DISTRIBUTIONS_ALL.ORG_ID = PO_LINE_LOCATIONS_ALL.ORG_IDON PO_REQUISITION_LINES_ALL.LINE_LOCATION_ID = PO_LINE_LOCATIONS_ALL.LINE_LOCATION_ID AND PO_REQUISITION_LINES_ALL.ORG_ID = PO_LINE_LOCATIONS_ALL.ORG_IDON RCV_TRANSACTIONS.PO_LINE_LOCATION_ID = PO_LINE_LOCATIONS_ALL.LINE_LOCATION_IDON AP_INVOICE_LINES_ALL.PO_LINE_LOCATION_ID = PO_LINE_LOCATIONS_ALL.LINE_LOCATION_ID AND AP_INVOICE_LINES_ALL.ORG_ID = PO_LINE_LOCATIONS_ALL.ORG_ID
More Purchasing tables
- PO_LINES_ALLPurchasing document lines — the item, category, unit price, and ordered quantity per line across the same seven document types; shipment schedules and accounting live one and two levels down
- PO_RELEASES_ALLBlanket and planned PO releases — one row per release with its number, date, buyer, and approval status; the shipment schedules a release creates point back here
- PO_REQUISITION_HEADERS_ALLRequisition headers — the requisition number, preparer, type (purchase vs internal), and approval status; where demand enters purchasing before it becomes a PO
- PO_REQUISITION_LINES_ALLRequisition lines — item, quantity, price, need-by date, destination inventory org, and sourcing suggestion per line; carries the link to the PO shipment autocreate built from it
- PO_VENDORSThe compatibility view legacy purchasing queries know suppliers by — resolves to the supplier master joined to its trading-community party; kept for the name, not the extraction path
- AP_SUPPLIER_SITES_ALLSupplier sites — the purchasing/pay/RFQ site records per supplier, one row per site per operating unit, with the site code and control flags; where supplier data meets MOAC striping