WIP_OPERATIONS
Schema: WIPtransactionPer inventory orgOperations on a job or repetitive schedule — the shop-floor step sequence with department, live quantity counters per intraoperation step (queue, run, to-move, reject, scrap), and first/last-unit schedule dates
The quantity columns are live position counters, not history — summing them across extracts double-counts; the event history is the move transaction ledger
REPETITIVE_SCHEDULE_ID participates in the unique key and is NULL for discrete jobs — a job id alone is not a unique parent here.
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
Header & line
WIP_OPERATIONS lines join back to their header WIP_DISCRETE_JOBS — and the org column — so a line never fans out.
Fields
18 fields · 4 key
18 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | WIP_ENTITY_ID | The job or schedule | NUMBER | Primary-key field |
| 2 | OPERATION_SEQ_NUM | Operation sequence within the job's routing | NUMBER | Primary-key field |
| 3 | ORGANIZATION_ID | Inventory organization — part of the key | NUMBER | Primary-key field |
| 4 | REPETITIVE_SCHEDULE_ID | Repetitive schedule — NULL for discrete jobs, but part of the unique key | NUMBER | Primary-key field |
| 5 | OPERATION_SEQUENCE_ID | The BOM routing operation this one came from | NUMBER | |
| 6 | STANDARD_OPERATION_ID | The standard operation reference | NUMBER | |
| 7 | DEPARTMENT_ID | The department (work center) running the operation | NUMBER | |
| 8 | QUANTITY_IN_QUEUE | Units in the Queue step right now — a live counter, not history | NUMBER | |
| 9 | QUANTITY_RUNNING | Units in the Run step | NUMBER | |
| 10 | QUANTITY_WAITING_TO_MOVE | Units in the To Move step | NUMBER | |
| 11 | QUANTITY_REJECTED | Units in the Reject step | NUMBER | |
| 12 | QUANTITY_SCRAPPED | Units scrapped from the operation | NUMBER | |
| 13 | QUANTITY_COMPLETED | Units completed through the operation | NUMBER | |
| 14 | FIRST_UNIT_START_DATE | First unit's scheduled start — the schedule-side analysis date | DATE | The table's primary analysis date — a real DATE column, no conversion needed |
| 15 | LAST_UNIT_START_DATE | Last unit's scheduled start | DATE | |
| 16 | LAST_UNIT_COMPLETION_DATE | Last unit's scheduled completion | DATE | |
| 17 | DATE_LAST_MOVED | When a move last touched the operation — the activity-recency signal | DATE | |
| 18 | COUNT_POINT_TYPE | Count-point/autocharge behavior of the operation | NUMBER |
Field provenance: hand-curated. 4 key fields.
Boilerplate SQL
Starting point for reading WIP_OPERATIONS 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.
8 parameters not filled: <catalog>, <schema>, <inventory_org_id>, <WIP_ENTITY_ID>, <OPERATION_SEQ_NUM>, <DATE_FROM>, <DATE_TO>, <watermark>
-- ============================================================
-- Table : WIP_OPERATIONS — Operations on a job or repetitive schedule — the shop-floor step sequence with department, live quantity counters per intraoperation step (queue, run, to-move, reject, scrap), and first/last-unit schedule dates
-- Purpose: Column-selected read of WIP_OPERATIONS — auto-generated from field metadata
-- Grain : One row per inventory org (ORGANIZATION_ID) + WIP_ENTITY_ID + OPERATION_SEQ_NUM + REPETITIVE_SCHEDULE_ID
-- Caution: The quantity columns are live position counters, not history — summing them across extracts double-counts; the event history is the move transaction ledger
-- 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.WIP_ENTITY_ID AS "The job or schedule",
t.OPERATION_SEQ_NUM AS "Operation sequence within the job's routing",
t.ORGANIZATION_ID AS "Inventory organization — part of the key",
t.REPETITIVE_SCHEDULE_ID AS "Repetitive schedule — NULL for discrete jobs, but part of the unique key",
t.OPERATION_SEQUENCE_ID AS "The BOM routing operation this one came from",
t.STANDARD_OPERATION_ID AS "The standard operation reference",
t.DEPARTMENT_ID AS "The department (work center) running the operation",
t.QUANTITY_IN_QUEUE AS "Units in the Queue step right now — a live counter, not history",
t.QUANTITY_RUNNING AS "Units in the Run step",
t.QUANTITY_WAITING_TO_MOVE AS "Units in the To Move step",
t.QUANTITY_REJECTED AS "Units in the Reject step",
t.QUANTITY_SCRAPPED AS "Units scrapped from the operation",
t.QUANTITY_COMPLETED AS "Units completed through the operation",
t.FIRST_UNIT_START_DATE AS "First unit's scheduled start — the schedule-side analysis date",
t.LAST_UNIT_START_DATE AS "Last unit's scheduled start",
t.LAST_UNIT_COMPLETION_DATE AS "Last unit's scheduled completion",
t.DATE_LAST_MOVED AS "When a move last touched the operation — the activity-recency signal",
t.COUNT_POINT_TYPE AS "Count-point/autocharge behavior of the operation"
FROM <catalog>.<schema>.WIP_OPERATIONS t
WHERE
t.ORGANIZATION_ID = <inventory_org_id> -- inventory org, NOT the operating unit — see quirks guide #two-orgs
-- AND t.WIP_ENTITY_ID = <WIP_ENTITY_ID>
-- AND t.OPERATION_SEQ_NUM = <OPERATION_SEQ_NUM>
-- AND t.FIRST_UNIT_START_DATE >= DATE '<DATE_FROM>'
-- AND t.FIRST_UNIT_START_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.WIP_ENTITY_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 WIP_DISCRETE_JOBS.WIP_ENTITY_ID = WIP_OPERATIONS.WIP_ENTITY_ID AND WIP_DISCRETE_JOBS.ORGANIZATION_ID = WIP_OPERATIONS.ORGANIZATION_IDON WIP_OPERATIONS.DEPARTMENT_ID = BOM_DEPARTMENTS.DEPARTMENT_ID AND WIP_OPERATIONS.ORGANIZATION_ID = BOM_DEPARTMENTS.ORGANIZATION_ID
More Work in Process tables
- WIP_REQUIREMENT_OPERATIONSMaterial requirements per job and operation — the job's exploded BOM with required vs issued quantities, supply type, and the supply subinventory issues pull from
- WIP_TRANSACTIONSThe WIP resource ledger — one row per resource charge (labor, machine, outside processing) with operation, resource, rates, and the purchasing/receiving references that drive outside-processing charges
- WIP_ACCOUNTING_CLASSESThe WIP accounting class master per organization — class code, type, and the elemental valuation and variance accounts jobs charge through
- WIP_DISCRETE_JOBSDiscrete job detail — status, start/completed/scrapped quantities, scheduled vs actual dates, accounting class, and the BOM/routing the job was built from; the workhorse of job-level manufacturing analytics
- WIP_ENTITIESThe WIP identity registry — every discrete job, repetitive assembly, and flow schedule claims its id and unique name here before type-specific detail lands in child tables; the anchor outside references point at
- WIP_MOVE_TRANSACTIONSThe shop-floor move ledger — one row per move event with from/to operation and intraoperation step, quantity, and date; the throughput, cycle-time, and WIP-aging fact behind the operation counters