Search Results rosetta_table_copy_in_p1




Overview

INV_OA_GEN_PVT is a private PL/SQL package body owned by APPS in Oracle E-Business Suite Release 12.1.1 and 12.2.2. It belongs to the Inventory (INV) module and is classified as a PVT (private) API, meaning it is intended for internal use by Oracle's own code rather than as a supported public integration point. The package supports Oracle Applications (OA) integration, specifically handling the transfer of assembly lot and serial number data between the Oracle EBS database and JTF (Java Technology Foundation / Oracle Applications Framework) client-tier structures.

The central problem the package solves is data type impedance mismatch. JTF-based UI components communicate with the database using flat PL/SQL tables of the type JTF_VARCHAR2_TABLE_100, while inventory logic operates on richly structured collections such as assembly_lot_sel_tbl_type, whose elements carry separate lot_number and serial_number attributes. The two rosetta_table_copy_* procedures perform the translation between these representations, which is why the user's search term "rosetta_table_copy_in_p1" resolves to this object.

Key Procedures and Functions

  • BUILD_ASSEMBLY_LOT_SERIAL_TBL — Accepts an incoming assembly lot/serial selection collection and loads it into the temporary staging table MTL_ALLOCATIONS_GTMP. The documented header shows it returns standard error-handling OUT parameters (x_return_status, x_msg_count, x_msg_data) plus the input collection parameter. The body clears the staging table with a DELETE before performing a row-by-row insert loop over the collection. Notably, an earlier FORALL bulk-insert implementation appears commented out in the source, leaving the slower cursor-based loop in effect.
  • ROSETTA_TABLE_COPY_IN_P1 — Converts two flat JTF varchar2 tables (one holding lot numbers, one holding serial numbers) into the structured assembly_lot_sel_tbl_type collection. It walks the first table using FIRST/NEXT traversal, populating corresponding lot_number and serial_number elements by position. This is the procedure the user searched for.
  • ROSETTA_TABLE_COPY_OUT_P1 — Performs the reverse mapping, exploding the structured collection back into two JTF_VARCHAR2_TABLE_100 tables for consumption by the JTF/client layer. It handles the empty or null collection case by returning empty JTF tables, and otherwise extends both output tables to the source count before filling them.

Tables Accessed

  • MTL_ALLOCATIONS_GTMP — A global temporary table used to stage lot and serial records for the allocation process. BUILD_ASSEMBLY_LOT_SERIAL_TBL deletes existing rows and inserts the incoming selection, making it a transient work area rather than a persistent store.
  • PLITBLM — Referenced through APPS synonyms; this is a standard Oracle EBS PL/SQL index-by table work area used internally for bulk processing and collection handling.

Usage Notes

Because INV_OA_GEN_PVT is marked PVT, it is invoked indirectly through Oracle's OA/JTF framework rather than by customer code. Typical call paths include OA-based Inventory forms or pages that present lot and serial selection dialogs, where the JTF client passes flat tables that must be converted into structured PL/SQL collections before allocation logic runs. The package is referenced by zero other documented packages, confirming it sits at a leaf position in the call graph and is tightly coupled to its calling UI layer.

Developers inspecting this package are usually troubleshooting lot/serial allocation behavior or tracing a "rosetta" conversion failure. Direct invocation from custom code is discouraged; a supported public API should be used instead. Any modification would also be overwritten by Oracle patches, since the header indicates the file is marked noship.