1 PACKAGE wms_task_dispatch_gen AS
2 /* $Header: WMSTASKS.pls 120.4.12010000.1 2008/07/28 18:37:08 appldev ship $ */
3
4 -- variables representing missing records and tables
5
6 --G_MISS_DETAIL_REC INV_AUTODETAIL.pp_row;
7 --G_MISS_DETAIL_REC_TBL INV_AUTODETAIL.pp_row_table;
8 --G_MISS_SERIAL_REC INV_AUTODETAIL.serial_row;--G_MISS_SERIAL_REC_TBL INV_AUTODETAIL.serial_row_table;
9
10
11
12 -- procedure
13
14
15 --Stuff for Calling the Task Dispatching Engine
16
17
18 TYPE task_rec_cur_tp IS REF CURSOR;
19
20 TYPE t_genref IS REF CURSOR;
21
22 TYPE task_rec_tp IS RECORD(
23 task_id NUMBER
24 , task_zone VARCHAR2(10)
25 , task_locator NUMBER
26 , task_revision VARCHAR2(3)
27 , task_uom VARCHAR2(10)
28 , task_quantity NUMBER
29 -- Increased lot size to 80 Char - Mercy Thomas - B4625329
30 , task_lot_number VARCHAR2(80)
31 , task_type NUMBER
32 , task_priority NUMBER
33 );
34
35 TYPE lpn_lot_qty_rec IS RECORD(
36 lpn_id NUMBER
37 -- Increased lot size to 80 Char - Mercy Thomas - B4625329
38 , lot_number VARCHAR2(80)
39 , qty NUMBER
40 );
41
42 TYPE lpn_lot_qty_tb IS TABLE OF lpn_lot_qty_rec INDEX BY BINARY_INTEGER;
43
44 -- PL/SQL TABLE used to store lot_number and qty for passed in lpn_id
45
46 t_lpn_lot_qty_table lpn_lot_qty_tb;
47
48 FUNCTION get_lpn_lot_qty(p_lot_number IN VARCHAR2)
49 RETURN NUMBER;
50
51 -- r12.1 Advanced Replenishment Project 6681109
52 TYPE num_tab IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
53 TYPE pick_release_rec IS RECORD(
54 batch_id NUMBER
55 , delivery_detail_id NUMBER
56 );
57
58 TYPE pick_release_tab IS TABLE OF pick_release_rec INDEX BY BINARY_INTEGER;
59 -- r12.1 Advanced Replenishment Project 6681109
60
61
62 PROCEDURE next_task(
63 p_sign_on_emp_id IN NUMBER
64 , p_sign_on_org_id IN NUMBER
65 , p_sign_on_zone IN VARCHAR2 := NULL
66 , p_sign_on_equipment_id IN NUMBER := NULL
67 , p_sign_on_equipment_srl IN VARCHAR2 := NULL
68 , p_task_type IN VARCHAR2 := 'PICKING'
69 , x_nbr_tasks OUT NOCOPY NUMBER
70 , p_lpn_id IN NUMBER := fnd_api.g_miss_num
71 , x_return_status OUT NOCOPY VARCHAR2
72 , x_msg_count OUT NOCOPY NUMBER
73 , x_msg_data OUT NOCOPY VARCHAR2
74 , x_task_type OUT NOCOPY NUMBER
75 , p_sign_on_device_id IN NUMBER := NULL
76 , x_avail_device_id OUT NOCOPY NUMBER
77 );
78
79 -- This procedure will dispatch the Cluster Pick Tasks
80 PROCEDURE next_cluster_pick_task(
81 p_sign_on_emp_id IN NUMBER
82 , p_sign_on_org_id IN NUMBER
83 , p_sign_on_zone IN VARCHAR2 := NULL
84 , p_sign_on_equipment_id IN NUMBER := NULL
85 , p_sign_on_equipment_srl IN VARCHAR2 := NULL
86 , p_task_type IN VARCHAR2 := 'PICKING'
87 , x_nbr_tasks OUT NOCOPY NUMBER
88 , p_lpn_id IN NUMBER DEFAULT NULL
89 , x_return_status OUT NOCOPY VARCHAR2
90 , x_msg_count OUT NOCOPY NUMBER
91 , x_msg_data OUT NOCOPY VARCHAR2
92 , x_task_type OUT NOCOPY NUMBER
93 , p_sign_on_device_id IN NUMBER := NULL
94 , x_avail_device_id OUT NOCOPY NUMBER
95 , p_max_clusters IN NUMBER := 0
96 , x_deliveries_list OUT NOCOPY VARCHAR2
97 , x_cartons_list OUT NOCOPY VARCHAR2
98 );
99
100 PROCEDURE complete_pick(
101 p_lpn IN VARCHAR2
102 , p_container_item_id IN NUMBER := NULL
103 , p_org_id IN NUMBER
104 , p_temp_id IN NUMBER
105 , p_loc IN NUMBER
106 , p_sub IN VARCHAR2
107 , p_from_lpn_id IN NUMBER
108 , p_txn_hdr_id IN NUMBER
109 , p_user_id IN NUMBER
110 , x_return_status OUT NOCOPY VARCHAR2
111 , x_msg_count OUT NOCOPY NUMBER
112 , x_msg_data OUT NOCOPY VARCHAR2
113 , p_ok_to_process OUT NOCOPY VARCHAR2
114 );
115
116 -- This lpn will be used during the picking process. If the user specifies
117 -- a from lpn, this procedure will figure out if the lpn in question will
118 -- satisfy the pick in question
119 -- It will return 1 if this is the case, 0 if not and 2 if the item does
120 -- not exist in the lpn, 3 if the qty is not adequate and 4 if it already
121 -- has been loaded
122
123 PROCEDURE lpn_match(
124 p_lpn IN NUMBER
125 , p_org_id IN NUMBER
126 , p_item_id IN NUMBER
127 , p_rev IN VARCHAR2
128 , p_lot IN VARCHAR2
129 , p_qty IN NUMBER
130 , p_uom IN VARCHAR2
131 , x_match OUT NOCOPY NUMBER
132 , x_sub OUT NOCOPY VARCHAR2
133 , x_loc OUT NOCOPY VARCHAR2
134 , x_qty OUT NOCOPY NUMBER
135 , x_return_status OUT NOCOPY VARCHAR2
136 , x_msg_count OUT NOCOPY NUMBER
137 , x_msg_data OUT NOCOPY VARCHAR2
138 , p_temp_id IN NUMBER
139 , p_wms_installed IN VARCHAR2
140 , p_transaction_type_id IN NUMBER
141 , p_cost_group_id IN NUMBER
142 , p_is_sn_alloc IN VARCHAR2
143 , p_action IN NUMBER
144 , x_temp_id OUT NOCOPY NUMBER
145 , x_loc_id OUT NOCOPY NUMBER
146 , x_lpn_lot_vector OUT NOCOPY VARCHAR2
147 , x_lpn_qty OUT NOCOPY NUMBER --Added bug 3946813
148 );
149
150 -- This API will process lots and serials. It will insert into the
151 -- mtl_transaction_lots_temp and mtl_serial_numbers_temp table
152 -- The input parameter p_action determines whether it is lot controlled (1)
153 -- , serial controlled (2) or lot and serial controlled (3)
154
155 PROCEDURE process_lot_serial(
156 p_org_id IN NUMBER
157 , p_user_id IN NUMBER
158 , p_temp_id IN NUMBER
159 , p_item_id IN NUMBER
160 , p_qty IN NUMBER
161 , p_uom IN VARCHAR2
162 , p_lot IN VARCHAR2 := NULL
163 , p_fm_serial IN VARCHAR2
164 , p_to_serial IN VARCHAR2
165 , p_action IN NUMBER := 1
166 , x_return_status OUT NOCOPY VARCHAR2
167 , x_msg_count OUT NOCOPY NUMBER
168 , x_msg_data OUT NOCOPY VARCHAR2
169 );
170
171 FUNCTION get_primary_quantity(p_item_id IN NUMBER, p_organization_id IN NUMBER, p_from_quantity IN NUMBER, p_from_unit IN VARCHAR2)
172 RETURN NUMBER;
173
174 FUNCTION can_pickdrop(txn_temp_id IN NUMBER)
175 RETURN VARCHAR2;
176
177 PROCEDURE load_pick(
178 p_to_lpn IN VARCHAR2
179 , p_container_item_id IN NUMBER := NULL
180 , p_org_id IN NUMBER
181 , p_temp_id IN NUMBER
182 , p_from_lpn IN VARCHAR2
183 , p_from_lpn_id IN NUMBER := NULL
184 , p_act_sub IN VARCHAR2
185 , p_act_loc IN NUMBER
186 , p_entire_lpn IN VARCHAR2 := 'N'
187 , x_return_status OUT NOCOPY VARCHAR2
188 , x_msg_count OUT NOCOPY NUMBER
189 , x_msg_data OUT NOCOPY VARCHAR2
190 , p_loc_rsn_id IN NUMBER
191 , p_qty_rsn_id IN NUMBER
192 , p_sn_allocated_flag IN VARCHAR2
193 , p_task_id IN NUMBER
194 , p_user_id IN NUMBER
195 , p_qty IN NUMBER
196 , p_qty_uom IN VARCHAR2
197 , p_is_revision_control IN VARCHAR2
198 , p_is_lot_control IN VARCHAR2
199 , p_is_serial_control IN VARCHAR2
200 , p_item_id IN NUMBER
201 , p_act_rev IN VARCHAR2
202 , p_lot IN VARCHAR2
203 , p_ok_to_process OUT NOCOPY VARCHAR2
204 , p_pick_qty_remaining IN NUMBER
205 , x_temp_id OUT NOCOPY NUMBER
206 , p_lots_to_delete IN VARCHAR2
207 , p_mmtt_to_update IN VARCHAR2
208 , p_serial_number IN VARCHAR2
209 , x_out_lpn OUT NOCOPY NUMBER
210 );
211
212 PROCEDURE validate_pick_to_lpn(
213 p_api_version_number IN NUMBER
214 , p_init_msg_lst IN VARCHAR2 := fnd_api.g_false
215 , x_return_status OUT NOCOPY VARCHAR2
216 , x_msg_count OUT NOCOPY NUMBER
217 , x_msg_data OUT NOCOPY VARCHAR2
218 , p_organization_id IN NUMBER
219 , p_pick_to_lpn IN VARCHAR2
220 , p_temp_id IN NUMBER
221 , p_project_id IN NUMBER := NULL
222 , p_task_id IN NUMBER := NULL
223 );
224
225 PROCEDURE multiple_lpn_pick(
226 p_lpn_id IN NUMBER
227 , p_lpn_qty IN NUMBER
228 , p_org_id IN NUMBER
229 , p_temp_id IN NUMBER
230 , x_temp_id OUT NOCOPY NUMBER
231 , x_return_status OUT NOCOPY VARCHAR2
232 , x_msg_count OUT NOCOPY NUMBER
233 , x_msg_data OUT NOCOPY VARCHAR2
234 , p_sn_allocated_flag IN VARCHAR2
235 , p_uom_code IN VARCHAR2
236 , p_to_lpn_id IN NUMBER
237 , p_entire_lpn IN VARCHAR2
238 );
239
240 PROCEDURE multiple_pick(
241 p_pick_qty IN NUMBER
242 , p_org_id IN NUMBER
243 , p_temp_id IN NUMBER
244 , x_return_status OUT NOCOPY VARCHAR2
245 , x_msg_count OUT NOCOPY NUMBER
246 , x_msg_data OUT NOCOPY VARCHAR2
247 , p_sn_allocated_flag IN VARCHAR2
248 , p_act_uom IN VARCHAR2
249 , p_from_lpn IN VARCHAR2
250 , p_from_lpn_id IN NUMBER
251 , p_to_lpn IN VARCHAR2
252 , p_ok_to_process OUT NOCOPY VARCHAR2
253 , p_is_revision_control IN VARCHAR2
254 , p_is_lot_control IN VARCHAR2
255 , p_is_serial_control IN VARCHAR2
256 , p_act_rev IN VARCHAR2
257 , p_lot IN VARCHAR2
258 , p_act_sub IN VARCHAR2
259 , p_act_loc IN NUMBER
260 , p_container_item_id IN NUMBER := NULL
261 , p_entire_lpn IN VARCHAR2
262 , p_pick_qty_remaining IN NUMBER
263 , x_temp_id OUT NOCOPY NUMBER
264 , p_serial_number IN VARCHAR2
265 );
266
267 PROCEDURE insert_mmtt_pack(
268 p_temp_id IN NUMBER
269 , p_lpn_id IN NUMBER
270 , p_transfer_lpn IN VARCHAR2
271 , p_container_item_id IN NUMBER := NULL
272 , x_return_status OUT NOCOPY VARCHAR2
273 , x_msg_count OUT NOCOPY NUMBER
274 , x_msg_data OUT NOCOPY VARCHAR2
275 );
276
277 PROCEDURE insert_task(
278 p_org_id IN NUMBER
279 , p_user_id IN NUMBER
280 , p_eqp_ins IN VARCHAR2
281 , p_temp_id IN NUMBER
282 , x_return_status OUT NOCOPY VARCHAR2
283 );
284
285 PROCEDURE mydebug(msg IN VARCHAR2);
286
287 PROCEDURE create_lpn(
288 p_organization_id NUMBER
289 , p_lpn IN VARCHAR2
290 , p_lpn_id OUT NOCOPY NUMBER
291 , x_return_status OUT NOCOPY VARCHAR2
292 , x_msg_count OUT NOCOPY NUMBER
293 , x_msg_data OUT NOCOPY VARCHAR2
294 );
295
296 -- This API will be called to modify the License Plate Number and/or
297 -- the container item associated with the LPN
298
299 PROCEDURE change_lpn(
300 p_org_id IN NUMBER
301 , p_container IN NUMBER := NULL
302 , p_lpn_name IN VARCHAR2 := NULL
303 , p_sug_lpn_name IN VARCHAR2 := NULL
304 , x_ret OUT NOCOPY NUMBER
305 , x_return_status OUT NOCOPY VARCHAR2
306 , x_msg_count OUT NOCOPY NUMBER
307 , x_msg_data OUT NOCOPY VARCHAR2
308 );
309
310 /* This API will be called when the pick task is dropped off
311 at the staging location. This will take in the temp id, see if there are
312 any mmtt lines that have this temp id as the parent id. If yes, then it
313 means that this line is a consolidated bulk pick task. Consequently, only
314 the child mmtt lines should be transacted
315 */
316 PROCEDURE pick_drop(
317 p_temp_id IN NUMBER
318 , p_txn_header_id IN NUMBER
319 , p_org_id IN NUMBER
320 , x_return_status OUT NOCOPY VARCHAR2
321 , x_msg_count OUT NOCOPY NUMBER
322 , x_msg_data OUT NOCOPY VARCHAR2
323 , p_from_lpn_id IN NUMBER
324 , p_drop_lpn IN VARCHAR2
325 , p_loc_reason_id IN NUMBER DEFAULT NULL
326 , p_sub IN VARCHAR DEFAULT NULL
327 , p_loc IN NUMBER DEFAULT NULL
328 , p_orig_sub IN VARCHAR DEFAULT NULL
329 , p_orig_loc IN VARCHAR DEFAULT NULL
330 , p_user_id IN NUMBER DEFAULT NULL
331 , p_task_type IN NUMBER DEFAULT NULL
332 , p_commit IN VARCHAR2 DEFAULT 'Y'
333 );
334
335 /* This API is similar to the next_task API. It has been expanded to
336 support Pick By Label. User will scan a LPN label, The next task for that
337 LPN will be returned. The user will not be allowed to drop off the LPN if
338 further tasks exist for that LPN. If no further picking tasks exist for
339 the LPN scanned, then the user will be directed to the pick drop page.
340 x_nbr_tasks will bring back 0 if there are no further undispatched
341 picking tasks which means that the user should drop it off, or -1 if no
342 tasks exist at all or the actual number of tasks remaining for the LPN*/
343 PROCEDURE pick_by_label(
344 p_sign_on_emp_id IN NUMBER
345 , p_sign_on_org_id IN NUMBER
346 , p_sign_on_zone IN VARCHAR2 := NULL
347 , p_sign_on_equipment_id IN NUMBER := NULL
348 , p_sign_on_equipment_srl IN VARCHAR2 := NULL
349 , p_task_type IN VARCHAR2 := 'PICKING'
350 , x_nbr_tasks OUT NOCOPY NUMBER
351 , p_lpn_id IN NUMBER
352 , x_return_status OUT NOCOPY VARCHAR2
353 , x_msg_count OUT NOCOPY NUMBER
354 , x_msg_data OUT NOCOPY VARCHAR2
355 );
356
357 PROCEDURE manual_pick(
358 p_sign_on_emp_id IN NUMBER
359 , p_sign_on_org_id IN NUMBER
360 , p_sign_on_zone IN VARCHAR2 := NULL
361 , p_sign_on_equipment_id IN NUMBER := NULL
362 , p_sign_on_equipment_srl IN VARCHAR2 := NULL
363 , p_task_type IN VARCHAR2 := 'PICKING'
364 , p_pick_slip_id IN NUMBER
365 , x_return_status OUT NOCOPY VARCHAR2
366 , x_msg_count OUT NOCOPY NUMBER
367 , x_msg_data OUT NOCOPY VARCHAR2
368 );
369
370 /* This API will return the number of tasks that still need to be performed
371 for a given carton. If it returns more than 1, the user should not be
372 allowed to drop off the carton*/
373 PROCEDURE check_carton(
374 p_carton_id IN NUMBER
375 , p_org_id IN NUMBER
376 , x_nbr_tasks OUT NOCOPY NUMBER
377 , x_return_status OUT NOCOPY VARCHAR2
378 , x_msg_count OUT NOCOPY NUMBER
379 , x_msg_data OUT NOCOPY VARCHAR2
380 );
381
382 /* This API will return the number of tasks that still need to be performed
383 for a given carton. If it returns more than 1, the user should not be
384 allowed to drop off the carton*/
385 PROCEDURE check_pack_lpn(
386 p_lpn IN VARCHAR2
387 , p_org_id IN NUMBER
388 , x_return_status OUT NOCOPY VARCHAR2
389 , x_msg_count OUT NOCOPY NUMBER
390 , x_msg_data OUT NOCOPY VARCHAR2
391 );
392
393 -- Procedure
394 -- check_is_reservable_sub
395 -- Description
396 -- check from db tables whether the sub specified in
397 -- the input is a reservable sub or not.
398 PROCEDURE check_is_reservable_sub(
399 x_return_status OUT NOCOPY VARCHAR2
400 , p_organization_id IN VARCHAR2
401 , p_subinventory_code IN VARCHAR2
402 , x_is_reservable_sub OUT NOCOPY BOOLEAN
403 );
404
405 PROCEDURE create_mo(
406 p_org_id IN NUMBER
407 , p_inventory_item_id IN NUMBER
408 , p_qty IN NUMBER
409 , p_uom IN VARCHAR2
410 , p_lpn IN NUMBER
411 , p_project_id IN NUMBER := NULL
412 , p_task_id IN NUMBER := NULL
413 , p_reference IN VARCHAR2 := NULL
414 , p_reference_type_code IN NUMBER := NULL
415 , p_reference_id IN NUMBER := NULL
416 , p_lot_number IN VARCHAR2
417 , p_revision IN VARCHAR2
418 , p_header_id IN OUT NOCOPY NUMBER
419 , p_sub IN VARCHAR := NULL
420 , p_loc IN NUMBER := NULL
421 , x_line_id OUT NOCOPY NUMBER
422 , p_inspection_status IN NUMBER := NULL
423 , p_txn_source_id IN NUMBER := fnd_api.g_miss_num
424 , p_transaction_type_id IN NUMBER := fnd_api.g_miss_num
425 , p_transaction_source_type_id IN NUMBER := fnd_api.g_miss_num
426 , p_wms_process_flag IN NUMBER := NULL
427 , x_return_status OUT NOCOPY VARCHAR2
428 , x_msg_count OUT NOCOPY NUMBER
429 , x_msg_data OUT NOCOPY VARCHAR2
430 , p_from_cost_group_id IN NUMBER := NULL
431 , p_transfer_org_id IN NUMBER DEFAULT NULL
432 );
433
434 PROCEDURE cleanup_task(
435 p_temp_id IN NUMBER
436 , p_qty_rsn_id IN NUMBER
437 , p_user_id IN NUMBER
438 , x_return_status OUT NOCOPY VARCHAR2
439 , x_msg_count OUT NOCOPY NUMBER
440 , x_msg_data OUT NOCOPY VARCHAR2
441 );
442
443 PROCEDURE get_td_lot_lov_count(
447 , p_lot_number IN VARCHAR2
444 x_lot_num_lov_count OUT NOCOPY NUMBER
445 , p_organization_id IN NUMBER
446 , p_item_id IN NUMBER
448 , p_transaction_type_id IN NUMBER
449 , p_wms_installed IN VARCHAR2
450 , p_lpn_id IN NUMBER DEFAULT NULL
451 , p_subinventory_code IN VARCHAR2 DEFAULT NULL
452 , p_locator_id IN NUMBER DEFAULT NULL
453 , p_txn_temp_id IN NUMBER
454 );
455
456 PROCEDURE validate_sub_loc_status(
457 p_wms_installed IN VARCHAR2
458 , p_temp_id IN NUMBER
459 , p_confirmed_sub IN VARCHAR2
460 , p_confirmed_loc_id IN NUMBER
461 , x_return_status OUT NOCOPY VARCHAR2
462 , x_msg_count OUT NOCOPY NUMBER
463 , x_msg_data OUT NOCOPY VARCHAR2
464 , x_result OUT NOCOPY NUMBER
465 );
466
467 PROCEDURE validate_pick_drop_sub(
468 p_temp_id IN NUMBER
469 , p_confirmed_drop_sub IN VARCHAR2
470 , x_return_status OUT NOCOPY VARCHAR2
471 , x_msg_count OUT NOCOPY NUMBER
472 , x_msg_data OUT NOCOPY VARCHAR2
473 );
474
475 PROCEDURE create_lock_mmtt_temp_id(lock_name IN VARCHAR2, x_return_status OUT NOCOPY VARCHAR2);
476
477 PROCEDURE bulk_pick(
478 p_temp_id IN NUMBER
479 , p_txn_hdr_id IN NUMBER
480 , p_org_id IN NUMBER
481 , p_pick_qty_remaining IN NUMBER
482 , p_user_id IN NUMBER
483 , x_new_txn_hdr_id OUT NOCOPY NUMBER
484 , x_return_status OUT NOCOPY VARCHAR2
485 , x_msg_count OUT NOCOPY NUMBER
486 , x_msg_data OUT NOCOPY VARCHAR2
487 , p_reason_id IN NUMBER := 0--Added bug 3765153
488 );
489
490 procedure validate_loaded_lpn_cg( p_organization_id IN NUMBER,
491 p_inventory_item_id IN NUMBER,
492 p_subinventory_code IN VARCHAR2,
493 p_locator_id IN NUMBER,
494 p_revision IN VARCHAR2,
495 p_lot_number IN VARCHAR2,
496 p_lpn_id IN NUMBER,
497 p_transfer_lpn_id IN NUMBER,
498 p_lot_control IN NUMBER,
499 p_revision_control IN NUMBER,
500 x_commingle_exist OUT NOCOPY VARCHAR2,
501 x_return_status OUT NOCOPY VARCHAR2); --Added bug3813165
502
503
504 --BUG 4452825 --Moved here from WMS_CONTAINER2_PUB Starts-----
505
506 /*---------------------------------------------------------------------*/
507 -- Name
508 -- PROCEDURE validate_pick_drop_lpn
509 /*---------------------------------------------------------------------*/
510 -- Purpose
511 -- This API validates the drop LPN scanned by the user when depositing
512 -- a picked LPN to shipping staging. It performs the following checks:
513 --
514 -- > Checks if the drop LPN is a new LPN generated by the user.
515 -- If it is, then no further checking is required. (The LPN will
516 -- be created by the Pick Complete API).
517 --
518 -- > Checks if the user specified the picked LPN as the drop LPN,
519 -- and if so return an error.
520 --
521 -- > Checks to make sure the drop LPN contains picked inventory.
522 -- If the drop LPN is not picked for a sales order, check nested LPNs
523 -- (if they exist). For the first nested LPN found which is picked
524 -- return a status of success. If none found, return an error status.
525 --
526 -- > Make sure delivery IDs if they exist are the same for
527 -- both the picked LPN as well as the drop LPN. If either
528 -- one is not yet associated with delivery ID, allow pick drop
529 -- to continue by returning a status of success. For the drop LPN,
530 -- check nested LPNs if a delivery ID cannot be determined directly.
531 --
532 --
533 -- Input Parameters
534 -- p_api_version
535 -- API version number (current version is 1.0)
536 -- p_init_msg_list (optional, default FND_API.G_FALSE)
537 -- Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
538 -- if set to FND_API.G_TRUE
539 -- initialize error message list
540 -- if set to FND_API.G_FALSE - not initialize error
541 -- message list
542 -- p_pick_lpn_id The LPN ID picked by the user for this pick task
543 --
544 -- p_drop_lpn The destination LPN into which the picked
545 -- LPN (p_pick_lpn_id) will be packed.
546 --
547 --
548 -- Output Parameters
549 -- x_return_status
550 -- fnd_api.g_ret_sts_success if all checks pass.
551 -- fnd_api.g_ret_sts_error if any check fails.
552 -- fnd_api.g_ret_sts_unexp_error if there is an unexpected error
553 -- x_msg_count
554 -- if there is an error (or more than one) error, the number of
555 -- error messages in the buffer
556 -- x_msg_data
557 -- if there is only one error, the error message
558
559 FUNCTION validate_pick_drop_lpn
560 ( p_api_version_number IN NUMBER ,
561 p_init_msg_lst IN VARCHAR2 := fnd_api.g_false ,
562 p_pick_lpn_id IN NUMBER ,
563 p_organization_id IN NUMBER ,
564 p_drop_lpn IN VARCHAR2 ,
565 p_drop_sub IN VARCHAR2 ,
566 p_drop_loc IN NUMBER
567 ) RETURN NUMBER;
568
569
570 PROCEDURE default_pick_drop_lpn
571 ( p_api_version_number IN NUMBER ,
572 p_init_msg_lst IN VARCHAR2 := fnd_api.g_false ,
573 p_pick_lpn_id IN NUMBER ,
574 p_organization_id IN NUMBER ,
575 x_lpn_number OUT nocopy VARCHAR2);
576
577 --BUG 4452825 --Moved here from WMS_CONTAINER2_PUB Ends-------
578
579 END wms_task_dispatch_gen;