PO_DISTRIBUTIONS_ALL
Product: POtransactionPO 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
Accounting grain — a schedule can split across several distributions, so joining schedules to distributions multiplies quantities
The only PO level carrying GL accounts (CODE_COMBINATION_ID plus budget/accrual/variance accounts) — spend-to-GL joins happen here. Project columns wear the PJC_ prefix (PJC_PROJECT_ID, not PROJECT_ID). REQ_DISTRIBUTION_ID is the system link back to the requisition.
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
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.PurchasingDocumentDistributionExtractPVOOTBI: Procurement - Purchasing Real Time
Purchasing Document Distributions data store — keyed on PoDistributionId.
Oracle data-store documentation (opens in new tab)
Fields
17 fields · 1 key
17 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | PO_DISTRIBUTION_ID | Surrogate key of the distribution | NUMBER | Key |
| 2 | LINE_LOCATION_ID | Parent schedule | NUMBER | |
| 3 | PO_LINE_ID | Parent line (denormalized) | NUMBER | |
| 4 | PO_HEADER_ID | Parent header (denormalized) | NUMBER | |
| 5 | DISTRIBUTION_NUM | Visible distribution number | NUMBER | |
| 6 | QUANTITY_ORDERED | Quantity allocated to this distribution | NUMBER | |
| 7 | QUANTITY_DELIVERED | Quantity delivered against it | NUMBER | |
| 8 | QUANTITY_BILLED | Quantity invoiced against it | NUMBER | |
| 9 | QUANTITY_CANCELLED | Quantity cancelled | NUMBER | |
| 10 | DESTINATION_TYPE_CODE | Inventory vs expense destination | VARCHAR2 | |
| 11 | DESTINATION_ORGANIZATION_ID | Final destination organization — resolves through the HR org master | NUMBER | |
| 12 | DESTINATION_SUBINVENTORY | Target subinventory for inventory destinations | VARCHAR2 | |
| 13 | DELIVER_TO_PERSON_ID | The requester the goods are delivered to | NUMBER | |
| 14 | CODE_COMBINATION_ID | GL charge account — the only PO level carrying GL accounts | NUMBER | |
| 15 | REQ_DISTRIBUTION_ID | Source requisition distribution — the system link back to the requisition | NUMBER | |
| 16 | PJC_PROJECT_ID | Project-costing project — note the PJC_ prefix | NUMBER | |
| 17 | RATE | Currency conversion rate | NUMBER |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading the BICC-landed copy of PO_DISTRIBUTIONS_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.
4 parameters not filled: <catalog>, <schema>, <PO_DISTRIBUTION_ID>, <watermark>
-- ============================================================
-- Table : PO_DISTRIBUTIONS_ALL — PO 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
-- Purpose: Column-selected read of PO_DISTRIBUTIONS_ALL — auto-generated from field metadata
-- Grain : One row per PO_DISTRIBUTION_ID
-- Caution: Accounting grain — a schedule can split across several distributions, so joining schedules to distributions multiplies quantities
-- 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_DISTRIBUTION_ID AS "Surrogate key of the distribution",
t.LINE_LOCATION_ID AS "Parent schedule",
t.PO_LINE_ID AS "Parent line (denormalized)",
t.PO_HEADER_ID AS "Parent header (denormalized)",
t.DISTRIBUTION_NUM AS "Visible distribution number",
t.QUANTITY_ORDERED AS "Quantity allocated to this distribution",
t.QUANTITY_DELIVERED AS "Quantity delivered against it",
t.QUANTITY_BILLED AS "Quantity invoiced against it",
t.QUANTITY_CANCELLED AS "Quantity cancelled",
t.DESTINATION_TYPE_CODE AS "Inventory vs expense destination",
t.DESTINATION_ORGANIZATION_ID AS "Final destination organization — resolves through the HR org master",
t.DESTINATION_SUBINVENTORY AS "Target subinventory for inventory destinations",
t.DELIVER_TO_PERSON_ID AS "The requester the goods are delivered to",
t.CODE_COMBINATION_ID AS "GL charge account — the only PO level carrying GL accounts",
t.REQ_DISTRIBUTION_ID AS "Source requisition distribution — the system link back to the requisition",
t.PJC_PROJECT_ID AS "Project-costing project — note the PJC_ prefix",
t.RATE AS "Currency conversion rate"
FROM <catalog>.<schema>.PO_DISTRIBUTIONS_ALL t
WHERE
1 = 1 -- no automatic partition anchor on this table; the filters below are optional
-- AND t.PO_DISTRIBUTION_ID = <PO_DISTRIBUTION_ID>
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- the column incremental BICC extracts key on
ORDER BY t.PO_DISTRIBUTION_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_DISTRIBUTIONS_ALL.LINE_LOCATION_ID = PO_LINE_LOCATIONS_ALL.LINE_LOCATION_IDON PO_DISTRIBUTIONS_ALL.CODE_COMBINATION_ID = GL_CODE_COMBINATIONS.CODE_COMBINATION_IDON PO_DISTRIBUTIONS_ALL.DESTINATION_ORGANIZATION_ID = HR_ALL_ORGANIZATION_UNITS_F.ORGANIZATION_ID AND CURRENT_DATE BETWEEN HR_ALL_ORGANIZATION_UNITS_F.EFFECTIVE_START_DATE AND HR_ALL_ORGANIZATION_UNITS_F.EFFECTIVE_END_DATE -- For outer joins, prefilter date-effective inputs (HR_ALL_ORGANIZATION_UNITS_F) in CTEs/subqueries. ON restricts matches but does not remove unmatched historical rows from preserved inputs.ON AP_INVOICE_LINES_ALL.PO_DISTRIBUTION_ID = PO_DISTRIBUTIONS_ALL.PO_DISTRIBUTION_IDON AP_INVOICE_DISTRIBUTIONS_ALL.PO_DISTRIBUTION_ID = PO_DISTRIBUTIONS_ALL.PO_DISTRIBUTION_ID
More Procurement tables
- 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
- 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