Search Results hr_form_canvases_pkg




Overview

APPS.HR_FORM_CANVASES_PKG is a PL/SQL package that manages the metadata registry of form canvases used by Oracle E-Business Suite forms. A canvas is the drawing surface on which form items are placed and which determines the visual layout presented to the user. The package maintains the definition records that associate each canvas with its parent form window, canvas type, internal canvas name, user-facing canvas name, and description, and it exposes the standard Oracle Forms-based table handler interface for inserting, locking, updating, and deleting those rows.

The package is declared with AUTHID CURRENT_USER, meaning its SQL executes with the privileges of the invoking session rather than the defining schema. It was originally shipped under the header hrfcnlct.pkh, which places it in the Human Resources forms technology layer rather than in a business-facing HR module. Its role is infrastructural: it supports the storage, translation, and deployment of form canvas metadata, and it is one of the access layers over the HR_FORM_CANVASES entity.

Key Procedures and Functions

  • OWNER_TO_WHO — Maps an owner identifier to the standard WHO audit columns, returning creation date, created-by, last update date, last updated by, and last update login. It is a utility used to populate audit information consistently during row operations.
  • INSERT_ROW — Inserts a new canvas definition, accepting the canvas identifier, object version number, parent form window, canvas type, canvas name, user canvas name, description, and audit columns, and returning the row identifier.
  • LOCK_ROW — Acquires a lock on an existing canvas definition using the canvas identifier and object version number plus the descriptive attributes, providing optimistic concurrency control for form-based edits.
  • UPDATE_ROW — Updates the mutable attributes of a canvas definition and refreshes the audit columns, using the object version number to detect concurrent modification.
  • DELETE_ROW — Deletes a canvas definition identified by its form canvas identifier.
  • ADD_LANGUAGE — Maintains the translated (TL) table by propagating rows for languages that do not yet have a corresponding translation record.
  • TRANSLATE_ROW — Loads or updates a translated canvas record, keyed by application short name, form name, canvas name, and window name, with owner, user canvas name, and description as the translatable content.
  • LOAD_ROW — Loads a canvas definition from seed data, resolving the application, form, and window by their short names and supplying the owner and object version number so that definitions can be deployed or refreshed programmatically.

Tables Accessed

  • HR_FORM_CANVASES_B — The base table holding the language-independent canvas definition; the primary target of INSERT_ROW, LOCK_ROW, UPDATE_ROW, and DELETE_ROW.
  • HR_FORM_CANVASES_B_S — The sequence backing the surrogate key for the base table.
  • HR_FORM_CANVASES_TL — The translation table holding language-specific user canvas names and descriptions; maintained by ADD_LANGUAGE and TRANSLATE_ROW.
  • HR_FORM_WINDOWS_B — The parent window definitions; referenced to validate and resolve the form window to which a canvas belongs.
  • FND_APPLICATION and FND_FORM — Used by LOAD_ROW and TRANSLATE_ROW to resolve application short names and form names into their internal identifiers.
  • FND_LANGUAGES — Used by ADD_LANGUAGE to determine which installed languages require translation rows.
  • DUAL — Used for single-row utility operations.

Usage Notes

The package is intended to be invoked from the Oracle Forms runtime or from seeding and upgrade routines rather than called directly by end users. The INSERT_ROW, LOCK_ROW, UPDATE_ROW, and DELETE_ROW procedures correspond to the standard Forms row-handler pattern, so a form block based on HR_FORM_CANVASES will call them automatically as the user inserts, edits, or removes a canvas record. LOCK_ROW and UPDATE_ROW rely on the object version number to prevent lost updates when more than one session edits the same definition.

TRANSLATE_ROW and LOAD_ROW are the entry points used during installation, patching, and language installation. They accept descriptive identifiers such as application short name, form name, and window name, allowing seed data to be applied without hard-coded numeric identifiers, which is important when the same data is propagated across environments. ADD_LANGUAGE is typically run as part of the language installation or upgrade cycle to create the TL rows needed for the newly installed languages. No documented packages reference this package, so it functions as a leaf access layer over the HR form canvas metadata. Callers should preserve the object version number discipline and populate the WHO audit columns, either directly or through OWNER_TO_WHO, to keep the metadata consistent with the rest of the Oracle EBS dictionary.