Search Results p_national_identifier




Overview

APPS.PER_RO_NI_VALIDATION is a country-specific PL/SQL package body delivered under the Oracle E-Business Suite Human Resources (PER) product family. Its purpose is to validate the Romanian National Identifier (Cod Numeric Personal, CNP), a 13-digit personal numeric code used in Romania to uniquely identify individuals for tax, social insurance, healthcare, and HR administration. The package belongs to the localized Romanian HR functionality and is classified as an "OTHER" API in the ETRM repository, meaning it is a supporting/internal validation routine rather than a public, supported integration interface.

The header comment perronival.pkb 120.0.12020000.7 2013/05/08 confirms the file is a shipped, versioned Oracle source member compatible with the 12.1.1 and 12.2.2 releases. The business function is to ensure that any National Identifier captured against a Romanian person record conforms to the statutory CNP format and check-digit algorithm before it is stored or used in further HR processing.

Key Procedures and Functions

The package exposes two documented program units:

  • VALIDATE_NI_FORMULA — The core validation function. It accepts a national identifier value (the P_NATIONAL_IDENTIFIER parameter referenced in the source excerpt) and returns a numeric status code indicating the validation outcome. The function first delegates format checking to HR_NI_CHK_PKG.CHK_NAT_ID_FORMAT, verifying the identifier matches the mask DDDDDDDDDDDDD (thirteen numeric digits). If the format is invalid it returns a status of 1. It then performs algorithmic validation: it extracts each digit positionally (S1, Y2, Y3, M4, M5, D6, D7, C8, C9, N10, N11, N12, V13), computes the weighted sum 2*S1+7*Y2+9*Y3+1*M4+4*M5+6*D6+3*D7+5*C8+8*C9+2*N10+7*N11+9*N12, and derives the check digit via MOD(result,11). If the computed check sum does not equal the thirteenth digit, the identifier is rejected with a status of 2. Additional cross-field validation against other person attributes (such as Date of Birth) is also referenced in the source. Diagnostic tracing is performed through HR_UTILITY.SET_LOCATION and HR_UTILITY.TRACE.
  • VALIDATE_NI — The higher-level validation entry point that wraps the formula logic and is the routine typically invoked by the owning business flow to determine whether a supplied National Identifier is acceptable.

Tables Accessed

According to the documented metadata, this package references only DUAL through APPS synonyms. No business tables are read or written directly. This is consistent with a pure validation utility: it operates on the input parameter and returns a status, leaving persistence of the National Identifier to the calling form or API (for example, the person/assignment maintenance flows). Any date-of-birth or related person data used in cross-field validation is passed in by the caller rather than queried from the database.

Usage Notes

PER_RO_NI_VALIDATION is invoked indirectly rather than through a standalone concurrent program. It is referenced by two other packages in the ETRM metadata, which act as its consumers during Romanian person-record maintenance. Typical invocation scenarios include the Romanian HR person entry forms and any localized API that captures or updates the National Identifier attribute, where the format check is executed on save to enforce statutory compliance.

Because the package is classified as an internal "OTHER" API and is not part of Oracle's supported public interface, customizations should call it cautiously and be aware that its signature and internal logic may change between patch levels. For diagnostic purposes, the embedded HR_UTILITY trace and location calls can be enabled to capture the identifier value, intermediate result, and computed check sum when troubleshooting rejected CNP values.