Search Results per_roles




Overview

The PER_ROLES table is a core data object within the Oracle E-Business Suite Human Resources (PER) module, specifically in versions 12.1.1 and 12.2.2. It functions as a master table designed to define and store the distinct roles that an individual can perform within an organization. A role, in this context, is a formal assignment that links a person to a specific job, job group, and organizational unit. This table is fundamental to modeling the workforce structure, enabling the system to manage assignments, responsibilities, and reporting relationships. It serves as a primary source for role-based data, which integrates with other HR processes such as position management, candidate tracking, and organizational reporting.

Key Information Stored

The table's primary key is the ROLE_ID column, which uniquely identifies each role definition. Based on the documented foreign key relationships, the table stores several critical pieces of information that define a role's context. The ORGANIZATION_ID links the role to a specific business unit or department as defined in the HR_ALL_ORGANIZATION_UNITS table. The JOB_ID associates the role with a specific job title from the PER_JOBS table, while the JOB_GROUP_ID can link it to a broader job classification or group from PER_JOB_GROUPS. While the exact full column list is not provided in the excerpt, the foreign keys indicate the table holds the essential dimensions of organization, job, and job group to fully describe a person's functional role.

Common Use Cases and Queries

A primary use case is reporting on the distribution of roles across the organization, such as listing all roles within a specific department. Developers and report writers frequently query this table to resolve role descriptions for other HR transactions. Common SQL patterns include joining PER_ROLES to person or assignment tables to enrich data. For example, to find all roles for a specific job, one might use:

  • SELECT role_id, organization_id FROM hr.per_roles WHERE job_id = <job_id>;

Another critical use case is supporting the election process, as evidenced by its relationship with PER_ELECTION_CANDIDATES. A query to find candidates for a particular role would join these two tables on ROLE_ID. This table is also essential for data validation and setup, ensuring that assignments and other HR records reference valid, pre-defined roles.

Related Objects

PER_ROLES has defined relationships with several key HR tables, as per the provided metadata. It is a parent table to PER_ELECTION_CANDIDATES via the ROLE_ID foreign key. It is itself a child table, referencing master data in HR_ALL_ORGANIZATION_UNITS (for the organization), PER_JOBS (for the job), and PER_JOB_GROUPS (for the job group). These relationships enforce referential integrity and ensure that roles are defined within a valid organizational and job structure. While not listed in the excerpt, it is common for assignment-related tables (like PER_ALL_ASSIGNMENTS_F) or security tables to have indirect dependencies on PER_ROLES to determine a person's functional capacity.