MSC_PLANS
Schema: MSCcontrolPer inventory orgThe ASCP plan registry — one row per plan with its user-visible name, owning org, type, planning horizon, and run timestamps; every plan-output query starts by picking a row here
COMPILE_DESIGNATOR is the plan name users see. Plan output tables are scoped by PLAN_ID — nothing in them means anything without choosing a plan first.
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
13 fields · 1 key
13 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | PLAN_ID | The plan id every plan-output row is scoped by | NUMBER | Primary-key field |
| 2 | COMPILE_DESIGNATOR | The plan name users see | VARCHAR2 | |
| 3 | SR_INSTANCE_ID | The collected source instance | NUMBER | |
| 4 | ORGANIZATION_ID | The org that owns the plan | NUMBER | |
| 5 | PLAN_TYPE | MRP, DRP, or MPS plan — numeric, names documented, codes not | NUMBER | |
| 6 | CURR_START_DATE | Start of the planning horizon | DATE | |
| 7 | CURR_CUTOFF_DATE | End of the planning horizon | DATE | |
| 8 | PLAN_START_DATE | When the plan run started | DATE | |
| 9 | PLAN_COMPLETION_DATE | When the plan run completed — the recency check | DATE | The table's primary analysis date — a real DATE column, no conversion needed |
| 10 | DATA_START_DATE | Snapshot start | DATE | |
| 11 | DATA_COMPLETION_DATE | Snapshot completion | DATE | |
| 12 | CURR_SCHEDULE_DESIGNATOR | The schedule the plan ran against | VARCHAR2 | |
| 13 | DEMAND_TIME_FENCE_FLAG | Whether the demand time fence was applied | NUMBER |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading MSC_PLANS 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>, <inventory_org_id>, <PLAN_ID>, <DATE_FROM>, <DATE_TO>, <watermark>
-- ============================================================
-- Table : MSC_PLANS — The ASCP plan registry — one row per plan with its user-visible name, owning org, type, planning horizon, and run timestamps; every plan-output query starts by picking a row here
-- Purpose: Column-selected read of MSC_PLANS — auto-generated from field metadata
-- Grain : One row per inventory org (ORGANIZATION_ID) + PLAN_ID
-- 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.PLAN_ID AS "The plan id every plan-output row is scoped by",
t.COMPILE_DESIGNATOR AS "The plan name users see",
t.SR_INSTANCE_ID AS "The collected source instance",
t.ORGANIZATION_ID AS "The org that owns the plan",
t.PLAN_TYPE AS "MRP, DRP, or MPS plan — numeric, names documented, codes not",
t.CURR_START_DATE AS "Start of the planning horizon",
t.CURR_CUTOFF_DATE AS "End of the planning horizon",
t.PLAN_START_DATE AS "When the plan run started",
t.PLAN_COMPLETION_DATE AS "When the plan run completed — the recency check",
t.DATA_START_DATE AS "Snapshot start",
t.DATA_COMPLETION_DATE AS "Snapshot completion",
t.CURR_SCHEDULE_DESIGNATOR AS "The schedule the plan ran against",
t.DEMAND_TIME_FENCE_FLAG AS "Whether the demand time fence was applied"
FROM <catalog>.<schema>.MSC_PLANS t
WHERE
t.ORGANIZATION_ID = <inventory_org_id> -- inventory org, NOT the operating unit — see quirks guide #two-orgs
-- AND t.PLAN_ID = <PLAN_ID>
-- AND t.PLAN_COMPLETION_DATE >= DATE '<DATE_FROM>'
-- AND t.PLAN_COMPLETION_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.PLAN_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 MSC_SUPPLIES.PLAN_ID = MSC_PLANS.PLAN_ID AND MSC_SUPPLIES.ORGANIZATION_ID = MSC_PLANS.ORGANIZATION_IDON MSC_DEMANDS.PLAN_ID = MSC_PLANS.PLAN_ID AND MSC_DEMANDS.ORGANIZATION_ID = MSC_PLANS.ORGANIZATION_ID
More Planning tables
- MSC_SUPPLIESEvery supply row in a plan — existing purchase orders, jobs, on-hand, and in-transit alongside the planner's recommended planned orders; the supply side of ASCP plan output
- MSC_SYSTEM_ITEMSThe planning copy of the item master at plan + instance + org + item grain — collected item attributes frozen per plan run, and the bridge column back to the source EBS item
- MRP_FORECAST_DATESThe forecast fact — one row per forecast entry per item, org, forecast name, and date, carrying both the entered quantity and the post-consumption remainder
- MRP_FORECAST_DESIGNATORSThe forecast name and forecast set master per organization — consumption behavior (consume flag, forward/backward time fences, outlier cap) lives at this level
- MRP_SCHEDULE_DATESMDS/MPS schedule entries — one row per entry per item, org, schedule name, and date, spanning discrete quantities and repetitive rates, demand rows and supply rows
- MRP_SCHEDULE_DESIGNATORSThe MDS/MPS schedule name master per organization — schedule type, relief behavior, and whether the schedule supplies ATP