Search Results x_g_msg_data




Overview

The APPS.BOM_BOM_COPYORG_IMP package body provides the PL/SQL implementation logic for copying Bills of Material (BOMs) from a source organization to one or more destination organizations within Oracle E-Business Suite. As documented in the header history, the package was initially created under Bug# 5142847 (05-JUN-06) to perform BOM copying without relying on the traditional Export-to-XML and Import-from-XML mechanism. Instead, it fetches all BOMs from the source organization and passes the records directly to the BOM Interface, which performs the actual copy operation. The package is classified as OTHER in the ETRM metadata and resides in the APPS schema. In the 12.1.1 and 12.2.2 code lines, this package supports the Organization Copy concurrent program that customers use to replicate manufacturing definitions across organizations, a common requirement during multi-org rollouts and template-organization cloning.

Key Procedures and Functions

  • IMPORT_BOM — The single documented procedure in this package and its primary entry point. It orchestrates the copy-by-interface process: it identifies the BOMs to be copied from the source organization, populates the BOM interface temporary structures, and invokes the BOM business object public API (BOM_BO_PUB.Process_Bom) to validate and apply those records into the destination organization. The procedure encapsulates the looping, error accumulation, and return-status handling logic. Per the documented history, subsequent revisions refined this logic to delete successfully processed interface records after each call to Process_Bom (Bug# 5654718) to reduce memory consumption, and to modify how the return status value is derived and to suppress unnecessary log messages (Bug# 5592181).

Internally the package body also defines the private helper procedure CALL_PROCESS_BOM, which accepts debug and output-directory parameters, and declares module-level globals such as G_PKG_NAME, G_MODULE_PREFIX, the API name constant Import_BOM, and the diagnostic variables g_X_return_status and g_status_set. The search term x_g_msg_data corresponds to the message-data variable conventionally exchanged between EBS APIs and their callers for returning error and warning text; consumers of this package should inspect the returned status and associated message payload to determine success or failure of a copy run.

Tables Accessed

  • BOM_COMPONENT_OPERATIONS — component-to-operation assignments for the BOMs being copied, read from the source organization to build the interface payload.
  • BOM_REFERENCE_DESIGNATORS — reference designator information attached to components, carried across for each copied BOM.
  • BOM_SUBSTITUTE_COMPONENTS — substitute component definitions associated with the source BOM components.
  • MTL_PARAMETERS — organization-level parameters used to resolve and validate the source and destination organizations involved in the copy.
  • MTL_SYSTEM_ITEMS_KFV — the item key-flex view, used to derive item identifiers and descriptive flexfield attributes for the assemblies and components being copied.
  • PLITBLM — the standard Oracle Applications PL/SQL table type used for passing collections of values between the package and the BOM Interface API.

The package also writes to the BOM interface temporary tables (bom_bill_of_materials_temp and bom_inventory_components_temp), as referenced in the documented change history regarding ImplementationDate and BasisType columns (Bug# 5174575).

Usage Notes

The package is not intended for direct ad-hoc invocation. It is typically called from the Organization Copy / Copy BOMs concurrent program flow, or from custom concurrent programs and PL/SQL wrappers that need to replicate BOM structures between organizations. Because it depends on the BOM Interface and BOM_BO_PUB.Process_Bom, callers must ensure destination organizations are properly defined and that the BOM interface tables are available and empty prior to submission. The AFLOG_ENABLED profile option controls debug logging through FND_PROFILE.VALUE, and enabling it is recommended when diagnosing copy failures. Callers should always evaluate the returned status and message data (e.g., x_g_msg_data) rather than assuming success from the absence of an exception, since processing errors are surfaced through the standard API message mechanism.