Search Results monitor_self2
Overview
APPS.FNDCP_TMSRV is an internal Oracle E-Business Suite server-side PL/SQL package that implements the Transaction Manager (TM) service layer of the FND Concurrent Processing messaging infrastructure. The package name derives from its functional role: FNDCP (Concurrent Processing) Transaction Manager Service. Its primary business function is to mediate the exchange of messages between remote clients (such as Forms sessions, Java-based clients, or external transaction programs) and the concurrent manager, allowing long-running requests to be submitted, monitored, and completed through a controlled, token-based protocol.
The package is part of the legacy transaction messaging facility that predates many modern asynchronous processing patterns in EBS, and it is classified in ETRM as an "OTHER" API. It is not a documented public interface intended for customer extension; rather, it supports the internal plumbing used by Oracle Forms and related clients to communicate with the concurrent manager. The source header, dated 2005, indicates it has been stable across the 11i and R12 code lines, remaining present in both 12.1.1 and 12.2.2.
Key Procedures and Functions
The documented API includes eleven procedures and functions. Their purposes are as follows:
- INITIALIZE — Sets up the package state and session context before message processing begins.
- DEBUG — Enables or configures debug tracing for the transaction manager session, writing diagnostic output to the debug table.
- DEBUG_INFO — Writes a formatted debug record containing the calling function name, action name, message text, and source type. It is the low-level logging routine used by the rest of the package.
- GET_ORACLE_ACCOUNT — Resolves the Oracle application account associated with a request, using the registered Oracle user identifiers.
- READ_MESSAGE — Retrieves an incoming message from the transaction manager channel for processing by the caller.
- WRITE_MESSAGE — Transmits an outgoing message to the transaction manager channel, including reply and exit packets.
- PUT_VALUE — Adds a return value to the package-level return value collection, subject to the maximum-value limit.
- MONITOR_SELF — Allows a concurrent request to monitor its own execution status and receive control messages from the manager.
- MONITOR_SELF2 — The variant identified in the user's search. It performs the same self-monitoring function as MONITOR_SELF but is the second-generation implementation, likely offering extended handling of timeouts, request end dates, and status return codes. It is the entry point typically used by modern callers in the R12 code line.
- STOP_TM — Terminates the transaction manager session and releases associated resources.
Tables Accessed
The package references the following tables through APPS synonyms:
- FND_CONCURRENT_DEBUG_INFO — Stores debug trace records produced by DEBUG_INFO when the debug flag is active.
- FND_CONCURRENT_PROCESSES — The core concurrent request table; read to determine request identity, status, and completion state.
- FND_CONCURRENT_QUEUES — Provides queue and manager definition data used when routing messages.
- FND_DATA_GROUP_UNITS — Used to resolve responsibility and application context for the calling session.
- FND_ORACLE_USERID — Maps Oracle schema credentials to application user identities, supporting GET_ORACLE_ACCOUNT.
- DBMS_UTILITY — The standard Oracle-supplied package, invoked for utility operations such as error stack and call stack retrieval.
Usage Notes
FNDCP_TMSRV is not an end-user API and should not be invoked directly by custom code. It is called internally by the concurrent manager and by client-side transaction programs that submit and monitor requests. The presence of DEBUG_INFO, DEBUG, and the DBG_1/DBG_2 constants indicates that diagnostic tracing can be selectively enabled for troubleshooting transaction manager behavior without impacting normal processing. Because the package manipulates the return value buffer (P_RETURN_VALS) and maintains session state, it is stateful within a session and must be initialized before use. Administrators investigating stalled or orphaned concurrent requests, particularly those involving remote clients, may enable debugging to capture message flows. Any customization touching these routines risks destabilizing concurrent processing and is strongly discouraged.
-
PACKAGE: APPS.FNDCP_TMSRV
12.1.1
-
PACKAGE: APPS.FNDCP_TMSRV
12.2.2
-
PACKAGE BODY: APPS.FNDCP_TMSRV
12.1.1
-
PACKAGE BODY: APPS.FNDCP_TMSRV
12.2.2