Search Results chk_effective_date




Overview

APPS.PAY_TCO_BUS is a server-side PL/SQL package body belonging to the Oracle Payroll (PAY) module of Oracle E-Business Suite, available in releases 12.1.1 and 12.2.2. The package forms part of the business logic layer generated for the Pay Element Template entity, whose underlying table is PAY_ELEMENT_TEMPLATES. It is classified as an OTHER API in the ETRM repository and is referenced by three other packages, indicating that it operates as a supporting component of the payroll element template maintenance flow rather than as a top-level public interface.

The header comment identifies the source file as pytcorhi.pkb (revision 120.0) and declares the global package name variable g_package, which is concatenated into each local procedure name for diagnostic tracing through hr_utility.set_location. This tracing convention is characteristic of Oracle's generated business-rule packages, which wrap the corresponding table handler (here typically PAY_TCO_SHD) and expose validation entry points consumed by the table handler's insert, update, and delete row operations.

Key Procedures and Functions

The documented procedures for this package are the three validation entry points invoked by the table handler layer:

  • INSERT_VALIDATE — Executes business-rule validation prior to inserting a new row into the Pay Element Template entity. It enforces mandatory and cross-field rules that must be satisfied before a template record can be created.
  • UPDATE_VALIDATE — Executes business-rule validation prior to updating an existing template row, including checks on columns that may not be modified once the record exists.
  • DELETE_VALIDATE — Executes business-rule validation prior to deleting a template row, verifying that no dependent payroll objects prevent removal.

The excerpt additionally documents two private helper procedures that support this validation architecture. get_template_info opens an explicit cursor over PAY_ELEMENT_TEMPLATES to return the BUSINESS_GROUP_ID associated with a given template ID, taking the business group as an IN OUT NOCOPY parameter. chk_non_updateable_args receives a record of type pay_tco_shd.g_rec_type and calls pay_tco_shd.api_updating to determine whether the current operation is an update, then raises an exception if a non-updateable argument has been altered. Together these helpers illustrate how the package centralizes the "is this attribute allowed to change" logic that users frequently search for under terms such as chk_effective_date, the effective-date validation concern handled by this family of generated business packages.

Tables Accessed

The package reads and writes the following objects through APPS synonyms: FF_FORMULAS_F, PAY_BALANCE_ATTRIBUTES, PAY_BALANCE_CLASSIFICATIONS, PAY_BALANCE_FEEDS_F, PAY_BALANCE_TYPES, PAY_DEFINED_BALANCES, PAY_ELEMENT_TEMPLATES, PAY_ELEMENT_TYPES_F, PAY_ELEMENT_TYPE_USAGES_F, PAY_FORMULA_RESULT_RULES_F, PAY_GROSSUP_BAL_EXCLUSIONS, PAY_INPUT_VALUES_F, PAY_ITERATIVE_RULES_F, PAY_SHADOW_BALANCE_CLASSI, and PAY_SHADOW_BALANCE_FEEDS.

PAY_ELEMENT_TEMPLATES is the primary entity and is queried directly by get_template_info. The element type and usage tables (PAY_ELEMENT_TYPES_F, PAY_ELEMENT_TYPE_USAGES_F) and the input value table (PAY_INPUT_VALUES_F) support validation of template-derived element definitions. The balance-related tables (PAY_BALANCE_TYPES, PAY_BALANCE_ATTRIBUTES, PAY_BALANCE_CLASSIFICATIONS, PAY_DEFINED_BALANCES, PAY_BALANCE_FEEDS_F, PAY_SHADOW_BALANCE_CLASSI, PAY_SHADOW_BALANCE_FEEDS) are consulted when templates specify balance feeds, grossup exclusions, or shadow balance behaviour. FF_FORMULAS_F, PAY_FORMULA_RESULT_RULES_F, and PAY_ITERATIVE_RULES_F are referenced when a template defines formula-based processing rules.

Usage Notes

PAY_TCO_BUS is not normally called directly by end users or custom concurrent programs. It is invoked by the Pay Element Template table handler (PAY_TCO_SHD) whenever rows are inserted, updated, or deleted through the standard maintenance forms and the corresponding supported DML paths. Custom code that performs direct DML on PAY_ELEMENT_TEMPLATES should be aware that bypassing this package skips its validation logic, including the non-updateable argument checks implemented in chk_non_updateable_args. Because three other packages reference this body, modifications to its behaviour can affect template maintenance, element generation, and downstream balance and formula validation in Oracle Payroll for both 12.1.1 and 12.2.2.