Next Task Not In Accordance With Proximity To The Last Operator Action (Doc ID 2015608.1)

Last updated on MARCH 08, 2017

Applies to:

Oracle Warehouse Management - Version 12.1.3 and later
Information in this document applies to any platform.


On : 12.1.3 version, Task Management , Interleaving

Customer found issues with wms_task_dispatch_engine package, where that the next task is not in accordance with proximity to the last operator action.

The problem found is when an operator loads two or more tasks, makes the drop of one of them and calls the next task even with loaded tasks.
When this occurs it is not treated in the core code below because the drop task is younger that the load, thereby returning the x, y and z coordinate = 0 for the previously action:

Object: wms_task_dispatch_engine.dispatch_task

IF l_last_dropoff_task_id = -1 AND l_last_loaded_task_id = -1 THEN
l_last_task_id := -1;
ELSIF l_last_dropoff_task_id = -1 THEN
l_last_task_id := l_last_loaded_task_id;
l_last_task_type := l_last_loaded_task_type;
l_last_task_is_drop := FALSE;
ELSIF l_last_loaded_task_id = -1 THEN
l_last_task_id := l_last_dropoff_task_id;
l_last_task_type := l_last_dropoff_task_type;
l_last_task_is_drop := TRUE;
ELSIF l_last_loaded_time < l_last_dropoff_time THEN
l_last_task_id := l_last_dropoff_task_id;
l_last_task_type := l_last_dropoff_task_type;
l_last_task_is_drop := TRUE;

See the log (the file inv_test.log was attached):

[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: dispatch_task - last loaded task : l_last_loaded_task_id => 500465
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: dispatch_task => l_last_loaded_task_type4
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: dispatch_task => l_last_loaded_time12-NOV-14
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: dispatch_task - last dropoff task : l_last_dropoff_task_id => 635908
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: dispatch_task => l_last_dropoff_task_type1
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: dispatch_task => l_last_dropoff_time12-NOV-14
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: dispatch_task - previous task - l_last_task_id =
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: p_sign_on_emp_id => 62
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: p_sign_on_zone =>
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: l_cartonization_id =>
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: l_sign_on_equipment_srl => 11
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: l_sign_on_equipment_id => 38143
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: l_cur_x => 0
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: l_cur_y => 0
[12-NOV-14 16:00:48] WMS_Task_Dispatch_Engine: l_cur_z => 0

They also found an error in the code below, where it is collected loaded_time field of drop action, the right is drop_off_time field:

  SELECT transaction_id, task_type, loaded_time
  INTO l_last_dropoff_task_id, l_last_dropoff_task_type, l_last_dropoff_time
  FROM (SELECT transaction_id, task_type, loaded_time
  FROM wms_dispatched_tasks_history wdth
  WHERE wdth.person_id = p_sign_on_emp_id
  AND wdth.drop_off_time = (SELECT MAX(drop_off_time)
  FROM wms_dispatched_tasks_history
  WHERE person_id = p_sign_on_emp_id))
  WHERE ROWNUM = 1; -- make sure only one task selected


Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms