Search Results cleanup_hook




Overview

APPS.PJI_FM_DEBUG is a diagnostic scaffolding package that belongs to the Oracle Enterprise Asset Management / Enterprise Resource Planning (EAM/ERP) family of objects in Oracle E-Business Suite. Its name reflects its purpose: it is a debug hook container used by the PJI Financial Management summarization framework, specifically the concurrent worker infrastructure governed by PJI_FM_SUM_MAIN. In Release 12.1.1 and 12.2.2, the package carries the header identifier $Header: PJISF11B.pls 120.0 2005/05/29 12:42:15 appldev noship $, indicating it is shipped as a non-shippable (noship) internal utility rather than a customer-facing API. Its documented API classification is OTHER, and it does not expose business logic; instead it provides empty, exception-tolerant hook procedures that Oracle development and support can populate at runtime to enable SQL tracing and related instrumentation for the summarization worker processes.

Key Procedures and Functions

  • CONC_REQUEST_HOOK — This procedure is invoked at the point where a concurrent request begins execution for a summarization worker. Its documented body branches on the incoming process name, distinguishing the dispatcher (where the process name equals PJI_FM_SUM_MAIN.g_process) from the phase 1 worker (where the process name matches the dispatcher name followed by a suffix, tested with a LIKE predicate against PJI_FM_SUM_MAIN.g_process || '%'). In the shipped form both branches are empty (NULL), with commented-out execute immediate statements for alter session set sql_trace TRUE and alter session set timed_statistics=TRUE. The procedure is wrapped in a WHEN OTHERS THEN NULL handler so that instrumentation can never abort the worker.
  • CLEANUP_HOOK — This procedure is invoked at the end of a summarization worker's lifecycle and mirrors CONC_REQUEST_HOOK structurally. It likewise branches on the dispatcher and phase 1 worker process names and is currently a no-op, providing a symmetrical location for teardown or post-processing instrumentation. It also traps all exceptions and returns control silently.

Tables Accessed

The documented metadata records no tables referenced through APPS synonyms. This is consistent with the source excerpt, which contains no SQL statements against application tables; the package performs only procedural branching and optional session-level DDL (trace and statistics settings) via dynamic SQL. Any data written by tracing is deposited in database trace files by the RDBMS, not in EBS schema objects.

Usage Notes

PJI_FM_DEBUG is not intended for direct invocation by end users, Oracle Forms, or customer-written code. It is called internally by the PJI facility summarization concurrent program infrastructure: CONC_REQUEST_HOOK fires when a summarization worker request starts, and CLEANUP_HOOK fires when it terminates. The documented metadata shows the package body is referenced by two other packages, confirming that the summarization orchestrator calls these hooks at well-defined points. Because the shipped bodies are empty stubs with WHEN OTHERS THEN NULL handlers, they impose no functional overhead, but they give Oracle Support a supported place to temporarily enable SQL tracing or timed statistics for all summarization workers—dispatcher and phase 1 workers alike—by uncommenting the dynamic SQL. Customers and consultants diagnosing slow PJI summarization runs may encounter this package while tracing the call stack, but should treat it as Oracle-internal and avoid modifying it in a production instance.