Results for “ego_user_attrs_data_pvt”

50+ results




AI-generated from documented ETRM metadata — verify critical details on the linked pages.

Overview

EGO_USER_ATTRS_DATA_PVT is a private PL/SQL package in the APPS schema that implements the runtime engine for Oracle EBS User Attributes — the extensibility framework that allows customers to attach custom attribute values to standard Oracle objects (items, categories, and other extensible entities) without modifying the base schema. The package header declares AUTHID DEFINER, meaning it executes with the privileges of its owner, and its internal header explicitly warns that it is a private package intended solely for internal use and not supported for customer extension. Supported access is exposed through the public companion package, EGO_USER_ATTRS_DATA_PUB.

Functionally, the package is responsible for the full manipulable lifecycle of user-attribute data: reading user-attribute values for an object, validating them against the attribute group definition, generating and executing the dynamic DML against the underlying extension table, copying attribute data between objects, and rendering attribute values against their associated value sets. The metadata lists 35 documented procedures and functions, and the package references 56 other packages, confirming its role as a low-level workhorse rather than an entry-point API.

Key Procedures and Functions

The documented public surface of the package (held in the package specification) includes the following procedures and functions. Descriptions are limited to purpose, since the metadata does not expose parameter lists.

  • PROCESS_USER_ATTRS_DATA — the top-level orchestrator that processes a set of user-attribute data rows for an object, coordinating validation and DML across the batch.
  • GET_USER_ATTRS_DATA — retrieves the user-attribute data associated with a given object or extension instance.
  • PROCESS_ROW — processes a single user-attribute data row; behavior depends on the p_mode constant passed in (create, update, delete, etc.).
  • VALIDATE_ROW — validates a single row against the attribute group definition, including value-set rules and min/max range checks (for example, SYSDATE-based date ranges).
  • PERFORM_DML_ON_ROW — executes the appropriate INSERT, UPDATE, or DELETE against the extension table for one row, based on p_mode.
  • GENERATE_DML_FOR_ROW — builds the dynamic SQL text used to perform DML on a row, without executing it.
  • PERFORM_DML_FROM_TEMPLATE — executes DML using a pre-built template, optimizing repeated operations.
  • GET_EXTENSION_ID — resolves the extension-table identifier for an object and attribute group combination.
  • COPY_USER_ATTRS_DATA — copies user-attribute values from one object to another.
  • IMPLEMENT_CHANGE_LINE — applies a change to an attribute data line, typically during change-order or revalidation processing.
  • GET_EXT_DATA / GET_USER_ATTR_VAL — retrieve extension data and individual user-attribute values respectively.
  • UPDATE_ATTRIBUTES — updates the set of attribute definitions or values for an object.
  • TOKENIZED_VAL_SET_QUERY — constructs a value-set query with runtime tokens substituted, used for validation of value-set-backed attributes.
  • GET_INT_VAL_FOR_DISP_VAL — converts a displayed value into its stored (internal) value.
  • GET_ATTR_DISP_VAL_FROM_VSET — the procedure matching the user's search term; returns the display value of an attribute from its associated value set. This is the inverse of GET_INT_VAL_FOR_DISP_VAL and is central to presenting user-attribute data in forms.
  • GET_ATTR_INT_VAL_FROM_VSET — returns the internal (stored) value for an attribute from its value set.
  • GET_ATTR_DIFFS — computes differences between attribute value sets, supporting comparison and change tracking.
  • SET_UP_DEBUG_SESSION / DEBUG_MSG — internal debugging instrumentation.

Tables Accessed

The package reads and writes several EGO extensibility metadata and extension tables, referenced through APPS synonyms:

Usage Notes

This package is not intended for direct customer invocation. Because the header marks it private, customizations should call EGO_USER_ATTRS_DATA_PUB instead, which wraps the private package. The private package is invoked internally by the User Attributes framework whenever user-attribute data is saved or displayed in Oracle Forms, by concurrent programs that process attribute data or change orders, and by the framework's public API layer. It is referenced by 56 other packages, reflecting its central position in the extensibility stack. When debugging a user-attribute save or display issue, note that the mode constants (G_CREATE_MODE, etc.) determine behavior across PROCESS_ROW, VALIDATE_ROW, and PERFORM_DML_ON_ROW, and that dynamic DML is generated at runtime by GENERATE_DML_FOR_ROW and PERFORM_DML_FROM_TEMPLATE, which can obscure failures from static analysis alone.