Search Results derive_project_attributes




Overview

APPS.PJI_REP_UTIL is a utility package body in the Oracle E-Business Suite Projects (PJI) reporting schema. Its principal business function is to centralize the derivation and caching of the reporting context that Project Intelligence and Project Management reporting engines require before any project cost, budget, forecast, or performance data can be queried. This context includes the effective project identifier, calendar information, budget and forecast plan versions, currency codes, resource breakdown structure (RBS) parameters, and rollup flags.

The package name reflects its role as a shared repository ("REP_UTIL") of reusable derivation logic. Rather than forcing each reporting concurrent program to re-implement the same lookups against PA_PROJECTS_ALL, PA_BUDGET_VERSIONS, and PA_PERIODS_ALL, PJI_REP_UTIL exposes a single, consistent set of derivation procedures. The package body maintains numerous package-level global variables (g_project_id, g_pa_calendar_type, g_global_calendar_type, g_period_name, g_actual_version_id, and the cost/revenue budget and forecast version identifiers) that are populated by these derivation routines and subsequently consumed by downstream report logic.

Key Procedures and Functions

The documented interface comprises 71 procedures and functions. The most directly relevant to the search term derive_project_attributes is DERIVE_PROJECT_ATTRIBUTES, which resolves the core project-level attributes — most notably the project identifier and its associated organizational, calendar, and currency characteristics — and stores them in the package globals for reuse throughout a reporting session.

Tables Accessed

The package reads and writes against the following APPS synonyms:

Usage Notes

PJI_REP_UTIL is an internal utility package invoked during the execution of Project Intelligence and Projects reporting concurrent programs and supporting forms. The typical pattern is to call the DERIVE_* routines once at the start of a report run, populating package globals, and then reference those globals throughout the report's query logic. Because the derivations depend on session-level globals, the package assumes single-threaded use within a given database session. It is referenced by ten other packages, confirming its role as a shared dependency. The package also honors the PA_DEBUG_MODE profile option for diagnostic output, which is useful when troubleshooting incorrect periods, versions, or currency derivation in custom reporting. Custom code should invoke these procedures only within the Projects reporting context, after the required PA_PROJECTS_ALL and calendar records have been established.