Search Results per_information




Overview

The APPS.IRC_IPD_BUS package body is the business-rule layer for the IRC "iRecruitment Pending Data" entity in Oracle E-Business Suite 12.1.1 and 12.2.2. It sits within the Oracle iRecruitment module, which manages external and internal candidate recruitment from an internet-facing application. Its broader responsibility is to enforce the business logic applied to records held in the IRC_PENDING_DATA table — the staging area used to capture recruitment data submitted by candidates or external sources before it is validated and merged into the core HR tables.

The package name suffix _BUS follows the standard Oracle HRMS generator convention: a _BUS package encapsulates the business rules, while a companion _API package provides the public procedural interface. As a result, IRC_IPD_BUS is normally invoked indirectly, by IRC_IPD_API or by other IRC business objects, rather than called directly by end users. The header comment ($Header: iripdrhi.pkb 120.0 ... mbocutt noship $) confirms it is a generated, non-shipped-customization object maintained by development, not a customer object.

This package is the entity that underpins the ETRM documentation mapped to the PER_INFORMATION search context, since pending recruitment data ultimately resolves to person information once validated.

Key Procedures and Functions

The documented metadata lists five procedures/functions. Each plays a defined role in the entity's lifecycle:

  • SET_SECURITY_GROUP_ID — Establishes the security group context for the pending-data record. It validates that the mandatory pending_data_id has been supplied, raising the standard HR mandatory-argument error if it is null. This enforces multi-organization access control so that downstream processing operates within the correct security group.
  • RETURN_LEGISLATION_CODE — A function that resolves and returns the legislation code applicable to a given pending-data record. It uses the package-level globals g_legislation_code and g_pending_data_id to cache the lookup, which is required because HR business rules (validation, date handling, DFF behaviour) are legislation-specific.
  • INSERT_VALIDATE — Performs business validation when a new pending-data record is created, ensuring that incoming recruitment data satisfies required-field, referential, and legislation-specific constraints before insertion.
  • UPDATE_VALIDATE — Applies the corresponding business rules when an existing pending-data record is modified, protecting data integrity for corrections and re-submissions.
  • DELETE_VALIDATE — Validates that a pending-data record may be removed, guarding against deletion of records that are referenced or required by downstream recruitment processes.

All procedures follow the HRMS generated-code pattern, using hr_utility.set_location for tracing and hr_api error routines for consistent message handling.

Tables Accessed

The package operates against the following tables via APPS synonyms:

  • IRC_PENDING_DATA — The primary entity table. This is the record whose security group, legislation code, and lifecycle (insert, update, delete) the package governs.
  • PER_ALL_PEOPLE_F — The dated person table. It is referenced to resolve the person associated with pending data and to support person-information validation once a candidate record is promoted.
  • PER_ALL_VACANCIES — The vacancy table. It provides the recruitment context, allowing validation that pending data relates to a valid vacancy before it is applied.

These references confirm the cross-module nature of the entity: it bridges iRecruitment staging data (IRC_*) with core HR person and vacancy data (PER_*).

Usage Notes

IRC_IPD_BUS is invoked through the iRecruitment framework rather than from forms directly. Typical call paths include the iRecruitment candidate self-service pages, where external candidates submit information that lands in IRC_PENDING_DATA, and background validation or concurrent processes that reconcile pending data into core HR. The metadata records it as referenced by three other packages, reinforcing its role as a shared business layer consumed by higher-level API packages. Custom code should call IRC_IPD_API rather than this _BUS package, since _BUS is an internal implementation object and is not intended for direct customer invocation.