Search Results sec_slice_create_t




Overview

APPS.PJI_FM_PLAN_MAINT is a public PL/SQL package body in Oracle EBS Financials that supports the Project Financial Management (PJI) plan maintenance and financial plan rollup infrastructure. Its principal business purpose is to build and maintain the aggregated "denormalized" fact data used by Oracle Project Management and Oracle Project Resource Management reporting: financial plan versions, WBS rollups, primary and secondary resource breakdown structures (RBS), and the FIN7/FIN8 aggregation tables. The package bridges the external plan extraction tables (PJI_FM_EXTR_PLNVER3_T and PJI_FM_EXTR_PLNVER4) with the transactional accumulation and denorm structures consumed by the financial plan analyzer, so that plan data entered or modified in Projects appears correctly in rollup and actuals comparisons. The unit operates under the online worker context supplied by PJI_PJP_FP_CURR_WRAP.GET_WORKER_ID and logs significant activity through PA_PJI_PROJ_EVENTS_LOG. Header metadata indicates the shipped version is 120.37.12010000.3 (2009/02/02), with a package-level flag controlling whether WBS rollups must be re-processed when structural WBS changes occur.

Key Procedures and Functions

  • MAP_RESOURCE_LIST — Maps source plan resource lists into the denormalized structure used by downstream aggregation.
  • CREATE_PRIMARY_PVT — Creates the primary plan slice, generating rollup slices from the ver3 tables and inserting them into the RL fact.
  • CREATE_PRIMARY_UPGRD_PVT — Variant of primary plan creation used during upgrade paths to reconcile legacy plan data.
  • CREATE_SECONDARY_PVT — Creates the secondary plan slice and its associated rollup facts.
  • CREATE_SECONDARY_T_PVT — Temporary/working counterpart for secondary plan slice creation, used during the build sequence.
  • UPDATE_PRIMARY_PVT — Updates an existing primary plan slice when plan data changes.
  • UPDATE_PRIMARY_PVT_ACT_ETC — Handles update of primary plan data alongside associated actuals and related values.
  • DELETE_ALL_PVT — Removes all maintained plan and denorm rows for a plan version, supporting rebuild scenarios.
  • POPULATE_FIN8 — Populates the PJI_FM_AGGR_FIN8 aggregation table from the maintained plan/denorm data.
  • PULL_PLANS_FOR_PR — Retrieves plan records relevant to a project or resource context for processing.
  • GET_ACTUALS_SUMM — Returns summarized actual amounts used for plan-versus-actuals comparison.
  • CHECK_VER3_NOT_EMPTY — Validates that the ver3 extraction table contains rows before rollup processing, guarding against empty-slice builds.

Additional documented internal procedures in the body include POPULATE_WBS_DENORM, PRI_SLICE_CREATE_T, SEC_SLICE_CREATE_T, CHECK_PRIMARY_ALREADY_EXISTS, WBSCHANGEPROC_PRERLP_SETUPS, WBSCHANGEPROC_POSTRLP_CLEANUP, and DENORM_DEFINITION_EXISTS. Together these provide pre- and post-rollup setup and cleanup when WBS structure changes have been applied, and a performance safeguard that prevents redundant re-population of PA/PJI denorm tables when the denorm definition already exists.

Tables Accessed

Usage Notes

PJI_FM_PLAN_MAINT is invoked by other PL/SQL units (it is referenced by four packages) to perform plan creation, update, deletion, and rollup maintenance, and is typically driven from Concurrent Programs and Project Management forms where financial plans and WBS/RBS rollups are generated. It is not a user-facing entry point. The package is invoked when the Plan Maintenance flow is run, when WBS structure changes require re-rollup (through the WBSCHANGEPROC pre/post cleanup pair), and during upgrade to reconcile existing plan versions via CREATE_PRIMARY_UPGRD_PVT. Custom code should call the standard Projects APIs rather than this package directly. The print_time search term relates to diagnostic logging supported by the package's internal timer or event-log emission; the PA_PJI_PROJ_EVENTS_LOG insertions and event record variable (g_event_rec) are the documented mechanism through which runtime messages, including timing diagnostics, are recorded. Because the package enforces the DENORM_DEFINITION_EXISTS check, repeated maintenance runs are inexpensive when the denorm definition is already in place, but rebuilding requires DELETE_ALL_PVT followed by slice creation.