Search Results clean_debug_info




Overview

OE_MSG is a utility package body in the APPS schema that provides the Order Management module with a centralized, session-scoped messaging facility. Rather than returning messages directly at the point of error detection, Oracle EBS order entry code frequently needs to accumulate a user-facing message across several layers of PL/SQL, defer it, and surface it later to a form or interface routine. OE_MSG exists to satisfy that requirement: it maintains an in-memory message buffer within the database session, allowing any calling program to place a message name into the buffer, retrieve it, manipulate its tokens, and clear it when the buffer is no longer required. It also provides a parallel debug buffer and a generic internal exception raiser, making it a lightweight messaging and diagnostics service for the order entry code base. Because it is a package body with no persisted state and no base tables, its behaviour is entirely determined by the current session's buffer contents.

Key Procedures and Functions

The documented interface comprises eleven procedures and functions grouped into three logical areas.

  • Message buffer management: SET_BUFFER_MESSAGE places a message into the session buffer; GET_BUFFER_MESSAGE retrieves the currently buffered message; CLEAN_BUFFER_MESSAGE removes it. SET_MESSAGE_NAME and GET_MESSAGE_NAME set and read the message name associated with the buffer, providing a keyed reference to the message being handled.
  • Message parsing support: GET_LAST_TOKEN_OF_THIS_MSG extracts the final token from the current message text, which is typically used to determine the trailing identifier or value embedded in a formatted message string.
  • Debug and exception support: SET_DEBUG_INFO, GET_DEBUG_INFO, and CLEAN_DEBUG_INFO manage a separate debug buffer so diagnostic information can be stored independently of user-facing messages. INTERNAL_EXCEPTION raises an internal error condition through a single standardized entry point, allowing callers to signal a failure without duplicating raise logic.

Consistent use of these routines ensures message text and debug information survive across procedure boundaries within the same session, which is essential in order entry flows where a failure deep in a pricing or validation routine must ultimately be displayed by the calling form.

Tables Accessed

The ETRM metadata records no base tables referenced by this package through APPS synonyms. OE_MSG operates purely on PL/SQL session state — the message buffer, message name, and debug information are held in package-level variables rather than being persisted to database tables. No inserts, updates, deletes, or queries against application tables are documented, and the recorded dependency list confirms only the package itself and SYS.STANDARD. This absence of table access is central to its design: the package is a transient, session-local service, and callers are responsible for deciding whether a buffered message must eventually be logged or displayed.

Usage Notes

OE_MSG is a low-level utility that is not intended for direct end-user invocation. It is typically called from Order Management forms, concurrent programs, and interface routines that need to accumulate or defer a message during multi-step processing. The package is referenced by seventeen other packages, confirming that it functions as shared infrastructure across the order entry code base. Custom code should treat it as a session-scoped buffer: set a message before returning control to a caller, retrieve it where the user-facing output is produced, and clean the buffer once consumed to prevent stale text from leaking into subsequent operations. Because the state is held in package variables, it is not suitable for cross-session communication or for auditing — any message that must survive the session should be written to a table by the caller. The debug routines follow the same discipline and should be used only while diagnostics are required, with CLEAN_DEBUG_INFO invoked to release the buffer.