Search Results create_move_orders




Overview

INV_CREATE_MOVE_ORDER_PVT is a private (PVT) PL/SQL package body owned by the APPS schema in Oracle E-Business Suite, primarily used within Oracle Inventory (INV). Its core business function is to programmatically create move orders in Oracle Inventory, particularly in scenarios driven by min-max planning where the source type is either a subinventory transfer or a replenishment. Move orders are the mechanism by which inventory is relocated between subinventories, locators, or organizations, and they underpin replenishment, picking, and staging activities in warehouse and manufacturing operations.

The package acts as a wrapper and orchestrator around the public move order APIs (notably INV_MOVE_ORDER_PUB), assembling the required header and line record structures, invoking the public API logic, and returning a status to the caller. The header comment and the naming convention (PVT, "Private") indicate that this package is intended for internal use by Oracle's own code base rather than as a documented, supported public interface. According to the ETRM metadata, it is referenced by one other package, confirming its role as an internal utility rather than a standalone entry point.

Key Procedures and Functions

  • CREATE_MOVE_ORDERS — The sole documented program unit in this package, implemented as a function that returns a VARCHAR2 status value. Its purpose is to create a move order — with associated header and detail lines — from min-max planning, where the source type is a subinventory transfer or a replenishment. The function accepts a comprehensive set of inbound parameters (item, quantity, primary and secondary quantities, need-by date, primary and secondary UOM codes, grade code, user, organization, source type, source and destination subinventory, destination locator, and reference information) and internally instantiates the public move order header and line record types. It manages the API return status, message count, and message data, and it constructs the header and line structures before delegating to the public move order API.

A private debug helper, PRINT_DEBUG, is present in the source to emit trace messages through INV_LOG_UTIL, but it is not part of the documented API surface and is used only for diagnostics.

Tables Accessed

No base tables are directly listed in the supplied metadata excerpt; the package does not perform its own DML against inventory tables. Instead, it constructs PL/SQL record structures based on the public types defined in INV_MOVE_ORDER_PUB (TROHDR_REC_TYPE for the move order header and TROLIN_TBL_TYPE for the move order lines) and forwards them to that public API. Consequently, the actual inserts and updates against the move order tables (such as MTL_MOVE_ORDER_HEADERS and its associated line and transaction tables) are performed by the delegated API, not by this package. This design keeps validation and persistence logic centralized in the public move order API, which this private package invokes.

Usage Notes

  • This is a private API and should generally not be invoked directly by custom code. Oracle recommends using the supported public API, INV_MOVE_ORDER_PUB, for programmatic move order creation.
  • It is invoked internally by Oracle Inventory processes — most notably min-max planning and replenishment — when the system must generate a move order with a source type of subinventory transfer or replenishment. The metadata confirms it is referenced by one other package, consistent with this internal dependency.
  • Custom code that needs equivalent behavior should call INV_MOVE_ORDER_PUB.CREATE_MOVE_ORDER_HEADER and related public procedures, rather than this PVT package, to remain supported across releases such as 12.1.1 and 12.2.2.
  • Because it returns a status string and relies on FND_API global return status constants, callers must check the returned status and interrogate message count/data on failure.
  • The presence of secondary quantity, secondary UOM, and grade code parameters reflects convergence (INVCONV) support for dual-unit-of-measure and lot-grade inventory, so the package can handle both primary and secondary UOM move order creation.