Search Results pji_process_util




Overview

APPS.PJI_PROCESS_UTIL is a utility package body in the Oracle EBS Projects (PJI) module that provides the orchestration, coordination, and control framework for the Project Performance summarization and rollup processes. Its primary business function is to manage the multi-step, multi-request execution model used when large summary projects are processed in parallel across multiple concurrent workers. Rather than performing the actual summarization math, PJI_PROCESS_UTIL provides the "plumbing" — start/stop signaling, step registration, status checking, inter-process locking, sleeping and polling, helper table cleanup, and process parameter exchange — that allows an orchestrator process and its subordinate workers to stay synchronized.

The package is classified as a UTIL API and is a stable, valid object in the APPS schema on both 12.1.1 and 12.2.2. It is not referenced by any database object directly, meaning it is invoked at the application layer as a supporting library rather than through triggers or views.

Key Procedures and Functions

The package exposes 22 documented procedures that fall into several functional groups.

All procedure parameter lists are version-specific and should be confirmed against the site-specific package specification.

Tables Accessed

PJI_PROCESS_UTIL reads and writes a defined set of transient and transactional tables via APPS synonyms. PJI_MT_PRC_STEPS, PJI_HELPER_BATCH_MAP, PJI_HELPER_420, and PJI_BATCH_STATUS_420 store the step plan, batch-to-worker mapping, and batch status used for orchestration and cleanup. FND_CONCURRENT_REQUESTS (with FND_CONCURRENT) is queried to monitor submitted concurrent requests. PJI_SYSTEM_PARAMETERS and PJI_SYSTEM_PRC_STATUS persist system-level processing parameters and current process state. The aggregation and denormalization tables PJI_AC_AGGR_PJP1, PJI_FP_AGGR_PJP1, PJI_AC_XBS_ACCUM_F, PJI_FP_XBS_ACCUM_F, PJI_PA_XBS_DENORM_T, PA_XBS_DENORM, PJI_PA_PROJ_EVENTS_LOG, and PA_PROJ_ELEM_VER_STRUCTURE are touched by the rollup execution procedures. DBMS_LOCK and V$PROCESS are used for session-level locking and process identification.

Usage Notes

PJI_PROCESS_UTIL is not intended for direct interactive invocation. It is called by higher-level PJI summary main packages — notably PJI_FM_SUM_MAIN and PJI_PJP_SUM_MAIN — and by PJI_UTILS, which submit and monitor the summarization concurrent programs. Typical invocation occurs when a Projects summarization concurrent program runs in parallel mode: the coordinator calls ADD_STEPS and SUMMARIZATION_STARTED, workers call NEED_TO_RUN_STEP and REGISTER_STEP_COMPLETION, and all parties use WAIT_FOR_REQUEST, REQUEST_STATUS, and SLEEP to block until dependencies complete. It is referenced by 24 other packages, confirming its role as shared infrastructure. Custom code should invoke these procedures only in the same sequencing pattern used by the delivered summary mains to avoid corrupting step and batch status flags.