Search Results item_alloc_cum_atp




Overview

APPS.MSC_AATP_PVT is a private PL/SQL package body belonging to Oracle Advanced Supply Chain Planning (ASCP) and the broader E-Business Suite Advanced Planning foundation. Its central purpose is to support Available-to-Promise (ATP) and Allocated ATP (AATP) processing. It performs the demand consumption logic, allocation checks, and supply "stealing" calculations required to determine whether a requested quantity of an item can be committed against a given plan, organization, and date horizon.

The package operates against the MSC planning schema and reads from several MSC_* tables, which are populated during a plan run. It is classified as a private (PVT) package, meaning it is not considered a public or supported API for direct customer invocation. Instead it is called internally by other planning packages and by the ATP/AATP engine that resolves supply and demand allocations. The header reveals constants that map demand and supply types — such as sales order and forecast demand categories, manual demand, hard reservations, MDS indicators, and MPS compile sources — showing that the package distinguishes between many sources of demand when it nets availability.

Key Procedures and Functions

The package exposes eight documented procedures and functions:

  • ITEM_ALLOC_CUM_ATP — the object most directly relevant to the user's search term. It computes cumulative ATP for an item in the context of allocation, aggregating allocation quantities across the ATP periods so that availability can be evaluated against prior and subsequent allocations.
  • RES_ALLOC_CUM_ATP — the resource equivalent, computing cumulative ATP at the resource level, where capacity constraints rather than item supply govern availability.
  • SUPPLIER_ALLOC_CUM_ATP — computes cumulative ATP against supplier capacity, drawing on supplier capacity definitions to constrain promise dates.
  • ATP_DEMAND_CLASS_CONSUME — consumes demand of a specific demand class against supply, applying the demand-class prioritization rules in force.
  • ADD_TO_NEXT_STEAL_ATP — a helper for the "stealing" logic that determines how supply is redirected to satisfy a higher-priority demand at the expense of a lower-priority one.
  • STEALING — the procedure that governs supply reallocation between competing demand classes so that priority commitments can be honored.
  • GET_DC_INFO — retrieves demand class information used to drive the consumption and stealing decisions.
  • VIEW_ALLOCATION — returns or exposes allocation detail, typically for diagnostic or user-facing display purposes.

The body also contains private utilities such as Print_Period_Qty and move_SD_plsql_into_SD_temp, which stage ATP supply and demand data into MSC_ATP_SD_DETAILS_TEMP for processing.

Tables Accessed

The package reads and writes a defined set of MSC tables through the APPS synonyms:

Usage Notes

MSC_AATP_PVT is a private package and is referenced by six other packages within the planning schema. It is typically invoked indirectly during ATP and AATP processing from the planning engine and from allocation-related concurrent programs; it is not exposed on a form or standard user interface directly. Custom code should not call this package directly, because its behavior and signature are not part of the supported public API. Developers diagnosing cumulative ATP or "stealing" behavior, including ITEM_ALLOC_CUM_ATP, should trace the calling chain through the plan run and inspect MSC_ALLOCATIONS and MSC_ATP_SD_DETAILS_TEMP outputs rather than relying on direct package calls.