Search Results get_schedule_temp_rows




Overview

MSC_ATPUI_UTIL is a utility package body owned by the APPS schema in Oracle E-Business Suite 12.1.1 and 12.2.2. Its classification within the ETRM metadata is UTIL, indicating that it provides supporting PL/SQL logic rather than representing a public business API. The package serves the Available-to-Promise (ATP) user interface layer within Oracle Advanced Supply Chain Planning and related ATP processing. Its central role is to stage and manage transient ATP data — schedule rows and detail rows — in temporary tables so that ATP inquiry screens and concurrent processes can retrieve and present supply-and-demand availability information efficiently. Rather than performing the ATP calculation itself, MSC_ATPUI_UTIL acts as a data preparation and retrieval helper, moving intermediate results between the ATP engine results and the temporary structures consumed by the UI.

Key Procedures and Functions

The package body exposes five documented procedures and functions, all related to temporary-table population and retrieval:

  • POPULATE_SCHEDULE_TEMP_TABLE — Loads schedule-level ATP data into the schedule temporary table, preparing the rows required for schedule-oriented ATP display.
  • GET_SCHEDULE_TEMP_ROWS — Retrieves the schedule rows previously staged in the temporary table, returning them to the calling UI or process.
  • POPULATE_DETAILS_TEMP_TABLE — Populates the details temporary table with the finer-grained ATP detail records associated with the schedule results.
  • GET_DETAILS_TEMP_ROWS — Fetches the staged detail rows for presentation or downstream processing.
  • POPULATE_MRP_ATP_TEMP_TABLES — A wrapper routine that drives population of the MRP/ATP temporary tables, orchestrating the staging activity across the schedule and detail structures.

Each routine follows a populate/retrieve pattern: data is written into temporary storage by a populate routine and subsequently read back through the corresponding get routine.

Tables Accessed

According to the documented dependency information, MSC_ATPUI_UTIL references the following objects through APPS synonyms:

  • MRP_ATP_SCHEDULE_TEMP — The temporary table holding schedule-level ATP results staged by POPULATE_SCHEDULE_TEMP_TABLE and read by GET_SCHEDULE_TEMP_ROWS.
  • MRP_ATP_DETAILS_TEMP — The temporary table holding detail-level ATP results staged by POPULATE_DETAILS_TEMP_TABLE and read by GET_DETAILS_TEMP_ROWS.
  • PLITBLM — A standard Oracle-supplied PL/SQL table (index-by table) type used internally, notably referenced by package bodies that rely on DBMS_SQL or dynamic array handling.

The package also references the SYS.STANDARD package, which is intrinsic to PL/SQL. Because these are temporary tables, data staged here is session-scoped and does not persist beyond the ATP inquiry or process cycle. The metadata records no database objects referencing MSC_ATPUI_UTIL, while noting that it is referenced by one other package, indicating it is a leaf-level utility consumed within the ATP UI code path.

Usage Notes

MSC_ATPUI_UTIL is an internal utility and is not intended as a supported public API. It is typically invoked indirectly by the ATP inquiry forms or by higher-level ATP processes that require the schedule and detail temporary tables to be populated before results are rendered. The package runs under the APPS schema and relies on APPS synonyms to reach the MRP_ATP_SCHEDULE_TEMP and MRP_ATP_DETAILS_TEMP tables. In 12.2.2, Online Patching and editioning considerations apply in the same manner as to other APPS-owned package bodies: the object is compiled and stored as an editioned object, so custom code should never depend directly on its internals. Because it is referenced by another package rather than being referenced by any database object itself, changes to its behavior should be evaluated through that single dependent consumer. Customizations that need ATP schedule or detail data should prefer documented ATP APIs and views rather than calling these populate/get routines directly, since the temporary table contents are transient and scoped to the invoking session.