DOO_HOLD_INSTANCES
Product: DOOtransactionHold instances — one row per hold applied to an orchestration order, order line, or fulfillment line, with who applied and released it and when; the "why isn't this line shipping" table
The parent pointers are prefixed DOO_ here — DOO_HEADER_ID and DOO_LINE_ID, unlike every sibling table — plus FULFILL_LINE_ID; which one is populated depends on the level the hold targets. Active holds are ACTIVE_FLAG = 'Y' with RELEASE_DATE null; released holds remain as history. Hold definitions live in DOO_HOLD_CODES_B (not yet cataloged).
What the badges mean
- master
- Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or a documented view.
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.ScmExtractAM.DooBiccExtractAM.HoldInstanceExtractPVOOTBI: Order Management - Order Holds Real Time
Hold Instances data store — keyed on HoldInstanceHoldInstanceId, mirroring HOLD_INSTANCE_ID. Hold-code definitions ride the companion HoldCodeExtractPVO / HoldCodeTLExtractPVO stores.
Oracle data-store documentation →
Fields
13 fields · 1 key
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | HOLD_INSTANCE_ID | Surrogate key of the hold instance | NUMBER | Key |
| 2 | HOLD_CODE_ID | The hold-code definition this instance applies | NUMBER | |
| 3 | DOO_HEADER_ID | Order header the hold targets — note the DOO_ prefix, unlike sibling tables | NUMBER | |
| 4 | DOO_LINE_ID | Order line the hold targets | NUMBER | |
| 5 | FULFILL_LINE_ID | Fulfillment line the hold targets | NUMBER | |
| 6 | ACTIVE_FLAG | Whether the hold is currently active — released holds remain as history | VARCHAR2 | |
| 7 | APPLY_DATE | When the hold was placed | DATE | Filter date |
| 8 | RELEASE_DATE | When the hold was released — NULL while active | DATE | |
| 9 | APPLY_USER_ID | User who requested the hold | VARCHAR2 | |
| 10 | RELEASE_USER_ID | User who released the hold | VARCHAR2 | |
| 11 | APPLY_SYSTEM | System that requested the hold | VARCHAR2 | |
| 12 | HOLD_RELEASE_REASON_CODE | Reason code recorded at release | VARCHAR2 | |
| 13 | HOLD_COMMENTS | Comments entered when applying the hold | VARCHAR2 |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading the BICC-landed copy of DOO_HOLD_INSTANCESon 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 : DOO_HOLD_INSTANCES — Hold instances — one row per hold applied to an orchestration order, order line, or fulfillment line, with who applied and released it and when; the "why isn't this line shipping" table
-- Purpose: Column-selected read of DOO_HOLD_INSTANCES — auto-generated from field metadata
-- Grain : One row per HOLD_INSTANCE_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.HOLD_INSTANCE_ID AS "Surrogate key of the hold instance",
t.HOLD_CODE_ID AS "The hold-code definition this instance applies",
t.DOO_HEADER_ID AS "Order header the hold targets — note the DOO_ prefix, unlike sibling tables",
t.DOO_LINE_ID AS "Order line the hold targets",
t.FULFILL_LINE_ID AS "Fulfillment line the hold targets",
t.ACTIVE_FLAG AS "Whether the hold is currently active — released holds remain as history",
t.APPLY_DATE AS "When the hold was placed",
t.RELEASE_DATE AS "When the hold was released — NULL while active",
t.APPLY_USER_ID AS "User who requested the hold",
t.RELEASE_USER_ID AS "User who released the hold",
t.APPLY_SYSTEM AS "System that requested the hold",
t.HOLD_RELEASE_REASON_CODE AS "Reason code recorded at release",
t.HOLD_COMMENTS AS "Comments entered when applying the hold"
FROM <catalog>.<schema>.DOO_HOLD_INSTANCES t
WHERE
1 = 1 -- no partition column on this table; the filters below are optional
-- AND t.HOLD_INSTANCE_ID = <HOLD_INSTANCE_ID>
-- AND t.APPLY_DATE >= DATE '<DATE_FROM>'
-- AND t.APPLY_DATE <= DATE '<DATE_TO>'
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- the column incremental BICC extracts key on
ORDER BY t.HOLD_INSTANCE_ID;6 parameters not filled: <catalog>, <schema>, <HOLD_INSTANCE_ID>, <DATE_FROM>, <DATE_TO>, <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 DOO_HOLD_INSTANCES.DOO_HEADER_ID = DOO_HEADERS_ALL.HEADER_IDON DOO_HOLD_INSTANCES.DOO_LINE_ID = DOO_LINES_ALL.LINE_IDON DOO_HOLD_INSTANCES.FULFILL_LINE_ID = DOO_FULFILL_LINES_ALL.FULFILL_LINE_ID