Search Results inv_ctp




Overview

APPS.MSC_ATP_PVT is a private PL/SQL package within the Oracle E-Business Suite Advanced Supply Chain Planning (ASCP) module. It provides the internal engine for Available-to-Promise (ATP) processing, supporting both ATP inquiries and ATP-based scheduling of sales orders against planned supply. The package is classified as PVT, meaning its procedures are not published as a formal public API and are intended for internal consumption by other MSC (Supply Chain Management) components within the planning schema.

In the context of a user search for "inv_ctp," this package is relevant because ATP functionality underpins order promising and available-to-promise logic, which is closely aligned with inventory-on-hand and supply commitment checks (the "inv" and "ctp" concepts — inventory and capable-to-promise). The package header defines key constants such as INFINITE_NUMBER (used to represent unbounded supply), SL_STEALING (single-level pegging/stealing indicator), and the ATP order type constant. It also declares two composite record types — REMOVE_REQUEST_LEVEL_REC and DELETE_ATP_REC — used to pass collections of pegging, plan, demand, and supply identifiers between procedures at request scope, which supports the batch-oriented nature of ATP processing.

Key Procedures and Functions

The package exposes seven documented procedures and functions, each serving a specific role in ATP and scheduling workflows:

  • SCHEDULE — Drives the core scheduling logic, applying ATP rules to determine feasible supply dates for demand.
  • ATP_CHECK — Performs the availability check against supply and demand, returning promise information.
  • CALL_SCHEDULE — Invokes the scheduling process locally, coordinating temporary schedule data.
  • CALL_SCHEDULE_REMOTE — The distributed counterpart to CALL_SCHEDULE, used when scheduling must be executed against a remote instance.
  • PROCESS_TIME_STAMP_ERRORS — Handles and reports timestamp-related exceptions that arise during ATP or scheduling runs.
  • GET_SEQ_NUM — Retrieves sequence numbers, likely used to generate identifiers for temporary ATP/schedule rows.
  • GET_DATE_FROM_SEQNUM — Derives a date value from a sequence number, supporting time-phased processing of ATP results.

Tables Accessed

The package interacts with a focused set of ASCP and ATP tables through APPS synonyms. Temporary and staging tables include MRP_ATP_DETAILS_TEMP, MRP_ATP_SCHEDULE_TEMP, MSC_ATP_SRC_PROFILE_TEMP, and MSC_ATP_SUMMARY_SD, which hold intermediate ATP results and source profile data. Core ATP data resides in MSC_ATP_PEGGING, MSC_ATP_RULES, MSC_DEMANDS, and MSC_ALLOC_DEMANDS. Instance and configuration context is drawn from MSC_APPS_INSTANCES, MSC_APPS_INSTANCE_NODES, and MSC_ASSIGNMENT_SETS. Supporting reference data is read from MSC_CALENDAR_DATES, MSC_ITEM_SUPPLIERS, and MSC_DESIGNATORS.

Usage Notes

MSC_ATP_PVT is invoked internally rather than directly by end users. It is referenced by 22 other packages in the ETRM 12.1.1 and 12.2.2 environments, indicating a central role in the ATP call chain. Typical invocation occurs through ATP inquiry screens, order scheduling concurrent programs, and higher-level planning routines that need to evaluate supply commitments. Custom extensions should avoid calling private procedures directly; instead, developers should rely on published APIs such as MRP_ATP_PUB, which the package internally references through its record type definitions.