Search Results copy_template_attributes
Overview
INVPULI2 is a server-side PL/SQL package owned by the APPS schema that supports the Oracle Inventory item template framework in Oracle E-Business Suite 12.1.1 and 12.2.2. Its central purpose is to copy or apply template attribute definitions to item records, either individually or in bulk, within a specified inventory organization or across all organizations. Item templates in Oracle Inventory store reusable sets of attribute values and attribute controls (for example, whether a given attribute is enabled, required, or defaulted) that govern how new items behave. INVPULI2 provides the programmatic plumbing that lets import, interface, and mass-maintenance processes inherit those template characteristics, ensuring that items created through the Item Open Interface or similar utilities conform to an organization's defined attribute policy. The package is classified as an OTHER API, meaning it is not a formally published public interface; it is nonetheless a stable internal dependency, referenced by four other packages and invoked during template-driven item import and attribute synchronization.
Key Procedures and Functions
The ETRM documentation records two callable elements in the package specification:
- COPY_TEMPLATE_ATTRIBUTES — A function that copies the attributes associated with a template to the relevant item or interface rows. It accepts an organization context (including an all-organization indicator) and an error text output parameter, and returns an integer status. In practice this function is the workhorse for propagating template-defined attribute behavior into the interface staging area before item validation and import.
- FOR (apply_multiple_template) — A function that applies one or more specified templates to a designated interface row or set of rows. It accepts a PL/SQL table of template identifiers, an organization context, and an error text output parameter, returning an integer status. The Import_Template_Tbl_Type collection type (a table of NUMBER indexed by BINARY_INTEGER) is declared in the specification to carry the template list.
Both functions follow a consistent parameter convention: organization and all-organization values, standard concurrent program context parameters (program application, program, request, user, and login identifiers), a value set identifier defaulting to -999, and an IN OUT NOCOPY error message string. This convention aligns them with standard EBS concurrent request execution.
Tables Accessed
The documented tables fall into three functional groups. Template definition and attribute metadata are read from MTL_ITEM_TEMPLATES, MTL_ITEM_TEMPL_ATTRIBUTES, and EGO_CAT_GRP_TEMPLATES, while MTL_ITEM_CATALOG_GROUPS_B supplies catalog group structure. Item and organization context comes from MTL_SYSTEM_ITEMS_B, MTL_PARAMETERS, and the reference table PLITBLM. The interface target for changes is MTL_SYSTEM_ITEMS_INTERFACE, and MTL_ITEM_ATTRIBUTES holds the resolved attribute values and controls. Collectively these reads and writes allow the package to derive template rules, apply them against staged or existing item data, and persist resulting attribute settings.
Usage Notes
INVPULI2 is typically invoked indirectly rather than called directly by end users. It is exercised by the Item Open Interface import process, by concurrent programs that apply templates to interface rows in mass, and by the four dependent packages that reference its functions. Because it is an internal (OTHER) API, customizations should call it cautiously: parameter defaults and side effects on interface tables are not governed by Oracle's public API compatibility policy. In release 12.2.2 the same template and interface table structures remain in use, so behavior is broadly consistent with 12.1.1. Developers integrating with it should validate the error text output and integer return code, respect organization and all-org scope settings, and run it in the context of a controlled concurrent request to avoid partial template application.
-
PACKAGE: APPS.INVPULI2
12.1.1
-
PACKAGE: APPS.INVPULI2
12.2.2
-
PACKAGE BODY: APPS.INVPULI2
12.1.1
-
PACKAGE BODY: APPS.INVPULI2
12.2.2
-
APPS.EGO_IMPORT_UTIL_PVT dependencies on INVPULI2
12.2.2
-
APPS.INVPULI2 dependencies on INVPULI2
12.2.2
-
APPS.EGO_ITEM_OPEN_INTERFACE_PVT dependencies on INVPULI2
12.1.1
-
APPS.EGO_IMPORT_UTIL_PVT dependencies on INVPULI2
12.1.1
-
APPS.INVPULI2 dependencies on INVPULI2
12.1.1
-
APPS.INVPULI2 dependencies on INVPUTLI
12.2.2
-
APPS.INVPULI2 dependencies on INVPUTLI
12.1.1
-
APPS.INVPAGI2 dependencies on INVPULI2
12.2.2
-
APPS.INVPAGI2 dependencies on INVPULI2
12.1.1
-
APPS.INVUPD1B dependencies on INVPULI2
12.1.1
-
APPS.INVUPD1B dependencies on INVPULI2
12.2.2
-
APPS.EGO_ITEM_OPEN_INTERFACE_PVT dependencies on INVPULI2
12.2.2
-
APPS.INVUPD1B dependencies on INV_EGO_REVISION_VALIDATE
12.2.2
-
APPS.INVUPD1B dependencies on INV_EGO_REVISION_VALIDATE
12.1.1
-
APPS.INVPAGI2 dependencies on INV_EGO_REVISION_VALIDATE
12.2.2
-
APPS.INVPAGI2 dependencies on INV_EGO_REVISION_VALIDATE
12.1.1
-
PACKAGE BODY: APPS.EGO_ITEM_OPEN_INTERFACE_PVT
12.1.1
-
APPS.INVPULI2 dependencies on INV_ITEM_UTIL
12.2.2
-
APPS.INVPULI2 dependencies on INV_ITEM_UTIL
12.1.1
-
PACKAGE BODY: APPS.EGO_ITEM_OPEN_INTERFACE_PVT
12.2.2
-
PACKAGE BODY: APPS.EGO_IMPORT_UTIL_PVT
12.1.1
-
PACKAGE BODY: APPS.EGO_IMPORT_UTIL_PVT
12.2.2
-
APPS.INVPULI2 dependencies on EGO_CAT_GRP_TEMPLATES
12.2.2
-
PACKAGE BODY: APPS.INVPAGI2
12.1.1
-
PACKAGE BODY: APPS.INVPAGI2
12.2.2
-
PACKAGE BODY: APPS.INVUPD1B
12.1.1
-
PACKAGE BODY: APPS.INVUPD1B
12.2.2