Search Results get_buffer_message




Overview

OE_MSG (APPS.OE_MSG) is a public PL/SQL package in Oracle E-Business Suite that implements the message buffering and token substitution infrastructure used throughout the Order Management (OE) module. The package was originally shipped as part of the OEXUTMGS.pls / OEXUTMGB.pls specification and body files, as indicated by its source header. It is declared with AUTHID CURRENT_USER, meaning it executes with the privileges of the calling schema rather than the defining schema.

The package maintains a set of package-level global buffers that accumulate message names, token names, and token values before they are displayed or raised. It also provides a lightweight debugging channel through OE_Debug_Info_Buffer. Its primary business function is to allow Order Management code to queue user-facing messages — typically translated Oracle Forms messages with variable tokens — and to defer their display until the appropriate point in processing. In ETRM the package is classified under API classification OTHER, is owned by APPS, and is referenced by 17 other packages, reflecting its role as foundational shared infrastructure rather than a business API in its own right.

Key Procedures and Functions

The documented interface exposes eleven procedures and functions:

  • SET_BUFFER_MESSAGE — The most commonly referenced entry point (and the target of the search term set_buffer_message). It adds a message name to the message name buffer when that name differs from the last buffered message, and, when a token name is supplied, records the associated token name and token value in the token buffers. The source comments state three requirements: the message name cannot be NULL, a single message cannot carry more than 10 tokens, and no more than 100 messages may be buffered without being issued.
  • SET_MESSAGE_NAME — Sets the name of the current message in the buffer.
  • GET_MESSAGE_NAME — Returns the message name currently held in the buffer.
  • GET_BUFFER_MESSAGE — Retrieves the buffered message or messages prepared by the preceding SET calls.
  • GET_LAST_TOKEN_OF_THIS_MSG — Returns the last token associated with the current message, used to finalize token pairing for a message.
  • CLEAN_BUFFER_MESSAGE — Clears the message and token buffers, resetting the package state.
  • INTERNAL_EXCEPTION — Internal error-handling routine used to signal exceptions raised within the buffering logic.
  • SET_DEBUG_INFO — Appends diagnostic text to the debug information buffer.
  • GET_DEBUG_INFO — Returns the accumulated debug information.
  • CLEAN_DEBUG_INFO — Resets the debug information buffer and debug index.

Tables Accessed

The ETRM metadata does not document any base tables referenced through APPS synonyms. OE_MSG operates entirely against PL/SQL package-level collection variables rather than persistent database objects. Message names, token names, and token values are held in associative arrays indexed by BINARY_INTEGER, and token counts are tracked in a parallel numeric array. Message text resolution is therefore delegated to the caller or to message dictionary utilities rather than performed through direct SQL in this package.

Usage Notes

OE_MSG is typically invoked from Order Management PL/SQL code, Oracle Forms, and concurrent programs that need to construct a translated message with substituted tokens and present it to the user at a controlled point. The canonical pattern is a sequence of SET_BUFFER_MESSAGE calls, one per message and token pair, followed by a GET_BUFFER_MESSAGE call to retrieve the assembled text and a CLEAN_BUFFER_MESSAGE call to reset state for the next iteration. Because all state resides in package globals, the buffers are session-scoped and must be cleaned between logical units of work to avoid message bleed. The documented limits of 10 tokens per message and 100 buffered messages should be observed by custom callers. The debug routines are intended for development diagnostics and should not be relied upon in production flows.