Search Results pa_role_utils
Overview
PA_ROLE_UTILS is a PL/SQL package body owned by the APPS schema in Oracle E-Business Suite, classified under the ETRM documentation as an "OTHER" API rather than a public or private interface. It provides the internal utility layer that supports role-based functionality within Oracle Projects. In Oracle Projects, a "role" represents a reusable definition of responsibilities and access characteristics (for example, project manager, team member, or reviewer) that can be assigned to resources and used to drive role-based security across projects, project templates, and resource lists. PA_ROLE_UTILS centralizes the validation, lookups, dependency checks, and enablement/disablement logic that the Oracle Projects forms and concurrent processes rely upon when roles, role lists, and role controls are created, modified, assigned, or removed. Because the body is documented as valid and is referenced by twenty other packages while itself referencing no fewer than fifteen other application packages, it functions as a shared supporting component rather than a standalone user-facing program.
Key Procedures and Functions
The documented package exposes fifteen procedures and functions, each targeting a discrete rule or lookup operation:
- CHECK_ROLE_NAME_OR_ID — validates that a supplied role name or role identifier resolves to a valid, existing role definition.
- CHECK_ROLE_ROLELIST — verifies the relationship between a role and a role list, confirming consistency before an association is stored or used.
- GET_ROLE_DEFAULTS — retrieves default attribute values associated with a role, used to pre-populate forms and downstream records.
- VALIDATE_ROLE_COMPETENCY — checks that a competency associated with a role is valid, drawing on competency data referenced through HR.
- GET_SCHEDULABLE_FLAG — returns the indicator that determines whether a role or its assignment can be scheduled.
- CHECK_DELETE_ROLE_OK — determines whether a role may safely be deleted, typically by testing for existing assignments or dependent records.
- CHECK_REMOVE_CONTROL_OK — determines whether a role control entry can be removed without violating referential or business rules.
- CHECK_DELETE_ROLE_LIST_OK — determines whether a role list may be deleted, accounting for its members and usage.
- UPDATE_MENU_IN_GRANTS — updates menu-related grant information in support of role-based security configuration.
- DISABLE_ROLE_BASED_SEC — deactivates role-based security by updating the relevant control or grant records.
- ENABLE_ROLE_BASED_SEC — activates role-based security, the counterpart operation to the disable routine.
- IS_ROLE_IN_USE — reports whether a role is currently referenced by assignments, parties, or other dependent data.
- CHECK_DUP_ROLE_NAME — detects duplicate role names to enforce uniqueness.
- CHECK_DUP_ROLE_LIST_NAME — detects duplicate role list names to enforce uniqueness.
Together these routines implement the create/update/delete validation and security-toggling logic that surrounds the role data model.
Tables Accessed
The package reads and writes the core Oracle Projects role and resource tables through APPS synonyms. These include PA_PROJECT_ROLE_TYPES_B, PA_PROJECT_ROLE_TYPES_VL, and PA_PROJECT_ROLE_TYPES for role type definitions; PA_ROLE_LISTS, PA_ROLE_LIST_MEMBERS, and PA_ROLE_CONTROLS for role list membership and control configuration; PA_PROJECT_PARTIES and PA_PROJECT_ASSIGNMENTS for role assignments to project participants and resources; PA_PROJECTS_ALL for project context; PA_RESOURCE_LIST_MEMBERS for resource membership; and PA_RBS_ELEMENTS for role-based security elements. Competency validation relies on PER_COMPETENCES, while DUAL supplies the standard single-row query source. The mix of read and write access reflects the package's dual role: it queries definitions and dependency counts to validate operations, and it updates control, grant, and security records when roles or role-based security are modified.
Usage Notes
PA_ROLE_UTILS is an internal utility package and is not intended for direct invocation by end users. It is typically called from Oracle Projects forms and from other PL/SQL packages whenever role, role list, or role-based security changes occur — for example, when a user creates a role, deletes a role list, or toggles role-based security through the Projects setup interface. Its heavy dependency footprint (FND_API, FND_MSG_PUB, PA_DEBUG, PA_UTILS, PA_SECURITY_PVT, PA_CROSS_BUSINESS_GRP, and PA_HR_COMPETENCE_UTILS) shows that it participates in the standard Oracle error-handling, message, debugging, security, and cross-business-group frameworks. Because it is referenced by twenty other packages but references none back, it is best treated as a leaf-level support module. Customizations should avoid modifying the package body; extensions should instead wrap or supplement its procedures, and any direct calls should account for the fact that the API classification is OTHER, meaning no formal public interface contract is published.
-
SYNONYM: APPS.PA_ROLE_LISTS
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PA_ROLE_LISTS, status:VALID,
-
SYNONYM: APPS.PA_ROLE_LISTS
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PA_ROLE_LISTS, status:VALID,
-
PACKAGE BODY: APPS.PA_ROLE_UTILS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_ROLE_UTILS, status:VALID,
-
PACKAGE BODY: APPS.PA_ROLE_UTILS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_ROLE_UTILS, status:VALID,
-
PACKAGE: APPS.PA_HR_COMPETENCE_UTILS
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PA_HR_COMPETENCE_UTILS, status:VALID,
-
PACKAGE: APPS.PA_HR_COMPETENCE_UTILS
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PA_HR_COMPETENCE_UTILS, status:VALID,
-
PACKAGE: APPS.PA_ROLE_UTILS
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PA_ROLE_UTILS, status:VALID,
-
PACKAGE: APPS.PA_ROLE_UTILS
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PA_ROLE_UTILS, status:VALID,
-
SYNONYM: APPS.PA_ROLE_LIST_MEMBERS
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PA_ROLE_LIST_MEMBERS, status:VALID,
-
PACKAGE BODY: APPS.PA_ROLE_CONTROLS_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_ROLE_CONTROLS_PVT, status:VALID,
-
PACKAGE BODY: APPS.PA_ROLE_CONTROLS_PVT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_ROLE_CONTROLS_PVT, status:VALID,
-
PACKAGE BODY: APPS.PA_ROLE_LISTS_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_ROLE_LISTS_PVT, status:VALID,
-
SYNONYM: APPS.PA_ROLE_LIST_MEMBERS
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PA_ROLE_LIST_MEMBERS, status:VALID,
-
SYNONYM: APPS.PA_ROLE_CONTROLS
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PA_ROLE_CONTROLS, status:VALID,
-
PACKAGE BODY: APPS.PA_PROJECT_ROLES_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_PROJECT_ROLES_PVT, status:VALID,
-
SYNONYM: APPS.PA_ROLE_CONTROLS
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PA_ROLE_CONTROLS, status:VALID,
-
SYNONYM: APPS.PER_COMPETENCES
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PER_COMPETENCES, status:VALID,
-
PACKAGE BODY: APPS.PA_ROLE_LISTS_PVT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_ROLE_LISTS_PVT, status:VALID,
-
SYNONYM: APPS.PER_COMPETENCES
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PER_COMPETENCES, status:VALID,
-
PACKAGE BODY: APPS.PA_ROLE_PROFILES_UTILS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_ROLE_PROFILES_UTILS, status:VALID,
-
PACKAGE BODY: APPS.PA_COMPETENCE_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_COMPETENCE_PVT, status:VALID,
-
PACKAGE BODY: APPS.PA_MAPPING_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_MAPPING_PVT, status:VALID,
-
PACKAGE BODY: APPS.PA_PROJECT_ROLES_PVT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_PROJECT_ROLES_PVT, status:VALID,
-
PACKAGE BODY: APPS.PA_ROLE_PROFILES_UTILS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_ROLE_PROFILES_UTILS, status:VALID,
-
PACKAGE BODY: APPS.PA_PROJECT_PARTIES_UTILS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_PROJECT_PARTIES_UTILS, status:VALID,
-
PACKAGE BODY: APPS.PA_PROJECT_PARTIES_UTILS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_PROJECT_PARTIES_UTILS, status:VALID,
-
PACKAGE BODY: APPS.PA_MAPPING_PVT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_MAPPING_PVT, status:VALID,
-
PACKAGE BODY: APPS.PA_PROJECT_SEARCH_UTILS
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_PROJECT_SEARCH_UTILS, status:VALID,
-
PACKAGE BODY: APPS.PA_PROJECT_SEARCH_UTILS
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_PROJECT_SEARCH_UTILS, status:VALID,
-
PACKAGE BODY: APPS.PA_COMPETENCE_PVT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_COMPETENCE_PVT, status:VALID,
-
PACKAGE BODY: APPS.PA_COMPETENCE_PUB
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_COMPETENCE_PUB, status:VALID,
-
SYNONYM: APPS.PA_PROJECT_ROLE_TYPES_B
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PA_PROJECT_ROLE_TYPES_B, status:VALID,
-
PACKAGE BODY: APPS.PA_COMPETENCE_PUB
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_COMPETENCE_PUB, status:VALID,
-
VIEW: APPS.PA_REP_PROJ_ROLES_V
12.1.1
owner:APPS, object_type:VIEW, fnd_design_data:PA.PA_REP_PROJ_ROLES_V, object_name:PA_REP_PROJ_ROLES_V, status:VALID,
-
VIEW: APPS.PA_REP_PROJ_ROLES_V
12.2.2
owner:APPS, object_type:VIEW, fnd_design_data:PA.PA_REP_PROJ_ROLES_V, object_name:PA_REP_PROJ_ROLES_V, status:VALID,
-
SYNONYM: APPS.PA_RBS_ELEMENTS
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PA_RBS_ELEMENTS, status:VALID,
-
PACKAGE BODY: APPS.PA_PROJECT_ROLES_PVT
12.1.1
-
PACKAGE BODY: APPS.PA_PROJECT_ROLES_PVT
12.2.2
-
SYNONYM: APPS.PA_PROJECT_ROLE_TYPES_B
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PA_PROJECT_ROLE_TYPES_B, status:VALID,
-
PACKAGE BODY: APPS.PA_SEARCH_PUB
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_SEARCH_PUB, status:VALID,
-
PACKAGE BODY: APPS.PA_SEARCH_PUB
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_SEARCH_PUB, status:VALID,
-
PACKAGE BODY: APPS.PA_OPEN_ASSIGNMENT_PVT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_OPEN_ASSIGNMENT_PVT, status:VALID,
-
PACKAGE BODY: APPS.PA_OPEN_ASSIGNMENT_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_OPEN_ASSIGNMENT_PVT, status:VALID,
-
VIEW: APPS.PA_PROJECT_ROLE_TYPES
12.1.1
owner:APPS, object_type:VIEW, fnd_design_data:PA.PA_PROJECT_ROLE_TYPES, object_name:PA_PROJECT_ROLE_TYPES, status:VALID,
-
PACKAGE: APPS.PA_SECURITY_PVT
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PA_SECURITY_PVT, status:VALID,
-
VIEW: APPS.PA_PROJECT_ROLE_TYPES
12.2.2
owner:APPS, object_type:VIEW, fnd_design_data:PA.PA_PROJECT_ROLE_TYPES, object_name:PA_PROJECT_ROLE_TYPES, status:VALID,
-
PACKAGE: APPS.PA_SECURITY_PVT
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PA_SECURITY_PVT, status:VALID,
-
SYNONYM: APPS.PA_RBS_ELEMENTS
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PA_RBS_ELEMENTS, status:VALID,
-
PACKAGE BODY: APPS.PA_RES_MANAGEMENT_AMG_PUB
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PA_RES_MANAGEMENT_AMG_PUB, status:VALID,
-
PACKAGE BODY: APPS.PA_RES_MANAGEMENT_AMG_PUB
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PA_RES_MANAGEMENT_AMG_PUB, status:VALID,