Search Results pa_struc_predecessors_v




Overview

PA_STRUC_PREDECESSORS_V is a read-only view owned by the APPS schema in Oracle E-Business Suite, defined within the Projects (PA) product family. As documented in the ETRM metadata for releases 12.1.1 and 12.2.2, the view "selects the information of the predecessors" and is explicitly annotated as being provided "for future use." It therefore does not participate in the standard Project Management or Project Costing processing flows, but rather exposes the predecessor relationships recorded between project structure elements in a denormalized, report-oriented form.

The view resolves relationships stored in PA_OBJECT_RELATIONSHIPS, specifically those whose relationship type is 'D', where the "to" object type is 'PA_TASKS' and the "from" object type is either 'PA_TASKS' or 'PA_STRUCTURES'. The result set combines the predecessor element (the "from" side) with the successor element version (the "to" side) and enriches each row with the owning project and element-version attributes. Because the underlying relationship table stores generic object links, this view renders the Projects-specific predecessor semantics in a form suitable for ad hoc SQL, custom reports, and integration extracts.

Underlying Base Objects

The documented base objects referenced by the view are:

  • PA_OBJECT_RELATIONSHIPS (SYNONYM) — the driving table, aliased REL, supplying relationship identifiers, lag values, priority, and relationship type/subtype.
  • PA_PROJECTS_ALL (SYNONYM) — supplies project number (SEGMENT1) and project name.
  • PA_PROJ_ELEMENTS (SYNONYM) — supplies element number and element name for both predecessor and successor tasks.
  • PA_PROJ_ELEMENT_VERSIONS (SYNONYM) — supplies element version identifiers used to resolve the parent/child structure linkage.
  • PA_PROJ_ELEM_VER_STRUCTURE (SYNONYM) — supplies the version number and structure name used to join the predecessor element version to its project.

The view is a UNION of two branches. The first branch joins a successor element version (PV2/PE2) to its parent structure version (PV1/PE1/EVS) and then to the relationship row, returning full successor column values. The second branch returns only the predecessor side, emitting TO_NUMBER(NULL), NULL, NULL for the successor columns. Both branches restrict the result set with the same relationship predicates, ensuring only scheduling-style predecessor links are exposed.

h4>Key Columns
  • OBJECT_RELATIONSHIP_ID — primary identifier of the relationship row in PA_OBJECT_RELATIONSHIPS.
  • PROJECT_ID, SEGMENT1, NAME — the project owning the predecessor/successor element, joined via PA_PROJECTS_ALL.
  • PROJ_ELEMENT_ID, ELEMENT_NUMBER, NAME — the project element (task) identifier, number, and descriptive name.
  • ELEMENT_VERSION_ID, VERSION_NUMBER — the project element version and its structure version number from PA_PROJ_ELEM_VER_STRUCTURE.
  • OBJECT_ID_FROM1 — the originating object of the relationship, i.e., the predecessor.
  • RELATIONSHIP_TYPE, RELATIONSHIP_SUBTYPE — the relationship classification; the view filters to 'D', denoting dependency/predecessor relationships.
  • LAG_DAY, IMPORTED_LAG — the lag, in days, applied to the predecessor relationship, including any imported lag value.
  • PRIORITY — the scheduling priority associated with the relationship.
  • PM_PRODUCT_CODE — identifies the originating product (Project Management) for the relationship.
  • RECORD_VERSION_NUMBER — the optimistic locking/version column carried over from the base table.

Common Use Cases and Queries

Because the view is designated "for future use," it is not referenced by seeded Oracle forms or concurrent programs. Practical use is limited to custom reporting, data migration validation, and integration extracts that must reconcile predecessor/successor structure outside the standard Project Management scheduling engine. A representative query retrieving all predecessor relationships for a given project is:

  • SELECT OBJECT_RELATIONSHIP_ID, PROJECT_ID, SEGMENT1, ELEMENT_NUMBER, NAME, RELATIONSHIP_TYPE, RELATIONSHIP_SUBTYPE, LAG_DAY, IMPORTED_LAG, PRIORITY FROM APPS.PA_STRUC_PREDECESSORS_V WHERE PROJECT_ID = :project_id;
  • SELECT SEGMENT1, ELEMENT_NUMBER, NAME, VERSION_NUMBER, LAG_DAY FROM APPS.PA_STRUC_PREDECESSORS_V WHERE RELATIONSHIP_TYPE = 'D' ORDER BY SEGMENT1, ELEMENT_NUMBER;

Consumers should note that the second UNION branch yields NULL successor identifiers, so queries requiring both sides of the relationship must filter for rows where OBJECT_ID_FROM1 and the successor columns are both populated. Join performance is generally acceptable given the indexed keys on PA_OBJECT_RELATIONSHIPS and PA_PROJ_ELEMENT_VERSIONS.