Search Results mrp_bal_utils




Overview

MRP_BAL_UTILS is a PL/SQL utility package owned by the APPS schema in Oracle E-Business Suite releases 12.1.1 and 12.2.2. Its designation under the ETRM repository places it in the "OTHER" API classification, indicating that it is not a published, externally supported interface but rather an internal helper package used by Oracle's planning and available-to-promise infrastructure. The package name and its dependency graph — notably its relationship to MRP_ATP_PUB and MSC_BAL_UTILS — position it as a supporting component of the Material Requirements Planning and Advanced Supply Chain Planning (ASCP) balance-processing framework.

Functionally, MRP_BAL_UTILS supplies shared routines for manipulating planning balances, temporary staging data, and order records during planning and ATP (Available to Promise) calculations. It abstracts repetitive operations such as populating global temporary tables, converting or cancelling demand, scheduling orders, invoking Order Entry interfaces, executing dynamic database commands, and maintaining sequence values. Because these operations recur throughout the balance-calculation and ATP code paths, isolating them in a single utility package reduces duplication across the MRP and MSC schemas.

Key Procedures and Functions

The ETRM metadata documents eight named routines within the package. Parameter lists are not exposed in the repository and are deliberately omitted here to avoid speculation.

  • POPULATE_TEMP_TABLE — Populates a temporary (staging) table with the working set of rows required by a subsequent balance or planning calculation. This is the typical entry operation in a bulk-processing sequence.
  • UNDEMAND_ORDERS — Reverses or releases demand previously applied to orders, allowing balances to be recalculated after a plan change, cancellation, or rescheduling event.
  • SCHEDULE_ORDERS — Applies scheduling logic to order records, deriving or adjusting dates so that the orders align with the planning horizon and lead-time constraints.
  • CALL_OE_API — Invokes the Oracle Order Entry public APIs on behalf of the planning process. This bridges the planning engine to transactional order maintenance, ensuring that order changes are committed through supported interfaces rather than direct DML.
  • EXECUTE_COMMAND — Executes a command dynamically, providing a generic mechanism for running SQL or procedure calls constructed at runtime.
  • UPDATE_SEQ — Maintains sequence or counter values used by the package's processing, ensuring monotonically increasing identifiers for generated or staged records.
  • EXTEND — Extends a processing structure or staging set, supporting growth of the working data beyond its initial population. Together with POPULATE_TEMP_TABLE it forms the staging lifecycle used by callers.

Tables Accessed

The ETRM excerpt for MRP_BAL_UTILS does not enumerate the base tables reached through APPS synonyms; it records only package-to-package dependencies. It confirms that MRP_BAL_UTILS references APPS.MRP_ATP_PUB and the SYS.STANDARD package, and that it is referenced by MRP_BAL_UTILS itself (recursive or overloaded usage), MSC_BAL_UTILS appearing twice in the dependency list, and one further package. The absence of documented table references reflects the utility nature of the package: its data access is largely indirect, routed through MRP_ATP_PUB and the Order Entry APIs invoked by CALL_OE_API, plus whatever temp-table names POPULATE_TEMP_TABLE is directed to fill.

Usage Notes

MRP_BAL_UTILS is not intended for direct invocation by end users or customer extensions. It is an internal utility invoked by the planning and ATP engine, by MRP_ATP_PUB, and by MSC_BAL_UTILS within the ASCP schema. Calls originate from concurrent program execution (plan generation, ATP processing) and from other PL/SQL packages rather than from Oracle Forms. Its dependency on SYS.STANDARD and on dynamic command execution means the package is tightly coupled to the database version and should never be modified or replaced. Custom code should treat MRP_BAL_UTILS as read-only reference; where equivalent behavior is required in a customization, the supported public APIs (such as those in MRP_ATP_PUB or Order Entry) should be used instead.