Search Results post_insert_item_instance




Overview

CSL_CSI_ITEM_INSTANCES_ACC_PKG is an Oracle E-Business Suite PL/SQL package in the APPS schema that supports the item instance replication logic used by Oracle's Advanced Product Catalog and the CSI (Customer Intelligence / Installed Base) module. Its central purpose is to maintain synchronization between the operational item instance records held in the CSI_ITEM_INSTANCES tables and the ACC (Advanced Catalog Configuration) shadow or staging tables prefixed with CSL_. In this role the package acts as a change-propagation layer: whenever an item instance is inserted, updated, or deleted in the core CSI tables, this package executes complementary logic against the CSL_CSI_ITEM_INSTANCES_ACC and related staging tables so that downstream consumers see a consistent view of the data.

A secondary function concerns trackable inventory items. The package exposes hooks specifically called from the MTL_ONHAND quantities flow for trackable items, allowing on-hand item instance information to be captured and reconciled into the ACC tables. This makes the package relevant to any implementation that needs to correlate on-hand inventory with configured item instances.

The package is declared with AUTHID CURRENT_USER, meaning it executes with the privileges of the invoking user rather than the definer, a common pattern for APPS-layer utility packages that must respect session-level security context.

Key Procedures and Functions

  • Replicate_Record — A function that determines whether a given item instance record should be replicated into the ACC table. Returns TRUE when replication is required.
  • Pre_Insert_Child — A function invoked when a child item instance record needs to be inserted into the ACC table. Returns TRUE when the record was already present or has been successfully inserted.
  • Post_Delete_Child — A procedure invoked when a child item instance must be removed from the ACC table.
  • Pre_Insert_Item — A procedure called prior to inserting an item-level record, taking inventory item, organization, subinventory, and resource context.
  • Post_Delete_Item — A procedure called after deletion of an item-level record, mirroring Pre_Insert_Item.
  • PRE_INSERT_ITEM_INSTANCE — Called before an item instance insert, returning only a return status.
  • POST_INSERT_ITEM_INSTANCE — Called after item instance insertion, accepting API version, message list, commit flag, validation level, and instance identifier, and returning status, message count, and message data.
  • PRE_UPDATE_ITEM_INSTANCE, POST_UPDATE_ITEM_INSTANCE — Paired hooks surrounding item instance updates.
  • PRE_DELETE_ITEM_INSTANCE, POST_DELETE_ITEM_INSTANCE — Paired hooks surrounding item instance deletions.
  • CONC_ITEM_INSTANCES and CON_ITEM_ATTR — Concurrent-program oriented routines that process item instances and item attributes in bulk.

Tables Accessed

The package reads and writes the CSI base tables CSI_ITEM_INSTANCES, CSI_I_EXTENDED_ATTRIBS, CSI_II_RELATIONSHIPS, CSI_IEA_VALUES, and CSI_INSTANCE_STATUSES, which hold the authoritative instance, attribute, relationship, and status data. Its ACC counterparts — CSL_CSI_ITEM_INSTANCES_ACC, CSL_CSI_ITEM_ATTR_ACC, CSL_CS_INCIDENTS_ALL_ACC, and CSL_MTL_ONHAND_QTY_ACC — receive replicated data. Supporting tables include MTL_SYSTEM_ITEMS for item validation, CS_INCIDENTS_ALL_B for service incident linkage, HZ_PARTY_SITES for party site context, and the JTM concurrent request data table.

Usage Notes

This package is not intended for direct end-user invocation. It is called internally from the item instance API layer and from the MTL_ONHAND quantities processing path for trackable items, as indicated by the header comment referencing mtl_onhand. Concurrent variants are driven by Oracle's scheduled programs that reconcile CSI and ACC data. Customizations that need to extend or intercept item instance replication should call the exposed Pre_/Post_ hooks rather than modifying the package directly, and should be aware that AUTHID CURRENT_USER and the ACC shadow tables require that the invoking schema hold appropriate grants on the APPS synonyms.