Search Results g_object_name




Overview

The APPS.CSM_MATERIAL_TRANSACTION_PKG package body is a mobile supply chain / field service synchronization component within Oracle E-Business Suite, with source header lineage dating to 2006 (csmvmmtb.pls 120.0). Its purpose is to support the bidirectional exchange of material transaction data between a disconnected client (typically a mobile or field device collecting inventory movements offline) and the EBS database. The package works in conjunction with Client System Manager (CSM) synchronization infrastructure, exposing the logic needed to push master and detail material transaction records, lot number records, and serialized unit records from the server down to a client application, and to apply client-originated changes back into the transaction tables.

Internally the package defines a set of named globals that identify the logical publication names used by the synchronization framework: g_object_name (CSM_MATERIAL_TRANSACTION_PKG), g_mat_pub_name (CSM_MTL_MATERIAL_TXNS), g_lot_pub_name (CSM_MTL_TXNS_LOT_NUM), and g_unit_pub_name (CSM_MTL_UNIT_TXNS). This naming convention allows the CSM runtime to associate each publication with the appropriate client-side table and refresh logic. The constant g_object_name is the identifier most commonly used when tracing this package through the CSM object registry or debugging synchronization behavior.

Key Procedures and Functions

The ETRM metadata documents a single public procedure for this package: APPLY_CLIENT_CHANGES. This procedure is the entry point invoked by the CSM synchronization engine when a change set originating from a client must be processed on the server. It receives a material transaction record and returns a status and error message to the caller. The procedure is responsible for validating and applying that record, and for coordinating the related lot and unit (serial) transaction data described by the package's internal cursors.

The package body additionally declares three private cursors that populate the working records used during application: c_material_transaction, which reads the material transaction inquiry view keyed by user name and transaction ID; c_lot_number, which reads lot number inquiry rows for a given transaction set; and c_unit_transaction, which reads serialized unit transaction inquiry rows. An internal exception, error, is declared for control of failure conditions. The documented list of callable procedures is limited to APPLY_CLIENT_CHANGES; additional helper logic inside APPLY_INSERT and related routines is implementation detail rather than a published API surface.

Tables Accessed

  • MTL_MATERIAL_TRANSACTIONS — the base transaction table read to retrieve transaction ID, inventory item, organization, and subinventory information for a transaction set identifier when pushing records to the client.
  • CSM_MTL_MATERIAL_TXNS_INQ — the inquiry view over material transactions exposed to the CSM publication CSM_MTL_MATERIAL_TXNS.
  • CSM_MTL_TXNS_LOT_NUM_INQ — the inquiry view supplying lot number detail for the CSM_MTL_TXNS_LOT_NUM publication.
  • CSM_MTL_UNIT_TXNS_INQ — the inquiry view supplying serialized unit transaction detail for the CSM_MTL_UNIT_TXNS publication.
  • ASG_USER — referenced in connection with user identity, used to validate the client user context (clid$$cs) under which transactions are applied.

The three _INQ views are the primary read path for delivering transaction data to the client, while MTL_MATERIAL_TRANSACTIONS provides the authoritative server-side keys that allow newly inserted client records to be reconciled and numbered.

Usage Notes

This package is not invoked interactively by end users. It is called by the CSM synchronization framework, which detects that a client has submitted material transaction changes and routes those changes to APPLY_CLIENT_CHANGES for application and conflict handling. Typical triggers include a mobile device or field application reconnecting to the network and uploading queued inventory movements, lot assignments, and serial number assignments.

Custom code extending the mobile inventory flow should treat APPLY_CLIENT_CHANGES as the supported interface and avoid calling internal routines directly, since only that procedure is documented and stable. The package is referenced by one other database package object, so changes to its public signature should be evaluated against that dependent caller. Because the header is marked noship, the package is intended for internal use and is not part of the shipped, supported product surface; implementations upgrading between 12.1.1 and 12.2.2 should verify that the package remains present and that the CSM publication names retain the CSM_MTL_ prefix before relying on it in custom integration code.