Search Results uda_execute_actions
Overview
The APPS.PO_UDA_DEFAULTING_PKG package body implements User Defined Attribute (UDA) defaulting logic for Oracle Purchasing in Oracle E-Business Suite 12.1.1 and 12.2.2. User Defined Attributes allow implementers to extend standard purchasing documents — requisitions, purchase orders, and their lines and shipments — with descriptive flexfield segments and attribute groups configured through Oracle's EGO (Application Object Library extensibility) framework. This package is the runtime engine that determines which attribute groups apply to a given purchasing document context, validates user submissions from the UDA user interface, applies default values derived from usage objects and attribute group templates, and executes the actions associated with attribute groups.
The package bridges the Purchasing data model (PO_HEADERS_ALL, PO_LINES_ALL, PO_LINE_LOCATIONS_ALL and their extension tables) with the EGO attribute framework. Its classification as a non-API ("OTHER") package indicates it is an internal component invoked by Oracle's own UDA rendering and processing flows rather than a formally published extension API, although it is referenced by ten other packages and therefore forms part of the dependency chain of the Purchasing UDA feature set.
Key Procedures and Functions
The documented procedures and functions fall into three functional clusters.
- Validation: IS_VALID_AG_LIST and IS_VALID_AG verify whether an attribute group, or a list of attribute groups, is valid for the current usage context. UDA_SUBMISSION_CHECK and PO_UDA_SUBMISSION_CHECK validate data submitted by the user against the attribute group definitions before it is persisted.
- Defaulting: DEFAULTING_NON_RENDERERED_AGS and DEFAULTING_ATTRIBUTE_GROUPS apply default values to attribute groups that are not rendered on the user interface or that require server-side defaulting. DEFAULT_AGS_FROM_USAGE_OBJECT derives applicable attribute groups from a usage object definition.
- Object Construction and Action Execution: CONSTRUCT_USAGE_OBJECT_ARRAY and CONSTRUCT_PK_OBJECT assemble usage object arrays and primary key objects used to identify the target purchasing entity. UDA_EXECUTE_ACTIONS and PO_UDA_EXECUTE_ACTIONS invoke the actions configured against attribute groups. SET_EXT_ATTR_NAME_VALUE_PAIR and GET_EXT_ATTR_NAME_VALUE_PAIR manipulate name-value pairs representing extended attribute values. DEBUG provides diagnostic output controlled by the PO_DEBUG and PO_LOG utilities.
Tables Accessed
The package reads and writes the core Purchasing transaction tables — PO_HEADERS_ALL, PO_LINES_ALL, and PO_LINE_LOCATIONS_ALL — together with their _EXT_B extension tables, which physically store the descriptive flexfield attribute values at header, line, and shipment level. Draft variants (PO_LINES_DRAFT_ALL, PO_LINE_LOCATIONS_DRAFT_ALL) support change-order and draft processing. Configuration data is drawn from PO_UDA_AG_TEMPLATES and PO_UDA_AG_TEMPLATE_USAGES, which define attribute group templates and their usage mappings. EGO framework tables (EGO_ACTIONS_B, EGO_ACTION_DISPLAYS_B, EGO_FND_DSC_FLX_CTX_EXT, EGO_USER_ATTRS_DATA_PUB) supply action definitions and user attribute metadata. FND_DESCR_FLEX_COLUMN_USAGES is consulted to resolve flexfield column usage. The package also relies on DBMS_SQL for dynamic SQL, reflecting the need to construct statements dynamically across the varying attribute group structures.
Usage Notes
PO_UDA_DEFAULTING_PKG is invoked internally by the Purchasing UDA user interface — the Oracle Forms-based pages where users view and maintain user defined attributes on requisitions, purchase orders, and agreements — and by background processing components that persist UDA data. Because it is documented as OTHER rather than as a public API, customizations should not call it directly; instead, clients integrating with UDA data should use the supported EGO_USER_ATTRS_DATA_PUB and EGO_USER_ATTRS_DATA_PVT APIs, which this package itself references. Its dependency on PO_UDA_IMPORT_PKG and PO_UDA_DATA_UTIL indicates close coupling with the UDA import and data utility routines. The DEBUG procedure, combined with PO_DEBUG and PO_LOG, allows diagnostics to be enabled when troubleshooting defaulting or validation behavior in a specific attribute group configuration.