Search Results can_drop




Overview

WMS_TASK_UTILS_PVT is a private PL/SQL package owned by the APPS schema in Oracle E-Business Suite Warehouse Management System (WMS). It is classified as a private (PVT) API, meaning it is intended for internal consumption by Oracle's own WMS modules and dependency packages rather than as a public integration interface. The package supplies the low-level utility logic that governs the lifecycle of warehouse tasks — dispatch, processing, unloading, and cancellation — within the WMS execution environment.

The package declares several record subtypes and associative array types bound to the material transaction staging tables, including MMTT_TB (MTL_MATERIAL_TRANSACTIONS_TEMP), MTLT_TB (MTL_TRANSACTION_LOTS_TEMP), and MSNT_TB (MTL_SERIAL_NUMBERS_TEMP). It also declares the user-defined exception g_qty_not_avail, raised when available on-hand quantity cannot satisfy a task operation. The package header carries a header stamp dated 2007, indicating the source has remained stable across the 12.1.1 and 12.2.2 releases.

Key Procedures and Functions

  • UNLOAD_TASK — Processes the unloading of a previously identified task, returning a numeric return value and message. It is invoked when the operator completes the physical put-away/unload action for a task.
  • CANCEL_TASK — The procedure most relevant to the "cancel_task" search. It cancels an in-progress warehouse task given an employee identifier and a temporary (staging) identifier. It accepts an optional p_previous_task_status argument (defaulted, added originally for bug 3602199) that permits the caller to restore or reconcile the task to a prior status when the cancellation is reversed or rolled back. It returns status, message count, and message data through OUT NOCOPY parameters.
  • CAN_DROP — A function returning VARCHAR2 that evaluates whether a license plate number may be dropped from a task, supporting decisions during task manipulation.
  • CAN_UNLOAD — Companion function determining whether an unload action is permissible; documented in the package body comment as being called from the currentTasksFListener when the Unload button is pressed, returning "Y" to permit continuation.
  • IS_TASK_PROCESSED — Returns a flag indicating whether a given task header has already been processed, preventing duplicate transaction execution.
  • GENERATE_NEXT_TASK — Advances task sequencing by generating the next task based on the prior header, move-order line, sub-code, and location, and the requested WMS task type.
  • GET_TEMP_TABLES — Bulk-fetches the temporary transaction, lot, and serial number rows for a given set identifier, populating the MMTT_TB, MTLT_TB, and MSNT_TB collections.
  • MYDEBUG — A diagnostic helper that writes a debug message for troubleshooting task processing.

Tables Accessed

The package reads and writes the material transaction pipeline: MTL_MATERIAL_TRANSACTIONS, MTL_MATERIAL_TRANSACTIONS_TEMP, MTL_MATERIAL_TRANSACTIONS_S, MTL_TRANSACTION_LOT_NUMBERS, MTL_TRANSACTION_LOTS_TEMP, MTL_SERIAL_NUMBERS, and MTL_SERIAL_NUMBERS_TEMP. These support the transactional movement and serial/lot control generated by task execution. MTL_UNIT_TRANSACTIONS provides unit-level transaction detail, while MTL_TXN_REQUEST_LINES links tasks to move orders. WMS_DISPATCHED_TASKS and WMS_LICENSE_PLATE_NUMBERS hold the WMS execution state, including dispatched tasks and LPNs referenced by CAN_DROP and task cancellation. MTL_PARAMETERS, MTL_SECONDARY_INVENTORIES, and MTL_SYSTEM_ITEMS supply organization defaults, subinventory context, and item attributes. DUAL is used for simple single-row evaluations.

Usage Notes

WMS_TASK_UTILS_PVT is invoked from the WMS graphical task-execution interface — notably the currentTasksFListener for Unload and Cancel actions — and from other internal WMS packages; the metadata indicates two dependent packages reference it. It is not a supported public API, so custom or third-party code should not call it directly, as signatures may change without notice. For cancellations in custom extensions, the documented entry point is CANCEL_TASK, called with the employee identifier and temporary identifier, and optionally with p_previous_task_status to preserve prior task state. Because the package manipulates material transaction staging tables, any invocation should occur within the transaction boundary controlled by the calling WMS form or program, and callers should always inspect x_return_status, x_msg_count, and x_msg_data to detect failures such as g_qty_not_avail. The same package source (version 120.1.12000000.1) applies to both 12.1.1 and 12.2.2, so behavior is consistent across these releases.