Search Results per_psv_shd




Overview

PER_PSV_SHD is an Oracle E-Business Suite 12.1.1 / 12.2.2 PL/SQL package body owned by the APPS schema. The prefix "PER" identifies it as belonging to the Human Resources (PER) product family, and the "SHD" suffix denotes a shadow or shadowing package — a private implementation body registered in the ETRM repository as API classification OTHER. In EBS, shadow packages are used as the internal, non-public counterpart to a public PL/SQL API wrapper. They encapsulate the actual DML logic, validations, and business rules that the public package (for example a corresponding PER_* public API) delegates to after performing cross-business-group viability checks and argument preparation. PER_PSV_SHD therefore provides the underlying insert, update, delete, and locking services for the Position Structure Versions entity, allowing callers to manipulate position structure version records in a controlled, API-consistent manner while isolating direct DML from public consumers. The package is documented as VALID, and it references APPS.PER_PSV_SHD itself, which is typical of shadow packages that expose internal recursive or helper calls within the same body.

Key Procedures and Functions

ETRM documents five procedures or functions in PER_PSV_SHD:

  • RETURN_API_DML_STATUS — Returns the current status of DML operations performed through the API. This is the standard shadow-package mechanism that enables callers to determine whether the most recent API-driven insert, update, or delete succeeded, and is typically invoked immediately following a write operation to interpret the outcome.
  • CONSTRAINT_ERROR — Handles and reports constraint violation conditions raised during DML processing. It centralises the translation of Oracle constraint failures into application-meaningful messages via the FND_MESSAGE utility, allowing the calling layer to present a consistent error to the user or batch program.
  • API_UPDATING — A guard routine that indicates whether an API update is already in progress. It is used to prevent re-entrant or conflicting modifications to the same position structure version record during nested API calls.
  • LCK — Implements row-level locking for position structure version records. It ensures that a record being modified is locked against concurrent access before DML is applied, maintaining data integrity in multi-user environments.
  • CONVERT_ARGS — Performs argument conversion and normalisation, transforming incoming API parameters into the internal format expected by the shadow package's DML routines. This is consistent with the shadow-package pattern of preparing arguments before delegating to the core logic.

No parameter signatures are published in the ETRM extract, and none are inferred here.

Tables Accessed

Two tables are referenced through APPS synonyms:

  • PER_POS_STRUCTURE_VERSIONS — The primary transactional table for position structure versions. PER_PSV_SHD reads and writes this table to create, update, and delete version records, and to support the locking and status routines described above.
  • ALL_CONSTRAINTS — The data dictionary view used by the constraint-handling logic (CONSTRAINT_ERROR) to resolve constraint names, types, and related metadata so that violations can be identified and reported precisely.

Additional dependencies include the FND_MESSAGE package for message retrieval, HR_API and HR_UTILITY for standard HR API infrastructure and utility routines, and the SYS.STANDARD package.

Usage Notes

PER_PSV_SHD is a shadow package and is not intended for direct invocation by custom code; the ETRM metadata notes that it is not referenced by any database object and that it references itself, which is characteristic of an internal implementation body. It is invoked indirectly through the corresponding public HR API, which performs business-group and security validation before delegating to the shadow body. Typical invocation paths include HR forms and concurrent programs that maintain position structure version data, as well as any supported public API that exposes position structure version maintenance. Because the package is marked VALID and its procedures are documented, it remains available in both 12.1.1 and 12.2.2. Custom developers should always call the public API rather than PER_PSV_SHD directly, and should rely on RETURN_API_DML_STATUS through the wrapper's documented interface to verify DML outcomes.