1 PACKAGE WMS_PUTAWAY_UTILS AS
2 /* $Header: WMSPUTLS.pls 120.4.12010000.2 2008/10/10 07:53:37 abasheer ship $*/
3
4 --WMS_PUTAWAY_UTILS Package
5 -- File : WMSPUTLS.pls
6 -- Content : Contains procedures and fucntions for putaway utilities
7 -- Description : Contains procedures and fucntions for putaway utilities
8
9 /**
10
11 **/
12 -- Notes : This package will contain the wrappers (which will be called from the java files)
13 -- for putaway.
14 -- This will also contain the grouping logic stuff which will populate the global
15 -- temp table WMS_PUTAWAY_GROUP_TASKS_GTEMP
16 -- Modified : Mon Jul 28 18:08:27 GMT+05:30 2003
17
18
19
20 /**
21 * This function will return the subinventory_type for the
22 * subinventory and org combination passed as input. It will
23 * return the following values
24 * 1 -- Storage Subinventory.
25 * 2 -- Receiving Subinventory.
26 * -1 -- Error
27
28 * @param p_organization_id Organization ID
29 * @param p_subinventory_code Subinventory Code
30 * @ RETURN number
31
32
33 **/
34 FUNCTION get_subinventory_type(
35 p_organization_id IN NUMBER,
36 p_subinventory_code IN VARCHAR2)
37 RETURN NUMBER;
38
39
40
41
42 /**
43 * This function will remove all the records in the temporary
44 * table WMS_PUTAWAY_GROUP_TASKS_TEMP
45 * The rows that has to be deleted depends on the i/p parameter
46 * p_del_type
47 *
48 * p_del_type Action
49 * ------------------------------------------------------------
50 * 1 -- Delete tasks belonging to the group which is passed as input.
51 * 2 -- Delete dummy rows whose drop_type is 'ID'
52 * This Funciton will delete both the group_tasks and all_task
53 * rows.
54 * It will return the number of rows deleted
55 * -1 in case of failure.
56
57 * @param p_group_id Group ID for which the records has to be deleted
58 * @ RETURN NUMBER
59
60
61 **/
62 FUNCTION Remove_Tasks_In_Group(
63 p_del_type IN NUMBER
64 ,p_group_id IN NUMBER := NULL )
65 RETURN NUMBER;
66
67
68
69 /**
70 * This procedure will populate the grouped tasks temporary
71 * table (WMS_PUTAWAY_GROUP_TASKS_GTEMP with the required data
72 * and also it will stamp the drop type for the tasks and will
73 * group them based on various criterias.
74
75 * @param x_return_status Return status of the procedure - Success, Error, Unexpected Error, Warning etc.,
76 * @param x_msg_count Count of messages in the stack
77 * @param x_msg_data Actual message if the count = 1 else it will be null.
78 * @param p_org_id Organization Id
79 * @param p_drop_type This indicates for which type of drop the temp table should be populated.
80 * This can have the values
81 * SD - 'System Drop'
82 * DA - 'Drop All'
83 * ED - 'Existing Putaway Drop'
84 * @param p_emp_id Employee identifier
85 * @param p_lpn_id LPN for which this procedure is called.
86 * @param p_item_drop_flag Whether it is called for all item drops or not
87 * @param p_lpn_is_loaded Whether the LPN is already loaded or not.
88
89
90 **/
91 PROCEDURE Create_grouped_tasks(
92 x_return_status OUT NOCOPY VARCHAR2,
93 x_msg_count OUT NOCOPY NUMBER,
94 x_msg_data OUT NOCOPY VARCHAR2,
95 p_org_id IN NUMBER,
96 p_drop_type IN VARCHAR2,
97 p_emp_id IN NUMBER,
98 p_lpn_id IN NUMBER DEFAULT NULL,
99 p_item_drop_flag IN VARCHAR2 DEFAULT 'N',
100 p_lpn_is_loaded IN VARCHAR2 DEFAULT 'N');
101
102
103 /**
104 * This procedure will explode the LPN passed and will get all the MMTTs
105 * for its contents (including childs contents) and will call the ATF API to
106 * Abort the operation instance.
107 *
108 * The parameter p_call_type will decide what ATF API to call
109 * p_call_type Gloabl Constant Meaning
110 * 1 G_ATF_ACTIVATE_PLAN Activate Plan
111 * 2 G_ATF_ABORT_PLAN Abort Plan
112 *
113 * @param p_call_type Mode for which the procedure is called
114 * @param p_org_id Organization Identifier
115 * @param p_lpn_id LPN identifier
116 * @param p_emp_id Employee identifier
117 *
118 * @param x_return_status Return status of the function - Success, Error, Unexpected Error, Warning etc.,
119 * @param x_msg_count Count of messages in the stack
120 * @param x_msg_data Actual message if the count = 1 else it will be null.
121 *
122 **/
123
124 -- In case of Manual/User Drop the ATF API's will be still used to create WDTs and WDTH.
125 -- Before that the existing WDTs, Plans etc has to be deleted and hence Abort plan has to be called first.
126 PROCEDURE ATF_For_Manual_Drop(
127 x_return_status OUT NOCOPY VARCHAR2
128 ,x_msg_count OUT NOCOPY NUMBER
129 ,x_msg_data OUT NOCOPY VARCHAR2
130 ,p_call_type IN NUMBER
131 ,p_org_id IN NUMBER
132 ,p_lpn_id IN NUMBER
133 ,p_emp_id IN NUMBER
134 );
135
136
137
138 /**
139 * This Procedure will do the ATF integration for the LOAD operation
140 * in case of single step drop or load portion of manual drop.
141 *
142 * This procedure inturn will call Activate_Plan_For_Load to activate
143 * the plan for load and then will call Complete_Plan_For_Load to complete the LOAD step.
144 *
145 * This procedure will be called from create_grouped_tasks in case of single step drop
146 * ie the LPN which has to be dropped is not loaded already.
147 *
148 * @param x_return_status Return status of the function - Success, Error, Unexpected Error, Warning etc.,
149 * @param x_msg_count Count of messages in the stack
150 * @param x_msg_data Actual message if the count = 1 else it will be null.
151 * @param p_org_id Organization Identifier
152 * @param p_lpn_id LPN Identifier
153 * @param p_emp_id Employee Identifier
154 * @ RETURN NUMBER
155
156
157 **/
158 PROCEDURE Complete_ATF_Load(
159 x_return_status OUT NOCOPY VARCHAR2
160 ,x_msg_count OUT NOCOPY NUMBER
161 ,x_msg_data OUT NOCOPY VARCHAR2
162 ,p_org_id IN NUMBER
163 ,p_lpn_id IN NUMBER
164 ,p_emp_id IN NUMBER );
165
166
167
168
169 /**
170 * This function will call the ATF API to activate the operation instance for inspect.
171 * It will call the ATF API wms_atf_runtime_pub_apis.activate_operation_instance for
172 * each MMTT. For the Move Order Line passed.
173 *
174 * ATF will check whether the current step. If it is not inspect, it will inturn call
175 * the Abort operation instance to abort the current plan in progress. So we need not
176 * call Abort Explicitly in this case.
177 *
178 * It returns the number of rows for which the plan is
179 * activated, will return -1 in case of failure.
180
181 * @param x_return_status Return status of the function - Success, Error, Unexpected Error, Warning etc.,
182 * @param x_msg_count Count of messages in the stack
183 * @param x_msg_data Actual message if the count = 1 else it will be null.
184 * @param p_org_id Organization Identifier
185 * @param p_lpn_id LPN Identifier
186 * @param p_emp_id Employee Identifier
187 *
188 * @ RETURN NUMBER
189
190
191 **/
192 FUNCTION Activate_Plan_For_Inspect(
193 x_return_status OUT NOCOPY VARCHAR2
194 ,x_msg_count OUT NOCOPY NUMBER
195 ,x_msg_data OUT NOCOPY VARCHAR2
196 ,p_org_id IN NUMBER
197 ,p_mo_line_id IN NUMBER )
198 RETURN NUMBER;
199
200
201 /**
202 * This procedure will call the ATF API to cleanup / rollback
203 * the operation instance for load / drop / single step drop.
204 *
205 * It will call the ATF APIs for each MMTT in the temp table
206 * if group_id is not passed else it will call ATF APIs only
207 * for that group in the temp table.
208 *
209 * It returns the number of rows for which the plan is
210 * cleanedup / rolled back, will return -1 in case of failure.
211 *
212 * The parameter p_call_type will decide what ATF API to call
213 * p_call_type Gloabl Constant Meaning
214 * ----------------------------------------------------------
215 * 1 G_CT_NORMAL_LOAD Called from Load scenario (Manual Load)
216 * 2 G_CT_NORMAL_DROP Called from Drop (LPN already loaded)
217 * 3 G_CT_SINGLE_STEP_DROP Called from Drop (LPN already loaded)
218 *
219 * if p_call_type = 3, Rollback_operation_plan will be called
220 * else Cleanup_Operation_Instance will be called.
221 *
222 *
223 * @param x_return_status Return status of the function - Success, Error, Unexpected Error,
224 * Warning etc.,
225 * @param x_msg_count Count of messages in the stack
226 * @param x_msg_data Actual message if the count = 1 else it will be null.
227 * @param p_org_id Organization Identifier
228 * @param p_call_type Whether cleanup is called for load, drop or single step drop
229 * @param p_lpn_id LPN Identifier
230 * @param p_group_id Group ID for which cleanup has to be called.
231 * Can have following values:
232 * -1: Called when one of the tasks failed and
233 * user decided to quit all tasks
234 * -2: Called at the end of all tasks to clean up
235 * task split during partial drop
236 * NULL: Called in cases of Manual Drop, Inspection,
237 * Manual Load
238 * Others: Called when one of the tasks failed and
239 * user wants to cancel just this task
240 * @ RETURN NUMBER
241
242
243 **/
244 PROCEDURE Cleanup_ATF(
245 x_return_status OUT NOCOPY VARCHAR2
246 ,x_msg_count OUT NOCOPY NUMBER
247 ,x_msg_data OUT NOCOPY VARCHAR2
248 ,p_org_id IN NUMBER
249 ,p_call_type IN NUMBER
250 ,p_lpn_id IN NUMBER DEFAULT NULL
251 ,p_group_id IN NUMBER DEFAULT NULL
252 ,p_parent_lpn_id IN NUMBER DEFAULT NULL
253 ,p_drop_all IN VARCHAR2 --BUG 5075410
254 ,p_emp_id IN NUMBER); --BUG 5075410
255
256
257 /**
258 * Nested LPN changes, This procedure Loads the given FromLPN into ToLPN
259 * and calls suggestions_pub
260 * @param p_org_id Current Organization
261 * @param p_sub_code If tosub is receving then call transfer transaction
262 If to sub is inventory sub then call Pack Unpack API.
263 * @param p_from_lpn_id From LPN id
264 * @param p_to_lpn_id Transfer LPN id
265 * @param p_mode
266 1 - Load entire LPN
267 If the parent_lpn for the given from lpn is not null then unpack the lpn from its parent
268 If the to_lpn is not null then pack the lpn into tolpn.
269 2 - Transfer All contents
270 3 - Transfer parial quantity.
271
272 * @param x_ret returns the following values
273 * 0 - Success
274 * 1 - failure.
275 * @param x_return_status
276 * @param x_msg_count
277 * @param x_context
278 * @param p_user_id
279 **/
280 PROCEDURE suggestions_pub_wrapper(
281 p_lpn_id IN NUMBER
282 , p_org_id IN NUMBER
283 , p_user_id IN NUMBER
284 , p_eqp_ins IN VARCHAR2
285 , p_status IN NUMBER := 3
286 , p_check_for_crossdock IN VARCHAR2 := 'Y'
287 , x_number_of_rows OUT NOCOPY NUMBER
288 , x_return_status OUT NOCOPY VARCHAR2
289 , x_msg_count OUT NOCOPY NUMBER
290 , x_msg_data OUT NOCOPY VARCHAR2
291 , x_crossdock OUT NOCOPY VARCHAR2
292 );
293
294
295
296 /**
297 * Nested LPN changes
298 * This procedure loads the given Nested LPN
299 */
300 PROCEDURE load_lpn(
301 p_org_id IN NUMBER
302 , p_sub_code IN VARCHAR2
303 , p_loc_id IN NUMBER
304 , p_from_lpn_id IN NUMBER
305 , p_to_lpn_id IN NUMBER
306 , p_mode IN NUMBER
307 , p_user_id IN NUMBER
308 , p_eqp_ins IN VARCHAR2
309 , p_project_id IN NUMBER DEFAULT NULL
310 , p_task_id IN NUMBER DEFAULT NULL
311 , p_check_for_crossdock IN VARCHAR2
312 , x_return_status OUT NOCOPY VARCHAR2
313 , x_msg_count OUT NOCOPY NUMBER
314 , x_msg_data OUT NOCOPY VARCHAR2
315 , x_crossdock OUT NOCOPY VARCHAR2
316 );
317
318
319
320 /**
321 * Nested LPN changes, This procedure explodes the given LPN
322 * and for each LPN checks the validity of the given LPN and returns
323 * @param p_org_id Current Organization
324 * @param p_lpn_id From LPN ID
325 * @param p_mode
326 Purpose of the parameter - This method can be called
327 from both UI as well as grouping logic. If this method
328 is called from grouping logic, check only for the given LPN
329 and not for the child LPNs.
330 0 - Check for the given LPN iteself and not for the child LPNs
331 1 - Check for the given LPN as well as it child LPNs.
332
333 * @param x_ret returns the following values
334 * 0 - Success
335 * 1 - Entire LPN needs Inspection.
336 * 2 - Entire LPN is Invalid
337 * 3 - Entire LPN is Invalid and cannot be putawayed.
338 * 4 - Some child LPNs are invalid and cannot be putawayed.
339 * 5 - Some child LPNs need inspection.
340 * @param x_loaded_stauts
341 * 0 - not loaded
342 * 1 - loaded
343 * @param x_return_status
344 * @param x_msg_count
345 * @param x_context
346 * @param p_user_id
347 **/
348 PROCEDURE check_lpn_validity_wrapper(
349 p_org_id IN NUMBER
350 , p_lpn_id IN NUMBER
351 , p_user_id IN NUMBER
352 , p_mode IN NUMBER
353 , x_ret OUT NOCOPY NUMBER
354 , x_lpn_context OUT NOCOPY NUMBER
355 , x_loaded_status OUT NOCOPY VARCHAR2
356 , x_return_status OUT NOCOPY VARCHAR2
357 , x_msg_count OUT NOCOPY NUMBER
358 , x_msg_data OUT NOCOPY VARCHAR2);
362 PROCEDURE update_mo(
359
360
361 /** Porcedure ot update Move order line */
363 MoLineId NUMBER DEFAULT -9999,
364 ReferenceId NUMBER DEFAULT -9999,
365 Reference VARCHAR2 DEFAULT '-9999',
366 Reference_type_code NUMBER DEFAULT -9999,
367 lpn_id NUMBER DEFAULT -9999,
368 wms_process_flag NUMBER DEFAULT -9999,
369 inspect_status NUMBER DEFAULT -9999);
370
371
372
373 /**
374 * This procedures transfer all the contents in from_LPN to into_LPN
375 * @param p_org_id Current Organization
376 * @param p_sub_code Not currently used
377 * @param p_loc_id Not currently used
378 * @param p_from_lpn_id From LPN id
379 * @param p_into_lpn_id Into LPN id to which the contents in From LPN
380 * will be transfered
381 * @param p_mode
382 * @param p_user_id
383 * @param p_eqp_ins
384 * @param p_project_id
385 * @param p_task_id
386 * @param x_return_status
387 * @param x_msg_count
388 * @param x_msg_data
389 **/
390 PROCEDURE transfer_contents
391 (
392 p_org_id IN NUMBER DEFAULT NULL
393 , p_sub_code IN VARCHAR2 DEFAULT NULL
394 , p_loc_id IN NUMBER DEFAULT NULL
395 , p_from_lpn_id IN NUMBER
396 , p_into_lpn_id IN NUMBER
397 , p_operation IN VARCHAR2
398 , p_mode IN NUMBER
399 , p_user_id IN NUMBER
400 , p_eqp_ins IN VARCHAR2
401 , p_project_id IN NUMBER DEFAULT NULL
402 , p_task_id IN NUMBER DEFAULT NULL
403 , x_return_status OUT NOCOPY VARCHAR2
404 , x_msg_count OUT NOCOPY NUMBER
405 , x_msg_data OUT NOCOPY VARCHAR2 );
406
407 /**
408 * This procedure is a wrapper for the complete_putaway API and will be
409 * called for a group of tasks. Accepts the current group Id or
410 * transaction_header_id and the values confirmed by the user on the page
411 * and processes the eligible tasks
412 * Processing Logic:
413 * -> Loop through each task/MMTT row given the group_id/header_id
414 * -> Consume the task quantity based on the confirmed quantity
415 * -> Create the lots and serials interface records (receiving LPN)
416 * -> Create the WLPNI records (receiving LPN) or
417 * call pack/unpack API to reflect nesting changes
418 * -> Call the complete_putaway API for the given task
419 * -> Call the receiving Transaction Manager (receiving LPN)
420 *
421 * @param x_return_status Return Status Indicator
422 * @param x_msg_count Stacked messages counter
423 * @param x_msg_data Stacked Messages
424 * @param p_group_id ID of the current group of tasks
425 * @param p_txn_header_id header_id for the current group of tasks
426 * @param p_drop_type Drop Type Identifier.<br>
427 * ID - Item Drop<br>
428 * CD - Consolidated Drop<br>
429 * MD - Manual Drop<br>
430 * UD - User Drop<br>
431 * @param p_lpn_mode Flag for LPN actions
432 * 1 - Transfer Contents<br>
433 * 2 - Drop Entire LPN<br>
434 * 3 - Item Drop
435 * @param p_lpn_id LPN being putaway
436 * @param p_lpn_context Context of the LPN being putaway
437 * @param p_organization_id Organization ID
438 * @param p_user_id Logged in Employee ID
439 * @param p_item_id Item for the current group (item drop)
440 * @param p_revision Revision confirmed (item drop)
441 * @param p_lot_number Lot Number confirmed (item drop)
442 * @param p_subinventory_code Drop to Subinventory Code
443 * @param p_locator_id Drop to Locator ID
444 * @param p_quantity Quantity Confirmed (item drop)
445 * @param p_uom_code Unit of Measure confirmed (item drop)
446 * @param p_entire_lpn Flag to indicate if entire LPN is putaway
447 * @param p_to_lpn_name License Plate number of the Into LPN
448 * @param p_to_lpn_id LPN Id of the Into LPN
449 * @param p_project_id Project ID
450 * @param p_task_id Task ID
451 * @param p_reference MOL reference
452 * @param p_qty_reason_id Reason ID for Quantity Discrepancy
453 * @param p_loc_reason_id Reason ID for locator discrepancy
454 * @param p_process_serial_flag Flag set if serials are confirmed in UI
455 * @param p_msni_txn_interface_id Transaction_interface_id of MSNI records
456 * created from the UI
457 * @param p_product_transaction_id Product_transaction_id of MTLI/MSNI
458 * populated if user confirms partial qty
459 **/
460 PROCEDURE Complete_Putaway_Wrapper(
461 x_return_status OUT NOCOPY VARCHAR2
462 , x_msg_count OUT NOCOPY NUMBER
466 /* LMS change end*/
463 , x_msg_data OUT NOCOPY VARCHAR2
464 /* Added for LMS project: Anupam Jain*/
465 , x_lms_operation_plan_id OUT NOCOPY NUMBER
467 , p_group_id IN NUMBER DEFAULT NULL
468 , p_txn_header_id IN NUMBER DEFAULT NULL
469 , p_drop_type IN VARCHAR2
470 , p_lpn_mode IN NUMBER
471 , p_lpn_id IN NUMBER
472 , p_lpn_context IN NUMBER
473 , p_organization_id IN NUMBER
474 , p_user_id IN NUMBER
475 , p_item_id IN NUMBER DEFAULT NULL
476 , p_revision IN VARCHAR2 DEFAULT NULL
477 , p_lot_number IN VARCHAR2 DEFAULT NULL
478 , p_subinventory_code IN VARCHAR2
479 , p_locator_id IN NUMBER
480 , p_quantity IN NUMBER DEFAULT NULL
481 , p_uom_code IN VARCHAR2 DEFAULT NULL
482 , p_entire_lpn IN VARCHAR2 DEFAULT 'Y'
483 , p_to_lpn_name IN VARCHAR2
484 , p_to_lpn_id IN NUMBER
485 , p_project_id IN NUMBER DEFAULT NULL
486 , p_task_id IN NUMBER DEFAULT NULL
487 , p_reference IN VARCHAR2 DEFAULT 'N'
488 , p_qty_reason_id IN NUMBER DEFAULT NULL
489 , p_loc_reason_id IN NUMBER DEFAULT NULL
490 , p_process_serial_flag IN VARCHAR2 DEFAULT NULL
491 , p_msni_txn_interface_id IN NUMBER DEFAULT NULL
492 , p_product_transaction_id IN NUMBER DEFAULT NULL
493 , p_secondary_quantity IN NUMBER DEFAULT NULL --OPM Convergence
494 , p_secondary_uom IN VARCHAR2 DEFAULT NULL --OPM Convergence
495 , p_lpn_initially_loaded IN VARCHAR2 DEFAULT NULL );
496
497
498 /**
499 * This procedure is called from the UI to check the validity of an into LPN
500 * @param p_org_id Current Organization
501 * @param p_lpn_id From LPN ID
502 * @param p_project_id Project ID of from LPN
503 * @param p_task_id Task ID of from LPN
504 * @param p_employee_id
505 * @param p_into_lpn The license plate number that is entered in the
506 * intoLPN field
507 * @param x_return_status
508 * @param x_msg_count
509 * @param x_msg_data
510 * @param x_validation_passed 'Y' if all passed, 'N' otherwise
511 * @param x_new_lpn_created 'Y' if a lpn is created, 'N' otherwise
512 **/
513 PROCEDURE validate_into_lpn
514 (p_organization_id IN NUMBER ,
515 p_lpn_id IN NUMBER ,
516 p_employee_id IN NUMBER ,
517 p_into_lpn IN VARCHAR2 ,
518 x_return_status OUT NOCOPY VARCHAR2 ,
519 x_msg_count OUT NOCOPY NUMBER ,
520 x_msg_data OUT NOCOPY VARCHAR2 ,
521 x_validation_passed OUT NOCOPY VARCHAR2 ,
522 x_new_lpn_created OUT NOCOPY VARCHAR2 ,
523 p_project_id IN NUMBER DEFAULT NULL,
524 p_task_id IN NUMBER DEFAULT NULL,
525 p_drop_type IN VARCHAR2 DEFAULT NULL,
526 p_sub IN VARCHAR2 DEFAULT NULL,
527 p_loc IN NUMBER DEFAULT NULL,
528 p_crossdock_type IN VARCHAR2 DEFAULT NULL,
529 p_consolidation_method_id IN NUMBER DEFAULT NULL,
530 p_backorder_delivery_detail_id IN NUMBER DEFAULT NULL,
531 p_suggested_into_lpn_id IN NUMBER DEFAULT NULL
532 );
533
534 /**
535 * This function inserts an RTI record to tells the TM
536 * to move all the contents of LPN to transfer LPN.
537 * @param p_from_org from organization id
538 * @param p_lpn_id from LPN id
539 * @param p_to_org to organization id
540 * @param p_to_sub to subinventory code
541 * @param p_to_loc to locator id
542 * @param p_xfer_lpn_id to LPN id
543 * @param p_first_time 1 if insert_rti is called the first
544 * time. It will generate a new group id, which will be used in
545 * all subsequent call to this API. It
546 * will also call init_statup_values the first time
547 * @param p_mobile_txn 'Y' if this is being called for a mobile transaction
548 * @param p_txn_mode_code 'ONLINE' or 'IMMEDIATE'
549 * @param x_return_status
550 * @param x_msg_count
551 * @param x_msg_data
552 * @ RETURN number Returns the group id under which the RTI
553 * is inserted
554 **/
555 FUNCTION insert_rti( p_from_org IN NUMBER
556 ,p_lpn_id IN NUMBER
557 ,p_to_org IN NUMBER
558 ,p_to_sub IN VARCHAR2
559 ,p_to_loc IN NUMBER
560 ,p_xfer_lpn_id IN NUMBER
561 ,p_first_time IN NUMBER
562 ,p_mobile_txn IN VARCHAR2
563 ,p_txn_mode_code IN VARCHAR2
564 ,x_return_status OUT nocopy VARCHAR2
565 ,x_msg_count OUT nocopy NUMBER
566 ,x_msg_data OUT nocopy VARCHAR2 )
567 RETURN NUMBER;
568
569 PROCEDURE get_crossdock_info
570 (p_lpn_id IN NUMBER,
571 p_organization_id IN NUMBER,
572 x_back_order_delivery_id OUT nocopy NUMBER,
573 x_crossdock_type OUT nocopy NUMBER,
574 x_wip_supply_type OUT nocopy NUMBER );
575
576 PROCEDURE update_loc_suggested_capacity
577 (x_return_status OUT NOCOPY VARCHAR2
578 , x_msg_count OUT NOCOPY NUMBER
579 , x_msg_data OUT NOCOPY VARCHAR2
580 , p_organization_id IN NUMBER
581 , p_lpn_id IN NUMBER
582 , p_location_id IN NUMBER
583 );
584
585 PROCEDURE validate_material_status
586 (x_passed OUT nocopy VARCHAR2
587 , p_organization_id IN NUMBER
588 , p_sub IN VARCHAR2
589 , p_loc IN NUMBER
590 );
591
592 -- bug 5286880
593 FUNCTION populate_grouping_rows
594 (p_lpn_id IN NUMBER)
595 RETURN NUMBER;
596
597 FUNCTION get_grouping_count
598 (p_line_rows IN WSH_UTIL_CORE.id_tab_type)
599 RETURN NUMBER;
600
601 FUNCTION get_grouping
602 (p_bo_dd_id IN NUMBER)
603 RETURN NUMBER;
604 -- bug 5286880
605
606 --Added following procedure for bug 7143123
607 PROCEDURE Cleanup_LPN_Crossdock_Wrapper(
608 p_org_id IN NUMBER
609 , p_lpn_id IN NUMBER
610 , x_return_status OUT NOCOPY VARCHAR2
611 );
612
613 END WMS_PUTAWAY_UTILS;
614