Search Results create_completed_transaction




Overview

GMI_TRANS_ENGINE_PVT is the top-level private (PVT) package body of the Oracle Process Manufacturing (OPM) Inventory Transaction Processor in Oracle E-Business Suite 12.1.1 and 12.2.2. It exposes the programmable interface through which OPM inventory transactions are staged, validated and finally posted. The package handles the complete life cycle of an inventory transaction: creating a pending transaction, updating it, deleting it, converting it to a completed transaction, and creating the completed transaction itself. Written by OPM Development (Harminder Verdding) and maintained through a long series of bug fixes documented in the header, the package encapsulates pending and completed transaction building, defaulting, and period-close validation logic. In the EBS architecture, the package resides in the APPS schema and is classified as a private API, meaning it is intended to be called from other OPM packages and product code rather than directly from customers. Its singular role is to be the single point through which the OPM Inventory Transaction Processor assembles transaction records before they are handed to posting and costing routines.

Key Procedures and Functions

The package contains nine documented units:

  • CREATE_PENDING_TRANSACTION — Creates a new pending inventory transaction record, applying required defaults and building the transaction image prior to validation and posting. This is the primary entry point associated with the search term "create_pending_transaction".
  • PENDING_TRANSACTION_BUILD — Internal routine that constructs/derives the pending transaction record from the supplied values, supplementing caller input with item, location, lot and ownership information.
  • UPDATE_PENDING_TRANSACTION — Modifies an existing pending transaction that has not yet been completed, allowing corrections prior to posting.
  • DELETE_PENDING_TRANSACTION — Removes a pending transaction record that is no longer required.
  • CREATE_COMPLETED_TRANSACTION — Creates the completed (posted) transaction record in the completed transaction table, taking the pending transaction through validation and posting. Per the history, creation_date is populated using NVL(trans_date, SYSDATE).
  • COMPLETED_TRANSACTION_BUILD — Internal routine that builds the completed transaction image from the pending record, including line detail and non-inventory item value, and assigns the reason code.
  • UPDATE_PENDING_TO_COMPLETED — Transitions an existing pending transaction into completed status, adding completed transaction support introduced for cross-reference (XFER) and grade-change transactions.
  • SET_DEFAULTS — Establishes default values for transaction attributes before the pending record is built.
  • CLOSE_PERIOD_CHECK — Encapsulates transaction-date validation, invoking period-close checking and permitting grade and status transactions in closed periods per documented bug fixes (1427922, 2322973).

Tables Accessed

The package operates against the following OPM tables (via APPS synonyms):

  • IC_TRAN_PND — the pending inventory transaction table; the target of CREATE, UPDATE and DELETE pending transaction operations.
  • IC_TRAN_CMP — the completed inventory transaction table written by CREATE_COMPLETED_TRANSACTION and UPDATE_PENDING_TO_COMPLETED.
  • IC_ITEM_MST — item master; read to validate items and fetch item attributes, including non-inventory item values.
  • IC_LOCT_INV — location/warehouse inventory; read for location and warehouse context used in transaction building and error messaging.
  • IC_LOTS_MST — lot master; read to validate and default lot information for lot-controlled transactions.

Usage Notes

GMI_TRANS_ENGINE_PVT is a private-layer API. It is referenced by one other package in the ETRM metadata, indicating that the public layer of the OPM Transaction Processor calls into it rather than applications calling it directly. Typical invocation paths include OPM Inventory transaction entry forms, OPM concurrent programs that process inventory movements (receipts, issues, transfers, grade changes and status changes), and internal OPM packages that stage transactions for posting. Because the API is classified PVT, Oracle does not support direct customer calls to GMI_TRANS_ENGINE_PVT; customizations should invoke the supported public wrapper or use the OPM open interfaces instead. The package's period-close logic (CLOSE_PERIOD_CHECK) enforces transaction-date validation while allowing grade and status transactions in closed periods, and its messaging includes warehouse code context for closed-period posting errors. Custom code that bypasses this layer risks inconsistent pending/completed transaction state and invalid inventory balances.