Search Results chk_nat_id_format




Overview

APPS.HR_NI_CHK_PKG is a national identifier validation package within the Oracle EBS Human Resources (PER) module. Its principal business function is to validate a person's national identifier — commonly a National Insurance number, Social Security number, or equivalent statutory identifier — against both the structural rules defined by the applicable legislation and the uniqueness constraints scoped to a business group. The package supports Oracle EBS 12.1.1 and 12.2.2 and is classified under the ETRM as an "OTHER" API, meaning it is an internal validation utility rather than a published business API.

The header comment embedded in the package source confirms this scope: it passes in a national identifier and validates "both construct (dependent on the legislation of the business group) and uniqueness within business group." The package version stamp (penichk.pkh 120.0.12000000.2) reflects its origins in the Person/National Identifier checking code family.

Key Procedures and Functions

The ETRM metadata documents five callable units across three distinct names:

  • VALIDATE_NATIONAL_IDENTIFIER — The primary validation entry point, exposed through several overloaded signatures. One variant performs construct and uniqueness validation against a business group using the national identifier, birth date, gender, business group, and session date. More elaborate overloads accept an event name, person identifier, legislation code, and warning output parameter, and additionally accept person type, region of birth, country of birth, and (for a later overload added under Bug 5961277) nationality. Each overload returns a VARCHAR2 result.
  • CHK_NAT_ID_FORMAT — The function the user searched for. It accepts a national identifier and a format string and returns a VARCHAR2 result. Its purpose is to test whether the supplied identifier conforms to the pattern described by the format string, isolating the structural/format component of validation from the uniqueness and legislative checks performed elsewhere in the package.
  • CHECK_NI_UNIQUE — A procedure that verifies a national identifier is not already assigned to another person within a business group. It accepts the identifier, a person identifier, the business group, and a control argument determining whether a violation raises an error or merely a warning.

Tables Accessed

According to ETRM metadata, the package references the following objects through APPS synonyms:

  • PER_ALL_PEOPLE_F — The dated person record, used to establish person context and to detect duplicate national identifiers within a business group.
  • HR_ORGANIZATION_INFORMATION — Supplies business group level configuration, including the legislation attributes that drive which format rules apply.
  • FF_FORMULAS_F, FF_FORMULA_TYPES, and FF_COMPILED_INFO_F — The FastFormula repository. These are consulted to retrieve and execute the legislative format definitions used by CHK_NAT_ID_FORMAT and the construct portion of VALIDATE_NATIONAL_IDENTIFIER.
  • PLITBLM — A PL/SQL internal table used for bulk or intermediate processing within the validation logic.

Usage Notes

HR_NI_CHK_PKG is an internal validation layer. It is referenced by 23 other packages across the EBS schema, indicating it is primarily invoked indirectly rather than through direct customer calls. Typical invocation paths include the Person and Assignment forms during record validation (the WHEN-VALIDATE-RECORD event referenced in the signature), employee onboarding and hire processes, and any concurrent or custom code that inserts or updates national identifier information on PER_ALL_PEOPLE_F.

Because validation depends on p_business_group_id and p_legislation_code, callers must supply a valid business group context. The warning output parameter allows calling forms to surface non-blocking advisories, while CHECK_NI_UNIQUE's control argument lets callers choose between hard errors and warnings depending on the business scenario. Custom code should treat this package as a dependent internal utility rather than a supported public API, since Oracle may change its signatures between patch levels.