Search Results c_org_name




Overview

PER_IN_ASG_LEG_HOOK is an Oracle E-Business Suite localizations hook package owned by the APPS schema and delivered as part of the Oracle HRMS (PER) legislative/statutory compliance layer for India. As its name indicates, it is an "assignment legislative hook" — a package invoked by the assignment validation and update flow to enforce India-specific statutory requirements when a worker's assignment record is created or modified. The package body carries the version identifier peinlhas.pkb 120.2, confirming it is a seeded, non-shippable-to-customer file distributed with the 11i/12.x code line and retained in 12.1.1 and 12.2.2.

Its change history shows a statutory focus: the original creation (revision 1.0, 2004) added validation of assignment data, revision 1.1 added two procedures for Employees' State Insurance (ESI) and Provident Fund (PF) processing, and later revisions corrected message naming and introduced the p_gre parameter tied to Gratuity. The package therefore functions as the India localization enforcement point that couples HR assignment maintenance with ESI, PF, PT (Professional Tax), and Gratuity registration data.

Key Procedures and Functions

The driver procedure documented in the source is CHECK_ASG. It is described in the header block as the common entry point used for both insert (INS) and update (UPD) processing of an assignment, receiving a data mode indicator, an effective date, an assignment identifier, and a series of organisation and attribute inputs (p_pf_org_id, p_pt_org_id, p_esi_org_id, p_factory_id, p_estab_id, p_pga_flag, p_subint_flag, p_director, p_specified, and p_gre_id). These parameters correspond to statutory registration attributes maintained against the assignment for Indian payroll processing. CHECK_ASG is a private procedure and acts as the internal routing point for the ESI, PF, Professional Tax and Gratuity validations.

ETRM metadata for 12.2.2 documents one public entry point on the package, CHECK_ASG_UPDATE, which is the callable routine exposed to the assignment maintenance layer. Its role is to accept the assignment change context, resolve the relevant statutory organisation identifiers, and invoke the internal validation logic in CHECK_ASG. Consistent with revision 1.4 of the change history (removal of calls to check_pt_update and check_esi_update), the update path is consolidated rather than distributed across separate per-scheme routines.

Tables Accessed

  • PER_ALL_ASSIGNMENTS_F — the primary assignment datastore; read to obtain the assignment's current effective-dated attributes and the assignment context passed into validation.
  • HR_ALL_ORGANIZATION_UNITS_TL — supplies the translated organisation name. This table is the resolution target for the cursor declared in the package source as c_org_name, the object most commonly associated with the search term that led to this article.
  • HR_SOFT_CODING_KEYFLEX — used to resolve or validate the Indian statutory soft-coding key flexfield values (ESI, PF, PT and related registration segments) held against the assignment.
  • FND_SESSIONS — provides session context, typically for effective user, responsibility or locale information used when raising validation errors or messages.

Usage Notes

PER_IN_ASG_LEG_HOOK is not intended to be called directly by end users. It is invoked indirectly whenever an Indian assignment is inserted or updated through the standard HRMS assignment form or through the HR_ASSIGNMENT_API path, which fires the legislative hook. The ETRM metadata records that the package is referenced by one other package, reflecting this downstream invocation pattern.

The c_org_name cursor matters to customisers because it is the documented mechanism by which a statutory organisation identifier is converted to the organisation name shown in validation messages. Developers extending or debugging the India verification of employment or registration flow should inspect this cursor's join across HR_ALL_ORGANIZATION_UNITS_TL and the effective session/organisation context. Because the package is seeded (noship) code, modifications are overwritten at patch application; custom behaviour should be implemented in a customer-owned hook rather than by editing the delivered body. Debug output is controlled through the internal g_debug flag and g_package/g_procedure_name constants, which prefix error messages for traceability.