Search Results create_user_table




Overview

APPS.PAY_USER_TABLE_API is a public PL/SQL API package in the Oracle E-Business Suite Payroll (PAY) module that manages the definition and maintenance of user-defined tables. User tables are the extensibility mechanism through which implementers and localization teams define custom payroll-style entities that behave like system tables: they carry user-defined rows, key units, and row titles, and they participate in the range-or-match validation model used by payroll and related products. Rather than allowing direct DML against the underlying schema objects, Oracle supplies this API so that the business rules governing creation, modification, and removal of user tables are consistently enforced.

The package body is identified by the header $Header: pyputapi.pkb 120.0 2005/05/29 08:02:50 appldev noship $, and internally prefixes all diagnostic messages with the package name via the g_package variable (' pay_user_table_api.'). The package is classified as an API in the ETRM metadata for release 12.2.2 and is owned by the APPS schema. Its behaviour is closely tied to business-group and legislation context, because user tables are secured and validated according to the business group in which they are defined and the legislation whose rules apply.

Key Procedures and Functions

The package documents three procedures, each representing one lifecycle operation on a user table definition.

  • CREATE_USER_TABLE — Creates a new user table definition. It accepts an effective date, optional business group and legislation context, the range-or-match and user-key-units indicators, the user table name, and a row title, and returns the new user table identifier together with the object version number for optimistic locking. The body shows that the effective date is truncated to remove any time component, a savepoint named create_user_table is issued, and the before-process user hook pay_user_table_bk1.create_user_table_b is invoked so that customers can extend the validation. The hook is wrapped in a handler for hr_api.cannot_find_prog_unit, which raises hr_api.cannot_find_prog_unit_error with module name create_user_table and hook type BP, ensuring a meaningful error if the hook package is absent or invalid.
  • UPDATE_USER_TABLE — Modifies an existing user table definition. It follows the same defensive pattern as creation, with its own before-process and after-process user hooks, effective-date truncation, and optimistic locking through the object version number.
  • DELETE_USER_TABLE — Removes a user table definition no longer required. Deletion is subject to the same date-effectivity and business-group rules and raises errors where dependent data prevents removal.

Tables Accessed

The ETRM metadata for this package does not enumerate specific tables reached through APPS synonyms. Functionally, the API operates against the PAY user table entity and its associated row and key-unit structures, and writes the surrogate identifier and object version number that are persisted for each definition. All access is performed under the APPS schema using the standard synonym layer, so the physical table names are not part of the supported interface.

Usage Notes

PAY_USER_TABLE_API is intended for invocation from Oracle Forms, concurrent programs, and custom PL/SQL rather than through direct SQL. Callers should supply a truncated effective date, an appropriate business group or legislation, and be prepared to handle hr_api errors, including the cannot-find-program-unit condition generated by the user hook mechanism. Because the package is referenced by two other packages in the ETRM metadata, it forms part of a larger dependency chain and should be treated as a stable, supported entry point when building localization or extension logic.