Results for “per_roles”
50+ results
AI-generated from documented ETRM metadata — verify critical details on the linked pages.
Overview
The PER_ROLES table, owned by the HR schema and validated in Oracle EBS 12.1.1 and 12.2.2, is a core Human Resources (PER) object that stores the different roles a person performs within an enterprise. In Oracle HRMS terminology, a "role" is a dated assignment of a person to a specific job and job group within an organization, representing the functional capacity in which that individual operates. This table therefore acts as the primary repository for role-based workforce data and underpins downstream processes such as elections, benefits eligibility, and organizational reporting.
The table contains 60 documented columns and is keyed by the PER_ROLES_PK primary key on ROLE_ID. From a heuristic data-modeling perspective, the metadata (mined from foreign-key structure) classifies this object as satellite-leaning. This suggests that PER_ROLES behaves predominantly as a descriptive satellite attached to its parent entities — principally the person, organization, job, and job group it references — rather than as an independent hub or a many-to-many link. Modelers should treat it as an attribute-bearing, time-bounded record whose natural business anchor is the person/organization combination.
Key Information Stored
Among the 60 columns, the following carry the most significant business meaning:
- ROLE_ID — Surrogate primary key (
PER_ROLES_PK); the unique identifier for each role record. - PERSON_ID — Identifies the person performing the role.
- ORGANIZATION_ID — Foreign key to
HR_ALL_ORGANIZATION_UNITS, defining the organizational context of the role. - JOB_ID — Foreign key to
PER_JOBS, specifying the job associated with the role. - JOB_GROUP_ID — Foreign key to
PER_JOB_GROUPS, linking the role to a job group classification. - START_DATE and END_DATE — Date-effective boundaries defining the role's validity period.
- CONFIDENTIAL_DATE and END_OF_RIGHTS_DATE — Confidentiality and entitlement-cessation milestones associated with the role.
- EMP_RIGHTS_FLAG — Indicates whether the role carries employee rights.
- PRIMARY_CONTACT_FLAG — Marks the role as a primary point of contact.
- ROLE_INFORMATION_CATEGORY and ROLE_INFORMATION1–20 — Descriptive flexfield segments carrying customer-defined role attributes.
- ATTRIBUTE_CATEGORY and ATTRIBUTE1–20 — Standard descriptive flexfield columns for extensible attributes.
- OBJECT_VERSION_NUMBER, LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATED_BY, CREATION_DATE — Standard WHO audit and optimistic-locking columns.
The only documented unique index is PER_ROLES_PK on ROLE_ID; however, the combination of PERSON_ID, ORGANIZATION_ID, JOB_ID, and the date range effectively establishes the business-key grain of a role assignment.
Common Use Cases and Queries
Typical applications include determining a person's active role at a point in time, reporting headcount by job group and organization, and driving election eligibility.
To retrieve current active roles for a person:
SELECT role_id, person_id, organization_id, job_id, start_date, end_date FROM per_roles WHERE person_id = :p_person AND TRUNC(SYSDATE) BETWEEN start_date AND NVL(end_date, TRUNC(SYSDATE));
To aggregate headcount by job group:
SELECT job_group_id, COUNT(DISTINCT person_id) FROM per_roles WHERE TRUNC(SYSDATE) BETWEEN start_date AND NVL(end_date, TRUNC(SYSDATE)) GROUP BY job_group_id;
Reporting frequently joins PER_ROLES to PER_ALL_PEOPLE_F, HR_ALL_ORGANIZATION_UNITS, and PER_JOBS to resolve descriptive names for person, organization, and job.
Related Objects
- HR_ALL_ORGANIZATION_UNITS — Referenced via
PER_ROLES.ORGANIZATION_ID; supplies role organization context. - PER_JOB_GROUPS — Referenced via
PER_ROLES.JOB_GROUP_ID; supplies job group classification. - PER_JOBS — Referenced via
PER_ROLES.JOB_ID; supplies the job definition. - PER_ELECTION_CANDIDATES — References
PER_ROLES.ROLE_IDthroughPER_ELECTION_CANDIDATES.ROLE_ID; ties election candidacy to a specific role. - PER_ALL_PEOPLE_F — Commonly joined on
PERSON_IDto resolve person-level details (functional join).
-
Holds the different roles that a person performs.
-
Holds the different roles that a person performs.
-
SYNONYM: PUBLIC.PER_ROLES 12.1.1
-
SYNONYM: APPS.PER_ROLES 12.2.2
-
TABLE: HR.PER_ROLES 12.1.1
-
TABLE: HR.PER_ROLES 12.2.2
-
SYNONYM: APPS.PER_ROLES 12.1.1