127: , p_transaction_date IN DATE DEFAULT NULL
128: , p_period_id IN NUMBER DEFAULT NULL
129: ) IS
130: l_api_version_number CONSTANT NUMBER := 1.0;
131: l_init_msg_list VARCHAR2(255) := fnd_api.g_true;
132: l_api_name CONSTANT VARCHAR2(30) := 'Line_Details_PUB';
133: l_num_of_rows NUMBER := 0;
134: l_detailed_qty NUMBER := 0;
135: -- HW INVCONV
262: EXCEPTION
263: WHEN NO_DATA_FOUND THEN
264: fnd_message.set_name('INV', 'INV_AUTO_PICK_CONFIRM_PARAM');
265: fnd_msg_pub.ADD;
266: RAISE fnd_api.g_exc_unexpected_error;
267: END;
268:
269: BEGIN
270: SELECT auto_pick_confirm_flag INTO l_auto_pick_flag
282: EXCEPTION
283: WHEN NO_DATA_FOUND THEN
284: fnd_message.set_name('INV', 'INV_AUTO_PICK_CONFIRM_PARAM');
285: fnd_msg_pub.ADD;
286: RAISE fnd_api.g_exc_unexpected_error;
287: END;
288: END IF;
289:
290: SAVEPOINT inv_before_pick_release;
294: print_debug('Picking Batch - Auto Pick Confirm = ' || l_auto_pick_flag);
295: END IF;
296:
297: IF (l_auto_pick_flag = 'Y') THEN
298: l_commit := fnd_api.g_true;
299: ELSE
300: l_commit := fnd_api.g_false;
301: END IF;
302:
296:
297: IF (l_auto_pick_flag = 'Y') THEN
298: l_commit := fnd_api.g_true;
299: ELSE
300: l_commit := fnd_api.g_false;
301: END IF;
302:
303: inv_pick_release_pub.pick_release(
304: p_api_version => 1.0
301: END IF;
302:
303: inv_pick_release_pub.pick_release(
304: p_api_version => 1.0
305: , p_init_msg_list => fnd_api.g_false
306: , p_commit => l_commit
307: , x_return_status => l_return_status
308: , x_msg_data => x_msg_data
309: , x_msg_count => x_msg_count
318: IF (l_debug = 1) THEN
319: print_debug('l_return_status from inv_pick_release_pub.pick_release is ' || l_return_status);
320: END IF;
321:
322: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
323: IF (l_debug = 1) THEN
324: print_debug('return error');
325: END IF;
326: RAISE fnd_api.g_exc_unexpected_error;
322: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
323: IF (l_debug = 1) THEN
324: print_debug('return error');
325: END IF;
326: RAISE fnd_api.g_exc_unexpected_error;
327: END IF;
328:
329: IF (l_debug = 1) THEN
330: print_debug(l_pick_release_status.COUNT);
336: print_debug('detail record count is ' || l_detail_rec_count);
337: END IF;
338:
339: FOR l_index IN 1 .. l_pick_release_status.COUNT LOOP
340: IF (l_pick_release_status(l_index).return_status = fnd_api.g_ret_sts_unexp_error) THEN
341: l_return_status := fnd_api.g_ret_sts_unexp_error;
342: ELSIF l_pick_release_status(l_index).return_status = fnd_api.g_ret_sts_error THEN
343: l_return_status := fnd_api.g_ret_sts_error;
344: ELSE
337: END IF;
338:
339: FOR l_index IN 1 .. l_pick_release_status.COUNT LOOP
340: IF (l_pick_release_status(l_index).return_status = fnd_api.g_ret_sts_unexp_error) THEN
341: l_return_status := fnd_api.g_ret_sts_unexp_error;
342: ELSIF l_pick_release_status(l_index).return_status = fnd_api.g_ret_sts_error THEN
343: l_return_status := fnd_api.g_ret_sts_error;
344: ELSE
345: IF (l_debug = 1) THEN
338:
339: FOR l_index IN 1 .. l_pick_release_status.COUNT LOOP
340: IF (l_pick_release_status(l_index).return_status = fnd_api.g_ret_sts_unexp_error) THEN
341: l_return_status := fnd_api.g_ret_sts_unexp_error;
342: ELSIF l_pick_release_status(l_index).return_status = fnd_api.g_ret_sts_error THEN
343: l_return_status := fnd_api.g_ret_sts_error;
344: ELSE
345: IF (l_debug = 1) THEN
346: print_debug('return status is ' || l_return_status);
339: FOR l_index IN 1 .. l_pick_release_status.COUNT LOOP
340: IF (l_pick_release_status(l_index).return_status = fnd_api.g_ret_sts_unexp_error) THEN
341: l_return_status := fnd_api.g_ret_sts_unexp_error;
342: ELSIF l_pick_release_status(l_index).return_status = fnd_api.g_ret_sts_error THEN
343: l_return_status := fnd_api.g_ret_sts_error;
344: ELSE
345: IF (l_debug = 1) THEN
346: print_debug('return status is ' || l_return_status);
347: END IF;
344: ELSE
345: IF (l_debug = 1) THEN
346: print_debug('return status is ' || l_return_status);
347: END IF;
348: l_return_status := fnd_api.g_ret_sts_success;
349: END IF;
350: END LOOP;
351: END IF;
352:
360: fnd_message.set_name('INV', 'INV_DETAILING_FAILED');
361: fnd_message.set_token('LINE_NUM', l_trolin_tbl(1).line_number);
362: fnd_message.set_token('MO_NUMBER', l_request_number);
363: fnd_msg_pub.ADD;
364: RAISE fnd_api.g_exc_error;
365: END IF;
366:
367: /*Bug 1588529*/
368: IF (l_detail_rec_count <= 0 AND l_auto_pick_flag = 'N') THEN
386: l_mold_tbl := inv_mo_line_detail_util.query_rows(p_line_id => l_trolin_tbl(1).line_id);
387: l_mold_tbl_temp := l_mold_tbl;
388:
389: IF (l_mold_tbl.COUNT = 0) THEN
390: l_return_status := fnd_api.g_ret_sts_unexp_error;
391: fnd_message.set_name('INV', 'INV_PICK_RELEASE_ERROR');
392: fnd_msg_pub.ADD;
393: RAISE fnd_api.g_exc_unexpected_error;
394: ELSE
389: IF (l_mold_tbl.COUNT = 0) THEN
390: l_return_status := fnd_api.g_ret_sts_unexp_error;
391: fnd_message.set_name('INV', 'INV_PICK_RELEASE_ERROR');
392: fnd_msg_pub.ADD;
393: RAISE fnd_api.g_exc_unexpected_error;
394: ELSE
395: IF (l_debug = 1) THEN
396: print_debug('number of mold record is ' || l_mold_tbl.COUNT);
397: print_debug('calling pick confirm');
407: Material Transaction Form even though Transaction Date in Transact Move Order Form is changed to past date. */
408:
409: inv_pick_wave_pick_confirm_pub.pick_confirm(
410: p_api_version_number => 1.0
411: , p_init_msg_list => fnd_api.g_false
412: , p_commit => fnd_api.g_true
413: , x_return_status => l_return_status
414: , x_msg_count => x_msg_count
415: , x_msg_data => x_msg_data
408:
409: inv_pick_wave_pick_confirm_pub.pick_confirm(
410: p_api_version_number => 1.0
411: , p_init_msg_list => fnd_api.g_false
412: , p_commit => fnd_api.g_true
413: , x_return_status => l_return_status
414: , x_msg_count => x_msg_count
415: , x_msg_data => x_msg_data
416: , p_move_order_type => p_move_order_type
425: print_debug('after pick confirm with return status = ' || l_return_status);
426: print_debug('l_return_status = ' || l_return_status);
427: END IF;
428:
429: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
430: l_success := 0;
431: IF (l_debug = 1) THEN
432: print_debug('rollback changes');
433: print_debug('l_mold_tbl_temp.count = ' || l_mold_tbl_temp.COUNT);
453: IF (l_debug = 1) THEN
454: print_debug('after detele details with return status ' || l_return_status);
455: END IF;
456:
457: IF (l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
458: RAISE fnd_api.g_exc_unexpected_error;
459: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
460: RAISE fnd_api.g_exc_error;
461: END IF;
454: print_debug('after detele details with return status ' || l_return_status);
455: END IF;
456:
457: IF (l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
458: RAISE fnd_api.g_exc_unexpected_error;
459: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
460: RAISE fnd_api.g_exc_error;
461: END IF;
462:
455: END IF;
456:
457: IF (l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
458: RAISE fnd_api.g_exc_unexpected_error;
459: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
460: RAISE fnd_api.g_exc_error;
461: END IF;
462:
463: -- HW INVCONV - Update Qty2 fields
456:
457: IF (l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
458: RAISE fnd_api.g_exc_unexpected_error;
459: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
460: RAISE fnd_api.g_exc_error;
461: END IF;
462:
463: -- HW INVCONV - Update Qty2 fields
464: UPDATE mtl_txn_request_lines
463: -- HW INVCONV - Update Qty2 fields
464: UPDATE mtl_txn_request_lines
465: SET quantity_detailed = quantity_detailed - l_mold_tbl_temp(l_index).transaction_quantity
466: , quantity_delivered = quantity_delivered - l_mold_tbl_temp(l_index).transaction_quantity
467: , secondary_quantity_detailed = decode(secondary_quantity_detailed,FND_API.G_MISS_NUM, NULL, secondary_quantity_detailed - l_mold_tbl_temp(l_index).secondary_transaction_quantity)
468: , secondary_quantity_delivered =decode(secondary_quantity_delivered,FND_API.G_MISS_NUM, NULL, secondary_quantity_delivered - l_mold_tbl_temp(l_index).secondary_transaction_quantity)
469: WHERE line_id = l_mold_tbl_temp(l_index).move_order_line_id;
470: END LOOP;
471:
464: UPDATE mtl_txn_request_lines
465: SET quantity_detailed = quantity_detailed - l_mold_tbl_temp(l_index).transaction_quantity
466: , quantity_delivered = quantity_delivered - l_mold_tbl_temp(l_index).transaction_quantity
467: , secondary_quantity_detailed = decode(secondary_quantity_detailed,FND_API.G_MISS_NUM, NULL, secondary_quantity_detailed - l_mold_tbl_temp(l_index).secondary_transaction_quantity)
468: , secondary_quantity_delivered =decode(secondary_quantity_delivered,FND_API.G_MISS_NUM, NULL, secondary_quantity_delivered - l_mold_tbl_temp(l_index).secondary_transaction_quantity)
469: WHERE line_id = l_mold_tbl_temp(l_index).move_order_line_id;
470: END LOOP;
471:
472: UPDATE mtl_txn_request_lines
496: inv_wip_picking_pvt.pick_release(
497: x_return_status => x_return_status
498: , x_msg_count => x_msg_count
499: , x_msg_data => x_msg_data
500: , p_commit => fnd_api.g_false
501: , p_init_msg_lst => fnd_api.g_false
502: , p_mo_line_tbl => l_trolin_tbl
503: , p_allow_partial_pick => fnd_api.g_true
504: , p_grouping_rule_id => l_grouping_rule_id
497: x_return_status => x_return_status
498: , x_msg_count => x_msg_count
499: , x_msg_data => x_msg_data
500: , p_commit => fnd_api.g_false
501: , p_init_msg_lst => fnd_api.g_false
502: , p_mo_line_tbl => l_trolin_tbl
503: , p_allow_partial_pick => fnd_api.g_true
504: , p_grouping_rule_id => l_grouping_rule_id
505: , p_plan_tasks => p_plan_tasks
499: , x_msg_data => x_msg_data
500: , p_commit => fnd_api.g_false
501: , p_init_msg_lst => fnd_api.g_false
502: , p_mo_line_tbl => l_trolin_tbl
503: , p_allow_partial_pick => fnd_api.g_true
504: , p_grouping_rule_id => l_grouping_rule_id
505: , p_plan_tasks => p_plan_tasks
506: , p_call_wip_api => FALSE
507: );
505: , p_plan_tasks => p_plan_tasks
506: , p_call_wip_api => FALSE
507: );
508:
509: IF x_return_status = fnd_api.g_ret_sts_error THEN
510: RAISE fnd_api.g_exc_error;
511: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
512: RAISE fnd_api.g_exc_unexpected_error;
513: END IF;
506: , p_call_wip_api => FALSE
507: );
508:
509: IF x_return_status = fnd_api.g_ret_sts_error THEN
510: RAISE fnd_api.g_exc_error;
511: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
512: RAISE fnd_api.g_exc_unexpected_error;
513: END IF;
514: ELSE
507: );
508:
509: IF x_return_status = fnd_api.g_ret_sts_error THEN
510: RAISE fnd_api.g_exc_error;
511: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
512: RAISE fnd_api.g_exc_unexpected_error;
513: END IF;
514: ELSE
515: IF l_debug = 1 THEN
508:
509: IF x_return_status = fnd_api.g_ret_sts_error THEN
510: RAISE fnd_api.g_exc_error;
511: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
512: RAISE fnd_api.g_exc_unexpected_error;
513: END IF;
514: ELSE
515: IF l_debug = 1 THEN
516: print_debug('Other types of MO. Calling INV_PPENGINE_PVT.CREATE_SUGGESTIONS to allocate');
518:
519: inv_ppengine_pvt.create_suggestions(
520: p_api_version => l_api_version_number
521: , p_init_msg_list => l_init_msg_list
522: , p_commit => fnd_api.g_false
523: , p_validation_level => fnd_api.g_valid_level_full
524: , x_return_status => l_return_status
525: , x_msg_count => x_msg_count
526: , x_msg_data => x_msg_data
519: inv_ppengine_pvt.create_suggestions(
520: p_api_version => l_api_version_number
521: , p_init_msg_list => l_init_msg_list
522: , p_commit => fnd_api.g_false
523: , p_validation_level => fnd_api.g_valid_level_full
524: , x_return_status => l_return_status
525: , x_msg_count => x_msg_count
526: , x_msg_data => x_msg_data
527: , p_transaction_temp_id => p_line_id
529: , p_suggest_serial => p_serial_flag
530: , p_plan_tasks => p_plan_tasks
531: );
532:
533: IF l_return_status = fnd_api.g_ret_sts_error THEN
534: RAISE fnd_api.g_exc_error;
535: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
536: RAISE fnd_api.g_exc_unexpected_error;
537: END IF;
530: , p_plan_tasks => p_plan_tasks
531: );
532:
533: IF l_return_status = fnd_api.g_ret_sts_error THEN
534: RAISE fnd_api.g_exc_error;
535: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
536: RAISE fnd_api.g_exc_unexpected_error;
537: END IF;
538:
531: );
532:
533: IF l_return_status = fnd_api.g_ret_sts_error THEN
534: RAISE fnd_api.g_exc_error;
535: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
536: RAISE fnd_api.g_exc_unexpected_error;
537: END IF;
538:
539: --Start Bug 6696594
532:
533: IF l_return_status = fnd_api.g_ret_sts_error THEN
534: RAISE fnd_api.g_exc_error;
535: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
536: RAISE fnd_api.g_exc_unexpected_error;
537: END IF;
538:
539: --Start Bug 6696594
540: IF INV_CONTROL.G_CURRENT_RELEASE_LEVEL >= 120001 THEN
578: END IF;
579: END LOOP;
580:
581: IF l_counter > 1 THEN
582: l_return_status := fnd_api.g_ret_sts_success;
583:
584: inv_label.print_label (
585: x_return_status => x_return_status
586: , x_msg_count => x_msg_count
590: , p_print_mode => 1
591: , p_business_flow_code => 42 --Business Flow Pick Release
592: , p_transaction_id => v_transaction_id);
593:
594: IF ( l_return_status <> fnd_api.g_ret_sts_success ) THEN
595: IF (l_debug = 1) THEN
596: print_debug('failed to print labels');
597: END IF;
598: fnd_message.set_name('WMS', 'WMS_PRINT_LABEL_FAIL');
617: END IF;
618:
619: wms_cartnzn_pub.cartonize(
620: p_api_version => 1.0
621: , p_init_msg_list => fnd_api.g_false
622: , p_commit => fnd_api.g_false
623: , p_validation_level => fnd_api.g_valid_level_full
624: , x_return_status => l_return_status
625: , x_msg_count => x_msg_count
618:
619: wms_cartnzn_pub.cartonize(
620: p_api_version => 1.0
621: , p_init_msg_list => fnd_api.g_false
622: , p_commit => fnd_api.g_false
623: , p_validation_level => fnd_api.g_valid_level_full
624: , x_return_status => l_return_status
625: , x_msg_count => x_msg_count
626: , x_msg_data => x_msg_data
619: wms_cartnzn_pub.cartonize(
620: p_api_version => 1.0
621: , p_init_msg_list => fnd_api.g_false
622: , p_commit => fnd_api.g_false
623: , p_validation_level => fnd_api.g_valid_level_full
624: , x_return_status => l_return_status
625: , x_msg_count => x_msg_count
626: , x_msg_data => x_msg_data
627: , p_out_bound => 'Y'
629: , p_move_order_header_id => l_trolin_tbl(1).header_id
630: , p_disable_cartonization => 'Y'
631: );
632:
633: IF l_return_status = fnd_api.g_ret_sts_error THEN
634: IF (l_debug = 1) THEN
635: print_debug('Error from WMS_CARTNZN_PUB.CARTONIZE');
636: END IF;
637:
634: IF (l_debug = 1) THEN
635: print_debug('Error from WMS_CARTNZN_PUB.CARTONIZE');
636: END IF;
637:
638: RAISE fnd_api.g_exc_error;
639: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
640: IF (l_debug = 1) THEN
641: print_debug('error from WMS_CARTNZN_PUB.CARTONIZE');
642: END IF;
635: print_debug('Error from WMS_CARTNZN_PUB.CARTONIZE');
636: END IF;
637:
638: RAISE fnd_api.g_exc_error;
639: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
640: IF (l_debug = 1) THEN
641: print_debug('error from WMS_CARTNZN_PUB.CARTONIZE');
642: END IF;
643:
640: IF (l_debug = 1) THEN
641: print_debug('error from WMS_CARTNZN_PUB.CARTONIZE');
642: END IF;
643:
644: RAISE fnd_api.g_exc_unexpected_error;
645: END IF;
646: END IF;
647: END IF;
648:
856: x_transfer_to_location := l_transfer_to_location;
857: x_lot_number := l_lot_number;
858: x_expiration_date := l_expiration_date;
859: x_transaction_temp_id := l_transaction_temp_id;
860: x_return_status := fnd_api.g_ret_sts_success;
861:
862: IF ( p_commit ) THEN
863: COMMIT;
864: END IF;
864: END IF;
865:
866: ELSIF(p_move_order_type = 3 AND l_auto_pick_confirm = 1) THEN
867: IF (l_success = 1) THEN
868: x_return_status := fnd_api.g_ret_sts_success;
869: ELSE
870: RAISE fnd_api.g_exc_error;
871: END IF;
872: END IF;
866: ELSIF(p_move_order_type = 3 AND l_auto_pick_confirm = 1) THEN
867: IF (l_success = 1) THEN
868: x_return_status := fnd_api.g_ret_sts_success;
869: ELSE
870: RAISE fnd_api.g_exc_error;
871: END IF;
872: END IF;
873: EXCEPTION
874: WHEN fnd_api.g_exc_error THEN
870: RAISE fnd_api.g_exc_error;
871: END IF;
872: END IF;
873: EXCEPTION
874: WHEN fnd_api.g_exc_error THEN
875: x_return_status := fnd_api.g_ret_sts_error;
876: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
877: WHEN fnd_api.g_exc_unexpected_error THEN
878: x_return_status := fnd_api.g_ret_sts_unexp_error;
871: END IF;
872: END IF;
873: EXCEPTION
874: WHEN fnd_api.g_exc_error THEN
875: x_return_status := fnd_api.g_ret_sts_error;
876: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
877: WHEN fnd_api.g_exc_unexpected_error THEN
878: x_return_status := fnd_api.g_ret_sts_unexp_error;
879: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
873: EXCEPTION
874: WHEN fnd_api.g_exc_error THEN
875: x_return_status := fnd_api.g_ret_sts_error;
876: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
877: WHEN fnd_api.g_exc_unexpected_error THEN
878: x_return_status := fnd_api.g_ret_sts_unexp_error;
879: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
880: WHEN OTHERS THEN
881: x_return_status := fnd_api.g_ret_sts_unexp_error;
874: WHEN fnd_api.g_exc_error THEN
875: x_return_status := fnd_api.g_ret_sts_error;
876: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
877: WHEN fnd_api.g_exc_unexpected_error THEN
878: x_return_status := fnd_api.g_ret_sts_unexp_error;
879: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
880: WHEN OTHERS THEN
881: x_return_status := fnd_api.g_ret_sts_unexp_error;
882:
877: WHEN fnd_api.g_exc_unexpected_error THEN
878: x_return_status := fnd_api.g_ret_sts_unexp_error;
879: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
880: WHEN OTHERS THEN
881: x_return_status := fnd_api.g_ret_sts_unexp_error;
882:
883: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
884: fnd_msg_pub.add_exc_msg(g_pkg_name, 'Line_Details_PUB');
885: END IF;
972: p_transaction_temp_id IN NUMBER
973: , p_move_order_line_id IN NUMBER
974: , p_reservation_id IN NUMBER
975: , p_transaction_quantity IN NUMBER
976: , p_transaction_quantity2 IN NUMBER default FND_API.G_MISS_NUM
977: , p_primary_trx_qty IN NUMBER
978: , x_return_status OUT NOCOPY VARCHAR2
979: , x_msg_count OUT NOCOPY NUMBER
980: , x_msg_data OUT NOCOPY VARCHAR2
1013: , x_mtl_reservation_tbl_count => l_mtl_reservation_tbl_count
1014: , x_error_code => l_error_code
1015: );
1016:
1017: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1018: RAISE fnd_api.g_exc_error;
1019: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1020: RAISE fnd_api.g_exc_unexpected_error;
1021: END IF;
1014: , x_error_code => l_error_code
1015: );
1016:
1017: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1018: RAISE fnd_api.g_exc_error;
1019: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1020: RAISE fnd_api.g_exc_unexpected_error;
1021: END IF;
1022: END IF; --rsv id not null
1015: );
1016:
1017: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1018: RAISE fnd_api.g_exc_error;
1019: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1020: RAISE fnd_api.g_exc_unexpected_error;
1021: END IF;
1022: END IF; --rsv id not null
1023:
1016:
1017: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1018: RAISE fnd_api.g_exc_error;
1019: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1020: RAISE fnd_api.g_exc_unexpected_error;
1021: END IF;
1022: END IF; --rsv id not null
1023:
1024: IF l_mtl_reservation_tbl_count > 0 THEN
1075: , p_original_serial_number => l_original_serial_number
1076: , p_to_serial_number => l_to_serial_number
1077: );
1078:
1079: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1080: RAISE fnd_api.g_exc_error;
1081: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1082: RAISE fnd_api.g_exc_unexpected_error;
1083: END IF;
1076: , p_to_serial_number => l_to_serial_number
1077: );
1078:
1079: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1080: RAISE fnd_api.g_exc_error;
1081: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1082: RAISE fnd_api.g_exc_unexpected_error;
1083: END IF;
1084: ELSE
1077: );
1078:
1079: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1080: RAISE fnd_api.g_exc_error;
1081: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1082: RAISE fnd_api.g_exc_unexpected_error;
1083: END IF;
1084: ELSE
1085: l_mtl_reservation_rec := l_mtl_reservation_tbl(1);
1078:
1079: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1080: RAISE fnd_api.g_exc_error;
1081: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1082: RAISE fnd_api.g_exc_unexpected_error;
1083: END IF;
1084: ELSE
1085: l_mtl_reservation_rec := l_mtl_reservation_tbl(1);
1086: l_mtl_reservation_tbl(1).detailed_quantity :=
1094: - ABS(p_primary_trx_qty);
1095:
1096: -- HW INVCONV - Update Qty2s if they are present
1097:
1098: IF ( p_transaction_quantity2 <> FND_API.G_MISS_NUM) THEN
1099: -- No need to use NVL similar to Qty1
1100: l_mtl_reservation_tbl(1).secondary_detailed_quantity :=
1101: l_mtl_reservation_tbl(1).secondary_detailed_quantity
1102: - ABS(p_transaction_quantity2);
1115: , p_original_serial_number => l_original_serial_number
1116: , p_to_serial_number => l_to_serial_number
1117: );
1118:
1119: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1120: RAISE fnd_api.g_exc_error;
1121: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1122: RAISE fnd_api.g_exc_unexpected_error;
1123: END IF;
1116: , p_to_serial_number => l_to_serial_number
1117: );
1118:
1119: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1120: RAISE fnd_api.g_exc_error;
1121: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1122: RAISE fnd_api.g_exc_unexpected_error;
1123: END IF;
1124: END IF; -- ato item check
1117: );
1118:
1119: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1120: RAISE fnd_api.g_exc_error;
1121: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1122: RAISE fnd_api.g_exc_unexpected_error;
1123: END IF;
1124: END IF; -- ato item check
1125: END IF; --reservation count >0
1118:
1119: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1120: RAISE fnd_api.g_exc_error;
1121: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1122: RAISE fnd_api.g_exc_unexpected_error;
1123: END IF;
1124: END IF; -- ato item check
1125: END IF; --reservation count >0
1126:
1148: */
1149: CLEAR_RECORD(p_transaction_temp_id, l_success);
1150:
1151: IF (NOT l_success) THEN
1152: RAISE fnd_api.g_exc_error;
1153: END IF;
1154:
1155: IF (p_delete_temp_records) THEN
1156: inv_mo_line_detail_util.delete_row( x_return_status => l_return_status
1162: where move_order_line_id = p_move_order_line_id;
1163:
1164: --inv_debug.message('count = ' || l_count);
1165: */
1166: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1167: RAISE fnd_api.g_exc_error;
1168: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1169: RAISE fnd_api.g_exc_unexpected_error;
1170: END IF;
1163:
1164: --inv_debug.message('count = ' || l_count);
1165: */
1166: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1167: RAISE fnd_api.g_exc_error;
1168: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1169: RAISE fnd_api.g_exc_unexpected_error;
1170: END IF;
1171: END IF; --p_delete_temp_records
1164: --inv_debug.message('count = ' || l_count);
1165: */
1166: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1167: RAISE fnd_api.g_exc_error;
1168: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1169: RAISE fnd_api.g_exc_unexpected_error;
1170: END IF;
1171: END IF; --p_delete_temp_records
1172:
1165: */
1166: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1167: RAISE fnd_api.g_exc_error;
1168: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1169: RAISE fnd_api.g_exc_unexpected_error;
1170: END IF;
1171: END IF; --p_delete_temp_records
1172:
1173: COMMIT;
1170: END IF;
1171: END IF; --p_delete_temp_records
1172:
1173: COMMIT;
1174: x_return_status := fnd_api.g_ret_sts_success;
1175: EXCEPTION
1176: WHEN fnd_api.g_exc_error THEN
1177: x_return_status := fnd_api.g_ret_sts_error;
1178: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1172:
1173: COMMIT;
1174: x_return_status := fnd_api.g_ret_sts_success;
1175: EXCEPTION
1176: WHEN fnd_api.g_exc_error THEN
1177: x_return_status := fnd_api.g_ret_sts_error;
1178: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1179: WHEN fnd_api.g_exc_unexpected_error THEN
1180: x_return_status := fnd_api.g_ret_sts_unexp_error;
1173: COMMIT;
1174: x_return_status := fnd_api.g_ret_sts_success;
1175: EXCEPTION
1176: WHEN fnd_api.g_exc_error THEN
1177: x_return_status := fnd_api.g_ret_sts_error;
1178: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1179: WHEN fnd_api.g_exc_unexpected_error THEN
1180: x_return_status := fnd_api.g_ret_sts_unexp_error;
1181: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1175: EXCEPTION
1176: WHEN fnd_api.g_exc_error THEN
1177: x_return_status := fnd_api.g_ret_sts_error;
1178: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1179: WHEN fnd_api.g_exc_unexpected_error THEN
1180: x_return_status := fnd_api.g_ret_sts_unexp_error;
1181: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1182: WHEN OTHERS THEN
1183: x_return_status := fnd_api.g_ret_sts_unexp_error;
1176: WHEN fnd_api.g_exc_error THEN
1177: x_return_status := fnd_api.g_ret_sts_error;
1178: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1179: WHEN fnd_api.g_exc_unexpected_error THEN
1180: x_return_status := fnd_api.g_ret_sts_unexp_error;
1181: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1182: WHEN OTHERS THEN
1183: x_return_status := fnd_api.g_ret_sts_unexp_error;
1184:
1179: WHEN fnd_api.g_exc_unexpected_error THEN
1180: x_return_status := fnd_api.g_ret_sts_unexp_error;
1181: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1182: WHEN OTHERS THEN
1183: x_return_status := fnd_api.g_ret_sts_unexp_error;
1184:
1185: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1186: fnd_msg_pub.add_exc_msg(g_pkg_name, 'Line_Details_PUB');
1187: END IF;
1416: FROM mtl_material_transactions_temp
1417: WHERE move_order_line_id = l_mmtt_rec.move_order_line_id;
1418:
1419: --inv_debug.message(' total record = ' || l_count ||' for move order line id ' || l_mmtt_rec.move_order_line_id);
1420: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1421: RAISE fnd_api.g_exc_error;
1422: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1423: RAISE fnd_api.g_exc_unexpected_error;
1424: END IF;
1417: WHERE move_order_line_id = l_mmtt_rec.move_order_line_id;
1418:
1419: --inv_debug.message(' total record = ' || l_count ||' for move order line id ' || l_mmtt_rec.move_order_line_id);
1420: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1421: RAISE fnd_api.g_exc_error;
1422: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1423: RAISE fnd_api.g_exc_unexpected_error;
1424: END IF;
1425: EXCEPTION
1418:
1419: --inv_debug.message(' total record = ' || l_count ||' for move order line id ' || l_mmtt_rec.move_order_line_id);
1420: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1421: RAISE fnd_api.g_exc_error;
1422: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1423: RAISE fnd_api.g_exc_unexpected_error;
1424: END IF;
1425: EXCEPTION
1426: WHEN fnd_api.g_exc_error THEN
1419: --inv_debug.message(' total record = ' || l_count ||' for move order line id ' || l_mmtt_rec.move_order_line_id);
1420: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1421: RAISE fnd_api.g_exc_error;
1422: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1423: RAISE fnd_api.g_exc_unexpected_error;
1424: END IF;
1425: EXCEPTION
1426: WHEN fnd_api.g_exc_error THEN
1427: x_return_status := fnd_api.g_ret_sts_error;
1422: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1423: RAISE fnd_api.g_exc_unexpected_error;
1424: END IF;
1425: EXCEPTION
1426: WHEN fnd_api.g_exc_error THEN
1427: x_return_status := fnd_api.g_ret_sts_error;
1428: fnd_message.set_name('INV', 'SPLIT_LINE_DETAIL_ERROR');
1429: fnd_msg_pub.ADD;
1430: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1423: RAISE fnd_api.g_exc_unexpected_error;
1424: END IF;
1425: EXCEPTION
1426: WHEN fnd_api.g_exc_error THEN
1427: x_return_status := fnd_api.g_ret_sts_error;
1428: fnd_message.set_name('INV', 'SPLIT_LINE_DETAIL_ERROR');
1429: fnd_msg_pub.ADD;
1430: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1431: WHEN fnd_api.g_exc_unexpected_error THEN
1427: x_return_status := fnd_api.g_ret_sts_error;
1428: fnd_message.set_name('INV', 'SPLIT_LINE_DETAIL_ERROR');
1429: fnd_msg_pub.ADD;
1430: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1431: WHEN fnd_api.g_exc_unexpected_error THEN
1432: x_return_status := fnd_api.g_ret_sts_unexp_error;
1433: fnd_message.set_name('INV', 'SPLIT_LINE_DETAIL_ERROR');
1434: fnd_msg_pub.ADD;
1435: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1428: fnd_message.set_name('INV', 'SPLIT_LINE_DETAIL_ERROR');
1429: fnd_msg_pub.ADD;
1430: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1431: WHEN fnd_api.g_exc_unexpected_error THEN
1432: x_return_status := fnd_api.g_ret_sts_unexp_error;
1433: fnd_message.set_name('INV', 'SPLIT_LINE_DETAIL_ERROR');
1434: fnd_msg_pub.ADD;
1435: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1436: WHEN OTHERS THEN
1433: fnd_message.set_name('INV', 'SPLIT_LINE_DETAIL_ERROR');
1434: fnd_msg_pub.ADD;
1435: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1436: WHEN OTHERS THEN
1437: x_return_status := fnd_api.g_ret_sts_unexp_error;
1438:
1439: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1440: fnd_msg_pub.add_exc_msg(g_pkg_name, 'Split_Line_Details');
1441: END IF;
1466: l_mold_tbl := inv_mo_line_detail_util.query_rows(p_line_id => l_line_id);
1467: --inv_debug.message('number of mold record is ' || l_mold_tbl.count);
1468: inv_pick_wave_pick_confirm_pub.pick_confirm(
1469: p_api_version_number => 1.0
1470: , p_init_msg_list => fnd_api.g_false
1471: , p_commit => fnd_api.g_true
1472: , x_return_status => l_return_status
1473: , x_msg_count => x_msg_count
1474: , x_msg_data => x_msg_data
1467: --inv_debug.message('number of mold record is ' || l_mold_tbl.count);
1468: inv_pick_wave_pick_confirm_pub.pick_confirm(
1469: p_api_version_number => 1.0
1470: , p_init_msg_list => fnd_api.g_false
1471: , p_commit => fnd_api.g_true
1472: , x_return_status => l_return_status
1473: , x_msg_count => x_msg_count
1474: , x_msg_data => x_msg_data
1475: , p_move_order_type => p_move_order_type
1480: , x_trolin_tbl => l_trolin_tbl
1481: );
1482:
1483: --inv_debug.message('l_return_status = ' || l_return_status);
1484: IF (l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1485: RAISE fnd_api.g_exc_unexpected_error;
1486: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
1487: RAISE fnd_api.g_exc_error;
1488: END IF;
1481: );
1482:
1483: --inv_debug.message('l_return_status = ' || l_return_status);
1484: IF (l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1485: RAISE fnd_api.g_exc_unexpected_error;
1486: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
1487: RAISE fnd_api.g_exc_error;
1488: END IF;
1489:
1482:
1483: --inv_debug.message('l_return_status = ' || l_return_status);
1484: IF (l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1485: RAISE fnd_api.g_exc_unexpected_error;
1486: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
1487: RAISE fnd_api.g_exc_error;
1488: END IF;
1489:
1490: --null;
1483: --inv_debug.message('l_return_status = ' || l_return_status);
1484: IF (l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1485: RAISE fnd_api.g_exc_unexpected_error;
1486: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
1487: RAISE fnd_api.g_exc_error;
1488: END IF;
1489:
1490: --null;
1491: x_return_status := l_return_status;
1489:
1490: --null;
1491: x_return_status := l_return_status;
1492: EXCEPTION
1493: WHEN fnd_api.g_exc_error THEN
1494: x_return_status := fnd_api.g_ret_sts_error;
1495: fnd_message.set_name('INV', 'AUTO_PICK_CONFIRM_ERROR');
1496: fnd_msg_pub.ADD;
1497: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1490: --null;
1491: x_return_status := l_return_status;
1492: EXCEPTION
1493: WHEN fnd_api.g_exc_error THEN
1494: x_return_status := fnd_api.g_ret_sts_error;
1495: fnd_message.set_name('INV', 'AUTO_PICK_CONFIRM_ERROR');
1496: fnd_msg_pub.ADD;
1497: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1498: WHEN fnd_api.g_exc_unexpected_error THEN
1494: x_return_status := fnd_api.g_ret_sts_error;
1495: fnd_message.set_name('INV', 'AUTO_PICK_CONFIRM_ERROR');
1496: fnd_msg_pub.ADD;
1497: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1498: WHEN fnd_api.g_exc_unexpected_error THEN
1499: x_return_status := fnd_api.g_ret_sts_unexp_error;
1500: fnd_message.set_name('INV', 'AUTO_PICK_CONFIRM_ERROR');
1501: fnd_msg_pub.ADD;
1502: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1495: fnd_message.set_name('INV', 'AUTO_PICK_CONFIRM_ERROR');
1496: fnd_msg_pub.ADD;
1497: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1498: WHEN fnd_api.g_exc_unexpected_error THEN
1499: x_return_status := fnd_api.g_ret_sts_unexp_error;
1500: fnd_message.set_name('INV', 'AUTO_PICK_CONFIRM_ERROR');
1501: fnd_msg_pub.ADD;
1502: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1503: WHEN OTHERS THEN
1500: fnd_message.set_name('INV', 'AUTO_PICK_CONFIRM_ERROR');
1501: fnd_msg_pub.ADD;
1502: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1503: WHEN OTHERS THEN
1504: x_return_status := fnd_api.g_ret_sts_unexp_error;
1505:
1506: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1507: fnd_msg_pub.add_exc_msg(g_pkg_name, 'AUTO_PICK_CONFIRM');
1508: END IF;
1529: , p_missing_quantity => l_missing_quantity
1530: , p_reservation_id => l_reservation_id
1531: );
1532:
1533: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1534: RAISE fnd_api.g_exc_error;
1535: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1536: RAISE fnd_api.g_exc_unexpected_error;
1537: END IF;
1530: , p_reservation_id => l_reservation_id
1531: );
1532:
1533: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1534: RAISE fnd_api.g_exc_error;
1535: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1536: RAISE fnd_api.g_exc_unexpected_error;
1537: END IF;
1538:
1531: );
1532:
1533: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1534: RAISE fnd_api.g_exc_error;
1535: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1536: RAISE fnd_api.g_exc_unexpected_error;
1537: END IF;
1538:
1539: x_return_status := l_return_status;
1532:
1533: IF (l_return_status = fnd_api.g_ret_sts_error) THEN
1534: RAISE fnd_api.g_exc_error;
1535: ELSIF(l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
1536: RAISE fnd_api.g_exc_unexpected_error;
1537: END IF;
1538:
1539: x_return_status := l_return_status;
1540: EXCEPTION
1537: END IF;
1538:
1539: x_return_status := l_return_status;
1540: EXCEPTION
1541: WHEN fnd_api.g_exc_error THEN
1542: x_return_status := fnd_api.g_ret_sts_error;
1543: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1544: WHEN fnd_api.g_exc_unexpected_error THEN
1545: x_return_status := fnd_api.g_ret_sts_unexp_error;
1538:
1539: x_return_status := l_return_status;
1540: EXCEPTION
1541: WHEN fnd_api.g_exc_error THEN
1542: x_return_status := fnd_api.g_ret_sts_error;
1543: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1544: WHEN fnd_api.g_exc_unexpected_error THEN
1545: x_return_status := fnd_api.g_ret_sts_unexp_error;
1546: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1540: EXCEPTION
1541: WHEN fnd_api.g_exc_error THEN
1542: x_return_status := fnd_api.g_ret_sts_error;
1543: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1544: WHEN fnd_api.g_exc_unexpected_error THEN
1545: x_return_status := fnd_api.g_ret_sts_unexp_error;
1546: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1547: WHEN OTHERS THEN
1548: x_return_status := fnd_api.g_ret_sts_unexp_error;
1541: WHEN fnd_api.g_exc_error THEN
1542: x_return_status := fnd_api.g_ret_sts_error;
1543: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1544: WHEN fnd_api.g_exc_unexpected_error THEN
1545: x_return_status := fnd_api.g_ret_sts_unexp_error;
1546: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1547: WHEN OTHERS THEN
1548: x_return_status := fnd_api.g_ret_sts_unexp_error;
1549:
1544: WHEN fnd_api.g_exc_unexpected_error THEN
1545: x_return_status := fnd_api.g_ret_sts_unexp_error;
1546: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1547: WHEN OTHERS THEN
1548: x_return_status := fnd_api.g_ret_sts_unexp_error;
1549:
1550: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1551: fnd_msg_pub.add_exc_msg(g_pkg_name, 'AUTO_PICK_CONFIRM');
1552: END IF;
1625: , x_mtl_reservation_tbl_count => l_mtl_reservation_tbl_count
1626: , x_error_code => l_error_code
1627: );
1628:
1629: IF l_return_status = fnd_api.g_ret_sts_error THEN
1630: RAISE fnd_api.g_exc_error;
1631: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1632: RAISE fnd_api.g_exc_unexpected_error;
1633: END IF;
1626: , x_error_code => l_error_code
1627: );
1628:
1629: IF l_return_status = fnd_api.g_ret_sts_error THEN
1630: RAISE fnd_api.g_exc_error;
1631: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1632: RAISE fnd_api.g_exc_unexpected_error;
1633: END IF;
1634:
1627: );
1628:
1629: IF l_return_status = fnd_api.g_ret_sts_error THEN
1630: RAISE fnd_api.g_exc_error;
1631: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1632: RAISE fnd_api.g_exc_unexpected_error;
1633: END IF;
1634:
1635: l_mtl_reservation_rec := l_mtl_reservation_tbl(1);
1628:
1629: IF l_return_status = fnd_api.g_ret_sts_error THEN
1630: RAISE fnd_api.g_exc_error;
1631: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1632: RAISE fnd_api.g_exc_unexpected_error;
1633: END IF;
1634:
1635: l_mtl_reservation_rec := l_mtl_reservation_tbl(1);
1636:
1657: END IF;
1658:
1659: inv_reservation_pub.update_reservation(
1660: p_api_version_number => 1.0
1661: , p_init_msg_lst => fnd_api.g_false
1662: , x_return_status => l_return_status
1663: , x_msg_count => x_msg_count
1664: , x_msg_data => x_msg_data
1665: , p_original_rsv_rec => l_mtl_reservation_tbl(1)
1665: , p_original_rsv_rec => l_mtl_reservation_tbl(1)
1666: , p_to_rsv_rec => l_mtl_reservation_rec
1667: , p_original_serial_number => l_original_serial_number
1668: , p_to_serial_number => l_to_serial_number
1669: , p_validation_flag => fnd_api.g_true
1670: );
1671:
1672: IF (l_debug = 1) THEN
1673: print_debug('after update reservation return status is ' || l_return_status);
1672: IF (l_debug = 1) THEN
1673: print_debug('after update reservation return status is ' || l_return_status);
1674: END IF;
1675:
1676: IF l_return_status = fnd_api.g_ret_sts_error THEN
1677: RAISE fnd_api.g_exc_error;
1678: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1679: RAISE fnd_api.g_exc_unexpected_error;
1680: END IF;
1673: print_debug('after update reservation return status is ' || l_return_status);
1674: END IF;
1675:
1676: IF l_return_status = fnd_api.g_ret_sts_error THEN
1677: RAISE fnd_api.g_exc_error;
1678: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1679: RAISE fnd_api.g_exc_unexpected_error;
1680: END IF;
1681: ELSE
1674: END IF;
1675:
1676: IF l_return_status = fnd_api.g_ret_sts_error THEN
1677: RAISE fnd_api.g_exc_error;
1678: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1679: RAISE fnd_api.g_exc_unexpected_error;
1680: END IF;
1681: ELSE
1682: IF (l_debug = 1) THEN
1675:
1676: IF l_return_status = fnd_api.g_ret_sts_error THEN
1677: RAISE fnd_api.g_exc_error;
1678: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1679: RAISE fnd_api.g_exc_unexpected_error;
1680: END IF;
1681: ELSE
1682: IF (l_debug = 1) THEN
1683: print_debug('reservable staging subinventory, transfer reservation to staging');
1710: l_mtl_reservation_rec.lot_number := l_lot_number;
1711: l_mtl_reservation_rec.revision := l_mmtt_rec.revision;
1712: inv_reservation_pub.transfer_reservation(
1713: p_api_version_number => 1.0
1714: , p_init_msg_lst => fnd_api.g_false
1715: , x_return_status => l_return_status
1716: , x_msg_count => x_msg_count
1717: , x_msg_data => x_msg_data
1718: , p_original_rsv_rec => l_mtl_reservation_tbl(1)
1734: IF (l_debug = 1) THEN
1735: print_debug(l_message);
1736: END IF;
1737: end loop; */
1738: IF l_return_status = fnd_api.g_ret_sts_error THEN
1739: IF (l_debug = 1) THEN
1740: print_debug('return from transfer_reservation with error E');
1741: END IF;
1742:
1739: IF (l_debug = 1) THEN
1740: print_debug('return from transfer_reservation with error E');
1741: END IF;
1742:
1743: RAISE fnd_api.g_exc_error;
1744: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1745: IF (l_debug = 1) THEN
1746: print_debug('return from transfer_reservation with error U');
1747: END IF;
1740: print_debug('return from transfer_reservation with error E');
1741: END IF;
1742:
1743: RAISE fnd_api.g_exc_error;
1744: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1745: IF (l_debug = 1) THEN
1746: print_debug('return from transfer_reservation with error U');
1747: END IF;
1748:
1745: IF (l_debug = 1) THEN
1746: print_debug('return from transfer_reservation with error U');
1747: END IF;
1748:
1749: RAISE fnd_api.g_exc_unexpected_error;
1750: END IF;
1751: END LOOP;
1752:
1753: IF (l_debug = 1) THEN
1770: l_mtl_reservation_rec.revision := l_mmtt_rec.revision;
1771: --print_debug('lot number is ' || l_mtl_reservation_rec.lot_number);
1772: inv_reservation_pub.transfer_reservation(
1773: p_api_version_number => 1.0
1774: , p_init_msg_lst => fnd_api.g_false
1775: , x_return_status => l_return_status
1776: , x_msg_count => x_msg_count
1777: , x_msg_data => x_msg_data
1778: , p_original_rsv_rec => l_mtl_reservation_tbl(1)
1794: IF (l_debug = 1) THEN
1795: print_debug(l_message);
1796: END IF;
1797: end loop; */
1798: IF l_return_status = fnd_api.g_ret_sts_error THEN
1799: IF (l_debug = 1) THEN
1800: print_debug('return from transfer_reservation with error E');
1801: END IF;
1802:
1799: IF (l_debug = 1) THEN
1800: print_debug('return from transfer_reservation with error E');
1801: END IF;
1802:
1803: RAISE fnd_api.g_exc_error;
1804: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1805: IF (l_debug = 1) THEN
1806: print_debug('return from transfer_reservation with error U');
1807: END IF;
1800: print_debug('return from transfer_reservation with error E');
1801: END IF;
1802:
1803: RAISE fnd_api.g_exc_error;
1804: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1805: IF (l_debug = 1) THEN
1806: print_debug('return from transfer_reservation with error U');
1807: END IF;
1808:
1805: IF (l_debug = 1) THEN
1806: print_debug('return from transfer_reservation with error U');
1807: END IF;
1808:
1809: RAISE fnd_api.g_exc_unexpected_error;
1810: END IF;
1811:
1812: IF (l_debug = 1) THEN
1813: print_debug('still inside if no lot records');
1901: record_locked EXCEPTION;
1902: PRAGMA EXCEPTION_INIT(record_locked, -54);
1903: l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
1904: BEGIN
1905: l_return_status := fnd_api.g_ret_sts_success;
1906:
1907: BEGIN
1908: SELECT organization_id
1909: INTO l_organization_id
1910: FROM mtl_txn_request_lines
1911: WHERE line_id = p_line_id;
1912: EXCEPTION
1913: WHEN NO_DATA_FOUND THEN
1914: RAISE fnd_api.g_exc_unexpected_error;
1915: END;
1916:
1917: --MUOM Fulfillment Project
1918: OPEN c_txn_source;
1918: OPEN c_txn_source;
1919: FETCH c_txn_source INTO l_txn_source_line_id, l_inventory_item_id, l_txn_source_type_id;
1920:
1921: IF c_txn_source%NOTFOUND THEN
1922: RAISE fnd_api.g_exc_error;
1923: END IF;
1924:
1925: CLOSE c_txn_source;
1926:
2007: OPEN c_txn_source;
2008: FETCH c_txn_source INTO l_txn_source_line_id, l_inventory_item_id;
2009:
2010: IF c_txn_source%NOTFOUND THEN
2011: RAISE fnd_api.g_exc_error;
2012: END IF;
2013:
2014: CLOSE c_txn_source;
2015:
2037: EXCEPTION
2038: WHEN record_locked THEN
2039: fnd_message.set_name('INV', 'INV_MO_LOCKED_SO');
2040: fnd_msg_pub.ADD;
2041: RAISE fnd_api.g_exc_error;
2042: END;
2043:
2044: SELECT NVL(SUM(ABS(transaction_quantity)), 0), NVL(SUM(ABS(secondary_transaction_quantity)), 0)
2045: INTO l_allocation_quantity , l_allocation_quantity2
2082: , x_avail_req_quantity2 => l_avail_req_qty2
2083: );
2084: END IF;
2085:
2086: IF l_return_status = fnd_api.g_ret_sts_error THEN
2087: RAISE fnd_api.g_exc_error;
2088: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2089: RAISE fnd_api.g_exc_unexpected_error;
2090: END IF;
2083: );
2084: END IF;
2085:
2086: IF l_return_status = fnd_api.g_ret_sts_error THEN
2087: RAISE fnd_api.g_exc_error;
2088: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2089: RAISE fnd_api.g_exc_unexpected_error;
2090: END IF;
2091: END IF;
2084: END IF;
2085:
2086: IF l_return_status = fnd_api.g_ret_sts_error THEN
2087: RAISE fnd_api.g_exc_error;
2088: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2089: RAISE fnd_api.g_exc_unexpected_error;
2090: END IF;
2091: END IF;
2092:
2085:
2086: IF l_return_status = fnd_api.g_ret_sts_error THEN
2087: RAISE fnd_api.g_exc_error;
2088: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2089: RAISE fnd_api.g_exc_unexpected_error;
2090: END IF;
2091: END IF;
2092:
2093: x_max_quantity := l_max_quantity;
2094: x_max_quantity2 := l_max_quantity2;
2095: x_allowed := l_allowed;
2096: x_return_status := l_return_status;
2097: EXCEPTION
2098: WHEN fnd_api.g_exc_error THEN
2099: x_return_status := fnd_api.g_ret_sts_error;
2100: x_allowed := 'N';
2101: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2102: WHEN fnd_api.g_exc_unexpected_error THEN
2095: x_allowed := l_allowed;
2096: x_return_status := l_return_status;
2097: EXCEPTION
2098: WHEN fnd_api.g_exc_error THEN
2099: x_return_status := fnd_api.g_ret_sts_error;
2100: x_allowed := 'N';
2101: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2102: WHEN fnd_api.g_exc_unexpected_error THEN
2103: x_return_status := fnd_api.g_ret_sts_error;
2098: WHEN fnd_api.g_exc_error THEN
2099: x_return_status := fnd_api.g_ret_sts_error;
2100: x_allowed := 'N';
2101: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2102: WHEN fnd_api.g_exc_unexpected_error THEN
2103: x_return_status := fnd_api.g_ret_sts_error;
2104: x_allowed := 'N';
2105: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2106: WHEN OTHERS THEN
2099: x_return_status := fnd_api.g_ret_sts_error;
2100: x_allowed := 'N';
2101: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2102: WHEN fnd_api.g_exc_unexpected_error THEN
2103: x_return_status := fnd_api.g_ret_sts_error;
2104: x_allowed := 'N';
2105: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2106: WHEN OTHERS THEN
2107: x_return_status := fnd_api.g_ret_sts_unexp_error;
2103: x_return_status := fnd_api.g_ret_sts_error;
2104: x_allowed := 'N';
2105: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2106: WHEN OTHERS THEN
2107: x_return_status := fnd_api.g_ret_sts_unexp_error;
2108: x_allowed := 'N';
2109:
2110: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
2111: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
2170: l_return_status VARCHAR2(1);
2171: --For DB log
2172: l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
2173: BEGIN
2174: x_return_status := fnd_api.g_ret_sts_success;
2175:
2176: --Resolve org_id and move_order_type from the passed transaction_temp_id
2177: SELECT mmtt.organization_id
2178: , mtrh.move_order_type
2328: print_debug('OVPK: x_max_quantity = ' || l_max_quantity_allowed);
2329: print_debug('OVPK: x_max_quantity2 = ' || l_max_quantity_allowed2);
2330: END IF;
2331:
2332: IF l_return_status = fnd_api.g_ret_sts_error THEN
2333: RAISE fnd_api.g_exc_error;
2334: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2335: RAISE fnd_api.g_exc_unexpected_error;
2336: END IF;
2329: print_debug('OVPK: x_max_quantity2 = ' || l_max_quantity_allowed2);
2330: END IF;
2331:
2332: IF l_return_status = fnd_api.g_ret_sts_error THEN
2333: RAISE fnd_api.g_exc_error;
2334: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2335: RAISE fnd_api.g_exc_unexpected_error;
2336: END IF;
2337: END IF;
2330: END IF;
2331:
2332: IF l_return_status = fnd_api.g_ret_sts_error THEN
2333: RAISE fnd_api.g_exc_error;
2334: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2335: RAISE fnd_api.g_exc_unexpected_error;
2336: END IF;
2337: END IF;
2338:
2331:
2332: IF l_return_status = fnd_api.g_ret_sts_error THEN
2333: RAISE fnd_api.g_exc_error;
2334: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2335: RAISE fnd_api.g_exc_unexpected_error;
2336: END IF;
2337: END IF;
2338:
2339: /*
2370:
2371: RETURN;
2372: END IF;
2373: EXCEPTION
2374: WHEN fnd_api.g_exc_error THEN
2375: x_return_status := fnd_api.g_ret_sts_error;
2376: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2377: WHEN fnd_api.g_exc_unexpected_error THEN
2378: x_return_status := fnd_api.g_ret_sts_unexp_error;
2371: RETURN;
2372: END IF;
2373: EXCEPTION
2374: WHEN fnd_api.g_exc_error THEN
2375: x_return_status := fnd_api.g_ret_sts_error;
2376: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2377: WHEN fnd_api.g_exc_unexpected_error THEN
2378: x_return_status := fnd_api.g_ret_sts_unexp_error;
2379: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2373: EXCEPTION
2374: WHEN fnd_api.g_exc_error THEN
2375: x_return_status := fnd_api.g_ret_sts_error;
2376: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2377: WHEN fnd_api.g_exc_unexpected_error THEN
2378: x_return_status := fnd_api.g_ret_sts_unexp_error;
2379: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2380: WHEN OTHERS THEN
2381: x_return_status := fnd_api.g_ret_sts_unexp_error;
2374: WHEN fnd_api.g_exc_error THEN
2375: x_return_status := fnd_api.g_ret_sts_error;
2376: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2377: WHEN fnd_api.g_exc_unexpected_error THEN
2378: x_return_status := fnd_api.g_ret_sts_unexp_error;
2379: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2380: WHEN OTHERS THEN
2381: x_return_status := fnd_api.g_ret_sts_unexp_error;
2382:
2377: WHEN fnd_api.g_exc_unexpected_error THEN
2378: x_return_status := fnd_api.g_ret_sts_unexp_error;
2379: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2380: WHEN OTHERS THEN
2381: x_return_status := fnd_api.g_ret_sts_unexp_error;
2382:
2383: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
2384: fnd_msg_pub.add_exc_msg(g_pkg_name, 'Get_Overpick_Qty');
2385: END IF;
2463: l_fulfill_base mtl_material_transactions_temp.fulfillment_base%TYPE;
2464: l_source_line_id number;
2465: l_txn_source_type_id NUMBER;
2466: BEGIN
2467: x_return_status := fnd_api.g_ret_sts_success;
2468: x_check_overpick_passed := 'N';
2469:
2470: --l_txn_qty := p_overpicked_qty;
2471: --Resolve org_id,transaction_quantity, move_order_line_id
2546: print_debug('OVPK: l_max_qty_allowed = ' || l_max_qty_allowed);
2547: print_debug('OVPK: l_max_qty_allowed2 = ' || l_max_qty_allowed2);
2548: END IF;
2549:
2550: IF x_return_status = fnd_api.g_ret_sts_error THEN
2551: RAISE fnd_api.g_exc_error;
2552: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2553: RAISE fnd_api.g_exc_unexpected_error;
2554: END IF;
2547: print_debug('OVPK: l_max_qty_allowed2 = ' || l_max_qty_allowed2);
2548: END IF;
2549:
2550: IF x_return_status = fnd_api.g_ret_sts_error THEN
2551: RAISE fnd_api.g_exc_error;
2552: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2553: RAISE fnd_api.g_exc_unexpected_error;
2554: END IF;
2555:
2548: END IF;
2549:
2550: IF x_return_status = fnd_api.g_ret_sts_error THEN
2551: RAISE fnd_api.g_exc_error;
2552: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2553: RAISE fnd_api.g_exc_unexpected_error;
2554: END IF;
2555:
2556:
2549:
2550: IF x_return_status = fnd_api.g_ret_sts_error THEN
2551: RAISE fnd_api.g_exc_error;
2552: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2553: RAISE fnd_api.g_exc_unexpected_error;
2554: END IF;
2555:
2556:
2557:
2623: print_debug('OVPK: x_return_status = ' || x_return_status);
2624: print_debug('OVPK: x_att = ' || x_att);
2625: END IF;
2626:
2627: IF x_return_status = fnd_api.g_ret_sts_error THEN
2628: RAISE fnd_api.g_exc_error;
2629: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2630: RAISE fnd_api.g_exc_unexpected_error;
2631: END IF;
2624: print_debug('OVPK: x_att = ' || x_att);
2625: END IF;
2626:
2627: IF x_return_status = fnd_api.g_ret_sts_error THEN
2628: RAISE fnd_api.g_exc_error;
2629: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2630: RAISE fnd_api.g_exc_unexpected_error;
2631: END IF;
2632:
2625: END IF;
2626:
2627: IF x_return_status = fnd_api.g_ret_sts_error THEN
2628: RAISE fnd_api.g_exc_error;
2629: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2630: RAISE fnd_api.g_exc_unexpected_error;
2631: END IF;
2632:
2633: -- Bug 3361293 There are 3 cases for a user to pick
2626:
2627: IF x_return_status = fnd_api.g_ret_sts_error THEN
2628: RAISE fnd_api.g_exc_error;
2629: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2630: RAISE fnd_api.g_exc_unexpected_error;
2631: END IF;
2632:
2633: -- Bug 3361293 There are 3 cases for a user to pick
2634: 1. Allocations are for loose quantity or LPN- User is trying to pick
2681:
2682: fnd_message.set_name('INV', 'INV_OVERSHIP_TOLERANCE');
2683: x_ovpk_error_code := 3;
2684: fnd_msg_pub.ADD;
2685: RAISE fnd_api.g_exc_error;
2686: ELSIF (l_max_qty_allowed2 <> -1
2687: AND (l_this_alloc2 + p_overpicked_qty2) > l_max_qty_allowed2) AND l_fulfill_base='S' THEN
2688: -- Show ERROR : pickedQty is not within overship tolerance level
2689: IF (l_debug = 1) THEN
2693:
2694: fnd_message.set_name('INV', 'INV_OVERSHIP_TOLERANCE');
2695: x_ovpk_error_code := 3;
2696: fnd_msg_pub.ADD;
2697: RAISE fnd_api.g_exc_error;
2698:
2699: ELSE
2700: --Allow the user to overpick
2701: x_check_overpick_passed := 'Y';
2727:
2728: fnd_message.set_name('INV', 'INV_LACK_MTRL_TO_OVERPICK');
2729: x_ovpk_error_code := 2;
2730: fnd_msg_pub.ADD;
2731: RAISE fnd_api.g_exc_error;*/
2732: --END IF;
2733: ELSE
2734: --ERROR Overpicking is not allowed in this org and for this Move Order type
2735: IF l_debug = 1 THEN
2739:
2740: fnd_message.set_name('INV', 'INV_OVERPICK_NOT_ALLOWED');
2741: x_ovpk_error_code := 1;
2742: fnd_msg_pub.ADD;
2743: RAISE fnd_api.g_exc_error;
2744: END IF;
2745: EXCEPTION
2746: WHEN fnd_api.g_exc_error THEN
2747: x_return_status := fnd_api.g_ret_sts_error;
2742: fnd_msg_pub.ADD;
2743: RAISE fnd_api.g_exc_error;
2744: END IF;
2745: EXCEPTION
2746: WHEN fnd_api.g_exc_error THEN
2747: x_return_status := fnd_api.g_ret_sts_error;
2748: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2749: WHEN fnd_api.g_exc_unexpected_error THEN
2750: x_return_status := fnd_api.g_ret_sts_unexp_error;
2743: RAISE fnd_api.g_exc_error;
2744: END IF;
2745: EXCEPTION
2746: WHEN fnd_api.g_exc_error THEN
2747: x_return_status := fnd_api.g_ret_sts_error;
2748: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2749: WHEN fnd_api.g_exc_unexpected_error THEN
2750: x_return_status := fnd_api.g_ret_sts_unexp_error;
2751: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2745: EXCEPTION
2746: WHEN fnd_api.g_exc_error THEN
2747: x_return_status := fnd_api.g_ret_sts_error;
2748: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2749: WHEN fnd_api.g_exc_unexpected_error THEN
2750: x_return_status := fnd_api.g_ret_sts_unexp_error;
2751: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2752: WHEN OTHERS THEN
2753: x_return_status := fnd_api.g_ret_sts_unexp_error;
2746: WHEN fnd_api.g_exc_error THEN
2747: x_return_status := fnd_api.g_ret_sts_error;
2748: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2749: WHEN fnd_api.g_exc_unexpected_error THEN
2750: x_return_status := fnd_api.g_ret_sts_unexp_error;
2751: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2752: WHEN OTHERS THEN
2753: x_return_status := fnd_api.g_ret_sts_unexp_error;
2754:
2749: WHEN fnd_api.g_exc_unexpected_error THEN
2750: x_return_status := fnd_api.g_ret_sts_unexp_error;
2751: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2752: WHEN OTHERS THEN
2753: x_return_status := fnd_api.g_ret_sts_unexp_error;
2754:
2755: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
2756: fnd_msg_pub.add_exc_msg(g_pkg_name, 'Check_Overpick');
2757: END IF;
2835: l_atr NUMBER;
2836: --For DB log
2837: l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
2838: BEGIN
2839: x_return_status := fnd_api.g_ret_sts_success;
2840: x_check_overpick_passed := 'N';
2841:
2842: --Resolve org_id,transaction_quantity, move_order_line_id
2843: --from the transaction_temp_id
2902: print_debug('OVPK: l_ovpk_allowed = ' || l_ovpk_allowed);
2903: print_debug('OVPK: l_max_qty_allowed = ' || l_max_qty_allowed);
2904: END IF;
2905:
2906: IF x_return_status = fnd_api.g_ret_sts_error THEN
2907: RAISE fnd_api.g_exc_error;
2908: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2909: RAISE fnd_api.g_exc_unexpected_error;
2910: END IF;
2903: print_debug('OVPK: l_max_qty_allowed = ' || l_max_qty_allowed);
2904: END IF;
2905:
2906: IF x_return_status = fnd_api.g_ret_sts_error THEN
2907: RAISE fnd_api.g_exc_error;
2908: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2909: RAISE fnd_api.g_exc_unexpected_error;
2910: END IF;
2911:
2904: END IF;
2905:
2906: IF x_return_status = fnd_api.g_ret_sts_error THEN
2907: RAISE fnd_api.g_exc_error;
2908: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2909: RAISE fnd_api.g_exc_unexpected_error;
2910: END IF;
2911:
2912: --Overpicked quantity is passed as one of the params to this procedure
2905:
2906: IF x_return_status = fnd_api.g_ret_sts_error THEN
2907: RAISE fnd_api.g_exc_error;
2908: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2909: RAISE fnd_api.g_exc_unexpected_error;
2910: END IF;
2911:
2912: --Overpicked quantity is passed as one of the params to this procedure
2913: --so no need of any code here to determine overpicked quantity
2979: print_debug('OVPK: x_return_status = ' || x_return_status);
2980: print_debug('OVPK: x_att = ' || x_att);
2981: END IF;
2982:
2983: IF x_return_status = fnd_api.g_ret_sts_error THEN
2984: RAISE fnd_api.g_exc_error;
2985: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2986: RAISE fnd_api.g_exc_unexpected_error;
2987: END IF;
2980: print_debug('OVPK: x_att = ' || x_att);
2981: END IF;
2982:
2983: IF x_return_status = fnd_api.g_ret_sts_error THEN
2984: RAISE fnd_api.g_exc_error;
2985: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2986: RAISE fnd_api.g_exc_unexpected_error;
2987: END IF;
2988:
2981: END IF;
2982:
2983: IF x_return_status = fnd_api.g_ret_sts_error THEN
2984: RAISE fnd_api.g_exc_error;
2985: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2986: RAISE fnd_api.g_exc_unexpected_error;
2987: END IF;
2988:
2989: IF (x_att >= p_overpicked_qty) THEN
2982:
2983: IF x_return_status = fnd_api.g_ret_sts_error THEN
2984: RAISE fnd_api.g_exc_error;
2985: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
2986: RAISE fnd_api.g_exc_unexpected_error;
2987: END IF;
2988:
2989: IF (x_att >= p_overpicked_qty) THEN
2990: IF (l_max_qty_allowed <> -1
2997:
2998: fnd_message.set_name('INV', 'INV_OVERSHIP_TOLERANCE');
2999: x_ovpk_error_code := 3;
3000: fnd_msg_pub.ADD;
3001: RAISE fnd_api.g_exc_error;
3002: ELSE
3003: --Allow the user to overpick
3004: x_check_overpick_passed := 'Y';
3005:
3030:
3031: fnd_message.set_name('INV', 'INV_LACK_MTRL_TO_OVERPICK');
3032: x_ovpk_error_code := 2;
3033: fnd_msg_pub.ADD;
3034: RAISE fnd_api.g_exc_error;
3035: END IF;
3036: ELSE
3037: --ERROR Overpicking is not allowed in this org and for this Move Order type
3038: IF l_debug = 1 THEN
3042:
3043: fnd_message.set_name('INV', 'INV_OVERPICK_NOT_ALLOWED');
3044: x_ovpk_error_code := 1;
3045: fnd_msg_pub.ADD;
3046: RAISE fnd_api.g_exc_error;
3047: END IF;
3048: EXCEPTION
3049: WHEN fnd_api.g_exc_error THEN
3050: x_return_status := fnd_api.g_ret_sts_error;
3045: fnd_msg_pub.ADD;
3046: RAISE fnd_api.g_exc_error;
3047: END IF;
3048: EXCEPTION
3049: WHEN fnd_api.g_exc_error THEN
3050: x_return_status := fnd_api.g_ret_sts_error;
3051: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3052: WHEN fnd_api.g_exc_unexpected_error THEN
3053: x_return_status := fnd_api.g_ret_sts_unexp_error;
3046: RAISE fnd_api.g_exc_error;
3047: END IF;
3048: EXCEPTION
3049: WHEN fnd_api.g_exc_error THEN
3050: x_return_status := fnd_api.g_ret_sts_error;
3051: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3052: WHEN fnd_api.g_exc_unexpected_error THEN
3053: x_return_status := fnd_api.g_ret_sts_unexp_error;
3054: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3048: EXCEPTION
3049: WHEN fnd_api.g_exc_error THEN
3050: x_return_status := fnd_api.g_ret_sts_error;
3051: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3052: WHEN fnd_api.g_exc_unexpected_error THEN
3053: x_return_status := fnd_api.g_ret_sts_unexp_error;
3054: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3055: WHEN OTHERS THEN
3056: x_return_status := fnd_api.g_ret_sts_unexp_error;
3049: WHEN fnd_api.g_exc_error THEN
3050: x_return_status := fnd_api.g_ret_sts_error;
3051: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3052: WHEN fnd_api.g_exc_unexpected_error THEN
3053: x_return_status := fnd_api.g_ret_sts_unexp_error;
3054: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3055: WHEN OTHERS THEN
3056: x_return_status := fnd_api.g_ret_sts_unexp_error;
3057:
3052: WHEN fnd_api.g_exc_unexpected_error THEN
3053: x_return_status := fnd_api.g_ret_sts_unexp_error;
3054: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3055: WHEN OTHERS THEN
3056: x_return_status := fnd_api.g_ret_sts_unexp_error;
3057:
3058: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3059: fnd_msg_pub.add_exc_msg(g_pkg_name, 'Check_Overpick');
3060: END IF;
3180: l_return_status VARCHAR2(1);
3181: --For DB log
3182: l_debug NUMBER := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
3183: BEGIN
3184: x_return_status := fnd_api.g_ret_sts_success;
3185:
3186: --Resolve org_id and move_order_type from the passed transaction_temp_id
3187: SELECT mmtt.organization_id
3188: , mtrh.move_order_type
3339: print_debug('OVPK: x_max_quantity = ' || l_max_quantity_allowed);
3340: print_debug('OVPK: x_max_quantity2 = ' || l_max_quantity_allowed2);
3341: END IF;
3342:
3343: IF l_return_status = fnd_api.g_ret_sts_error THEN
3344: RAISE fnd_api.g_exc_error;
3345: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3346: RAISE fnd_api.g_exc_unexpected_error;
3347: END IF;
3340: print_debug('OVPK: x_max_quantity2 = ' || l_max_quantity_allowed2);
3341: END IF;
3342:
3343: IF l_return_status = fnd_api.g_ret_sts_error THEN
3344: RAISE fnd_api.g_exc_error;
3345: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3346: RAISE fnd_api.g_exc_unexpected_error;
3347: END IF;
3348: END IF;
3341: END IF;
3342:
3343: IF l_return_status = fnd_api.g_ret_sts_error THEN
3344: RAISE fnd_api.g_exc_error;
3345: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3346: RAISE fnd_api.g_exc_unexpected_error;
3347: END IF;
3348: END IF;
3349:
3342:
3343: IF l_return_status = fnd_api.g_ret_sts_error THEN
3344: RAISE fnd_api.g_exc_error;
3345: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3346: RAISE fnd_api.g_exc_unexpected_error;
3347: END IF;
3348: END IF;
3349:
3350: /*
3426:
3427: RETURN;
3428: END IF;
3429: EXCEPTION
3430: WHEN fnd_api.g_exc_error THEN
3431: x_return_status := fnd_api.g_ret_sts_error;
3432: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3433: WHEN fnd_api.g_exc_unexpected_error THEN
3434: x_return_status := fnd_api.g_ret_sts_unexp_error;
3427: RETURN;
3428: END IF;
3429: EXCEPTION
3430: WHEN fnd_api.g_exc_error THEN
3431: x_return_status := fnd_api.g_ret_sts_error;
3432: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3433: WHEN fnd_api.g_exc_unexpected_error THEN
3434: x_return_status := fnd_api.g_ret_sts_unexp_error;
3435: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3429: EXCEPTION
3430: WHEN fnd_api.g_exc_error THEN
3431: x_return_status := fnd_api.g_ret_sts_error;
3432: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3433: WHEN fnd_api.g_exc_unexpected_error THEN
3434: x_return_status := fnd_api.g_ret_sts_unexp_error;
3435: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3436: WHEN OTHERS THEN
3437: x_return_status := fnd_api.g_ret_sts_unexp_error;
3430: WHEN fnd_api.g_exc_error THEN
3431: x_return_status := fnd_api.g_ret_sts_error;
3432: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3433: WHEN fnd_api.g_exc_unexpected_error THEN
3434: x_return_status := fnd_api.g_ret_sts_unexp_error;
3435: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3436: WHEN OTHERS THEN
3437: x_return_status := fnd_api.g_ret_sts_unexp_error;
3438:
3433: WHEN fnd_api.g_exc_unexpected_error THEN
3434: x_return_status := fnd_api.g_ret_sts_unexp_error;
3435: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3436: WHEN OTHERS THEN
3437: x_return_status := fnd_api.g_ret_sts_unexp_error;
3438:
3439: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3440: fnd_msg_pub.add_exc_msg(g_pkg_name, 'Get_Overpick_Qty');
3441: END IF;
3528: --MUOM Fulfillemnt Project
3529: l_fulfill_base mtl_material_transactions_temp.fulfillment_base%TYPE;
3530:
3531: BEGIN
3532: x_return_status := fnd_api.g_ret_sts_success;
3533: x_check_overpick_passed := 'N';
3534:
3535: --Resolve org_id,transaction_quantity, move_order_line_id
3536: --from the transaction_temp_id
3605: print_debug('OVPK: l_max_qty_allowed2 = ' || l_max_qty_allowed2);
3606: print_debug('OVPK: x_other_mtlt2 = ' || l_other_mtlt2);
3607: END IF;
3608:
3609: IF x_return_status = fnd_api.g_ret_sts_error THEN
3610: RAISE fnd_api.g_exc_error;
3611: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
3612: RAISE fnd_api.g_exc_unexpected_error;
3613: END IF;
3606: print_debug('OVPK: x_other_mtlt2 = ' || l_other_mtlt2);
3607: END IF;
3608:
3609: IF x_return_status = fnd_api.g_ret_sts_error THEN
3610: RAISE fnd_api.g_exc_error;
3611: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
3612: RAISE fnd_api.g_exc_unexpected_error;
3613: END IF;
3614:
3607: END IF;
3608:
3609: IF x_return_status = fnd_api.g_ret_sts_error THEN
3610: RAISE fnd_api.g_exc_error;
3611: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
3612: RAISE fnd_api.g_exc_unexpected_error;
3613: END IF;
3614:
3615: --Overpicked quantity is passed as one of the params to this procedure
3608:
3609: IF x_return_status = fnd_api.g_ret_sts_error THEN
3610: RAISE fnd_api.g_exc_error;
3611: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
3612: RAISE fnd_api.g_exc_unexpected_error;
3613: END IF;
3614:
3615: --Overpicked quantity is passed as one of the params to this procedure
3616: --so no need of any code here to determine overpicked quantity
3679: print_debug('OVPK: x_return_status = ' || x_return_status);
3680: print_debug('OVPK: x_att = ' || x_att);
3681: END IF;
3682:
3683: IF x_return_status = fnd_api.g_ret_sts_error THEN
3684: RAISE fnd_api.g_exc_error;
3685: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
3686: RAISE fnd_api.g_exc_unexpected_error;
3687: END IF;*/
3680: print_debug('OVPK: x_att = ' || x_att);
3681: END IF;
3682:
3683: IF x_return_status = fnd_api.g_ret_sts_error THEN
3684: RAISE fnd_api.g_exc_error;
3685: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
3686: RAISE fnd_api.g_exc_unexpected_error;
3687: END IF;*/
3688:
3681: END IF;
3682:
3683: IF x_return_status = fnd_api.g_ret_sts_error THEN
3684: RAISE fnd_api.g_exc_error;
3685: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
3686: RAISE fnd_api.g_exc_unexpected_error;
3687: END IF;*/
3688:
3689: --comment out the if condition and else part since system do att check already
3682:
3683: IF x_return_status = fnd_api.g_ret_sts_error THEN
3684: RAISE fnd_api.g_exc_error;
3685: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
3686: RAISE fnd_api.g_exc_unexpected_error;
3687: END IF;*/
3688:
3689: --comment out the if condition and else part since system do att check already
3690: --IF (x_att >= p_overpicked_qty) THEN
3699:
3700: fnd_message.set_name('INV', 'INV_OVERSHIP_TOLERANCE');
3701: x_ovpk_error_code := 3;
3702: fnd_msg_pub.ADD;
3703: RAISE fnd_api.g_exc_error;
3704: ELSIF (l_max_qty_allowed2 <> -1
3705: AND (l_this_alloc2 + p_overpicked_qty2 - l_other_mtlt2) > l_max_qty_allowed2) AND l_fulfill_base='S' THEN
3706: -- Show ERROR : pickedQty is not within overship tolerance level
3707: IF (l_debug = 1) THEN
3711:
3712: fnd_message.set_name('INV', 'INV_OVERSHIP_TOLERANCE');
3713: x_ovpk_error_code := 3;
3714: fnd_msg_pub.ADD;
3715: RAISE fnd_api.g_exc_error;
3716: ELSE
3717: --Allow the user to overpick
3718: x_check_overpick_passed := 'Y';
3719:
3745:
3746: fnd_message.set_name('INV', 'INV_LACK_MTRL_TO_OVERPICK');
3747: x_ovpk_error_code := 2;
3748: fnd_msg_pub.ADD;
3749: RAISE fnd_api.g_exc_error;
3750: END IF;*/
3751: ELSE
3752: --ERROR Overpicking is not allowed in this org and for this Move Order type
3753: IF l_debug = 1 THEN
3757:
3758: fnd_message.set_name('INV', 'INV_OVERPICK_NOT_ALLOWED');
3759: x_ovpk_error_code := 1;
3760: fnd_msg_pub.ADD;
3761: RAISE fnd_api.g_exc_error;
3762: END IF;
3763: EXCEPTION
3764: WHEN fnd_api.g_exc_error THEN
3765: x_return_status := fnd_api.g_ret_sts_error;
3760: fnd_msg_pub.ADD;
3761: RAISE fnd_api.g_exc_error;
3762: END IF;
3763: EXCEPTION
3764: WHEN fnd_api.g_exc_error THEN
3765: x_return_status := fnd_api.g_ret_sts_error;
3766: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3767: WHEN fnd_api.g_exc_unexpected_error THEN
3768: x_return_status := fnd_api.g_ret_sts_unexp_error;
3761: RAISE fnd_api.g_exc_error;
3762: END IF;
3763: EXCEPTION
3764: WHEN fnd_api.g_exc_error THEN
3765: x_return_status := fnd_api.g_ret_sts_error;
3766: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3767: WHEN fnd_api.g_exc_unexpected_error THEN
3768: x_return_status := fnd_api.g_ret_sts_unexp_error;
3769: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3763: EXCEPTION
3764: WHEN fnd_api.g_exc_error THEN
3765: x_return_status := fnd_api.g_ret_sts_error;
3766: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3767: WHEN fnd_api.g_exc_unexpected_error THEN
3768: x_return_status := fnd_api.g_ret_sts_unexp_error;
3769: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3770: WHEN OTHERS THEN
3771: x_return_status := fnd_api.g_ret_sts_unexp_error;
3764: WHEN fnd_api.g_exc_error THEN
3765: x_return_status := fnd_api.g_ret_sts_error;
3766: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3767: WHEN fnd_api.g_exc_unexpected_error THEN
3768: x_return_status := fnd_api.g_ret_sts_unexp_error;
3769: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3770: WHEN OTHERS THEN
3771: x_return_status := fnd_api.g_ret_sts_unexp_error;
3772:
3767: WHEN fnd_api.g_exc_unexpected_error THEN
3768: x_return_status := fnd_api.g_ret_sts_unexp_error;
3769: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
3770: WHEN OTHERS THEN
3771: x_return_status := fnd_api.g_ret_sts_unexp_error;
3772:
3773: IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3774: fnd_msg_pub.add_exc_msg(g_pkg_name, 'Check_Overpick');
3775: END IF;