Search Results delete_lot




Overview

APPS.INV_LOT_EO_PVT is a private (PVT classification) PL/SQL package within the Oracle E-Business Suite Inventory module. Its name follows the EBS convention for an "Entity Object" private API layer (EO_PVT), meaning it sits beneath the public lot API surface and provides the internal logic used to create, preprocess, update, and delete lot number records in the MTL_LOT_NUMBERS table. The package encapsulates the business rules that govern lot master data: validation of the inventory item and organization context, derivation of lot attributes from a parent or reference lot, handling of the "new versus existing lot" determination, and the persistence of descriptive and control attributes such as expiration date and disable flag.

The header comment (INVLTEOS.pls 120.1) indicates a mature, stable code line, and the presence of generated rosetta_table_copy_* helper routines confirms that this package is also exposed through the EBS "Rosetta" generated-API mechanism, which bridges PL/SQL collections to the Java/BC4J entity-object layer used by the Oracle Forms-based Inventory lot entry screens and by OAF pages.

Key Procedures and Functions

The package exposes ten documented programs, each with a well-defined role in the lot lifecycle:

  • PREPROCESS_LOT — Evaluates an incoming lot definition before persistence. Determines whether the lot is new or already existing (returned via the x_is_new_lot output), and resolves inheritance of attributes from a parent lot or a reference lot.
  • CREATE_INV_LOT — Inserts a new lot record for a given inventory item and organization, accepting expiration date, disable flag, attribute category, and the descriptive/numeric/date attribute collections.
  • UPDATE_INV_LOT — Modifies an existing lot record, including its attributes and control settings, applying the same validation used on insert.
  • DELETE_LOT — Removes a lot definition for a specified inventory item, organization, and lot number, subject to referential validation.
  • ROSETTA_TABLE_COPY_IN_P0 / P0, P1, P2 (IN and OUT) — A matched set of six helper procedures that convert between native PL/SQL collection types in INV_LOT_API_PUB and the standard JTF tables (JTF_VARCHAR2_TABLE_1000, JTF_NUMBER_TABLE, JTF_DATE_TABLE) required by the generated API layer. The P0 variants handle character data, P1 numeric data, and P2 date data.

Each public procedure returns the standard EBS API signaling triple: x_return_status, x_msg_count, and x_msg_data. Error conditions are signaled through the declared exceptions g_exc_error and g_exc_unexpected_error.

Tables Accessed

Two tables are documented as accessed by this package through APPS synonyms:

  • MTL_LOT_NUMBERS — The core lot master table. It stores lot numbers keyed by inventory item and organization, along with expiration date, disable flag, parent lot reference, and the descriptive flexfield attribute columns. All create, update, and delete operations in this package ultimately read from or write to this table.
  • PLITBLM — Referenced by the package, typically for the temporary/collection handling used during attribute processing or for the intermediate staging of lot rows before commit.

Usage Notes

INV_LOT_EO_PVT is not intended for direct invocation by customers. It is called internally by the public lot API (INV_LOT_API_PUB) and by the Java entity-object layer that backs the Inventory lot maintenance windows and OAF lot pages. The presence of the Rosetta copy routines and the reference at line 15 to "OSFM" (Oracle Supply Chain/Flow Manufacturing) indicates that it is also driven from manufacturing and lot-inheritance flows where a reference lot's attributes are propagated.

Because it is a PVT package, its signature may change between point releases; custom code should target the public INV_LOT_API_PUB interface instead. When troubleshooting lot creation, update, or deletion errors in 12.1.1 or 12.2.2, checking the return status and message stack from the underlying EO_PVT call is a useful diagnostic path, as the messages recorded here are propagated upward to the calling form or concurrent program.