Search Results put_line




Overview

CSI_GEN_UTILITY_PVT is a private (PVT) PL/SQL package in the APPS schema that provides shared diagnostic, tracing, and record-dumping infrastructure for the Oracle EBS Install Base (CSI) application family. It is not an end-user business API; rather, it is a low-level utility layer consumed internally by other CSI packages for developer support, debugging, and error investigation. The package is referenced by 52 other packages, confirming its role as a common service provider across the CSI module. Its functionality centers on three concerns: writing debug messages to a server-side log file, toggling Oracle SQL trace (event 10046) for a session, and formatting/emitting the contents of installation-related record types and tables for inspection. The package header declares 46 documented procedures and functions, though the body excerpt lists only a subset of these, and additional internal helpers exist in the body.

Key Procedures and Functions

The remaining documented routines follow the same naming and purpose conventions, providing record-level, table-level, and query-level visibility for their respective data domains.

Tables Accessed

  • V$SESSION — Read once per session in PUT_LINE to build the session banner. The query selects SID, SERIAL#, AUDSID, USERNAME, SCHEMANAME, OSUSER, LOGON_TIME, and MODULE, keyed on the session ID returned by USERENV('SESSIONID'). The AUDSID is cached in a package global so the lookup occurs only on the first logged message.
  • UTL_FILE — Referenced as a package (not a table) for file operations: FOPEN in append mode, PUT_LINE, FFLUSH, and FCLOSE. It writes to the directory path and filename held in package globals, derived from the CSI_LOGFILE_PATH and CSI_LOGFILE_NAME profile options.
  • CSI_INSTALL_PARAMETERS — Referenced through an APPS synonym, likely for supporting dump routines related to installation parameters.
  • PLITBLM — Referenced via APPS synonym; a standard PL/SQL internal table used by wrapped or coded packages, related to output/listing buffer management.

Usage Notes

PUT_LINE reads three profile options on first invocation (or when the debug level global is null): CSI_DEBUG_LEVEL, CSI_LOGFILE_NAME, and CSI_LOGFILE_PATH. Logging proceeds only when the debug level exceeds zero; otherwise the procedure returns without writing. The exception handler in PUT_LINE is deliberately silent (WHEN OTHERS THEN NULL), so logging failures never interrupt calling code, an important property for a background utility invoked throughout transactional paths.

The package is typically called from other CSI PL/SQL packages rather than directly from forms or concurrent programs. Developers raise the CSI_DEBUG_LEVEL profile and set the log directory/file profiles to activate tracing, then reproduce the scenario and inspect the log file on the database server host. ENABLE_TRACE provides SQL-level tracing for performance analysis. Because the package is classified PVT, it is not a supported public API; customizations should avoid direct dependencies, since its signature and behavior may change without notice across EBS 12.1.1 and 12.2.2 maintenance releases.