Search Results no_of_debug_messages
Overview
APPS.EAM_DEBUG is a diagnostic utility package body in Oracle E-Business Suite, delivered under the Enterprise Asset Management (eAM) product family. Its source header indicates that it was copied from PA_DEBUG, the debugging utility long used by Oracle Projects, and its version stamp (120.1, dated 2005) reflects its origin as a shared internal diagnostic framework rather than an application programming interface. The package provides a self-contained mechanism for toggling debug output, buffering debug messages in a PL/SQL collection, and managing a stack of error messages for later retrieval and logging. It is classified in ETRM as an OTHER API, confirming that it is not intended for direct customer integration but is instead called internally by EAM modules and other dependent packages.
The package exposes 27 documented procedures and functions. Its two principal concerns are debug tracing and error-stack handling. Because debug state is held in package-level variables (such as debug_flag, debug_level, and the debug_message collection), its behavior is session-scoped: enabling debug in one database session does not affect concurrent sessions, and buffered messages persist only for the life of that session.
Key Procedures and Functions
- INITIALIZE — Performs package initialization; as delivered it contains no logic and re-raises any exception encountered.
- ENABLE_DEBUG — Overloaded to set the debug flag on, either at the basic level or at a caller-supplied level.
- DISABLE_DEBUG — Turns the debug flag off, suppressing further message capture.
- SET_DEBUG_LEVEL — Assigns the active debug level so that only messages at or above that threshold are processed.
- DEBUG — Overloaded message-writing routine. One form appends the message to the internal buffer, optionally prefixing a timestamp when timing-level debugging is active and splitting long text into 255-byte segments. The second form filters the message against the requested level and, for exception-level messages, temporarily forces the debug flag on.
- GET_MESSAGE — Retrieves a buffered debug message by ordinal number.
- NO_OF_DEBUG_MESSAGES — Returns the count of messages currently held in the buffer.
- SET_USER_LOCK_MODE, ACQUIRE_USER_LOCK, RELEASE_USER_LOCK — Manage user-level locking, supported by the DBMS_LOCK dependency.
- SET_PROCESS, SET_CURR_FUNCTION, RESET_CURR_FUNCTION — Maintain context about the running process and current function for diagnostic output.
- INIT_ERR_STACK, SET_ERR_STACK, RESET_ERR_STACK, RAISE_ERROR — Build, append to, clear, and raise from an internal error-message stack. RESET_ERR_STACK, the term the user searched, clears that stack so a new logical unit of work starts without residual errors.
- LOG_MESSAGE, WRITE_LOG, WRITE_FILE — Persist diagnostic and error information, with WRITE_FILE providing UTL_FILE-based output.
Tables Accessed
The package references no application base tables. Its documented dependencies are the APPS synonyms for DBMS_LOCK, DUAL, PLITBLM, and UTL_FILE. DUAL is used for trivial SQL evaluation; DBMS_LOCK supplies the user-lock primitives; UTL_FILE supports WRITE_FILE output to the database server file system; and PLITBLM is the Oracle-supplied PL/SQL table-index-by-BINARY_INTEGER helper used for collection manipulation. All diagnostic state resides in package memory and session-level file handles rather than in database rows.
Usage Notes
EAM_DEBUG is invoked from custom PL/SQL and from other EAM packages rather than from standard concurrent program parameters. Four packages reference it directly, using it as the designated tracing and error-stack facility for their code paths. A typical pattern is to call ENABLE_DEBUG and SET_DEBUG_LEVEL at the start of a unit of work, use DEBUG for trace statements, read messages back through NO_OF_DEBUG_MESSAGES and GET_MESSAGE, route errors through SET_ERR_STACK and RAISE_ERROR, and clear state with RESET_ERR_STACK between logical transactions. Because the debug buffer is bounded and session-local, output should be harvested and written via LOG_MESSAGE or WRITE_FILE before the session ends. The package is informational in nature; no functional or interface changes are documented for the 12.1.1 to 12.2.2 upgrade path.
-
PACKAGE BODY: APPS.EAM_DEBUG
12.2.2
-
PACKAGE BODY: APPS.EAM_DEBUG
12.1.1
-
PACKAGE: APPS.EAM_DEBUG
12.1.1
-
PACKAGE BODY: APPS.PA_DEBUG
12.1.1
-
PACKAGE BODY: APPS.PA_DEBUG
12.2.2
-
PACKAGE BODY: APPS.PN_DEBUG
12.2.2
-
PACKAGE: APPS.PA_DEBUG
12.2.2
-
PACKAGE: APPS.PN_DEBUG
12.2.2
-
PACKAGE: APPS.EAM_DEBUG
12.2.2
-
PACKAGE: APPS.PA_DEBUG
12.1.1