Search Results per_person_list_changes




Overview

PER_PERSON_LIST_CHANGES is a Human Resources (PER) module table owned by the HR schema in Oracle E-Business Suite 12.1.1 and 12.2.2. As documented in the ETRM repository, it stores the list of people that are to be added to the current PER_PERSON_LIST. In practice, the table functions as a staging and delta-tracking structure for the security profile person-list assignment process: when a security profile's membership is modified — for example through the Security Profile configuration UI or a concurrent request that rebuilds person lists — rows are staged here before the effective PER_PERSON_LIST is regenerated or refreshed.

From a Data Vault modeling perspective, the ETRM relationship metadata classifies this table as satellite-leaning. It carries descriptive and process attributes (such as inclusion and termination flags and request identifiers) attached to the composite business key of person and security profile, rather than serving as a pure hub or link. This classification is a heuristic suggestion derived from the foreign-key structure and should be validated against the intended reporting model.

Key Information Stored

The documented physical schema contains eight columns. The most significant are:

  • PERSON_ID — Identifier of the person to be added to the target person list; part of the composite primary key and the principal business-key component.
  • SECURITY_PROFILE_ID — Identifier of the security profile to which the person is being added; the second half of the composite primary key and the sole foreign-key column, referencing PER_SECURITY_PROFILES.
  • INCLUDE_FLAG — Indicates whether the person is to be included in the regenerated person list, supporting include/exclude delta processing.
  • TERMINATION_FLAG — Flags terminated individuals, allowing the list-building logic to handle them distinctly.
  • REQUEST_ID — The concurrent request that produced or processed the change rows, enabling traceability of bulk updates.
  • PROGRAM_APPLICATION_ID — Application owning the concurrent program that generated the rows.
  • PROGRAM_ID — The concurrent program definition responsible for the change set.
  • PROGRAM_UPDATE_DATE — Timestamp of the program execution, useful for incremental processing and reconciliation.

The surrogate primary key is defined by the PER_PERSON_LIST_CHANGES_PK constraint, implemented as a unique index over (PERSON_ID, SECURITY_PROFILE_ID). Because this unique index is the only documented business-key candidate, the pair of person and security profile constitutes the natural grain of the table.

Common Use Cases and Queries

Typical scenarios include auditing which persons are queued for addition to a given security profile, diagnosing why a user cannot view an employee record after a profile change, and monitoring the outcome of security profile regeneration requests.

  • Listing pending additions for a specific security profile:
    SELECT PERSON_ID, INCLUDE_FLAG, TERMINATION_FLAG, REQUEST_ID
    FROM   HR.PER_PERSON_LIST_CHANGES
    WHERE  SECURITY_PROFILE_ID = :profile_id;
  • Detecting changes produced by a particular concurrent request:
    SELECT PERSON_ID, SECURITY_PROFILE_ID, PROGRAM_UPDATE_DATE
    FROM   HR.PER_PERSON_LIST_CHANGES
    WHERE  REQUEST_ID = :request_id;
  • Reconciling staged changes against the effective list in PER_PERSON_LIST to identify unprocessed rows.
  • Reporting on termination handling by aggregating on TERMINATION_FLAG across profiles.

Related Objects

The documented foreign key establishes a direct dependency on the security profile definition. The most significant related objects are:

  • PER_SECURITY_PROFILES — Referenced by PER_PERSON_LIST_CHANGES.SECURITY_PROFILE_ID; the parent definition of the security profile whose membership is being changed.
  • PER_PERSON_LIST — The effective, materialized person list to which the staged rows are ultimately applied.
  • PER_ALL_PEOPLE_F — Source of PERSON_ID and person attributes such as termination status used to populate TERMINATION_FLAG.
  • PER_SECURITY_PROFILE_VALUES and related profile value tables — Define the organization or position criteria that drive membership.
  • FND_CONCURRENT_REQUESTS — Joins on REQUEST_ID to resolve the name, status, and timings of the generating request.
  • FND_APPLICATION and FND_CONCURRENT_PROGRAMS — Resolve PROGRAM_APPLICATION_ID and PROGRAM_ID for audit reporting.