Search Results debug_line




Overview

MSD_BOM_COLLECTIONS is a PL/SQL package body owned by the APPS schema in Oracle E-Business Suite. It belongs to the MSD module, the component of Oracle Advanced Planning and Scheduling (APS) responsible for collecting and staging source data prior to planning runs. The package supports the collection of bill-of-material (BOM) information from the transactional EBS source instances into the MSC staging tables used by planning engines such as ASCP (Advanced Supply Chain Planning) and MRP (Material Requirements Planning). It is classified in the ETRM repository as "OTHER" rather than as a public API.

The header comment block reveals the package's internal structure: it defines constants for BOM item types (Model, Option Class, Planning, Standard, Product Family), ATO forecast control options (Consume, Consume and Derive, None), and MRP planning codes (No Planning = 6). It also declares private utility procedures and two package-level collections, oc_parents and mo_parents, which act as stacks for option class and model parents while traversing BOM hierarchies. A constant switch, C_DEBUG, controls debugging behavior, and a private procedure named debug_line exists to emit diagnostic messages — this directly matches the user's search term.

Key Procedures and Functions

The documented package exposes one public procedure:

  • COLLECT_BOM_DATA — The primary entry point for the package. It orchestrates the extraction of BOM data from the source instance and populates the MSC staging structures used by the planning engine. Its signature is not documented in the ETRM metadata, so parameter details should not be assumed.

The package body additionally declares several private (non-public) procedures that are not exposed through the package specification:

  • get_bom_item_type — Determines the BOM type for a given item using the instance, source organization, and source inventory item as inputs. It returns one of the constants: Model (1), Option Class (2), Standard (3), Planning (4), or Product Family (5).
  • get_all_parents — Identifies all assemblies that use a given item, appending the resulting parent records to a collection.
  • debug_line — A diagnostic helper that emits debug messages controlled by the C_DEBUG switch. This procedure is the target of the user's "debug_line" search and confirms the package's use of an internal tracing facility.

Tables Accessed

The package reads and writes the following tables via APPS synonyms:

  • MSC_BOMS, MSC_BOM_COMPONENTS, MSC_SYSTEM_ITEMS — The destination staging tables in the MSC schema where collected BOM headers, component lines, and item definitions are written or validated.
  • MSD_BOM_COMPONENTS — An MSD-side table used within the collection logic, likely as an intermediate or supplemental source for component data.
  • PLITBLM — A PL/SQL index-by table used for in-memory processing of large ID lists during collection.

Usage Notes

MSD_BOM_COLLECTIONS is not intended to be called directly by end users. It is invoked internally by the APS/MRP data collection concurrent programs, such as the BOM collection manager or the planning data collection manager, that run during a planning cycle refresh. It executes in the context of the Apps database user and works against the source instance identified by the collection parameters.

Because the package is classified as "OTHER" in ETRM and no other packages reference it, customizations should avoid direct invocation. Debugging is supported only through the internal debug_line procedure, which is gated by the C_DEBUG constant and would require modification of the package body to enable. Release differences between 12.1.1 and 12.2.2 are typically limited to internal collection logic rather than public interface changes.