Search Results global_flex
Overview
APPS.INVPULI2 is an inventory item interface utility package in Oracle E-Business Suite, delivered under the Inventory (INV) application. Its documented classification is "OTHER," meaning Oracle does not treat it as a public, supported API, but rather as an internal worker package invoked by other inventory processing logic. The package operates against the open item interface table, MTL_SYSTEM_ITEMS_INTERFACE, and is responsible for copying attribute values — including global descriptive flexfield (global flex) attribute columns — from item templates onto staged item interface records before those rows are validated and imported into the production item master.
Functionally, this package supports the template-driven portion of the item import flow. When items are loaded into the interface table with a reference to a template, the copy routine resolves the template definition and propagates the template's enabled attributes to the corresponding interface rows, so that the subsequent import process creates or updates the item record with the correct descriptive and global attribute values. The presence of the GLOBAL_FLEX cursor in the source confirms that the package explicitly handles the GLOBAL_ATTRIBUTE_CATEGORY and GLOBAL_ATTRIBUTE1 through GLOBAL_ATTRIBUTEn columns, which is the mechanism by which Oracle item global flexfield data is populated programmatically.
Key Procedures and Functions
- COPY_TEMPLATE_ATTRIBUTES — The primary documented entry point. This function copies template-defined attribute values onto item interface rows. It accepts an organization scope (a specific operating unit or all organizations), a process/set identifier used to select the exact batch of interface rows via process_flag and set_process_id, standard concurrent program context parameters (application, program, request, user, and login identifiers), and a set identifier. It returns an integer status. An IN OUT NOCOPY VARCHAR2 error text parameter is used to return diagnostic messages to the caller. Internally it drives several cursors: one that reads candidate rows from MTL_SYSTEM_ITEMS_INTERFACE, cursors that resolve a template by name or by identifier against MTL_ITEM_TEMPLATES, a cursor that retrieves enabled template attribute values from MTL_ITEM_TEMPL_ATTRIBUTES, and the GLOBAL_FLEX cursor that selects the global attribute category and global attribute columns for the template.
- FOR — A secondary documented routine associated with the package's processing logic. It is catalogued alongside COPY_TEMPLATE_ATTRIBUTES and supports the template-attribute copy and iteration cycle. Both routines belong to the same internal processing family and are not documented as standalone public APIs.
Tables Accessed
- MTL_SYSTEM_ITEMS_INTERFACE — The staging table read to identify interface rows awaiting template attribute propagation and written back with the resolved attribute and global attribute values.
- MTL_ITEM_TEMPLATES — Read to resolve a template by name or identifier and to determine its context organization.
- MTL_ITEM_TEMPL_ATTRIBUTES — Read to obtain the enabled attribute names and values defined on the template.
- MTL_ITEM_ATTRIBUTES — Read to filter attributes by status control code and control level, ensuring only eligible attributes are copied.
- EGO_CAT_GRP_TEMPLATES and MTL_ITEM_CATALOG_GROUPS_B — Referenced to resolve catalog group and template associations used during attribute selection.
- MTL_PARAMETERS — Read for organization-level inventory setup and validation.
- MTL_SYSTEM_ITEMS_B — Referenced as the destination item master definition counterpart to the interface rows.
- PLITBLM — The standard EBS PL/SQL table-of-rows utility used for array processing and bulk operations within the package.
Usage Notes
INVPULI2 is referenced by four other packages, which identifies it as a component of the item interface utility chain rather than a direct user-facing API. It is normally invoked indirectly, through the item import concurrent program or the associated item interface forms, after rows have been loaded into MTL_SYSTEM_ITEMS_INTERFACE by SQL*Loader, open interface imports, or custom loaders. The process_flag and set_process_id predicates show that the caller is expected to have pre-marked a discrete batch of interface rows for template processing.
Because Oracle treats this package as internal ("OTHER" classification), custom code should not call COPY_TEMPLATE_ATTRIBUTES directly as a supported interface. Customizations that need to populate global flexfields on item interface records should instead use the documented item import APIs or the supported open interface columns, and should re-validate behavior on each patch level: the source header identifies version 120.14 with a 2008 build stamp, so behavior is stable across 12.1.1 and 12.2.2 but remains subject to internal change.