Search Results undo_delete_row
Overview
MSC_ATP_DB_UTILS is an Oracle Advanced Supply Chain Planning (ASCP) database utility package owned by the APPS schema. It provides the low-level persistence layer for Available-to-Promise (ATP) processing within Oracle E-Business Suite 12.1.1 and 12.2.2. The package mediates between the in-memory ATP computation logic implemented in MRP_ATP_PVT and the physical planning tables stored in the MSC schema, allowing the planning engine and ATP server to create, modify, and remove demand, supply, pegging, and summary records during a planning or ATP check run.
The header comment references a series of historical bug fixes (including 3766179, 3241766, 2788302, and 4127630), which reflects the package's long-standing role in supporting ship-and-receipt calendar calculations, intransit lead time handling, and planned order firming within the ATP subsystem. It is classified as OTHER in the ETRM metadata, meaning it is not part of the public Open Interface or API family but an internal utility invoked by higher-level ATP packages.
Key Procedures and Functions
The package exposes 29 documented procedures grouped by functional area:
- Demand and Pegging Management: ADD_MAT_DEMAND, ADD_RESOURCE_DEMAND, ADD_PEGGING, UPDATE_PEGGING, DELETE_PEGGING, DELETE_COPY_DEMAND, and ADD_PLANNED_ORDER, UPDATE_PLANNED_ORDER create and maintain demand records, resource requirements, planned orders, and pegging chains used to trace supply-demand relationships.
- Supply-Demand Temp Table Maintenance: ADD_STEALING_SUPPLY_DETAILS, MOVE_SD_TEMP_INTO_MRP_DETAILS, CLEAR_SD_DETAILS_TEMP, UPDATE_SD_DATE, REMOVE_INVALID_SD_REC, and REMOVE_INVALID_FUTURE_SD handle manipulation of the ATP supply-demand temporary staging table before final commit into the MRP details structure.
- Summary Table Operations: INSERT_SUMMARY_SD_ROW, DELETE_SUMMARY_ROW, UPDATE_PLAN_SUMMARY_ROW, and UNDO_PLAN_SUMMARY_ROW manage the MSC_ATP_SUMMARY_SD and MSC_ATP_SUMMARY_SO summary tables used for high-level ATP reporting and availability aggregation.
- Generic Row Utilities: DELETE_ROW and UNDO_DELETE_ROW provide soft-delete and rollback support across the temporary tables.
The package defines several constants (SYS_YES, SYS_NO, REQUEST_MODE, RESULTS_MODE) and the Supply_Rec_Typ record type used to pass supply records, including fields for supplier, ship/receiving/intransit calendars, transaction IDs, and disposition status.
Tables Accessed
The package reads and writes several core ASCP tables through APPS synonyms. MRP_ATP_DETAILS_TEMP and MSC_ATP_SD_DETAILS_TEMP hold transient supply-demand records during ATP computation. MSC_ALLOC_DEMANDS and MSC_ALLOC_SUPPLIES store allocation records for pegging and supply-stealing logic. MSC_DEMANDS and MSC_DEMANDS_S are the primary demand tables, while MSC_FULL_PEGGING_S holds the full pegging records. MSC_PLANS, MSC_APPS_INSTANCES, and FND_PRODUCT_INSTALLATIONS supply plan and instance context. MSC_ATP_RULES stores ATP rule definitions. MSC_CALENDAR_DATES is read for ship, receiving, and intransit calendar calculations. MSC_ATP_SUMMARY_SD and MSC_ATP_SUMMARY_SO provide summarized ATP availability. MSC_RESOURCE_REQUIREMENTS supports resource-level demand creation.
Usage Notes
MSC_ATP_DB_UTILS is not invoked directly by end users. It is called programmatically from within the Oracle Advanced Planning product family, principally from MRP_ATP_PVT and related ATP processing packages. The ETRM metadata identifies six packages that reference it, confirming its role as an internal service module. It is typically executed in the context of:
- On-line ATP checks initiated from Order Management or Configurator forms, where the ATP server calls into MRP_ATP_PVT, which in turn invokes these utilities to stage demand and pegging data.
- Concurrent planning runs (for example, Memory-based Planning or Constraint-based Planning) that compute ATP and need to persist temporary supply-demand records.
- Custom extensions that need to manipulate ATP staging tables, though Oracle does not document these procedures as public APIs and direct calls are unsupported.
Because the package operates on temporary and summary tables shared with the broader ASCP engine, custom code should never invoke its procedures directly; any change to its behavior is delivered only through Oracle patches referenced in the package header revision line.
-
APPS.MSC_ATP_DB_UTILS SQL Statements
12.1.1
-
APPS.MSC_ATP_DB_UTILS SQL Statements
12.2.2
-
APPS.MSC_ATP_PVT SQL Statements
12.1.1
-
APPS.MSC_ATP_PVT SQL Statements
12.2.2
-
PACKAGE: APPS.MSC_ATP_DB_UTILS
12.1.1
-
PACKAGE: APPS.MSC_ATP_DB_UTILS
12.2.2
-
PACKAGE BODY: APPS.MSC_ATP_DB_UTILS
12.1.1
-
PACKAGE BODY: APPS.MSC_ATP_DB_UTILS
12.2.2
-
APPS.MSC_ATP_DB_UTILS dependencies on FND_MSG_PUB
12.2.2
-
APPS.MSC_ATP_DB_UTILS dependencies on FND_MSG_PUB
12.1.1
-
APPS.MSC_ATP_PVT dependencies on MSC_ATP_DB_UTILS
12.1.1
-
APPS.MSC_ATP_PVT dependencies on MSC_ATP_DB_UTILS
12.2.2
-
PACKAGE BODY: APPS.MSC_ATP_PVT
12.1.1
-
APPS.MSC_ATP_DB_UTILS dependencies on FND_API
12.1.1
-
PACKAGE BODY: APPS.MSC_ATP_PVT
12.2.2
-
APPS.MSC_ATP_DB_UTILS dependencies on FND_API
12.2.2
-
APPS.MSC_ATP_DB_UTILS dependencies on MSC_ALLOC_SUPPLIES
12.1.1
-
APPS.MSC_ATP_DB_UTILS dependencies on MRP_ATP_PUB
12.1.1
-
APPS.MSC_ATP_DB_UTILS dependencies on MRP_ATP_PUB
12.2.2
-
APPS.MSC_ATP_DB_UTILS dependencies on MSC_ALLOC_DEMANDS
12.1.1
-
APPS.MSC_ATP_DB_UTILS dependencies on MSC_ALLOC_SUPPLIES
12.2.2
-
APPS.MSC_ATP_DB_UTILS dependencies on MRP_ATP_PUB
12.1.1
-
APPS.MSC_ATP_DB_UTILS dependencies on MRP_ATP_PUB
12.2.2
-
APPS.MSC_ATP_DB_UTILS dependencies on MSC_ALLOC_DEMANDS
12.2.2
-
APPS.MSC_ATP_DB_UTILS dependencies on MSC_SCH_WB
12.1.1
-
APPS.MSC_ATP_DB_UTILS dependencies on MSC_SCH_WB
12.2.2
-
APPS.MSC_ATP_DB_UTILS dependencies on MSC_ATP_PVT
12.2.2
-
APPS.MSC_ATP_PVT dependencies on MSC_SCH_WB
12.1.1
-
APPS.MSC_ATP_PVT dependencies on MSC_SCH_WB
12.2.2
-
APPS.MSC_ATP_DB_UTILS dependencies on MSC_ATP_PVT
12.1.1