Search Results fnd_msg_pub




Overview

FND_MSG_PUB is the core PL/SQL message-handling package of the Oracle E-Business Suite Application Object Library (FND). It implements the FND Message Stack, the session-scoped repository in which Oracle Forms, concurrent programs, and PL/SQL APIs deposit messages for display, retrieval, and programmatic inspection. Rather than returning error text directly, EBS APIs call FND_MSG_PUB to register a message with an associated severity level, and consumers later drain that stack through the same package. This indirection allows the same routine to serve interactive forms, batch jobs, and Web ADI or OAF pages without knowing how the message will ultimately be surfaced.

The package body is owned by APPS and holds VALID status in both 12.1.1 and 12.2.2. It is an overwhelmingly foundational object: ETRM records that it is referenced by 6,173 other packages, making it one of the most widely depended-upon program units in the entire schema.

Key Procedures and Functions

  • INITIALIZE — Establishes or clears the message stack for the current session.
  • ADD — Places a message onto the stack at a specified severity.
  • ADD_DETAIL and GET_DETAIL — Attach and retrieve supplemental detail tokens or text associated with a message.
  • ADD_EXC_MSG and BUILD_EXC_MSG — Add exception-derived messages and construct exception message text for propagation up an API call stack.
  • GET and COUNT_AND_GET — Retrieve messages from the stack, with the latter also returning the number of messages present.
  • COUNT_MSG — Returns the count of messages currently on the stack.
  • DELETE_MSG and RESET — Remove individual messages or clear the stack entirely.
  • CHANGE_MSG — Alters an existing message on the stack.
  • CHECK_MSG_LEVEL — Tests whether the stack contains a message at or above a given severity.
  • SET_SEARCH_NAME and SET_SEARCH_TOKEN — Configure search and retrieval criteria used when locating messages, including token-based substitution.
  • NO_ALL_INCLUSIVE_ERROR, NO_EXCLUSIVE_ERROR, and NO_ERROR_MESSAGE — Boolean-style helpers used to short-circuit logic when no qualifying error exists.
  • DUMP_MSG and DUMP_LIST — Diagnostic routines that emit stack contents for debugging.

Tables Accessed

ETRM documents only one table reference for this package body: PLITBLM, accessed through an APPS synonym. This is the PL/SQL internal table storage facility used to persist collection-type values, and its involvement indicates that message lists are held and passed internally as PL/SQL tables rather than as rows in a permanent application table. Notably, no FND_* message tables are documented as directly referenced; persistent message definitions are resolved through the FND_MESSAGE dependency instead.

Usage Notes

FND_MSG_PUB is invoked from Oracle Forms triggers, concurrent program PL/SQL, OAF and Web ADI controller code, and virtually any custom API that follows Oracle's published error-handling standard. The conventional pattern is to call INITIALIZE before a unit of work, use ADD for warnings and errors, and interrogate the stack with CHECK_MSG_LEVEL or COUNT_MSG afterward to decide whether processing should continue or roll back. FND_API depends on this package to implement the standard API return-status contract, which is why the dependency footprint reaches into thousands of callers. Because the stack is session-scoped, concurrent requests each maintain an independent stack, and messages recorded during a request must be explicitly propagated to the log or output file for the user to see them. It is not referenced by any database object, confirming its position as a top-level utility rather than a dependency of lower layers.