Search Results delete_person_absence_a




Overview

HR_PERSON_ABSENCE_BK3 is a generated PL/SQL package body belonging to the APPS schema in Oracle E-Business Suite 12.1.1 and 12.2.2. It forms part of the HRMS absence management API layer and is classified as an "OTHER" API. The package implements the backward-compatibility "BK3" hook sequence for the DELETE_PERSON_ABSENCE business operation, which removes a person's absence record from the HR system based on its absence attendance identifier. The body header (peabsapi.pkb version 120.4.12010000.2) confirms it was produced by the Oracle HRMS API Hook Pre-processor, and the version string is retained from a prior generation cycle (2008) with the package regenerated in 2009. As a pre-processor artifact, the package is not intended for direct modification; its logic is regenerated whenever the underlying absence API or its hook definitions change. The package sits at the top of a chain of similarly numbered packages (BK1, BK2, BK3) that together provide ordered business logic (BE) and legislation-specific (LEG) hook execution around the core absence deletion operation.

Key Procedures and Functions

The ETRM metadata documents two procedures in this package:

  • DELETE_PERSON_ABSENCE_A — Executes the primary hook sequence for absence deletion. It captures the commit unit number via hr_api.return_commit_unit, conditionally invokes the business hook implementation hr_person_absence_be3.DELETE_PERSON_ABSENCE_A when application hooks are enabled, and then, when legislation hooks are enabled, resolves the legislation code through PER_ABS_BUS.return_legislation_code. For legislation 'GB', it calls PER_GB_ABSENCE_RULES.SICKNESS_DATE_UPDATE to apply UK-specific sickness date handling before deletion. It closes the validation set with hr_multi_message.end_validation_set and validates the commit unit using the 'DELETE_PERSON_ABSENCE' / 'AP' context.
  • DELETE_PERSON_ABSENCE_B — Executes the secondary hook sequence. It also captures the commit unit number and, when legislation hooks are enabled, resolves the legislation code. For legislation 'DK', it invokes the local absence deletion routine hr_loc_absence.delete_absence. This demonstrates the package's role in dispatching national (localisation) business rules that must run alongside the standard deletion.

Neither procedure is documented with an explicit parameter list in the excerpt; both are invoked with the absence attendance identifier and, for procedure A, an object version number used for optimistic concurrency control.

Tables Accessed

The provided metadata does not enumerate base tables accessed directly through APPS synonyms. All persistent access occurs indirectly: the business hook implementation hr_person_absence_be3 and the localisation routines (PER_GB_ABSENCE_RULES, hr_loc_absence) resolve and modify the underlying absence attendance records, principally PER_ABSENCE_ATTENDANCES and related PER_ABSENCE_ATTENDANCE_TYPES data. The package itself reads no tables directly; it only orchestrates hook invocation, commit-unit validation, and message-set management through the HR_API and HR_MULTI_MESSAGE utility packages.

Usage Notes

This package is not intended for direct invocation by end users or custom code. It is called internally by the higher-level absence API chain when a person absence is deleted — typically from the Absence Management forms (such as the Absence Detail or Person Absence Entry forms) or from concurrent programs that process absence terminations. It may also be reached indirectly when absence records are purged as part of employee termination or leaver processing. Because the logic is generated by the HRMS API Hook Pre-processor, any customisation should be applied through the officially supported hook mechanisms (the BE and LEG hook packages it references) rather than by editing HR_PERSON_ABSENCE_BK3. ETRM records that the package is referenced by one other package, confirming its position as a dependent building block in the absence API hierarchy. Developers extending absence deletion behaviour for GB or DK legislation should target the corresponding rule packages invoked here.