Search Results validate_translation
Overview
APPS.PER_QTT_BUS is the business-rule ("BUS") layer of the Qualification Type Translation entity within Oracle Human Resources, part of the Oracle Application Object Library generation framework used across Oracle E-Business Suite 12.1.1 and 12.2.2. It supplies the validation logic invoked by the underlying table handler (PER_QTT_SHD) and the entity-level API package (PER_QTT_API) when records are manipulated in the PER_QUALIFICATION_TYPES_TL table. Qualification types represent the qualifications, competencies, and licenses defined by an enterprise, and their translated names and descriptions are stored in the TL table for each installed language. PER_QTT_BUS is therefore responsible for enforcing cross-row and cross-language business rules — principally uniqueness and referential integrity of qualification names — before inserts, updates, and deletes are committed.
Key Procedures and Functions
The documented package exposes four procedures, each corresponding to a stage in the entity lifecycle:
- INSERT_VALIDATE — Executed prior to inserting a new qualification type translation row. It performs row-level and set-level checks, including verifying that the supplied qualification name is not a duplicate within the same language.
- UPDATE_VALIDATE — Executed prior to updating an existing translation row. It applies the same validation set as insert, while excluding the row currently being modified from uniqueness comparisons.
- DELETE_VALIDATE — Executed prior to deleting a translation row. It confirms that deletion does not violate any dependent business rules or leave the qualification type without required data.
- VALIDATE_TRANSLATION — The procedure most relevant to the search term "validate_translation." It validates translation-specific attributes for a qualification type — the language code, the translated name, and related descriptive columns — ensuring the translation is complete and internally consistent before the API layer proceeds with the DML operation. It is the enforcement point for language-level integrity on the TL table.
These procedures are private to the package and are called by the generated entity handlers; they are not intended for direct invocation by external code. The package also includes internal helper logic such as chk_name_unique, which queries PER_QUALIFICATION_TYPES_TL for an existing name in the same language and raises HR_51536_EQT_NAME_UK via HR_UTILITY when a conflict is detected. The package body relies on global state (g_legislation_code, g_qualification_type_id, g_language) populated during datetracked processing.
Tables Accessed
The only documented table referenced is PER_QUALIFICATION_TYPES_TL, accessed through its APPS synonym. This is the translation table holding language-specific name and description values keyed by QUALIFICATION_TYPE_ID and LANGUAGE. The package reads it in the uniqueness check (cursor c1) and, through the shared table handler PER_QTT_SHD, synchronizes old and new record images used by UPDATE_VALIDATE and DELETE_VALIDATE. No other application tables are documented for this package.
Usage Notes
PER_QTT_BUS is invoked indirectly. The standard flow is: a form (typically the Qualification Types maintenance window), a concurrent program, or custom code calls PER_QTT_API, which delegates to PER_QTT_SHD; the table handler then calls the appropriate INSERT_VALIDATE, UPDATE_VALIDATE, DELETE_VALIDATE, or VALIDATE_TRANSLATION procedure in this package. ETRM records that the package is referenced by three other packages, consistent with this layering. Developers implementing custom qualification-type loads should call PER_QTT_API rather than PER_QTT_BUS directly, and should expect validation errors to surface as standard HR_UTILITY messages such as HR_51536_EQT_NAME_UK. Because the package is generated and marked "noship," it should not be modified; any extensions belong in the calling API layer or in supported personalization mechanisms.
-
PACKAGE BODY: APPS.PER_QTT_BUS
12.1.1
-
PACKAGE BODY: APPS.PER_QTT_BUS
12.2.2
-
PACKAGE BODY: APPS.PER_RTX_BUS
12.1.1
-
PACKAGE BODY: APPS.PER_RSL_BUS
12.2.2
-
PACKAGE BODY: APPS.PER_RSL_BUS
12.1.1
-
PACKAGE BODY: APPS.PER_RTX_BUS
12.2.2
-
PACKAGE BODY: APPS.PER_ABT_BUS
12.2.2
-
PACKAGE BODY: APPS.PER_ABT_BUS
12.1.1
-
PACKAGE: APPS.OTA_BSL_BUS
12.1.1
-
PACKAGE: APPS.OTA_ADT_BUS
12.1.1
-
PACKAGE: APPS.OTA_ADT_BUS
12.2.2
-
PACKAGE: APPS.OTA_BSL_BUS
12.2.2
-
PACKAGE BODY: APPS.OTA_ADT_BUS
12.1.1
-
PACKAGE BODY: APPS.OTA_BSL_BUS
12.1.1
-
PACKAGE BODY: APPS.OTA_BSL_BUS
12.2.2
-
PACKAGE BODY: APPS.OTA_AVT_BUS
12.2.2
-
PACKAGE: APPS.PER_RTX_BUS
12.1.1
-
PACKAGE: APPS.PER_RTX_BUS
12.2.2
-
PACKAGE: APPS.PER_RSL_BUS
12.2.2
-
PACKAGE: APPS.PER_QTT_BUS
12.1.1
-
PACKAGE BODY: APPS.OTA_ADT_BUS
12.2.2
-
PACKAGE: APPS.PER_RSL_BUS
12.1.1
-
PACKAGE BODY: APPS.OTA_AVT_BUS
12.1.1
-
PACKAGE BODY: APPS.PER_QAT_BUS
12.1.1
-
PACKAGE BODY: APPS.PER_QAT_BUS
12.2.2
-
PACKAGE: APPS.PER_QTT_BUS
12.2.2
-
PACKAGE BODY: APPS.OTA_ENT_BUS
12.1.1
-
PACKAGE: APPS.OTA_ENT_BUS
12.1.1
-
PACKAGE BODY: APPS.OTA_ENT_BUS
12.2.2
-
PACKAGE: APPS.OTA_AVT_BUS
12.2.2
-
PACKAGE: APPS.OTA_ENT_BUS
12.2.2
-
PACKAGE: APPS.OTA_AVT_BUS
12.1.1
-
PACKAGE: APPS.PER_QAT_BUS
12.1.1
-
PACKAGE: APPS.PER_QAT_BUS
12.2.2
-
PACKAGE: APPS.PER_ABT_BUS
12.2.2
-
PACKAGE: APPS.PER_ABT_BUS
12.1.1
-
PACKAGE: APPS.PER_CPL_BUS
12.2.2
-
PACKAGE: APPS.PAY_PAYMENT_TYPES_PKG
12.2.2
-
PACKAGE: APPS.PER_ASSIGNMENT_INFO_TYPES_PKG
12.1.1
-
PACKAGE: APPS.PAY_PAYMENT_TYPES_PKG
12.1.1
-
PACKAGE: APPS.PER_ASSIGNMENT_INFO_TYPES_PKG
12.2.2
-
PACKAGE: APPS.PER_CPL_BUS
12.1.1
-
PACKAGE: APPS.PAY_MONETARY_UNITS_PKG
12.1.1
-
PACKAGE: APPS.PAY_USER_COLUMNS_PKG
12.1.1
-
PACKAGE: APPS.PAY_USER_COLUMNS_PKG
12.2.2
-
PACKAGE: APPS.PAY_MONETARY_UNITS_PKG
12.2.2
-
PACKAGE: APPS.PAY_ELEMENT_CLASS_SWI
12.1.1
-
PACKAGE: APPS.PER_PERSON_TYPES_PKG
12.2.2
-
PACKAGE: APPS.PER_PERSON_TYPES_PKG
12.1.1
-
PACKAGE: APPS.PAY_ELEMENT_CLASS_PKG
12.1.1