Results for “msc_atp_debug”

50+ results




AI-generated from documented ETRM metadata — verify critical details on the linked pages.

Overview

MSC_ATP_CUSTOM is an Oracle Advanced Supply Chain Planning (ASCP) customization hook package owned by APPS. Its purpose is to provide a controlled extension point within the Available-to-Promise (ATP) calculation flow, allowing implementers to insert customer-specific logic without modifying Oracle's seeded ATP engine code. The package body is a deliberately skeletal template: Oracle supplies the procedure signatures, the debug infrastructure, and the exception scaffolding, while the body of each hook is left for the customer to populate. In Oracle EBS 12.1.1 and 12.2.2 the package is classified as API type OTHER, reflecting its role as a user-exit rather than a standalone callable API. The header comment ($Header: MSCATPCB.pls 120.2 2007/12/12) indicates the shipped version of the file and its last change date. Three other packages reference MSC_ATP_CUSTOM, confirming it is invoked from within the ATP processing chain rather than called directly by end users.

Key Procedures and Functions

Two documented procedures are defined in the package body.

  • CUSTOM_PRE_ALLOCATION – A pre-allocation hook intended to execute custom logic before ATP supply is allocated. The shipped body contains only a NULL placeholder inside a BEGIN/EXCEPTION block that swallows all errors, signalling that the procedure is inactive until the customer adds code. It receives the planning context via a plan identifier.
  • CUSTOM_POST_ATP_API – A post-processing hook that runs after the ATP engine has produced its results. Its documented parameters carry the ATP engine's output record as input, an output record for modified information, a modification flag (1 = information modified, 2 = no changes), and a return status consistent with FND_API conventions. The body initialises the return status to FND_API.G_RET_STS_SUCCESS and the modification flag to 2, then leaves the modification block empty, terminating through the standard exception handler that sets the return status to FND_API.G_RET_STS_ERROR.

Tables Accessed

The ETRM metadata records no tables referenced through APPS synonyms by this package. Its inputs and outputs are passed as PL/SQL record parameters typed against MRP_ATP_PUB.ATP_Rec_Typ rather than through direct table DML. Any persistent reads or writes that an implementer adds to the hook bodies are therefore customer-introduced, not part of the delivered package, and would normally target planning or ATP staging structures supplied by the calling engine.

Usage Notes

MSC_ATP_CUSTOM is not invoked from a form or concurrent program directly; it is called by the ATP engine and by the three dependent packages identified in the metadata. Implementers extend the NULL bodies with site-specific rules—for example, overriding ATP quantities, applying allocation constraints, or adjusting promised dates—and rely on the built-in modification flag to tell the caller whether the record was altered. The package includes a package-level variable, PG_DEBUG, initialised from the profile option MSC_ATP_DEBUG. When this profile is set to 'Y' or 'C', the procedures emit trace messages through msc_sch_wb.atp_debug on entry and exit of CUSTOM_POST_ATP_API. This profile option is the mechanism most closely associated with the search term "msc_atp_debug": setting MSC_ATP_DEBUG is the supported method for diagnosing whether the custom hook is firing and in what order relative to the ATP engine. The shipped exception handlers suppress errors silently, so this debug tracing is effectively the only built-in observability. Before enabling custom logic in production, the hooks should be tested with MSC_ATP_DEBUG enabled and with the calling packages' own debug facilities active, since failures inside the hooks return only a generic error status through x_return_status.