Search Results pa_proj_rollup_temp_u1




Overview

The PA_PROJ_ROLLUP_TEMP table is a temporary working table within Oracle E-Business Suite Projects (PA) module, specifically designed to support the generation and calculation of project schedules. Its primary role is to act as a transient data repository during the processing of project hierarchies, such as Work Breakdown Structures (WBS), for sets of dates. The table is integral to schedule rollup operations, where dates, durations, and progress metrics from child tasks are aggregated to their parent levels. As indicated by its storage in the APPS_TS_INTERFACE tablespace and its documented behavior, records are purged at the end of a user session, confirming its ephemeral, process-specific nature. This design ensures efficient memory management during complex scheduling computations in both Oracle EBS 12.1.1 and 12.2.2.

Key Information Stored

The table stores a snapshot of project objects and their scheduling attributes during rollup processing. Key columns include the PROCESS_NUMBER, which uniquely identifies a specific schedule generation session and is the leading column in the primary key index (PA_PROJ_ROLLUP_TEMP_U1). The OBJECT_ID and OBJECT_TYPE identify the specific project element (e.g., a task) being processed, while PARENT_OBJECT_ID and PARENT_OBJECT_TYPE define its hierarchical parent. Critical scheduling data is held in columns such as START_DATE, FINISH_DATE, DURATION, PERCENT_COMPLETE, and REMAINING_EFFORT. The table also captures override values (e.g., START_DATE_OVERRIDE, PERCENT_OVERRIDE) and constraint information (CONSTRAINT_TYPE_CODE, CONSTRAINT_DATE), which are essential for accurate schedule calculation.

Common Use Cases and Queries

The primary use case is the behind-the-scenes processing of the "Generate Schedule" or similar schedule calculation functions within Oracle Projects. A user initiating a schedule generation for a project or a set of tasks triggers a process that populates this table with the relevant task data, performs rollup calculations, and then uses the results to update permanent project tables. Common query patterns involve selecting data by PROCESS_NUMBER for session isolation or by the object-parent relationships for hierarchical traversal. For example, to analyze the temporary schedule data for a specific generation run, one might use:

  • SELECT * FROM pa.pa_proj_rollup_temp WHERE process_number = <session_id> ORDER BY wbs_level, object_id;
  • SELECT object_id, start_date, finish_date, percent_complete FROM pa.pa_proj_rollup_temp WHERE process_number = :p_num AND parent_object_id IS NULL; -- To find top-level tasks

Direct reporting on this table is uncommon due to its temporary nature, but it is central to debugging schedule generation issues.

Related Objects

PA_PROJ_ROLLUP_TEMP has defined foreign key relationships with core project definition tables, underscoring its role in processing project element hierarchies. As per the provided metadata, the OBJECT_ID and PARENT_OBJECT_ID columns reference the following permanent tables:

  • PA_PROJ_ELEMENTS: This table stores the definition of project elements, such as tasks and deliverables. The link via OBJECT_ID allows the temp table to access the base attributes of the element being scheduled.
  • PA_PROJ_ELEMENT_VERSIONS: This table maintains version history for project elements. The foreign key relationships (for both OBJECT_ID and PARENT_OBJECT_ID) indicate that the rollup process works with specific versions of project elements, which is critical for maintaining accurate historical schedules.

The presence of non-unique indexes on columns like OBJECT_TYPE, OBJECT_ID, and the parent columns facilitates the efficient joining of these tables during the rollup engine's operation.