Search Results get_max_job_level




Overview

PA_ROLE_JOB_BG_UTILS is a utility package in the Oracle E-Business Suite Projects (PA) module that manages the relationship between project roles, jobs, and business groups. Its central business purpose is to resolve and validate the default job assignments that apply to a given project role within a specific HR business group or operating unit context. In Oracle Projects, project roles (such as Project Manager, Engineer, or Consultant) can be associated with default job definitions drawn from Oracle HRMS. These defaults drive resource assignment, billing rate derivation, and role-based job level validation across the project lifecycle.

The package is compiled with AUTHID CURRENT_USER, meaning its SQL statements execute under the privileges of the calling user rather than the package owner. This is consistent with Oracle Projects design patterns, where utilities are invoked from views and forms that must respect the security profile of the session. The header identifies the original author (Ranjana Murthy) and a creation date of 2003, indicating this package has been a stable component of the Projects schema across multiple releases, including 12.1.1 and 12.2.2.

Key Procedures and Functions

The documented package exposes four program units:

  • CHECK_DUP_JOB_BG_DEFAULTS — A procedure that verifies whether a given business group already has job defaults defined for a specified role. It is used as a validation guard to prevent duplicate role-job-business group combinations from being recorded.
  • GET_JOB_ID — A function returning the job identifier that applies to a supplied project role, resolving the default based on profile option values for the current business group context.
  • GET_MIN_JOB_LEVEL — A function returning the minimum job level associated with a project role. This is the object the user searched for, and it is typically used to enforce the lower boundary of valid job levels when assigning resources or validating role definitions.
  • GET_MAX_JOB_LEVEL — A function returning the maximum job level associated with a project role, providing the upper boundary of the valid job level range.

The paired MIN/MAX functions allow callers to determine an acceptable band of job levels for a role, while GET_JOB_ID supplies the specific default job. Together these functions support the role-to-job derivation logic embedded in Projects views.

Tables Accessed

The package references the table PA_ROLE_JOB_BGS (accessed through APPS synonyms). This table stores the mapping between project roles, jobs, and business groups that constitute the role-job default configuration. The check procedure reads this table to detect duplicates, while the getter functions read it to resolve the default job and its minimum and maximum levels for a given role and business group. No other application tables are documented in the package metadata.

Usage Notes

The package is called primarily from the view PA_PROJECT_ROLE_TYPES_VL, which surfaces job default information based on the CBGA (Current Business Group Access) and HR business group ID profile values. This means the MIN/MAX job level functions and GET_JOB_ID are evaluated transparently whenever the view is queried — for example, from Oracle Projects setup forms or from any code selecting against that view. The package is referenced by 46 other packages within the Projects schema, reflecting its role as a shared utility layer rather than a user-facing API. It is not intended for direct invocation from concurrent programs. Custom extensions that need to determine the default job, minimum job level, or maximum job level for a project role should call these functions rather than querying PA_ROLE_JOB_BGS directly, ensuring consistent profile-based resolution and duplicate validation.