Search Results get_seq_nextval




Overview

INV_ENHANCED_TM_PERF is an Oracle E-Business Suite PL/SQL package owned by the APPS schema that supports the enhanced transaction manager infrastructure within Oracle Inventory. The package name itself, combining "INV", "ENHANCED", "TM" (transaction manager) and "PERF" (performance), indicates that its purpose is to provide performance-oriented processing utilities for the Inventory transaction manager. In EBS 12.1.1 and 12.2.2, the Inventory transaction manager is the background mechanism that consumes rows from the transaction interface tables and applies them to the perpetual inventory balances. The enhanced transaction manager introduced worker-based parallelism, and INV_ENHANCED_TM_PERF supplies the entry points and helper routines that this parallel processing model relies upon. The package is declared AUTHID CURRENT_USER, meaning its SQL executes with the privileges of the invoking session (typically APPS), which permits it to resolve the INV synonyms in the standard EBS schema layout. Its ETRM classification is OTHER, reflecting that it is an internal supporting package rather than a public or extension API.

Key Procedures and Functions

  • LAUNCH_WORKER — The central documented procedure and the object the user searched for. It is the mechanism by which the enhanced transaction manager starts a worker process to process inventory transactions. It accepts a maximum row count, application, program, user, request, and login identifiers, along with a defaulted source type parameter, and returns a status code and message through out parameters. Because these identifiers mirror the standard concurrent program context (APPLID, PROGID, USERID, REQSTID, LOGINID), LAUNCH_WORKER is designed to be called with a live concurrent request context so that each worker is correctly attributed. The row limit allows a worker to be assigned a bounded batch of transactions, which is the basis of the parallel, throughput-oriented design.
  • GET_SEQ_NEXTVAL — A function that returns a NUMBER. It provides the next value from the sequence used by the enhanced transaction manager, supplying the unique identifiers required when partitioning work across concurrently running worker sessions. Centralizing sequence retrieval in a single function avoids contention inconsistencies in parallel execution.
  • PRINT_DEBUG — A diagnostic procedure accepting a VARCHAR2 message. It writes debug output for the enhanced transaction manager, and is controlled by the standard EBS debug profile options. It is used to trace worker activity and diagnose transaction processing failures in non-production or debug-enabled environments.

Tables Accessed

The package references the following objects through APPS synonyms:

  • MTL_TRANSACTIONS_INTERFACE — the interface table holding pending inventory transactions awaiting processing; the primary target from which worker processes consume rows.
  • MTL_MATERIAL_TRANSACTIONS_S — the sequence used to generate material transaction identifiers applied during processing.
  • MTL_TRANSACTION_TYPES — the transaction type definition table, used to resolve type identifiers and validate transaction processing rules.
  • DUAL — the standard single-row Oracle table, used for scalar sequence and control queries.
  • PLITBLM — the standard PL/SQL table persistence object used by the PL/SQL profiler utilities for capturing timing and execution statistics, consistent with the package's performance-oriented role.

The ETRM metadata records no other packages referencing INV_ENHANCED_TM_PERF, confirming that it is invoked by the transaction manager executables and concurrent programs rather than by the broader API layer.

Usage Notes

INV_ENHANCED_TM_PERF is not intended for direct invocation by end users or ordinary custom code. It is called internally by the Inventory transaction manager processing programs, which in EBS invoke the package with an active concurrent request context so that LAUNCH_WORKER can spawn and attribute worker sessions. DBAs and support analysts typically encounter the package when investigating transaction manager worker behavior, profile-option controlled debugging output from PRINT_DEBUG, or stalled rows in MTL_TRANSACTIONS_INTERFACE. When diagnosing throughput or concurrency issues in 12.1.1 or 12.2.2, the relevant levers are the transaction manager profile options (such as the number of workers, sleep time, and processing mode) rather than direct calls to this package. Customizations should not call LAUNCH_WORKER outside a valid concurrent request context, as the request and login identifiers are required for correct worker attribution and cleanup. Because the package is declared AUTHID CURRENT_USER, the calling session must have the standard APPS synonyms and privileges in place for the referenced interface and transaction tables to resolve correctly.