Search Results per_jbr_shd




Overview

APPS.PER_JBR_SHD is the shadow (suffix _SHD) package body for the job requirements business rules component of the Oracle Human Resources (PER) product family. In Oracle EBS 12.1.1 and 12.2.2, shadow packages exist to provide the generated Table Handlers needed by the HR API framework that underpins Oracle HRMS objects. PER_JBR_SHD corresponds to the PER_JOB_REQUIREMENTS entity, the intersection that links a job definition to the requirements, competencies, or other criteria that an employee must satisfy to hold that job. The package is classified in the ETRM metadata as an OTHER API, meaning it is an internal, framework-oriented API rather than an end-user business API such as HR_JOB_API or PER_JOB_REQUIREMENTS_API. Its core responsibility is to persist changes to PER_JOB_REQUIREMENTS while remaining consistent with the row-handling infrastructure used by the HR API layer. The metadata confirms the package is VALID in the APPS schema and that it is not referenced by any database object, indicating that it is invoked at runtime through the API processing layer rather than through static database-level references.

Key Procedures and Functions

The ETRM documentation lists five procedures and functions in the package body:

  • RETURN_API_DML_STATUS — a standard shadow-package function that reports whether DML performed through the API layer has completed successfully, allowing callers to detect errors before committing.
  • CONSTRAINT_ERROR — a procedure used to raise or handle constraint violations encountered while persisting job requirement rows, mapping database errors into HR API messages.
  • API_UPDATING — a procedure that signals or checks whether the API is currently performing an update, supporting re-entrancy and preventing conflicting write operations.
  • LCK — the locking routine, standard in shadow packages, used to acquire row locks and enforce concurrency control on PER_JOB_REQUIREMENTS records.
  • CONVERT_ARGS — a procedure that converts or normalizes argument values passed from the API layer so that they conform to the expected data types before DML is executed.

Tables Accessed

Two tables are documented as referenced through APPS synonyms:

  • PER_JOB_REQUIREMENTS — the primary transactional table this package writes to. It stores the association between a job and its requirement rows and is the direct subject of the insert, update, and delete operations performed by the shadow package.
  • ALL_CONSTRAINTS — read to obtain constraint metadata at runtime, enabling the package to identify primary key, unique, and foreign key constraints relevant to the job requirements entity for error handling and validation.

Usage Notes

PER_JBR_SHD is not intended to be called directly from custom forms, concurrent programs, or reports. It is triggered indirectly: whenever an HRMS form—such as the Job Requirements window—or a concurrent process invokes the corresponding business API, the HR API framework routes DML through the shadow package to apply row-level locking, constraint validation, and status reporting. Custom code should therefore call the public API layer (for example, PER_JOB_REQUIREMENTS_API or HR_API) rather than this package body. Dependencies on HR_API, HR_UTILITY, and PER_JOB_REQUIREMENTS, together with the six dependent packages documented, confirm its position as an internal technical component of the HR API infrastructure. Because it is not referenced by any database object, it can only be reached at runtime, and any modification requires a full compile and regression test of the dependent HRMS APIs.