Search Results char_tab_type




Overview

APPS.PER_SG_ORG_INFO_LEG_HOOK is a legislative hook package within the Oracle E-Business Suite Human Resources (HR) module. Its role is to enforce country-specific (Singapore) validation logic on the organization information records managed through the HR_ORGANIZATION_INFORMATION table. In Oracle EBS terminology, a "hook" package is a designated extension point that the core HR Organization Information framework calls to apply legislated business rules that vary by localization. This particular package implements the Singapore (SG) localization requirements, ensuring that organization information entries of defined types are validated before they are inserted or updated.

The package is declared with AUTHID CURRENT_USER, meaning it executes with the privileges of the invoking user rather than the definer, a design consistent with the security model used across many EBS localization APIs. The header carries a version marker (pesglhoi.pkh 120.0) indicative of an 11i/12.1 to 12.2 lineage. It is classified as an "OTHER" API rather than a public or private interface, reflecting its role as an internal callback invoked by the localization framework rather than a directly exposed business API.

Key Procedures and Functions

  • CHECK_SG_ORG_INFO_TYPE_CREATE — Invoked prior to inserting a new organization information record. It receives the organization information type code, the organization identifier, and up to twenty generic organization information attributes (p_org_information1 through p_org_information20). It applies Singapore-specific validation rules to the supplied values and raises an error through the messaging mechanism if the data fails the legislated checks.
  • CHECK_SG_ORG_INFO_TYPE_UPDATE — Performs the analogous validation on modification. It receives the organization information type code, the organization information identifier (rather than the organization ID used at create time), and the same twenty generic information attributes, validating the new values before the update is committed.
  • RAISE_MESSAGE — A supporting routine used to surface validation failures to the calling framework, translating the outcome of the checks into a user-facing or logged message. Its signature is not fully documented here and should not be assumed.

The package also declares the user-defined type char_tab_type, a PL/SQL associative array (index-by table) of VARCHAR2(255) keyed by BINARY_INTEGER, used internally to collect and pass sets of character values during validation. The user search term "char_tab_type" refers to this declaration.

Tables Accessed

  • HR_ORGANIZATION_INFORMATION — The core table storing organization information records, accessed via its APPS synonym. The package reads existing rows and supports validation of new or modified entries for the organization information types relevant to Singapore legislation.
  • PLITBLM — The standard EBS PL/SQL messaging table-backed structure used by localization code to queue and raise messages, consistent with the use of the RAISE_MESSAGE procedure.

Usage Notes

This package is not intended for direct invocation by end users or custom code. It is called automatically by the HR Organization Information framework whenever organization information is created or updated, provided the relevant Singapore localization event triggers the hook. Typical invocation paths include the Organization Information maintenance forms and any concurrent or API-driven processes that perform DML against HR_ORGANIZATION_INFORMATION.

Implementation or support engagements that customize Singapore organization information validation should be aware that modifications here affect the legislated checkpoints invoked by the framework. Because the package executes under AUTHID CURRENT_USER, callers must possess the necessary object grants. In EBS 12.2.2 the package remains an integral part of the localization layer, and its procedures are referenced by two other packages within the application object library, confirming its role as a dependent callback rather than a standalone API.