Search Results msc_scheduling_rules




Overview

The MSC_SCHEDULING_RULES table is a core configuration object within the Oracle Advanced Supply Chain Planning (ASCP) module of Oracle E-Business Suite, applicable to releases 12.1.1 and 12.2.2. It stores the scheduling rules that the planning engine and related scheduling processes use to sequence and schedule supply chain lines. Each row in the table defines a named rule, along with the associated package or heuristic logic that determines how lines are prioritized and ordered during plan generation and scheduling operations.

From a Data Vault modeling perspective, the heuristic classification derived from the foreign key structure identifies this object as a standalone entity, meaning it does not participate directly in parent-child link relationships with other tables through enforced foreign keys. It therefore behaves as an independent reference or lookup source. The primary key MSC_SCHEDULING_RULES_PK is a composite of SEQUENCE_NUMBER and RULE_ID, ensuring uniqueness for each rule definition within its sequence context.

Key Information Stored

The table contains 36 documented columns, several of which are essential to understanding how scheduling rules are defined and applied:

  • RULE_ID — Surrogate identifier for the scheduling rule; part of the composite primary key and a business-key candidate via unique index MSC_SCHEDULING_RULES_U1.
  • SEQUENCE_NUMBER — Ordering attribute within the composite primary key; controls rule sequencing.
  • MEANING — The user-facing name or display text of the rule; a business-key candidate via unique index MSC_SCHEDULING_RULES_U2.
  • DESCRIPTION — Longer textual explanation of the rule's purpose.
  • USER_DEFINED — Flag indicating whether the rule is custom or seeded by Oracle.
  • PACKAGE_NAME — Identifies the PL/SQL package implementing the rule logic when invoked.
  • ENABLED_FLAG — Indicates whether the rule is active and usable during planning.
  • DEFAULT_FLAG — Marks the rule as the default selection for its usage context.
  • USAGE_CODE — Distinguishes the domain or context in which the rule applies.
  • HEURISTIC_CODE — References a specific heuristic used for scheduling decisions.
  • ZD_EDITION_NAME — Editioning column supporting online patching and edition-based redefinition (EBR) across 12.2.x.
  • LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE, CREATED_BY — Standard audit columns tracking change history.
  • REQUEST_ID, PROGRAM_ID, PROGRAM_APPLICATION_ID, PROGRAM_UPDATE_DATE — Concurrency and program context for bulk loads or updates.
  • ATTRIBUTE_CATEGORY and ATTRIBUTE1–ATTRIBUTE15 — Descriptive flexfield (DFF) columns for customer-defined extensions.

Common Use Cases and Queries

Planners and technical teams query this table to inventory available scheduling rules, confirm which are enabled or designated as default, and trace which PL/SQL package handles a given rule. A typical reporting query retrieves active rules and their associated logic:

SELECT rule_id, meaning, package_name, heuristic_code, default_flag
FROM msc.msc_scheduling_rules
WHERE enabled_flag = 'Y'
AND zd_edition_name = 'SET1'
ORDER BY sequence_number;

Another common scenario identifies user-defined versus seeded rules for governance or migration analysis by filtering on USER_DEFINED. Because the table supports EBR, queries against a specific edition (ZD_EDITION_NAME) are essential to avoid duplicate or stale rows when running in a 12.2.x online-patching environment. Reporting teams also join the audit columns to trace who created or modified a rule and which concurrent program performed the load.

Related Objects

Although the mined relationship data classifies MSC_SCHEDULING_RULES as standalone, it is referenced contextually by other ASCP components. The most significant associated objects include:

  • MSC_SCHEDULING_RULES_PK — Primary key constraint on (SEQUENCE_NUMBER, RULE_ID).
  • MSC_SCHEDULING_RULES_U1 — Unique index on (RULE_ID, SEQUENCE_NUMBER, ZD_EDITION_NAME).
  • MSC_SCHEDULING_RULES_U2 — Unique index on (MEANING, SEQUENCE_NUMBER, ZD_EDITION_NAME).
  • MSC_PLANS / MSC_PLAN_ORGANIZATIONS — Planning entities whose runs consume scheduling rule definitions.
  • MSC_SYSTEM_ITEMS — Item-level scheduling attributes that interact with selected rules.
  • FND_LOOKUPS / FND_FLEX_VALUES — Sources for USAGE_CODE and attribute flexfield validation.
  • FND_CONCURRENT_PROGRAMS / FND_CONCURRENT_REQUESTS — Linked via PROGRAM_ID and REQUEST_ID for load traceability.
  • FND_USER — Resolves CREATED_BY and LAST_UPDATED_BY to user identities.

Together, these objects allow administrators and developers to manage, audit, and extend the scheduling logic applied throughout Oracle Advanced Supply Chain Planning.