Search Results g_miss_assignment_rec
Overview
MRP_SRC_ASSIGNMENT_PUB is a public PL/SQL API package in the Oracle E-Business Suite Applications (APPS) schema that manages source assignment sets used by the Material Requirements Planning (MRP) and related supply chain planning modules. An assignment set is a named grouping of sourcing rules, bills of distribution, and assignment groups that determines how Oracle Planning and replenishment engines select valid sources of supply for items and organizations. The package encapsulates the business logic for creating, locking, and retrieving these assignment sets via a formal, record-based interface.
The package is declared with AUTHID CURRENT_USER, meaning its SQL statements execute with the privileges of the invoking user rather than the definer, an important security and behavior characteristic for a public API intended to be called from multiple contexts. It exposes strongly typed PL/SQL structures — Assignment_Set_Rec_Type and Assignment_Set_Tbl_Type — that model an assignment set row. Each attribute in the record is initialized to the corresponding FND_API.G_MISS_* sentinel value, a convention that allows calling programs to distinguish "not supplied" from "supplied as null," and that supports partial updates. The record includes standard audit and concurrency columns (Created_By, Creation_Date, Last_Updated_By, Last_Update_Date, Last_Update_Login) plus WHO/request context columns (Program_Application_Id, Program_Id, Program_Update_Date, Request_Id). It also carries descriptive flexfield attributes (Attribute1 through Attribute15 and Attribute_Category), and API control fields return_status, db_flag, and operation.
Key Procedures and Functions
The package documents three public procedures. Parameter signatures are not reproduced here; the descriptions below reflect purpose only, as recorded in the ETRM metadata.
- PROCESS_ASSIGNMENT — The primary driver routine. It processes an assignment set record (or set of records), determining the appropriate action based on the
operationindicator within the record. It handles the creation, update, and deletion of assignment set definitions, applying the standard API validation and defaulting logic before performing the corresponding DML against the underlying assignment set tables. This is the entry point most commonly invoked by forms and concurrent programs. - LOCK_ASSIGNMENT — Provides explicit locking of an assignment set, typically by identifier, to support pessimistic concurrency control. Callers use this before a multi-step update sequence so that competing sessions cannot modify the same assignment set concurrently, helping prevent lost updates and preserving data integrity across dependent rows.
- GET_ASSIGNMENT — A retrieval routine that returns the attribute values of an assignment set into the
Assignment_Set_Rec_Typestructure. It is used to populate a record for inspection or to seed a subsequent update flow, honoring the MISS-value convention so that unsupplied fields remain distinguishable.
Tables Accessed
The documented metadata lists PLITBLM as the table referenced through APPS synonyms. This is consistent with a table-backed implementation where assignment set data is persisted in rows keyed by assignment set identifier, with flexfield attributes stored in the Attribute1–Attribute15 columns. The PROCESS_ASSIGNMENT, LOCK_ASSIGNMENT, and GET_ASSIGNMENT routines read and write this structure to persist, lock, and retrieve assignment set definitions. The package also relies on FND_API utilities for the MISS-value constants and standard API error handling.
Usage Notes
MRP_SRC_ASSIGNMENT_PUB is a PUB-classified API, indicating it is supported for external invocation. It is referenced by twelve other packages within the EBS codebase, reflecting its role as a shared service beneath higher-level sourcing and planning flows. It is typically invoked from the assignment set setup forms, from concurrent programs that load or copy assignment sets, and from customer-written extensions that need to programmatically manage sourcing assignments. Developers referencing the token g_miss_assignment_rec are encountering the coding pattern of declaring a package-level or local record variable initialized to the MISS constants — for example, g_miss_assignment_rec MRP_SRC_ASSIGNMENT_PUB.Assignment_Set_Rec_Type; — so that unchanged fields retain their sentinel values during PROCESS_ASSIGNMENT. Because the package executes with definer-equivalent current-user privileges and writes to shared planning setup tables, callers should invoke LOCK_ASSIGNMENT before updates, check return_status after every call, and commit only after all related API calls succeed.