Search Results inv_log_util




Overview

INV_LOG_UTIL is a utility package owned by the APPS schema in Oracle E-Business Suite. In the ETRM 12.2.2 metadata it is classified as a UTIL (utility) API, reflecting its role as a shared, low-level logging and tracing facility rather than a business transaction API. Its documented purpose is to provide a centralized mechanism through which Inventory-related PL/SQL code can emit trace and diagnostic messages during execution.

The package header carries a distinctive comment referencing Bug 5558315, recorded as being added to improve performance by not checking profile values during pick release. This is a significant operational detail: the package maintains a package-level Boolean variable, g_maintain_log_profile, which is initialized to FALSE. By not repeatedly evaluating profile option values at runtime, the package avoids the overhead of profile lookups in high-volume flows such as pick release, where logging calls may be invoked many thousands of times. The header also shows a revision identifier dated 2006, indicating that the package has been stable and largely unchanged across the 12.1.1 and 12.2.2 releases.

Key Procedures and Functions

The ETRM documentation lists a single documented procedure for this package: TRACE. Only one procedure is recorded, which is consistent with the package's narrow, single-purpose design.

  • TRACE — The sole documented procedure. Its declared signature includes parameters corresponding to a message, a module identifier, and a numeric level with a default value. The procedure is the public entry point through which calling code submits a diagnostic or trace message, together with the name of the calling module and a severity or verbosity level. Because the level parameter carries a default, callers can invoke TRACE with only the message and module arguments in the common case. No further documented procedures or functions exist, and the parameter lists should not be assumed beyond what is stated in the source header excerpt.

Tables Accessed

The ETRM metadata records that INV_LOG_UTIL references two objects via APPS synonyms: DUAL and UTL_FILE.

  • DUAL — The standard Oracle single-row dummy table, typically used for expression evaluation, sequence retrieval, or simple SELECT statements where no physical table access is required.
  • UTL_FILE — The Oracle supplied PL/SQL file I/O package. Its presence indicates that, when trace output is directed to a file destination, INV_LOG_UTIL writes messages to a server-side file through UTL_FILE rather than to a database table.

Notably, no application tables are referenced. The package does not read or write Inventory transaction, log, or interface tables directly; it is a pure utility that routes messages outward via the file system (and, depending on runtime configuration, potentially other mechanisms not enumerated in the documented metadata).

Usage Notes

INV_LOG_UTIL is an internal support package invoked by other PL/SQL code rather than by end users. The metadata records that it is referenced by 166 other packages, a strong indicator of its role as a common tracing dependency throughout the Inventory application and adjacent modules. Typical invocation patterns include:

  • Instrumented calls from Inventory business logic — including pick release and related transaction processing — where developers insert TRACE calls to capture execution detail for debugging.
  • Concurrent program and batch processing, where trace output written via UTL_FILE can be reviewed by support and development staff when diagnosing failures.
  • Custom code extensions, where EBS developers adopt the same utility to produce trace output consistent with Oracle's own instrumentation rather than creating bespoke logging routines.

Because the package deliberately avoids runtime profile checks in performance-critical paths, trace behavior is governed by package state such as g_maintain_log_profile and the level argument supplied by the caller. Implementers enabling tracing should be aware that heavy TRACE usage in high-volume flows can generate substantial file output, and that the file destination must be accessible from the database server's UTL_FILE directory configuration.