Search Results allocate_inventory




Overview

The APPS.GMI_AUTO_ALLOCATE_PUB package body provides the public API layer for automatic inventory allocation within the Oracle E-Business Suite Process Manufacturing (OPM) module. Its principal purpose is to auto-allocate inventory against a sales order or shipment line, reserving on-hand stock in a specific warehouse so that the demand line is satisfied. The package encapsulates the business logic required to identify allocatable lots, validate warehouse and customer context, and create reservation records without requiring the caller to manipulate the underlying OPM inventory tables directly.

The header comment identifies the source file as GMIPALLB.pls (version 120.0), and the API is classified as a Public (PUB) API in ETRM for both 12.1.1 and 12.2.2. A notable historical fix recorded in the package body (B1731567) distinguishes the co_code associated with the customer number from the co_code associated with the warehouse and inventory transactions — an important detail for multi-organization installations where customer and inventory operating units differ. The package is referenced by five other packages, confirming its role as a shared allocation service rather than a leaf utility.

Key Procedures and Functions

ETRM documents a single public procedure for this package:

  • ALLOCATE_INVENTORY — The sole documented entry point. Per the embedded specification, its stated purpose is to "Auto Allocate Inventory against a sales/shipment line." It accepts standard PL/SQL API control parameters (API version, message-list initialization, commit indicator, and validation level), an allocation requirements record of type gmi_allocation_rec, and returns the reservation identifier (the trans_id from IC_TRAN_PND), the quantities allocated in both order units of measure, plus the standard return status, message count, and encoded message data. The gmi_allocation_rec record carries the allocation requirements that drive the reservation, and the two allocated-quantity outputs reflect allocation in the dual order UOMs supported by OPM order lines.

No additional public functions or procedures are documented in the ETRM metadata for this package.

Tables Accessed

The package operates against the following tables through APPS synonyms:

  • IC_TRAN_PND — The inventory transaction pending table; allocation creates a pending reservation transaction, and the returned reservation ID is the trans_id from this table.
  • IC_ITEM_MST and IC_ITEM_CPG — Item master and item CPG data, used to validate the item and its allocation-relevant attributes.
  • IC_WHSE_MST — Warehouse master, used to resolve and validate the allocating warehouse.
  • OE_ORDER_LINES_ALL and OP_ORDR_DTL — Order line and OPM order detail tables supplying the sales/shipment line against which allocation occurs.
  • OP_CUST_MST — Customer master, used to resolve the customer associated with the order line.
  • OP_ALOT_PRM — Lot parameter data governing lot-level allocation behavior.
  • SY_ORGN_MST — Organization master, providing organizational context.
  • FND_USER — Used to capture the application user for audit and transaction attribution.

Usage Notes

GMI_AUTO_ALLOCATE_PUB.ALLOCATE_INVENTORY is intended for programmatic invocation. Typical callers include OPM sales order and shipment confirmation forms, order management workflows, and custom PL/SQL that must reserve stock for a demand line. Callers should pass a fully populated gmi_allocation_rec, observe the standard API conventions (checking x_return_status for FND_API.G_RET_STS_SUCCESS and inspecting x_msg_count/x_msg_data on failure), and control transaction scope through p_commit. Because the procedure is a public API, direct DML against IC_TRAN_PND should be avoided in favor of this entry point. The dual x_allocated_qty1/x_allocated_qty2 outputs allow callers to reconcile allocated quantities in both order units of measure.