Search Results mtl_cross_ref_interface_s




Overview

MTL_CROSS_REFERENCES_PVT is the private implementation package for Oracle E-Business Suite Inventory cross-reference functionality. Cross-references associate a single inventory item with one or more alternate identifiers used by external parties, such as a manufacturer part number, a customer part number, or a distributor part number. These relationships are essential to purchasing, order management, and receiving flows, where a supplier or customer may refer to an item by an identifier that differs from the internal item number.

Because the package is classified as PVT, it is not intended to be called directly by external code. It supplies the working logic, private validation routines, and error logging used by the public API layer, MTL_CROSS_REFERENCES_PUB. The package is versioned under the Inventory module and carries a header signature consistent with the 12.1.1 and 12.2.2 code lines, with the most recent change recorded in 2012. It is referenced by two other packages, confirming its role as a shared internal dependency rather than a standalone entry point.

Key Procedures and Functions

The package exposes seven documented units:

  • PROCESS_XREF — The principal routine. It creates, updates, or deletes a set of cross-references based on rows supplied in a PL/SQL table. It accepts an initialization flag, a commit flag, the cross-reference table itself, and output parameters for return status, message count, and the message list.
  • VALIDATE_GTIN_REC — Validates a GTIN (Global Trade Item Number) record, checking the structure or content of the identifier against cross-reference expectations before it is persisted.
  • VALIDATE_GTIN_NUMBER — Performs numeric validation of a GTIN value, ensuring the supplied value meets the expected format and check-digit conventions.
  • PROCESS_XREF_INTF_ROWS — Processes rows held in the cross-reference interface table, typically moving inbound or staged data into the base cross-reference tables after validation.
  • WRITE_DEBUG — Writes diagnostic messages to the concurrent request log. It is gated by the G_DEBUG package variable, which is driven by the profile option INV_DEBUG_TRACE (user-facing name "INV: Debug Trace"). When set to 1, messages are emitted to FND_FILE.LOG.
  • LOG_ERROR — Records error conditions encountered during processing, contributing to the message list returned to the caller.
  • DEL_PROCESSED_RECS — Removes interface records that have already been successfully processed, preventing reprocessing on subsequent runs.

Tables Accessed

The package operates against the core cross-reference model and related Inventory entities. MTL_CROSS_REFERENCES, MTL_CROSS_REFERENCES_B, and MTL_CROSS_REFERENCES_TL hold the base, base (non-translated), and translated cross-reference data respectively, while MTL_CROSS_REFERENCE_TYPES defines the categories of relationships permitted. MTL_CROSS_REFERENCES_INTERFACE and MTL_CROSS_REF_INTERFACE_S provide the inbound staging area, supported by MTL_INTERFACE_ERRORS for rejected rows.

Item context is drawn from MTL_SYSTEM_ITEMS_B, MTL_SYSTEM_ITEMS_INTERFACE_S, MTL_ITEM_REVISIONS, and MTL_ITEM_REVISIONS_B, with MTL_PARAMETERS supplying organization-level settings. Security checking references FND_GRANTS, FND_OBJECTS, and FND_PRODUCT_INSTALLATIONS, the last used to detect conditions such as the presence of Product Information Management when applying item security.

Usage Notes

MTL_CROSS_REFERENCES_PVT is invoked indirectly. Standard cross-reference maintenance forms, interface import concurrent programs, and any custom code that must manipulate cross-references should call MTL_CROSS_REFERENCES_PUB, which in turn delegates to this private body. Interface processing runs are typically submitted as concurrent programs, which explains the package's reliance on FND_FILE logging and the INV_DEBUG_TRACE profile option for diagnostics. Troubleshooting is best performed by enabling INV: Debug Trace and reviewing the concurrent request log, where WRITE_DEBUG output appears alongside error entries captured via LOG_ERROR and Error_Handler.Error_Tbl_Type.