Search Results check_digit




Overview

APPS.HR_HU_UTILITY is a Hungarian (HU) country-specific human resources utility package body shipped as part of the Oracle E-Business Suite HRMS localization layer. Its role is to centralize the validation logic required by Hungarian statutory payroll and personnel regulations, specifically the structural checking of Hungarian bank account numbers, tax identification numbers, social security numbers, and Hungarian national identifier formats. In EBS 12.1.1 and 12.2.2, the package remains an unpinned, non-API ("OTHER") classified PL/SQL unit owned by APPS, with the source header indicating it was last revised under version 115.8.

The package name itself, HR_HU_UTILITY, indicates it is a pre-fetch utility called from higher-level Hungarian localization packages, forms personalizations, and payroll/HR data entry flows. Its functions return numeric or string indicators (typically 0 for "invalid" and 1 for "valid") that callers use to accept or reject user-entered national data before it is committed to the database.

Key Procedures and Functions

The ETRM documentation lists nine documented entry points:

  • VALIDATE_ACCOUNT_NO — The function central to the "check_digit" search. It validates a Hungarian bank account number in the format DD DD DD DD-DD DD DD DD (17 characters, 8 digits, hyphen, 8 digits). It rejects values shorter than 17 or longer than 26 characters, rejects the sentinel value '00000000-00000000', verifies the hyphen occurs at position 9, calls HR_NI_CHK_PKG.CHK_NAT_ID_FORMAT with the mask 'DDDDDDDD-DDDDDDDD', and then computes the Hungarian check digit using the weighted formula (X1*9)+(X2*7)+(X3*3)+(X4*1)+(X5*9)+(X6*7)+(X7*3) for each 8-digit half. The computed check digit is 10 - mod(sum,10), normalized to 0 when the result is 10, and compared to the eighth digit of each half (positions 8 and 17 respectively).
  • VALIDATE_ACCOUNT_ENTERED — Companion validation routine invoked when an account number is entered through the user interface.
  • CHECK_TAX_IDENTIFICATION_NO — Validates the Hungarian tax identification number format.
  • CHECK_TAX_IDENTIFIER_UNIQUE — Confirms that a supplied tax identifier is not already present in the population of person records.
  • VALIDATE_TAX_NO — Validates an entered tax number.
  • VALIDATE_SS_NO — Validates a Hungarian social security (TAJ) number.
  • VALIDATE_CS_NO — Validates a Hungarian "CS" identifier (typically a health/insurance or company-specific registration number).
  • PER_HU_FULL_NAME — Returns the constructed full name for a person record in the Hungarian naming convention (surname first, then given name).
  • PER_HU_ORDER_NAME — Returns the person name formatted for sorting / ordered display, again following Hungarian surname-first ordering.

Tables Accessed

The documented table references are limited to PER_ALL_PEOPLE_F and DUAL.

  • PER_ALL_PEOPLE_F is the base HRMS person/assignment-holder table. The package reads it to support name-construction routines (PER_HU_FULL_NAME, PER_HU_ORDER_NAME) and the uniqueness check (CHECK_TAX_IDENTIFIER_UNIQUE). Efficient filtering on the effective-dated person rows is essential because the table is a date-tracked (_F) view.
  • DUAL is used purely as a dummy row source for the stateless validation and check-digit calculations, which can be invoked in plain SELECT statements or from PL/SQL without needing a real table.

The package is documented as referenced by one other package, indicating that downstream Hungarian localization routines call into HR_HU_UTILITY for their validation needs.

Usage Notes

HR_HU_UTILITY is invoked in three principal contexts:

  • Forms and data entry. Hungarian HRMS forms for person, assignment, and payroll bank details call VALIDATE_ACCOUNT_NO, VALIDATE_TAX_NO, VALIDATE_SS_NO, and VALIDATE_CS_NO in their WHEN-VALIDATE-ITEM triggers to reject mistyped identifiers before they reach the base tables.
  • Concurrent and batch processing. Payroll pre-payments and Hungarian statutory extracts call the validation functions against stored account and tax data to filter out records that will fail transmission to Hungarian banks or the tax authority (APEH/NAV).
  • Custom code. Site-specific extensions that need Hungarian identifier checking should call these functions rather than re-implementing the weighted check-digit algorithm, because the algorithm and the mask 'DDDDDDDD-DDDDDDDD' are maintained centrally in this package.

Because these functions perform only validation and return status indicators, they are safe to call from read-only contexts. Any customization should preserve the exact check-digit formula for the first and second 8-digit halves, since Hungarian account numbering uses the same weighting on the second half as on the first (positions 10–16 with fixed weights 9, 7, 3, 1, 9, 7, 3, and a final check position at 17).