Search Results ppr_log




Overview

PA_PPR_SMART_SLICE_PVT is a private (PVT) PL/SQL package body owned by the APPS schema in Oracle E-Business Suite, delivered as part of the Project Resource Management (Project Progress Reporting) module. Its principal responsibility is the maintenance of "smart slice" data structures associated with progress reporting rollups. In Oracle Projects terminology, a smart slice represents a dynamically generated, context-sensitive slice of project or resource breakdown structures (WBS/RBS) that is used to drive progress rollup computations without requiring the user to manually define every structural combination.

The package resolves and stores structural element identifiers for a given combination of project, WBS version, RBS version, and planning version, enabling downstream reporting and progress rollup logic to operate against a consistent slice definition. The object header reflects an EBS 12.x lineage (release 12.0.12020000.4) and the code is flagged "noship," indicating it is an internal implementation package not intended for customer extension or direct invocation.

Key Procedures and Functions

  • MAINTAIN_SMART_SLICE — The core worker routine. It accepts contextual identifiers describing the project structure being processed (project, WBS element, RBS element, RBS version, WBS version, plan version, calendar type, current record type, and progress rollup flag) together with a fact slice indicator and a commit flag. Its purpose is to create, refresh, or reconcile the smart slice records that correlate a WBS element with its corresponding RBS element for the specified versions. It returns standard concurrent-style OUT parameters for message count, message data, and return status. The declaration of numerous local collection variables (based on SYSTEM.pa_num_tbl_type and SYSTEM.pa_varchar2_1_tbl_type) indicates that the routine performs set-based expansion across multiple plan versions and project elements in a single call.
  • PPR_LOG — A lightweight internal logging helper. It writes diagnostic messages to the PA debug facility (pa_debug.write) under the package identifier, and is used throughout the body to trace execution during development and troubleshooting. It performs no database transaction and returns no value.

Tables Accessed

The package reads and writes the following base tables through APPS synonyms:

  • PA_PROJECTS_ALL — Supplies project-level attributes and identifies the operating context for each slice.
  • PA_PROJ_ELEMENT_VERSIONS — Provides the structural element version data (WBS and RBS element versions) that defines the slice membership.
  • PA_BUDGET_VERSIONS — Resolves budget and plan version identifiers used to scope the maintained slice.
  • PA_PROJ_FP_OPTIONS — Delivers financial plan processing options that influence how slices are generated or rolled up.
  • PLITBLM — A standard Oracle Projects message/lookup table used for error handling and message retrieval.

Usage Notes

PA_PPR_SMART_SLICE_PVT is not a public API. It is invoked internally by the Progress Reporting rollup engine and by other PA_PPR_* private packages during the generation and maintenance of progress data. It is typically executed from Project Progress Reporting concurrent programs and from the server-side logic behind progress entry and rollup forms, and it may also be reached indirectly when plan versions or RBS/WBS versions are updated. Because the package is classified PVT and is referenced by zero other public packages, it should not be called from custom code; customers requiring similar behavior should use the supported Progress Reporting APIs and concurrent programs. The commit flag allows the caller to defer or force commits, supporting integration within a broader transactional unit.