Search Results pa_employees




Overview

PA_EMPLOYEES is a view owned by the APPS schema within the Oracle E-Business Suite Projects (PA) module. As documented in the ETRM repository, its stated purpose is to display the current PER_PEOPLE_F record for employees. The comprehensive description confirms that the view selects only those person records from PER_PEOPLE_F that qualify as employees as of the current date, determined at runtime by TRUNC(SYSDATE).

Because it is a view rather than a table, PA_EMPLOYEES stores no data of its own. It provides a simplified, date-effective filtering layer over the Oracle HRMS person model, which the Projects module relies upon for staffing, resource assignment, and expenditure entry. In EBS 12.1.1 and 12.2.2 the object is reported as VALID, and it is typically consumed by Projects reports, concurrent programs, and custom integrations that need a current employee roster without re-implementing the datetrack logic that governs PER_PEOPLE_F.

Underlying Base Objects

The documented dependency list for this view includes both tables and packages: HR_GENERAL, HR_PERSON_NAME, and HR_SECURITY (PL/SQL packages), and PER_ALL_PEOPLE_F, PER_PEOPLE_F, PER_PERSON_TYPES, and PER_PERSON_TYPE_USAGES_F (synonyms/views over HRMS objects).

The view text reveals two primary structural dependencies. First, PER_PEOPLE_F supplies the person attributes; the view restricts results to the row with the earliest EFFECTIVE_START_DATE whose EFFECTIVE_END_DATE is on or after the current date, which is the standard date-tracked "current record" pattern. Second, PER_PERSON_TYPES and PER_PERSON_TYPE_USAGES_F are joined to ensure the person is of system person type EMP or EX_EMP, again limited to the current effective usage row. The view text also includes a UNION ALL branch for non-payroll workers (NPW), keyed on NPW_NUMBER, indicating support for contingent worker records in the same result set.

Key Columns

  • PERSON_ID — Unique identifier for the person; the principal join key to other Projects and HRMS objects.
  • FULL_NAME, LAST_NAME, FIRST_NAME, MIDDLE_NAMES — Name components sourced from the current person record.
  • EMPLOYEE_NUMBER — The employee number for regular employees; the NPW branch returns NPW_NUMBER in the same position.
  • EFFECTIVE_START_DATE, EFFECTIVE_END_DATE — The datetrack range of the person row returned by the view.
  • BUSINESS_GROUP_ID — Identifier of the business group to which the person belongs.
  • VENDOR_ID — Payables supplier identifier where the person is also recorded as a vendor.
  • EXPENSE_CHECK_SEND_TO_ADDRESS — Address identifier for expense check delivery.
  • ACTIVE — Derived column using DECODE on the current employee (or NPW) flag, rendering Y as *.
  • PERSON_TYPE — The system person type (EMP or EX_EMP) resolved from PER_PERSON_TYPES.

Common Use Cases and Queries

Typical usage includes validating that an employee is current and active before creating a project assignment, populating LOVs in Projects forms, and joining to expenditure or assignment tables for reporting.

SELECT person_id,
       employee_number,
       full_name,
       person_type,
       active
  FROM apps.pa_employees
 WHERE active = '*'
 ORDER BY full_name;
SELECT pe.employee_number,
       pe.full_name,
       pa.project_id,
       pa.start_date
  FROM apps.pa_employees pe,
       apps.pa_project_assignments pa
 WHERE pe.person_id = pa.person_id
   AND pa.start_date >= TRUNC(SYSDATE);

Because the view is date-sensitive, results change automatically as datetracked person records are updated. Consumers should not persist its output for future periods, and joins to historical tables should account for the possibility that the returned EFFECTIVE_START_DATE reflects the current, not the historical, person row.