Search Results mrp_aatp_pvt




Overview

MRP_AATP_PVT is a private PL/SQL package in the Oracle E-Business Suite APPS schema that supports Available-to-Promise (ATP) and allocation processing within Oracle Advanced Supply Chain Planning. The package encapsulates the internal logic used to apply demand class allocation percentages, cumulative ATP calculations, and ATP "stealing" rules across items, resources, departments, and suppliers. It is declared with AUTHID CURRENT_USER and is treated as an internal (private) API, meaning it is not intended for direct invocation by external or customer-developed code; it is called by other planning engine routines that have been granted the appropriate privileges.

The package header carries the version identifier MRPAATPS.pls 115.12 (dated 2002/12/02), indicating it is a long-standing component of the planning code line that is still documented in ETRM 12.2.2. Its principal role is to determine how much ATP can be consumed by a given demand, how allocation percentages are derived from planning parameters, and how ATP is distributed or "stolen" across demand classes and allocation windows.

Key Procedures and Functions

ETRM 12.2.2 documents twelve entry points in this package:

  • ATP_DEMAND_CLASS_CONSUME — Consumes ATP for a current demand class, updating the current ATP and steal-ATP information structures.
  • ADD_TO_NEXT_STEAL_ATP — Accumulates ATP available for stealing into the next steal-ATP structure for a subsequent allocation window.
  • GET_ITEM_DEMAND_ALLOC_PERCENT — Returns the demand allocation percentage for an item, based on plan, demand, assembly, source organization, and related identifiers.
  • GET_DC_ALLOC_PERCENT — Returns the allocation percentage associated with a demand class for a given instance, item, organization, department, and resource.
  • GET_RES_DEMAND_ALLOC_PERCENT — Returns the resource-level demand allocation percentage based on demand date, assembly item, organization, department, and resource.
  • ITEM_ALLOC_CUM_ATP — Performs cumulative ATP allocation at the item level and returns resulting ATP info, period, and supply/demand structures.
  • RES_ALLOC_CUM_ATP — Performs cumulative ATP allocation at the resource level, parallel to the item-level routine.
  • SUPPLIER_ALLOC_CUM_ATP — Performs cumulative ATP allocation at the supplier level.
  • GET_DC_INFO — Retrieves demand class information used in allocation processing.
  • VIEW_ALLOCATION — Provides a view/read routine over allocation data, supporting inquiry by allocation context.
  • GET_HIERARCHY_DEMAND_CLASS — Resolves demand class hierarchy relationships, allowing allocation rules to be applied across parent/child demand classes.
  • GET_ALLOWED_STOLEN_PERCENT — Returns the permitted percentage of ATP that may be stolen from another demand class during consumption.

Tables Accessed

The ETRM excerpt does not enumerate the underlying base tables referenced by this package, and the package relies on APPS synonyms to reach planning and ATP data structures. Based on its function, the routines operate against ATP and allocation metadata such as planning parameters, demand class definitions, allocation percentage setup, and the ATP supply/demand and period structures defined in MRP_ATP_PVT and MRP_ATP_PUB. The package reads allocation setup and demand class hierarchy data and passes ATP information through the typed structures declared in the companion public package.

Usage Notes

MRP_AATP_PVT is an internal planning-engine package and is not exposed through standard Oracle EBS forms or concurrent programs for direct user execution; there are no published concurrent program or form invocations. ETRM reports that it is referenced by zero other packages, confirming its role as a leaf-level implementation module called from within the ATP/allocation processing stack. It is typically invoked during ATP checks, planning runs, and allocation consumption processing triggered by the planning engine, order management scheduling, or other internal callers that have received the necessary grants. Custom code should not call this package directly, because its interface is private, subject to change, and its signed (AUTHID CURRENT_USER) behavior requires careful privilege setup. The presence of "npms uat2" in a search context suggests the object may appear in environment-specific UAT diagnostics, where the package would surface through planning-related error stacks rather than direct user invocation.