Search Results chk_contribution_codes




Overview

APPS.PAY_CNU_BUS is a server-side PL/SQL package body within the Oracle E-Business Suite Payroll (PAY) module. Its internal package name, reflected in the header comment pycnurhi.pkb, aligns it with the "CNU" business logic and the "RHI" row-handler infrastructure conventions used throughout Oracle HRMS. The package belongs to the API classification "OTHER" in the ETRM repository, meaning it is a supporting business-layer package rather than a fully published public API.

The package serves as the business logic for French contribution usage records stored in PAY_FR_CONTRIBUTION_USAGES, a legislation-specific table associated with French payroll contribution definitions. It provides security group resolution, legislation code lookup, and the row-handler validation routines (insert, update, and delete) that enforce the integrity of contribution usage records. The chk_contribution_codes search term that leads users to this object reflects the contribution-code checking logic that underpins these validation routines.

Key Procedures and Functions

  • SET_SECURITY_GROUP_ID — Resolves the security group identifier for a given contribution usage by joining PER_BUSINESS_GROUPS to PAY_FR_CONTRIBUTION_USAGES through the business group. It validates that the mandatory contribution usage identifier is supplied through HR_API.MANDATORY_ARG_ERROR, and raises HR_7220_INVALID_PRIMARY_KEY via FND_MESSAGE when the primary key cannot be resolved. This routine establishes the security context required for subsequent data access.
  • RETURN_LEGISLATION_CODE — Returns the legislation code associated with the contribution usage. It relies on the private global variables g_legislation_code and g_contribution_usage_id, which the package header notes are reserved exclusively for this function. This allows downstream row-handler logic to determine which national payroll rules apply.
  • INSERT_VALIDATE — Performs pre-insert validation of a new contribution usage record, applying the contribution code checks implied by the package's business role before the row is committed.
  • UPDATE_VALIDATE — Performs pre-update validation, ensuring that modifications to an existing contribution usage record remain consistent with business rules and referential constraints.
  • DELETE_VALIDATE — Performs pre-delete validation, confirming that a contribution usage record may be safely removed without violating dependent references.

Tables Accessed

The primary table referenced through an APPS synonym is PAY_FR_CONTRIBUTION_USAGES, which stores French payroll contribution usage definitions keyed by CONTRIBUTION_USAGE_ID and linked to a BUSINESS_GROUP_ID. The package reads this table to resolve the contribution usage context and to validate records. The security group query additionally joins PER_BUSINESS_GROUPS to derive the correct SECURITY_GROUP_ID. Because the package is a row-handler style body, the validation routines operate against the same contribution usage entity, enforcing integrity at each DML boundary.

Usage Notes

PAY_CNU_BUS is typically invoked indirectly rather than directly by end users. It is called by the row-handler layer generated from the underlying entity definition, which in turn is triggered by Oracle Forms, OAF pages, or concurrent processes that maintain contribution usage data. The ETRM metadata records that the package is referenced by three other packages, indicating its role as a shared business-logic dependency within French payroll processing.

Custom code should not call the validation routines directly unless it is replicating row-handler behavior. The recommended integration point for external processing is the corresponding public API, with PAY_CNU_BUS acting as the enforcement mechanism beneath it. The continued presence of the 2005 header revision in 12.1.1 and 12.2.2 indicates the package has remained stable across releases, and developers diagnosing contribution code errors should treat failures raised here as originating from data integrity conditions in PAY_FR_CONTRIBUTION_USAGES.