72: WHERE reservation_id = mr.reservation_id)
73: ORDER BY mr.requirement_date;
74: EXCEPTION
75: WHEN OTHERS THEN
76: IF g_debug <= gme_debug.g_log_unexpected THEN
77: gme_debug.put_line ( 'When others exception in '
78: || g_pkg_name
79: || '.'
80: || l_api_name
73: ORDER BY mr.requirement_date;
74: EXCEPTION
75: WHEN OTHERS THEN
76: IF g_debug <= gme_debug.g_log_unexpected THEN
77: gme_debug.put_line ( 'When others exception in '
78: || g_pkg_name
79: || '.'
80: || l_api_name
81: || ' Error is '
115: AND (i.lot_control_code < 2
116: OR i.lot_control_code > 1 AND i.lot_divisible_flag = 'Y')
117: ORDER BY d.line_no;
118: BEGIN
119: IF g_debug <= gme_debug.g_log_procedure THEN
120: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
121: || l_api_name);
122: END IF;
123:
116: OR i.lot_control_code > 1 AND i.lot_divisible_flag = 'Y')
117: ORDER BY d.line_no;
118: BEGIN
119: IF g_debug <= gme_debug.g_log_procedure THEN
120: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
121: || l_api_name);
122: END IF;
123:
124: x_return_status := fnd_api.g_ret_sts_success;
142: END IF;
143: ELSE
144: l_resv_qty := l_mtl_dtl_rec.plan_qty;
145: END IF;
146: IF (g_debug <= gme_debug.g_log_unexpected) THEN
147: gme_debug.put_line ( g_pkg_name
148: || '.'
149: || l_api_name
150: || 'material_detail_id:'
143: ELSE
144: l_resv_qty := l_mtl_dtl_rec.plan_qty;
145: END IF;
146: IF (g_debug <= gme_debug.g_log_unexpected) THEN
147: gme_debug.put_line ( g_pkg_name
148: || '.'
149: || l_api_name
150: || 'material_detail_id:'
151: || l_mtl_dtl_rec.material_detail_id
157: create_material_reservation (p_matl_dtl_rec => l_mtl_dtl_rec
158: ,p_resv_qty => l_resv_qty
159: ,x_return_status => l_return_status);
160:
161: IF (g_debug <= gme_debug.g_log_unexpected) THEN
162: gme_debug.put_line ( g_pkg_name
163: || '.'
164: || l_api_name
165: || ' create_material_reservation returns status of '
158: ,p_resv_qty => l_resv_qty
159: ,x_return_status => l_return_status);
160:
161: IF (g_debug <= gme_debug.g_log_unexpected) THEN
162: gme_debug.put_line ( g_pkg_name
163: || '.'
164: || l_api_name
165: || ' create_material_reservation returns status of '
166: || l_return_status);
171: END IF;
172: END IF;
173: END LOOP;
174:
175: IF g_debug <= gme_debug.g_log_procedure THEN
176: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
177: END IF;
178: EXCEPTION
179: WHEN get_open_qty_err THEN
172: END IF;
173: END LOOP;
174:
175: IF g_debug <= gme_debug.g_log_procedure THEN
176: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
177: END IF;
178: EXCEPTION
179: WHEN get_open_qty_err THEN
180: x_return_status := l_return_status;
180: x_return_status := l_return_status;
181: WHEN line_resvn_err THEN
182: x_return_status := l_return_status;
183: WHEN OTHERS THEN
184: IF g_debug <= gme_debug.g_log_unexpected THEN
185: gme_debug.put_line ( 'When others exception in '
186: || g_pkg_name
187: || '.'
188: || l_api_name
181: WHEN line_resvn_err THEN
182: x_return_status := l_return_status;
183: WHEN OTHERS THEN
184: IF g_debug <= gme_debug.g_log_unexpected THEN
185: gme_debug.put_line ( 'When others exception in '
186: || g_pkg_name
187: || '.'
188: || l_api_name
189: || ' Error is '
218: invalid_mtl_for_rsrv EXCEPTION;
219: create_resvn_err EXCEPTION;
220:
221: BEGIN
222: IF g_debug <= gme_debug.g_log_procedure THEN
223: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
224: || l_api_name);
225: gme_debug.put_line ('input value p_resv_qty => ' || p_resv_qty);
226: gme_debug.put_line ('input value p_sec_resv_qty => ' || p_sec_resv_qty);
219: create_resvn_err EXCEPTION;
220:
221: BEGIN
222: IF g_debug <= gme_debug.g_log_procedure THEN
223: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
224: || l_api_name);
225: gme_debug.put_line ('input value p_resv_qty => ' || p_resv_qty);
226: gme_debug.put_line ('input value p_sec_resv_qty => ' || p_sec_resv_qty);
227: gme_debug.put_line ('input value plan_qty => ' || p_matl_dtl_rec.plan_qty);
221: BEGIN
222: IF g_debug <= gme_debug.g_log_procedure THEN
223: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
224: || l_api_name);
225: gme_debug.put_line ('input value p_resv_qty => ' || p_resv_qty);
226: gme_debug.put_line ('input value p_sec_resv_qty => ' || p_sec_resv_qty);
227: gme_debug.put_line ('input value plan_qty => ' || p_matl_dtl_rec.plan_qty);
228: gme_debug.put_line ('input value resv_um => ' || p_resv_um );
229: gme_debug.put_line ('input value release_type => ' || p_matl_dtl_rec.release_type );
222: IF g_debug <= gme_debug.g_log_procedure THEN
223: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
224: || l_api_name);
225: gme_debug.put_line ('input value p_resv_qty => ' || p_resv_qty);
226: gme_debug.put_line ('input value p_sec_resv_qty => ' || p_sec_resv_qty);
227: gme_debug.put_line ('input value plan_qty => ' || p_matl_dtl_rec.plan_qty);
228: gme_debug.put_line ('input value resv_um => ' || p_resv_um );
229: gme_debug.put_line ('input value release_type => ' || p_matl_dtl_rec.release_type );
230: END IF;
223: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
224: || l_api_name);
225: gme_debug.put_line ('input value p_resv_qty => ' || p_resv_qty);
226: gme_debug.put_line ('input value p_sec_resv_qty => ' || p_sec_resv_qty);
227: gme_debug.put_line ('input value plan_qty => ' || p_matl_dtl_rec.plan_qty);
228: gme_debug.put_line ('input value resv_um => ' || p_resv_um );
229: gme_debug.put_line ('input value release_type => ' || p_matl_dtl_rec.release_type );
230: END IF;
231:
224: || l_api_name);
225: gme_debug.put_line ('input value p_resv_qty => ' || p_resv_qty);
226: gme_debug.put_line ('input value p_sec_resv_qty => ' || p_sec_resv_qty);
227: gme_debug.put_line ('input value plan_qty => ' || p_matl_dtl_rec.plan_qty);
228: gme_debug.put_line ('input value resv_um => ' || p_resv_um );
229: gme_debug.put_line ('input value release_type => ' || p_matl_dtl_rec.release_type );
230: END IF;
231:
232: x_return_status := fnd_api.g_ret_sts_success;
225: gme_debug.put_line ('input value p_resv_qty => ' || p_resv_qty);
226: gme_debug.put_line ('input value p_sec_resv_qty => ' || p_sec_resv_qty);
227: gme_debug.put_line ('input value plan_qty => ' || p_matl_dtl_rec.plan_qty);
228: gme_debug.put_line ('input value resv_um => ' || p_resv_um );
229: gme_debug.put_line ('input value release_type => ' || p_matl_dtl_rec.release_type );
230: END IF;
231:
232: x_return_status := fnd_api.g_ret_sts_success;
233:
293: l_rsv_rec.supply_source_line_id := NULL;
294: l_rsv_rec.supply_source_name := NULL;
295: l_rsv_rec.supply_source_line_detail := NULL;
296:
297: IF (g_debug <= gme_debug.g_log_statement) THEN
298: gme_debug.put_line ('Calling inv_reservation_pub.create_reservation');
299: END IF;
300:
301: -- nsinghi Bug5176319. Commented p_force_reservation_flag parameter. As per inv team, onhand could be -ve
294: l_rsv_rec.supply_source_name := NULL;
295: l_rsv_rec.supply_source_line_detail := NULL;
296:
297: IF (g_debug <= gme_debug.g_log_statement) THEN
298: gme_debug.put_line ('Calling inv_reservation_pub.create_reservation');
299: END IF;
300:
301: -- nsinghi Bug5176319. Commented p_force_reservation_flag parameter. As per inv team, onhand could be -ve
302: -- before reservation, and hence this parameter should not be used.
316: ,x_quantity_reserved => l_qty_reserved
317: ,x_reservation_id => l_reservation_id
318: ,p_partial_rsv_exists => TRUE);
319:
320: IF (g_debug <= gme_debug.g_log_unexpected) THEN
321: gme_debug.put_line ( g_pkg_name
322: || '.'
323: || l_api_name
324: || ' inv_reservation_pub.create_reservation returns status of '
317: ,x_reservation_id => l_reservation_id
318: ,p_partial_rsv_exists => TRUE);
319:
320: IF (g_debug <= gme_debug.g_log_unexpected) THEN
321: gme_debug.put_line ( g_pkg_name
322: || '.'
323: || l_api_name
324: || ' inv_reservation_pub.create_reservation returns status of '
325: || l_return_status
332: (fnd_api.g_ret_sts_error, fnd_api.g_ret_sts_unexp_error) ) THEN
333: RAISE create_resvn_err;
334: END IF;
335:
336: IF g_debug <= gme_debug.g_log_procedure THEN
337: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
338: END IF;
339: EXCEPTION
340: WHEN create_resvn_err THEN
333: RAISE create_resvn_err;
334: END IF;
335:
336: IF g_debug <= gme_debug.g_log_procedure THEN
337: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
338: END IF;
339: EXCEPTION
340: WHEN create_resvn_err THEN
341: IF (g_debug <= gme_debug.g_log_error) THEN
337: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
338: END IF;
339: EXCEPTION
340: WHEN create_resvn_err THEN
341: IF (g_debug <= gme_debug.g_log_error) THEN
342: gme_debug.put_line
343: ( 'inv_reservation_pub.create_reservation returns '
344: || l_return_status);
345: gme_debug.put_line ('error message is ' || l_msg_data);
338: END IF;
339: EXCEPTION
340: WHEN create_resvn_err THEN
341: IF (g_debug <= gme_debug.g_log_error) THEN
342: gme_debug.put_line
343: ( 'inv_reservation_pub.create_reservation returns '
344: || l_return_status);
345: gme_debug.put_line ('error message is ' || l_msg_data);
346: END IF;
341: IF (g_debug <= gme_debug.g_log_error) THEN
342: gme_debug.put_line
343: ( 'inv_reservation_pub.create_reservation returns '
344: || l_return_status);
345: gme_debug.put_line ('error message is ' || l_msg_data);
346: END IF;
347:
348: x_return_status := l_return_status;
349: --Bug#4604943 just pass the actual return status from validate procedure
349: --Bug#4604943 just pass the actual return status from validate procedure
350: WHEN invalid_mtl_for_rsrv THEN
351: x_return_status := l_return_status;
352: WHEN OTHERS THEN
353: IF g_debug <= gme_debug.g_log_unexpected THEN
354: gme_debug.put_line ( 'When others exception in '
355: || g_pkg_name
356: || '.'
357: || l_api_name
350: WHEN invalid_mtl_for_rsrv THEN
351: x_return_status := l_return_status;
352: WHEN OTHERS THEN
353: IF g_debug <= gme_debug.g_log_unexpected THEN
354: gme_debug.put_line ( 'When others exception in '
355: || g_pkg_name
356: || '.'
357: || l_api_name
358: || ' Error is '
391: WHERE reservation_id = mr.reservation_id)
392: ORDER BY mr.requirement_date, mr.reservation_id; -- nsinghi bug#5176319. Add mr.reservation_id in order by clause.
393: error_dispense_mat EXCEPTION;
394: BEGIN
395: IF g_debug <= gme_debug.g_log_procedure THEN
396: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
397: || l_api_name);
398: END IF;
399:
392: ORDER BY mr.requirement_date, mr.reservation_id; -- nsinghi bug#5176319. Add mr.reservation_id in order by clause.
393: error_dispense_mat EXCEPTION;
394: BEGIN
395: IF g_debug <= gme_debug.g_log_procedure THEN
396: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
397: || l_api_name);
398: END IF;
399:
400: x_return_status := fnd_api.g_ret_sts_success;
422: BULK COLLECT INTO x_reservations_tbl;
423:
424: CLOSE cur_reservations;
425: END IF ;
426: IF g_debug <= gme_debug.g_log_procedure THEN
427: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
428: END IF;
429: EXCEPTION
430: WHEN error_dispense_mat THEN
423:
424: CLOSE cur_reservations;
425: END IF ;
426: IF g_debug <= gme_debug.g_log_procedure THEN
427: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
428: END IF;
429: EXCEPTION
430: WHEN error_dispense_mat THEN
431: x_return_status := l_return_status;
429: EXCEPTION
430: WHEN error_dispense_mat THEN
431: x_return_status := l_return_status;
432: WHEN OTHERS THEN
433: IF g_debug <= gme_debug.g_log_unexpected THEN
434: gme_debug.put_line ( 'When others exception in '
435: || g_pkg_name
436: || '.'
437: || l_api_name
430: WHEN error_dispense_mat THEN
431: x_return_status := l_return_status;
432: WHEN OTHERS THEN
433: IF g_debug <= gme_debug.g_log_unexpected THEN
434: gme_debug.put_line ( 'When others exception in '
435: || g_pkg_name
436: || '.'
437: || l_api_name
438: || ' Error is '
453: l_eff_locator_control NUMBER;
454: l_return_status VARCHAR2 (10);
455: l_api_name CONSTANT VARCHAR2 (30) := 'reservation_fully_specified';
456: BEGIN
457: IF g_debug <= gme_debug.g_log_procedure THEN
458: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
459: || l_api_name);
460: END IF;
461:
454: l_return_status VARCHAR2 (10);
455: l_api_name CONSTANT VARCHAR2 (30) := 'reservation_fully_specified';
456: BEGIN
457: IF g_debug <= gme_debug.g_log_procedure THEN
458: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
459: || l_api_name);
460: END IF;
461:
462: IF (p_reservation_rec.subinventory_code IS NOT NULL) THEN
482: OR p_reservation_rec.lot_number IS NOT NULL) THEN
483: x_reservation_type := 2; -- its PLR
484: END IF;
485:
486: IF g_debug <= gme_debug.g_log_procedure THEN
487: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
488: END IF;
489:
490: RETURN x_reservation_type;
483: x_reservation_type := 2; -- its PLR
484: END IF;
485:
486: IF g_debug <= gme_debug.g_log_procedure THEN
487: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
488: END IF;
489:
490: RETURN x_reservation_type;
491: EXCEPTION
489:
490: RETURN x_reservation_type;
491: EXCEPTION
492: WHEN OTHERS THEN
493: IF g_debug <= gme_debug.g_log_unexpected THEN
494: gme_debug.put_line ( 'When others exception in '
495: || g_pkg_name
496: || '.'
497: || l_api_name
490: RETURN x_reservation_type;
491: EXCEPTION
492: WHEN OTHERS THEN
493: IF g_debug <= gme_debug.g_log_unexpected THEN
494: gme_debug.put_line ( 'When others exception in '
495: || g_pkg_name
496: || '.'
497: || l_api_name
498: || ' Error is '
513: IS
514: l_api_name CONSTANT VARCHAR2 (30) := 'convert_partial_to_dlr';
515: l_eff_locator_control NUMBER;
516: BEGIN
517: IF g_debug <= gme_debug.g_log_procedure THEN
518: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
519: || l_api_name);
520: END IF;
521:
514: l_api_name CONSTANT VARCHAR2 (30) := 'convert_partial_to_dlr';
515: l_eff_locator_control NUMBER;
516: BEGIN
517: IF g_debug <= gme_debug.g_log_procedure THEN
518: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
519: || l_api_name);
520: END IF;
521:
522: x_return_status := fnd_api.g_ret_sts_success;
566: NULL;
567: END IF;
568: EXCEPTION
569: WHEN OTHERS THEN
570: IF g_debug <= gme_debug.g_log_unexpected THEN
571: gme_debug.put_line ( 'When others exception in '
572: || g_pkg_name
573: || '.'
574: || l_api_name
567: END IF;
568: EXCEPTION
569: WHEN OTHERS THEN
570: IF g_debug <= gme_debug.g_log_unexpected THEN
571: gme_debug.put_line ( 'When others exception in '
572: || g_pkg_name
573: || '.'
574: || l_api_name
575: || ' Error is '
599: AND i.organization_id = d.organization_id
600: AND i.inventory_item_id = d.inventory_item_id
601: AND i.reservable_type = 1;
602: BEGIN
603: IF g_debug <= gme_debug.g_log_procedure THEN
604: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
605: || l_api_name);
606: END IF;
607:
600: AND i.inventory_item_id = d.inventory_item_id
601: AND i.reservable_type = 1;
602: BEGIN
603: IF g_debug <= gme_debug.g_log_procedure THEN
604: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
605: || l_api_name);
606: END IF;
607:
608: x_return_status := fnd_api.g_ret_sts_success;
618: RAISE delete_resvn_error;
619: END IF;
620: END LOOP;
621:
622: IF g_debug <= gme_debug.g_log_procedure THEN
623: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
624: END IF;
625: EXCEPTION
626: WHEN delete_resvn_error THEN
619: END IF;
620: END LOOP;
621:
622: IF g_debug <= gme_debug.g_log_procedure THEN
623: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
624: END IF;
625: EXCEPTION
626: WHEN delete_resvn_error THEN
627: x_return_status := l_return_status;
625: EXCEPTION
626: WHEN delete_resvn_error THEN
627: x_return_status := l_return_status;
628: WHEN OTHERS THEN
629: IF g_debug <= gme_debug.g_log_unexpected THEN
630: gme_debug.put_line ( 'When others exception in '
631: || g_pkg_name
632: || '.'
633: || l_api_name
626: WHEN delete_resvn_error THEN
627: x_return_status := l_return_status;
628: WHEN OTHERS THEN
629: IF g_debug <= gme_debug.g_log_unexpected THEN
630: gme_debug.put_line ( 'When others exception in '
631: || g_pkg_name
632: || '.'
633: || l_api_name
634: || ' Error is '
649: l_return_status VARCHAR2 (1);
650: l_rsv_tbl gme_common_pvt.reservations_tab;
651: del_resvn_error EXCEPTION;
652: BEGIN
653: IF g_debug <= gme_debug.g_log_procedure THEN
654: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
655: || l_api_name);
656: END IF;
657:
650: l_rsv_tbl gme_common_pvt.reservations_tab;
651: del_resvn_error EXCEPTION;
652: BEGIN
653: IF g_debug <= gme_debug.g_log_procedure THEN
654: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
655: || l_api_name);
656: END IF;
657:
658: IF (g_debug <= gme_debug.g_log_statement) THEN
654: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
655: || l_api_name);
656: END IF;
657:
658: IF (g_debug <= gme_debug.g_log_statement) THEN
659: gme_debug.put_line ('p_organization_id = ' || p_organization_id);
660: gme_debug.put_line ('p_batch_id = ' || p_batch_id);
661: gme_debug.put_line ('p_material_detail_id = ' || p_material_detail_id);
662: END IF;
655: || l_api_name);
656: END IF;
657:
658: IF (g_debug <= gme_debug.g_log_statement) THEN
659: gme_debug.put_line ('p_organization_id = ' || p_organization_id);
660: gme_debug.put_line ('p_batch_id = ' || p_batch_id);
661: gme_debug.put_line ('p_material_detail_id = ' || p_material_detail_id);
662: END IF;
663:
656: END IF;
657:
658: IF (g_debug <= gme_debug.g_log_statement) THEN
659: gme_debug.put_line ('p_organization_id = ' || p_organization_id);
660: gme_debug.put_line ('p_batch_id = ' || p_batch_id);
661: gme_debug.put_line ('p_material_detail_id = ' || p_material_detail_id);
662: END IF;
663:
664: x_return_status := fnd_api.g_ret_sts_success;
657:
658: IF (g_debug <= gme_debug.g_log_statement) THEN
659: gme_debug.put_line ('p_organization_id = ' || p_organization_id);
660: gme_debug.put_line ('p_batch_id = ' || p_batch_id);
661: gme_debug.put_line ('p_material_detail_id = ' || p_material_detail_id);
662: END IF;
663:
664: x_return_status := fnd_api.g_ret_sts_success;
665: gme_reservations_pvt.get_material_reservations
682: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
683: RAISE del_resvn_error;
684: END IF;
685:
686: IF g_debug <= gme_debug.g_log_procedure THEN
687: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
688: END IF;
689: EXCEPTION
690: WHEN del_resvn_error THEN
683: RAISE del_resvn_error;
684: END IF;
685:
686: IF g_debug <= gme_debug.g_log_procedure THEN
687: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
688: END IF;
689: EXCEPTION
690: WHEN del_resvn_error THEN
691: x_return_status := l_return_status;
689: EXCEPTION
690: WHEN del_resvn_error THEN
691: x_return_status := l_return_status;
692: WHEN OTHERS THEN
693: IF g_debug <= gme_debug.g_log_unexpected THEN
694: gme_debug.put_line ( 'When others exception in '
695: || g_pkg_name
696: || '.'
697: || l_api_name
690: WHEN del_resvn_error THEN
691: x_return_status := l_return_status;
692: WHEN OTHERS THEN
693: IF g_debug <= gme_debug.g_log_unexpected THEN
694: gme_debug.put_line ( 'When others exception in '
695: || g_pkg_name
696: || '.'
697: || l_api_name
698: || ' Error is '
714: l_rsv_rec inv_reservation_global.mtl_reservation_rec_type;
715: l_serial_number inv_reservation_global.serial_number_tbl_type;
716: del_resvn_error EXCEPTION;
717: BEGIN
718: IF g_debug <= gme_debug.g_log_procedure THEN
719: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
720: || l_api_name);
721: END IF;
722:
715: l_serial_number inv_reservation_global.serial_number_tbl_type;
716: del_resvn_error EXCEPTION;
717: BEGIN
718: IF g_debug <= gme_debug.g_log_procedure THEN
719: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
720: || l_api_name);
721: END IF;
722:
723: IF (g_debug <= gme_debug.g_log_statement) THEN
719: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
720: || l_api_name);
721: END IF;
722:
723: IF (g_debug <= gme_debug.g_log_statement) THEN
724: gme_debug.put_line ('p_reservation_id = ' || p_reservation_id);
725: END IF;
726:
727: x_return_status := fnd_api.g_ret_sts_success;
720: || l_api_name);
721: END IF;
722:
723: IF (g_debug <= gme_debug.g_log_statement) THEN
724: gme_debug.put_line ('p_reservation_id = ' || p_reservation_id);
725: END IF;
726:
727: x_return_status := fnd_api.g_ret_sts_success;
728: l_rsv_rec.reservation_id := p_reservation_id;
726:
727: x_return_status := fnd_api.g_ret_sts_success;
728: l_rsv_rec.reservation_id := p_reservation_id;
729:
730: IF (g_debug <= gme_debug.g_log_statement) THEN
731: gme_debug.put_line ('Calling inv_reservation_pub.delete_reservation');
732: END IF;
733:
734: inv_reservation_pub.delete_reservation
727: x_return_status := fnd_api.g_ret_sts_success;
728: l_rsv_rec.reservation_id := p_reservation_id;
729:
730: IF (g_debug <= gme_debug.g_log_statement) THEN
731: gme_debug.put_line ('Calling inv_reservation_pub.delete_reservation');
732: END IF;
733:
734: inv_reservation_pub.delete_reservation
735: (p_api_version_number => 1.0
743: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
744: RAISE del_resvn_error;
745: END IF;
746:
747: IF g_debug <= gme_debug.g_log_procedure THEN
748: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
749: END IF;
750: EXCEPTION
751: WHEN del_resvn_error THEN
744: RAISE del_resvn_error;
745: END IF;
746:
747: IF g_debug <= gme_debug.g_log_procedure THEN
748: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
749: END IF;
750: EXCEPTION
751: WHEN del_resvn_error THEN
752: IF (g_debug <= gme_debug.g_log_error) THEN
748: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
749: END IF;
750: EXCEPTION
751: WHEN del_resvn_error THEN
752: IF (g_debug <= gme_debug.g_log_error) THEN
753: gme_debug.put_line
754: ( 'inv_reservation_pub.delete_reservation returns '
755: || l_return_status);
756: gme_debug.put_line ('error message is ' || l_msg_data);
749: END IF;
750: EXCEPTION
751: WHEN del_resvn_error THEN
752: IF (g_debug <= gme_debug.g_log_error) THEN
753: gme_debug.put_line
754: ( 'inv_reservation_pub.delete_reservation returns '
755: || l_return_status);
756: gme_debug.put_line ('error message is ' || l_msg_data);
757: END IF;
752: IF (g_debug <= gme_debug.g_log_error) THEN
753: gme_debug.put_line
754: ( 'inv_reservation_pub.delete_reservation returns '
755: || l_return_status);
756: gme_debug.put_line ('error message is ' || l_msg_data);
757: END IF;
758:
759: x_return_status := l_return_status;
760: WHEN OTHERS THEN
757: END IF;
758:
759: x_return_status := l_return_status;
760: WHEN OTHERS THEN
761: IF g_debug <= gme_debug.g_log_unexpected THEN
762: gme_debug.put_line ( 'When others exception in '
763: || g_pkg_name
764: || '.'
765: || l_api_name
758:
759: x_return_status := l_return_status;
760: WHEN OTHERS THEN
761: IF g_debug <= gme_debug.g_log_unexpected THEN
762: gme_debug.put_line ( 'When others exception in '
763: || g_pkg_name
764: || '.'
765: || l_api_name
766: || ' Error is '
834: fnd_message.set_token ('ITEM_NO', l_item_no);
835: fnd_message.set_token ('FROM_UOM', l_from_uom);
836: fnd_message.set_token ('TO_UOM', l_to_uom);
837: WHEN OTHERS THEN
838: IF g_debug <= gme_debug.g_log_unexpected THEN
839: gme_debug.put_line ( 'When others exception in '
840: || g_pkg_name
841: || '.'
842: || l_api_name
835: fnd_message.set_token ('FROM_UOM', l_from_uom);
836: fnd_message.set_token ('TO_UOM', l_to_uom);
837: WHEN OTHERS THEN
838: IF g_debug <= gme_debug.g_log_unexpected THEN
839: gme_debug.put_line ( 'When others exception in '
840: || g_pkg_name
841: || '.'
842: || l_api_name
843: || ' Error is '
875:
876: matl_fetch_error EXCEPTION;
877: get_resv_qty_error EXCEPTION;
878: BEGIN
879: IF g_debug <= gme_debug.g_log_procedure THEN
880: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
881: || l_api_name);
882: END IF;
883:
876: matl_fetch_error EXCEPTION;
877: get_resv_qty_error EXCEPTION;
878: BEGIN
879: IF g_debug <= gme_debug.g_log_procedure THEN
880: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
881: || l_api_name);
882: END IF;
883:
884: x_return_status := fnd_api.g_ret_sts_success;
915:
916: x_reserved_qty := x_reserved_qty + l_temp_qty;
917: END LOOP;
918:
919: IF g_debug <= gme_debug.g_log_procedure THEN
920: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
921: END IF;
922: EXCEPTION
923: WHEN matl_fetch_error THEN
916: x_reserved_qty := x_reserved_qty + l_temp_qty;
917: END LOOP;
918:
919: IF g_debug <= gme_debug.g_log_procedure THEN
920: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
921: END IF;
922: EXCEPTION
923: WHEN matl_fetch_error THEN
924: x_return_status := fnd_api.g_ret_sts_error;
924: x_return_status := fnd_api.g_ret_sts_error;
925: WHEN get_resv_qty_error THEN
926: x_return_status := l_return_status;
927: WHEN OTHERS THEN
928: IF g_debug <= gme_debug.g_log_unexpected THEN
929: gme_debug.put_line ( 'When others exception in '
930: || g_pkg_name
931: || '.'
932: || l_api_name
925: WHEN get_resv_qty_error THEN
926: x_return_status := l_return_status;
927: WHEN OTHERS THEN
928: IF g_debug <= gme_debug.g_log_unexpected THEN
929: gme_debug.put_line ( 'When others exception in '
930: || g_pkg_name
931: || '.'
932: || l_api_name
933: || ' Error is '
952: l_rsv_rec inv_reservation_global.mtl_reservation_rec_type;
953: l_serial_number inv_reservation_global.serial_number_tbl_type;
954: relieve_resvn_error EXCEPTION;
955: BEGIN
956: IF g_debug <= gme_debug.g_log_procedure THEN
957: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
958: || l_api_name);
959: END IF;
960:
953: l_serial_number inv_reservation_global.serial_number_tbl_type;
954: relieve_resvn_error EXCEPTION;
955: BEGIN
956: IF g_debug <= gme_debug.g_log_procedure THEN
957: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
958: || l_api_name);
959: END IF;
960:
961: x_return_status := fnd_api.g_ret_sts_success;
960:
961: x_return_status := fnd_api.g_ret_sts_success;
962: l_rsv_rec.reservation_id := p_reservation_id;
963:
964: IF g_debug <= gme_debug.g_log_statement THEN
965: gme_debug.put_line
966: ( g_pkg_name
967: || '.'
968: || l_api_name
961: x_return_status := fnd_api.g_ret_sts_success;
962: l_rsv_rec.reservation_id := p_reservation_id;
963:
964: IF g_debug <= gme_debug.g_log_statement THEN
965: gme_debug.put_line
966: ( g_pkg_name
967: || '.'
968: || l_api_name
969: || ':Calling inv_reservation_pub.relieve_reservation with reservation_id = '
985: ,p_validation_flag => fnd_api.g_true
986: ,x_primary_relieved_quantity => l_prim_relieve_qty
987: ,x_primary_remain_quantity => l_prim_remain_qty);
988:
989: IF g_debug <= gme_debug.g_log_statement THEN
990: gme_debug.put_line
991: ( g_pkg_name
992: || '.'
993: || l_api_name
986: ,x_primary_relieved_quantity => l_prim_relieve_qty
987: ,x_primary_remain_quantity => l_prim_remain_qty);
988:
989: IF g_debug <= gme_debug.g_log_statement THEN
990: gme_debug.put_line
991: ( g_pkg_name
992: || '.'
993: || l_api_name
994: || 'Return status from inv_reservation_pub.relieve_reservation is '
992: || '.'
993: || l_api_name
994: || 'Return status from inv_reservation_pub.relieve_reservation is '
995: || l_return_status);
996: gme_debug.put_line ( g_pkg_name
997: || '.'
998: || l_api_name
999: || 'Error is :'
1000: || l_msg_data);
1003: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
1004: RAISE relieve_resvn_error;
1005: END IF;
1006:
1007: IF g_debug <= gme_debug.g_log_procedure THEN
1008: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1009: END IF;
1010: EXCEPTION
1011: WHEN relieve_resvn_error THEN
1004: RAISE relieve_resvn_error;
1005: END IF;
1006:
1007: IF g_debug <= gme_debug.g_log_procedure THEN
1008: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1009: END IF;
1010: EXCEPTION
1011: WHEN relieve_resvn_error THEN
1012: x_return_status := l_return_status;
1010: EXCEPTION
1011: WHEN relieve_resvn_error THEN
1012: x_return_status := l_return_status;
1013: WHEN OTHERS THEN
1014: IF g_debug <= gme_debug.g_log_unexpected THEN
1015: gme_debug.put_line ( 'When others exception in '
1016: || g_pkg_name
1017: || '.'
1018: || l_api_name
1011: WHEN relieve_resvn_error THEN
1012: x_return_status := l_return_status;
1013: WHEN OTHERS THEN
1014: IF g_debug <= gme_debug.g_log_unexpected THEN
1015: gme_debug.put_line ( 'When others exception in '
1016: || g_pkg_name
1017: || '.'
1018: || l_api_name
1019: || ' Error is '
1046: l_serial_number inv_reservation_global.serial_number_tbl_type;
1047: update_resvn_error EXCEPTION;
1048: query_resvn_error EXCEPTION;
1049: BEGIN
1050: IF g_debug <= gme_debug.g_log_procedure THEN
1051: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1052: || l_api_name);
1053: END IF;
1054:
1047: update_resvn_error EXCEPTION;
1048: query_resvn_error EXCEPTION;
1049: BEGIN
1050: IF g_debug <= gme_debug.g_log_procedure THEN
1051: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1052: || l_api_name);
1053: END IF;
1054:
1055: x_return_status := fnd_api.g_ret_sts_success;
1070: l_rsv_rec.secondary_reservation_quantity := p_new_sec_qty;
1071: l_rsv_rec.reservation_uom_code := p_new_uom;
1072: l_rsv_rec.requirement_date := p_new_date;
1073:
1074: IF g_debug <= gme_debug.g_log_statement THEN
1075: gme_debug.put_line
1076: ( g_pkg_name
1077: || '.'
1078: || l_api_name
1071: l_rsv_rec.reservation_uom_code := p_new_uom;
1072: l_rsv_rec.requirement_date := p_new_date;
1073:
1074: IF g_debug <= gme_debug.g_log_statement THEN
1075: gme_debug.put_line
1076: ( g_pkg_name
1077: || '.'
1078: || l_api_name
1079: || ':Calling inv_reservation_pub.update_reservation with reservation_id = '
1092: ,p_to_serial_number => l_serial_number
1093: ,p_validation_flag => fnd_api.g_true
1094: ,p_check_availability => fnd_api.g_true);
1095:
1096: IF g_debug <= gme_debug.g_log_statement THEN
1097: gme_debug.put_line
1098: ( g_pkg_name
1099: || '.'
1100: || l_api_name
1093: ,p_validation_flag => fnd_api.g_true
1094: ,p_check_availability => fnd_api.g_true);
1095:
1096: IF g_debug <= gme_debug.g_log_statement THEN
1097: gme_debug.put_line
1098: ( g_pkg_name
1099: || '.'
1100: || l_api_name
1101: || 'Return status from inv_reservation_pub.update_reservation is '
1099: || '.'
1100: || l_api_name
1101: || 'Return status from inv_reservation_pub.update_reservation is '
1102: || l_return_status);
1103: gme_debug.put_line ( g_pkg_name
1104: || '.'
1105: || l_api_name
1106: || 'Error is :'
1107: || l_msg_data);
1110: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
1111: RAISE update_resvn_error;
1112: END IF;
1113:
1114: IF g_debug <= gme_debug.g_log_procedure THEN
1115: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1116: END IF;
1117: EXCEPTION
1118: WHEN query_resvn_error THEN
1111: RAISE update_resvn_error;
1112: END IF;
1113:
1114: IF g_debug <= gme_debug.g_log_procedure THEN
1115: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1116: END IF;
1117: EXCEPTION
1118: WHEN query_resvn_error THEN
1119: x_return_status := l_return_status;
1119: x_return_status := l_return_status;
1120: WHEN update_resvn_error THEN
1121: x_return_status := l_return_status;
1122: WHEN OTHERS THEN
1123: IF g_debug <= gme_debug.g_log_unexpected THEN
1124: gme_debug.put_line ( 'When others exception in '
1125: || g_pkg_name
1126: || '.'
1127: || l_api_name
1120: WHEN update_resvn_error THEN
1121: x_return_status := l_return_status;
1122: WHEN OTHERS THEN
1123: IF g_debug <= gme_debug.g_log_unexpected THEN
1124: gme_debug.put_line ( 'When others exception in '
1125: || g_pkg_name
1126: || '.'
1127: || l_api_name
1128: || ' Error is '
1149: l_rsv_tbl inv_reservation_global.mtl_reservation_tbl_type;
1150: l_serial_number inv_reservation_global.serial_number_tbl_type;
1151: update_resvn_error EXCEPTION;
1152: BEGIN
1153: IF g_debug <= gme_debug.g_log_procedure THEN
1154: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1155: || l_api_name);
1156: END IF;
1157:
1150: l_serial_number inv_reservation_global.serial_number_tbl_type;
1151: update_resvn_error EXCEPTION;
1152: BEGIN
1153: IF g_debug <= gme_debug.g_log_procedure THEN
1154: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1155: || l_api_name);
1156: END IF;
1157:
1158: x_return_status := fnd_api.g_ret_sts_success;
1157:
1158: x_return_status := fnd_api.g_ret_sts_success;
1159: l_rsv_rec.reservation_id := p_reservation_id;
1160:
1161: IF g_debug <= gme_debug.g_log_statement THEN
1162: gme_debug.put_line
1163: ( g_pkg_name
1164: || '.'
1165: || l_api_name
1158: x_return_status := fnd_api.g_ret_sts_success;
1159: l_rsv_rec.reservation_id := p_reservation_id;
1160:
1161: IF g_debug <= gme_debug.g_log_statement THEN
1162: gme_debug.put_line
1163: ( g_pkg_name
1164: || '.'
1165: || l_api_name
1166: || ':Calling inv_reservation_pub.query_reservation with reservation_id = '
1180: ,x_mtl_reservation_tbl => l_rsv_tbl
1181: ,x_mtl_reservation_tbl_count => l_rsv_count
1182: ,x_error_code => l_error_code);
1183:
1184: IF g_debug <= gme_debug.g_log_statement THEN
1185: gme_debug.put_line
1186: ( g_pkg_name
1187: || '.'
1188: || l_api_name
1181: ,x_mtl_reservation_tbl_count => l_rsv_count
1182: ,x_error_code => l_error_code);
1183:
1184: IF g_debug <= gme_debug.g_log_statement THEN
1185: gme_debug.put_line
1186: ( g_pkg_name
1187: || '.'
1188: || l_api_name
1189: || 'Return status from inv_reservation_pub.query_reservation is '
1187: || '.'
1188: || l_api_name
1189: || 'Return status from inv_reservation_pub.query_reservation is '
1190: || l_return_status);
1191: gme_debug.put_line ( g_pkg_name
1192: || '.'
1193: || l_api_name
1194: || 'Error is :'
1195: || l_msg_data);
1200: END IF;
1201:
1202: x_reservation_rec := l_rsv_tbl (1);
1203:
1204: IF g_debug <= gme_debug.g_log_procedure THEN
1205: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1206: END IF;
1207: EXCEPTION
1208: WHEN update_resvn_error THEN
1201:
1202: x_reservation_rec := l_rsv_tbl (1);
1203:
1204: IF g_debug <= gme_debug.g_log_procedure THEN
1205: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1206: END IF;
1207: EXCEPTION
1208: WHEN update_resvn_error THEN
1209: x_return_status := l_return_status;
1207: EXCEPTION
1208: WHEN update_resvn_error THEN
1209: x_return_status := l_return_status;
1210: WHEN OTHERS THEN
1211: IF g_debug <= gme_debug.g_log_unexpected THEN
1212: gme_debug.put_line ( 'When others exception in '
1213: || g_pkg_name
1214: || '.'
1215: || l_api_name
1208: WHEN update_resvn_error THEN
1209: x_return_status := l_return_status;
1210: WHEN OTHERS THEN
1211: IF g_debug <= gme_debug.g_log_unexpected THEN
1212: gme_debug.put_line ( 'When others exception in '
1213: || g_pkg_name
1214: || '.'
1215: || l_api_name
1216: || ' Error is '
1250: FROM mtl_material_transactions_temp
1251: WHERE reservation_id =
1252: mr.reservation_id) );
1253: BEGIN
1254: IF g_debug <= gme_debug.g_log_procedure THEN
1255: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1256: || l_api_name);
1257: END IF;
1258:
1251: WHERE reservation_id =
1252: mr.reservation_id) );
1253: BEGIN
1254: IF g_debug <= gme_debug.g_log_procedure THEN
1255: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1256: || l_api_name);
1257: END IF;
1258:
1259: OPEN cur_reservations (p_organization_id
1270: ELSE
1271: RETURN FALSE;
1272: END IF;
1273:
1274: IF g_debug <= gme_debug.g_log_procedure THEN
1275: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1276: END IF;
1277: EXCEPTION
1278: WHEN OTHERS THEN
1271: RETURN FALSE;
1272: END IF;
1273:
1274: IF g_debug <= gme_debug.g_log_procedure THEN
1275: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1276: END IF;
1277: EXCEPTION
1278: WHEN OTHERS THEN
1279: IF g_debug <= gme_debug.g_log_unexpected THEN
1275: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1276: END IF;
1277: EXCEPTION
1278: WHEN OTHERS THEN
1279: IF g_debug <= gme_debug.g_log_unexpected THEN
1280: gme_debug.put_line ( 'When others exception in '
1281: || g_pkg_name
1282: || '.'
1283: || l_api_name
1276: END IF;
1277: EXCEPTION
1278: WHEN OTHERS THEN
1279: IF g_debug <= gme_debug.g_log_unexpected THEN
1280: gme_debug.put_line ( 'When others exception in '
1281: || g_pkg_name
1282: || '.'
1283: || l_api_name
1284: || ' Error is '
1317: FROM mtl_system_items_b
1318: WHERE organization_id = v_org_id
1319: AND inventory_item_id = v_inventory_item_id;
1320: BEGIN
1321: IF g_debug <= gme_debug.g_log_procedure THEN
1322: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1323: || l_api_name);
1324: END IF;
1325:
1318: WHERE organization_id = v_org_id
1319: AND inventory_item_id = v_inventory_item_id;
1320: BEGIN
1321: IF g_debug <= gme_debug.g_log_procedure THEN
1322: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1323: || l_api_name);
1324: END IF;
1325:
1326: /* Set the return status to success initially */
1339: gme_common_pvt.log_message ('GME_NO_DATA_FOUND'
1340: ,'TABLE_NAME'
1341: ,'MTL_SYSTEM_ITEMS');
1342:
1343: IF g_debug <= gme_debug.g_log_statement THEN
1344: gme_debug.put_line
1345: ( g_pkg_name
1346: || '.'
1347: || l_api_name
1340: ,'TABLE_NAME'
1341: ,'MTL_SYSTEM_ITEMS');
1342:
1343: IF g_debug <= gme_debug.g_log_statement THEN
1344: gme_debug.put_line
1345: ( g_pkg_name
1346: || '.'
1347: || l_api_name
1348: || ' Retrieval failure against mtl_system_items using id of '
1367: (p_reservation_rec => p_reservation_rec
1368: ,p_item_location_control => NVL(l_item_rec.location_control_code,1)
1369: ,p_item_restrict_locators => l_item_rec.restrict_locators_code);
1370:
1371: IF g_debug <= gme_debug.g_log_statement THEN
1372: gme_debug.put_line
1373: ( g_pkg_name
1374: || '.'
1375: || l_api_name
1368: ,p_item_location_control => NVL(l_item_rec.location_control_code,1)
1369: ,p_item_restrict_locators => l_item_rec.restrict_locators_code);
1370:
1371: IF g_debug <= gme_debug.g_log_statement THEN
1372: gme_debug.put_line
1373: ( g_pkg_name
1374: || '.'
1375: || l_api_name
1376: || ' Return rsv_type from gme_reservations_pvt.reservation_fully_specified is '
1391: ,p_item_rec => l_item_rec
1392: ,x_reservation_rec => l_reservation_rec
1393: ,x_return_status => x_return_status);
1394:
1395: IF g_debug <= gme_debug.g_log_statement THEN
1396: gme_debug.put_line
1397: ( g_pkg_name
1398: || '.'
1399: || l_api_name
1392: ,x_reservation_rec => l_reservation_rec
1393: ,x_return_status => x_return_status);
1394:
1395: IF g_debug <= gme_debug.g_log_statement THEN
1396: gme_debug.put_line
1397: ( g_pkg_name
1398: || '.'
1399: || l_api_name
1400: || ' Return status from gme_reservations_pvt.convert_partial_to_dlr is '
1415: /* but this must be expressed in terms of gme_material_details.dtl_um */
1416: l_qty_convert := p_qty_convert;
1417:
1418: IF l_qty_convert IS NULL THEN
1419: IF g_debug <= gme_debug.g_log_statement THEN
1420: gme_debug.put_line ( g_pkg_name
1421: || '.'
1422: || l_api_name
1423: || ' deternine quantity to convert');
1416: l_qty_convert := p_qty_convert;
1417:
1418: IF l_qty_convert IS NULL THEN
1419: IF g_debug <= gme_debug.g_log_statement THEN
1420: gme_debug.put_line ( g_pkg_name
1421: || '.'
1422: || l_api_name
1423: || ' deternine quantity to convert');
1424: END IF;
1442: ,from_name => NULL
1443: ,to_name => NULL);
1444:
1445: IF (l_qty_convert < 0) THEN
1446: IF g_debug <= gme_debug.g_log_statement THEN
1447: gme_debug.put_line
1448: ( g_pkg_name
1449: || '.'
1450: || l_api_name
1443: ,to_name => NULL);
1444:
1445: IF (l_qty_convert < 0) THEN
1446: IF g_debug <= gme_debug.g_log_statement THEN
1447: gme_debug.put_line
1448: ( g_pkg_name
1449: || '.'
1450: || l_api_name
1451: || ' UOM Conversion fail from '
1460: END IF;
1461: END IF;
1462: END IF;
1463:
1464: IF g_debug <= gme_debug.g_log_statement THEN
1465: gme_debug.put_line
1466: ( g_pkg_name
1467: || '.'
1468: || l_api_name
1461: END IF;
1462: END IF;
1463:
1464: IF g_debug <= gme_debug.g_log_statement THEN
1465: gme_debug.put_line
1466: ( g_pkg_name
1467: || '.'
1468: || l_api_name
1469: || ' Invoking build_and_create_transaction with consume_qty of '
1483: ,p_secondary_uom_code => l_item_rec.secondary_uom_code
1484: ,x_actual_qty => l_actual_qty
1485: ,x_return_status => x_return_status);
1486:
1487: IF g_debug <= gme_debug.g_log_statement THEN
1488: gme_debug.put_line
1489: ( g_pkg_name
1490: || '.'
1491: || l_api_name
1484: ,x_actual_qty => l_actual_qty
1485: ,x_return_status => x_return_status);
1486:
1487: IF g_debug <= gme_debug.g_log_statement THEN
1488: gme_debug.put_line
1489: ( g_pkg_name
1490: || '.'
1491: || l_api_name
1492: || ' Return status from gme_release_batch_pvt.build_and_create_transaction is '
1496: IF x_return_status NOT IN ('T', fnd_api.g_ret_sts_success) THEN
1497: RAISE create_transaction_error;
1498: END IF;
1499:
1500: IF g_debug <= gme_debug.g_log_statement THEN
1501: gme_debug.put_line
1502: ( g_pkg_name
1503: || '.'
1504: || l_api_name
1497: RAISE create_transaction_error;
1498: END IF;
1499:
1500: IF g_debug <= gme_debug.g_log_statement THEN
1501: gme_debug.put_line
1502: ( g_pkg_name
1503: || '.'
1504: || l_api_name
1505: || ' build_and_create_transaction returns actial_qty of '
1503: || '.'
1504: || l_api_name
1505: || ' build_and_create_transaction returns actial_qty of '
1506: || l_actual_qty);
1507: gme_debug.put_line ( ' Completed private layer '
1508: || l_api_name
1509: || ' at '
1510: || TO_CHAR (SYSDATE, 'MM/DD/YYYY HH24:MI:SS') );
1511: END IF;
1515: gme_common_pvt.count_and_get (x_count => x_message_count
1516: ,p_encoded => fnd_api.g_false
1517: ,x_data => x_message_list);
1518: WHEN OTHERS THEN
1519: IF g_debug <= gme_debug.g_log_unexpected THEN
1520: gme_debug.put_line ( g_pkg_name
1521: || '.'
1522: || l_api_name
1523: || ':'
1516: ,p_encoded => fnd_api.g_false
1517: ,x_data => x_message_list);
1518: WHEN OTHERS THEN
1519: IF g_debug <= gme_debug.g_log_unexpected THEN
1520: gme_debug.put_line ( g_pkg_name
1521: || '.'
1522: || l_api_name
1523: || ':'
1524: || ' When others exception:'
1574: SELECT *
1575: FROM mtl_txn_request_lines
1576: WHERE line_id = v_move_order_line_id;
1577: BEGIN
1578: IF g_debug <= gme_debug.g_log_procedure THEN
1579: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1580: || l_api_name);
1581: END IF;
1582:
1575: FROM mtl_txn_request_lines
1576: WHERE line_id = v_move_order_line_id;
1577: BEGIN
1578: IF g_debug <= gme_debug.g_log_procedure THEN
1579: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1580: || l_api_name);
1581: END IF;
1582:
1583: x_return_status := fnd_api.g_ret_sts_success;
1581: END IF;
1582:
1583: x_return_status := fnd_api.g_ret_sts_success;
1584:
1585: IF g_debug <= gme_debug.g_log_statement THEN
1586: gme_debug.put_line ( g_pkg_name
1587: || '.'
1588: || l_api_name
1589: || 'Verify reservable_type ');
1582:
1583: x_return_status := fnd_api.g_ret_sts_success;
1584:
1585: IF g_debug <= gme_debug.g_log_statement THEN
1586: gme_debug.put_line ( g_pkg_name
1587: || '.'
1588: || l_api_name
1589: || 'Verify reservable_type ');
1590: END IF;
1617: CLOSE cur_get_item_rec;
1618:
1619: gme_common_pvt.log_message ('PM_INVALID_ITEM');
1620:
1621: IF g_debug <= gme_debug.g_log_statement THEN
1622: gme_debug.put_line ( g_pkg_name
1623: || '.'
1624: || l_api_name
1625: || ' item fetch fail for '
1618:
1619: gme_common_pvt.log_message ('PM_INVALID_ITEM');
1620:
1621: IF g_debug <= gme_debug.g_log_statement THEN
1622: gme_debug.put_line ( g_pkg_name
1623: || '.'
1624: || l_api_name
1625: || ' item fetch fail for '
1626: || p_material_details_rec.inventory_item_id);
1641: ,p_material_detail_id => p_material_details_rec.material_detail_id
1642: ,x_return_status => x_return_status
1643: ,x_reservations_tbl => l_rsv_tbl);
1644:
1645: IF g_debug <= gme_debug.g_log_statement THEN
1646: gme_debug.put_line ( g_pkg_name
1647: || '.'
1648: || l_api_name
1649: || ' get_material_reservations returns '
1642: ,x_return_status => x_return_status
1643: ,x_reservations_tbl => l_rsv_tbl);
1644:
1645: IF g_debug <= gme_debug.g_log_statement THEN
1646: gme_debug.put_line ( g_pkg_name
1647: || '.'
1648: || l_api_name
1649: || ' get_material_reservations returns '
1650: || x_return_status);
1647: || '.'
1648: || l_api_name
1649: || ' get_material_reservations returns '
1650: || x_return_status);
1651: gme_debug.put_line ( g_pkg_name
1652: || '.'
1653: || l_api_name
1654: || ' No. of reservations is '
1655: || l_rsv_tbl.COUNT);
1668: (p_reservation_rec => l_rsv_rec
1669: ,p_item_location_control => NVL(l_item_rec.location_control_code,1)
1670: ,p_item_restrict_locators => l_item_rec.restrict_locators_code);
1671:
1672: IF g_debug <= gme_debug.g_log_statement THEN
1673: gme_debug.put_line
1674: ( g_pkg_name
1675: || '.'
1676: || l_api_name
1669: ,p_item_location_control => NVL(l_item_rec.location_control_code,1)
1670: ,p_item_restrict_locators => l_item_rec.restrict_locators_code);
1671:
1672: IF g_debug <= gme_debug.g_log_statement THEN
1673: gme_debug.put_line
1674: ( g_pkg_name
1675: || '.'
1676: || l_api_name
1677: || ' Return rsv_type from gme_reservations_pvt.reservation_fully_specified is '
1688: (p_reservation_id => l_rsv_rec.reservation_id
1689: ,p_prim_relieve_qty => l_rsv_rec.primary_reservation_quantity
1690: ,x_return_status => x_return_status);
1691:
1692: IF g_debug <= gme_debug.g_log_statement THEN
1693: gme_debug.put_line
1694: ( g_pkg_name
1695: || '.'
1696: || l_api_name
1689: ,p_prim_relieve_qty => l_rsv_rec.primary_reservation_quantity
1690: ,x_return_status => x_return_status);
1691:
1692: IF g_debug <= gme_debug.g_log_statement THEN
1693: gme_debug.put_line
1694: ( g_pkg_name
1695: || '.'
1696: || l_api_name
1697: || ' Return status from relieve_reservation is '
1711: ,p_called_by => 'R'
1712: ,x_open_qty => l_open_qty
1713: ,x_return_status => x_return_status);
1714:
1715: IF g_debug <= gme_debug.g_log_statement THEN
1716: gme_debug.put_line ( g_pkg_name
1717: || '.'
1718: || l_api_name
1719: || ' get_open_qty returns open qty of '
1712: ,x_open_qty => l_open_qty
1713: ,x_return_status => x_return_status);
1714:
1715: IF g_debug <= gme_debug.g_log_statement THEN
1716: gme_debug.put_line ( g_pkg_name
1717: || '.'
1718: || l_api_name
1719: || ' get_open_qty returns open qty of '
1720: || l_open_qty);
1725: END IF;
1726:
1727: /* If there is no open quantity, return here */
1728: IF l_open_qty <= 0 THEN
1729: IF g_debug <= gme_debug.g_log_statement THEN
1730: gme_debug.put_line ( g_pkg_name
1731: || '.'
1732: || l_api_name
1733: || 'No open quantity so RETURN now');
1726:
1727: /* If there is no open quantity, return here */
1728: IF l_open_qty <= 0 THEN
1729: IF g_debug <= gme_debug.g_log_statement THEN
1730: gme_debug.put_line ( g_pkg_name
1731: || '.'
1732: || l_api_name
1733: || 'No open quantity so RETURN now');
1734: END IF;
1744: ,p_new_date => NULL
1745: ,p_invis_move_line_id => p_material_details_rec.move_order_line_id
1746: ,x_return_status => x_return_status);
1747:
1748: IF g_debug <= gme_debug.g_log_statement THEN
1749: gme_debug.put_line ( g_pkg_name
1750: || '.'
1751: || l_api_name
1752: || ' Return from update_move_order_lines is '
1745: ,p_invis_move_line_id => p_material_details_rec.move_order_line_id
1746: ,x_return_status => x_return_status);
1747:
1748: IF g_debug <= gme_debug.g_log_statement THEN
1749: gme_debug.put_line ( g_pkg_name
1750: || '.'
1751: || l_api_name
1752: || ' Return from update_move_order_lines is '
1753: || x_return_status);
1756: IF x_return_status <> fnd_api.g_ret_sts_success THEN
1757: RAISE update_mo_fail;
1758: END IF;
1759:
1760: IF g_debug <= gme_debug.g_log_statement THEN
1761: gme_debug.put_line
1762: ( g_pkg_name
1763: || '.'
1764: || l_api_name
1757: RAISE update_mo_fail;
1758: END IF;
1759:
1760: IF g_debug <= gme_debug.g_log_statement THEN
1761: gme_debug.put_line
1762: ( g_pkg_name
1763: || '.'
1764: || l_api_name
1765: || ' Invoke wms_rule_extn_pvt.suggest_reservations for mo line_id => '
1774: CLOSE cur_get_mo_rec;
1775:
1776: gme_common_pvt.log_message ('GME_NO_DATA_FOUND','TABLE_NAME','MTL_TXN_REQUEST_LINES');
1777:
1778: IF g_debug <= gme_debug.g_log_statement THEN
1779: gme_debug.put_line ( g_pkg_name
1780: || '.'
1781: || l_api_name
1782: || ' move order line fetch fail for id'
1775:
1776: gme_common_pvt.log_message ('GME_NO_DATA_FOUND','TABLE_NAME','MTL_TXN_REQUEST_LINES');
1777:
1778: IF g_debug <= gme_debug.g_log_statement THEN
1779: gme_debug.put_line ( g_pkg_name
1780: || '.'
1781: || l_api_name
1782: || ' move order line fetch fail for id'
1783: || p_material_details_rec.move_order_line_id);
1876: l_trolin_rec_type.secondary_quantity_delivered := l_trolin_rec.secondary_quantity_delivered;
1877: l_trolin_rec_type.grade_code := l_trolin_rec.grade_code;
1878: l_trolin_rec_type.secondary_required_quantity := l_trolin_rec.secondary_required_quantity;
1879:
1880: IF g_debug <= gme_debug.g_log_statement THEN
1881: gme_debug.put_line ( g_pkg_name
1882: || '.'
1883: || l_api_name
1884: || ' about to invoke SUGGEST_RESERVATIONS for required quantity of '
1877: l_trolin_rec_type.grade_code := l_trolin_rec.grade_code;
1878: l_trolin_rec_type.secondary_required_quantity := l_trolin_rec.secondary_required_quantity;
1879:
1880: IF g_debug <= gme_debug.g_log_statement THEN
1881: gme_debug.put_line ( g_pkg_name
1882: || '.'
1883: || l_api_name
1884: || ' about to invoke SUGGEST_RESERVATIONS for required quantity of '
1885: ||l_trolin_rec_type.required_quantity);
1903: , p_demand_source_name => NULL
1904: , p_requirement_date => p_material_details_rec.material_requirement_date
1905: , p_suggestions => l_suggestion_list_rec_type);
1906:
1907: IF g_debug <= gme_debug.g_log_statement THEN
1908: gme_debug.put_line ( g_pkg_name
1909: || '.'
1910: || l_api_name
1911: || ' call to SUGGEST_RESERVATIONS returns '
1904: , p_requirement_date => p_material_details_rec.material_requirement_date
1905: , p_suggestions => l_suggestion_list_rec_type);
1906:
1907: IF g_debug <= gme_debug.g_log_statement THEN
1908: gme_debug.put_line ( g_pkg_name
1909: || '.'
1910: || l_api_name
1911: || ' call to SUGGEST_RESERVATIONS returns '
1912: || x_return_status);
1909: || '.'
1910: || l_api_name
1911: || ' call to SUGGEST_RESERVATIONS returns '
1912: || x_return_status);
1913: gme_debug.put_line ( g_pkg_name
1914: || '.'
1915: || l_api_name
1916: || ' suggest_reservations mesg '
1917: || l_msg_data);
1927: ,p_called_by => 'R'
1928: ,x_open_qty => l_open_qty
1929: ,x_return_status => x_return_status);
1930:
1931: IF g_debug <= gme_debug.g_log_statement THEN
1932: gme_debug.put_line
1933: ( g_pkg_name
1934: || '.'
1935: || l_api_name
1928: ,x_open_qty => l_open_qty
1929: ,x_return_status => x_return_status);
1930:
1931: IF g_debug <= gme_debug.g_log_statement THEN
1932: gme_debug.put_line
1933: ( g_pkg_name
1934: || '.'
1935: || l_api_name
1936: || ' after detailing get_open_qty returns open qty of '
1943:
1944: /* Attempt to create a high level reservation (at organization level) for the outstanding qty */
1945: /* However there may be no inventory left to do this successfully so accept error status */
1946: IF l_open_qty > 0 THEN
1947: IF g_debug <= gme_debug.g_log_statement THEN
1948: gme_debug.put_line ( g_pkg_name
1949: || '.'
1950: || l_api_name
1951: || ' attempting to create a HLR for the outstanding qty '
1944: /* Attempt to create a high level reservation (at organization level) for the outstanding qty */
1945: /* However there may be no inventory left to do this successfully so accept error status */
1946: IF l_open_qty > 0 THEN
1947: IF g_debug <= gme_debug.g_log_statement THEN
1948: gme_debug.put_line ( g_pkg_name
1949: || '.'
1950: || l_api_name
1951: || ' attempting to create a HLR for the outstanding qty '
1952: || l_open_qty );
1955: (p_matl_dtl_rec => p_material_details_rec
1956: ,p_resv_qty => l_open_qty
1957: ,x_return_status => l_return_status);
1958:
1959: IF g_debug <= gme_debug.g_log_statement THEN
1960: gme_debug.put_line ( g_pkg_name
1961: || '.'
1962: || l_api_name
1963: || ' create_material_reservation returns '
1956: ,p_resv_qty => l_open_qty
1957: ,x_return_status => l_return_status);
1958:
1959: IF g_debug <= gme_debug.g_log_statement THEN
1960: gme_debug.put_line ( g_pkg_name
1961: || '.'
1962: || l_api_name
1963: || ' create_material_reservation returns '
1964: || x_return_status);
1976: to recreate the quantity tree after the reservations are done */
1977: inv_quantity_tree_pub.clear_quantity_cache;
1978:
1979:
1980: IF g_debug <= gme_debug.g_log_statement THEN
1981: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1982: END IF;
1983: EXCEPTION
1984: WHEN reservable_type_error OR retrieve_res_fail OR
1977: inv_quantity_tree_pub.clear_quantity_cache;
1978:
1979:
1980: IF g_debug <= gme_debug.g_log_statement THEN
1981: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1982: END IF;
1983: EXCEPTION
1984: WHEN reservable_type_error OR retrieve_res_fail OR
1985: item_fetch_fail OR fetch_error OR
1984: WHEN reservable_type_error OR retrieve_res_fail OR
1985: item_fetch_fail OR fetch_error OR
1986: relieve_res_error OR open_qty_error OR update_mo_fail OR
1987: create_suggestions_err OR error_unexpected OR create_reservation_err THEN
1988: IF g_debug <= gme_debug.g_log_unexpected THEN
1989: gme_debug.put_line ( 'Exiting due to error exception in '
1990: || g_pkg_name
1991: || '.'
1992: || l_api_name);
1985: item_fetch_fail OR fetch_error OR
1986: relieve_res_error OR open_qty_error OR update_mo_fail OR
1987: create_suggestions_err OR error_unexpected OR create_reservation_err THEN
1988: IF g_debug <= gme_debug.g_log_unexpected THEN
1989: gme_debug.put_line ( 'Exiting due to error exception in '
1990: || g_pkg_name
1991: || '.'
1992: || l_api_name);
1993: END IF;
1994: --Bug#4604943
1995: WHEN invalid_mtl_for_rsrv THEN
1996: x_return_status := l_return_status;
1997: WHEN OTHERS THEN
1998: IF g_debug <= gme_debug.g_log_unexpected THEN
1999: gme_debug.put_line ( 'When others exception in '
2000: || g_pkg_name
2001: || '.'
2002: || l_api_name
1995: WHEN invalid_mtl_for_rsrv THEN
1996: x_return_status := l_return_status;
1997: WHEN OTHERS THEN
1998: IF g_debug <= gme_debug.g_log_unexpected THEN
1999: gme_debug.put_line ( 'When others exception in '
2000: || g_pkg_name
2001: || '.'
2002: || l_api_name
2003: || ' Error is '
2035: AND i.reservable_type = 1
2036: ORDER BY d.line_no;
2037:
2038: BEGIN
2039: IF g_debug <= gme_debug.g_log_procedure THEN
2040: gme_debug.put_line('Entering api '||g_pkg_name||'.'||l_api_name);
2041: END IF;
2042:
2043: x_return_status := FND_API.G_RET_STS_SUCCESS;
2036: ORDER BY d.line_no;
2037:
2038: BEGIN
2039: IF g_debug <= gme_debug.g_log_procedure THEN
2040: gme_debug.put_line('Entering api '||g_pkg_name||'.'||l_api_name);
2041: END IF;
2042:
2043: x_return_status := FND_API.G_RET_STS_SUCCESS;
2044:
2041: END IF;
2042:
2043: x_return_status := FND_API.G_RET_STS_SUCCESS;
2044:
2045: IF g_debug <= gme_debug.g_log_statement THEN
2046: gme_debug.put_line(g_pkg_name||'.'||l_api_name||'gme_common_pvt.g_rule_based_resv_horizon
2047: is '||gme_common_pvt.g_rule_based_resv_horizon);
2048: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Retrieve Material Detail lines for batch_id '||p_batch_rec.batch_id);
2049: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Timefence is '||p_timefence);
2042:
2043: x_return_status := FND_API.G_RET_STS_SUCCESS;
2044:
2045: IF g_debug <= gme_debug.g_log_statement THEN
2046: gme_debug.put_line(g_pkg_name||'.'||l_api_name||'gme_common_pvt.g_rule_based_resv_horizon
2047: is '||gme_common_pvt.g_rule_based_resv_horizon);
2048: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Retrieve Material Detail lines for batch_id '||p_batch_rec.batch_id);
2049: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Timefence is '||p_timefence);
2050: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch Status is '||p_batch_rec.batch_status);
2044:
2045: IF g_debug <= gme_debug.g_log_statement THEN
2046: gme_debug.put_line(g_pkg_name||'.'||l_api_name||'gme_common_pvt.g_rule_based_resv_horizon
2047: is '||gme_common_pvt.g_rule_based_resv_horizon);
2048: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Retrieve Material Detail lines for batch_id '||p_batch_rec.batch_id);
2049: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Timefence is '||p_timefence);
2050: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch Status is '||p_batch_rec.batch_status);
2051:
2052: END IF;
2045: IF g_debug <= gme_debug.g_log_statement THEN
2046: gme_debug.put_line(g_pkg_name||'.'||l_api_name||'gme_common_pvt.g_rule_based_resv_horizon
2047: is '||gme_common_pvt.g_rule_based_resv_horizon);
2048: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Retrieve Material Detail lines for batch_id '||p_batch_rec.batch_id);
2049: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Timefence is '||p_timefence);
2050: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch Status is '||p_batch_rec.batch_status);
2051:
2052: END IF;
2053:
2046: gme_debug.put_line(g_pkg_name||'.'||l_api_name||'gme_common_pvt.g_rule_based_resv_horizon
2047: is '||gme_common_pvt.g_rule_based_resv_horizon);
2048: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Retrieve Material Detail lines for batch_id '||p_batch_rec.batch_id);
2049: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Timefence is '||p_timefence);
2050: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch Status is '||p_batch_rec.batch_status);
2051:
2052: END IF;
2053:
2054: FOR get_matl_rec IN cur_get_reservable_ings LOOP
2060: */
2061: --IF l_valid_mat THEN
2062:
2063: /* Invoke auto detail line to create detailed reservations for each of the ingredient lines */
2064: IF g_debug <= gme_debug.g_log_statement THEN
2065: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' ********************* Ingredient Line Processing **************************');
2066: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Invoke auto detail for material detail id '||get_matl_rec.material_detail_id);
2067: END IF;
2068:
2061: --IF l_valid_mat THEN
2062:
2063: /* Invoke auto detail line to create detailed reservations for each of the ingredient lines */
2064: IF g_debug <= gme_debug.g_log_statement THEN
2065: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' ********************* Ingredient Line Processing **************************');
2066: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Invoke auto detail for material detail id '||get_matl_rec.material_detail_id);
2067: END IF;
2068:
2069: /*calling auto detail line */
2062:
2063: /* Invoke auto detail line to create detailed reservations for each of the ingredient lines */
2064: IF g_debug <= gme_debug.g_log_statement THEN
2065: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' ********************* Ingredient Line Processing **************************');
2066: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Invoke auto detail for material detail id '||get_matl_rec.material_detail_id);
2067: END IF;
2068:
2069: /*calling auto detail line */
2070: gme_reservations_pvt.auto_detail_line(p_material_details_rec => get_matl_rec
2069: /*calling auto detail line */
2070: gme_reservations_pvt.auto_detail_line(p_material_details_rec => get_matl_rec
2071: ,x_return_status => l_return_status);
2072:
2073: IF g_debug <= gme_debug.g_log_statement THEN
2074: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Call to auto detail line returns '||x_return_status);
2075: END IF;
2076:
2077: /* Bug#4604943 just checking for unexpected error similar to create_batch_reservations */
2070: gme_reservations_pvt.auto_detail_line(p_material_details_rec => get_matl_rec
2071: ,x_return_status => l_return_status);
2072:
2073: IF g_debug <= gme_debug.g_log_statement THEN
2074: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Call to auto detail line returns '||x_return_status);
2075: END IF;
2076:
2077: /* Bug#4604943 just checking for unexpected error similar to create_batch_reservations */
2078: IF (l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
2084: -- Pawan kumar made changes for 5294184
2085: IF l_found = 0 THEN
2086: gme_common_pvt.log_message ('GME_NO_ING_TIME');
2087: END IF;
2088: IF g_debug <= gme_debug.g_log_statement THEN
2089: gme_debug.put_line('Exiting api '||g_pkg_name||'.'||l_api_name);
2090: END IF;
2091:
2092: EXCEPTION
2085: IF l_found = 0 THEN
2086: gme_common_pvt.log_message ('GME_NO_ING_TIME');
2087: END IF;
2088: IF g_debug <= gme_debug.g_log_statement THEN
2089: gme_debug.put_line('Exiting api '||g_pkg_name||'.'||l_api_name);
2090: END IF;
2091:
2092: EXCEPTION
2093: WHEN auto_detail_failure THEN
2090: END IF;
2091:
2092: EXCEPTION
2093: WHEN auto_detail_failure THEN
2094: IF g_debug <= gme_debug.g_log_unexpected THEN
2095: gme_debug.put_line('Exiting due to error exception in '||g_pkg_name||'.'||l_api_name);
2096: END IF;
2097: x_return_status := l_return_status;
2098: WHEN OTHERS THEN
2091:
2092: EXCEPTION
2093: WHEN auto_detail_failure THEN
2094: IF g_debug <= gme_debug.g_log_unexpected THEN
2095: gme_debug.put_line('Exiting due to error exception in '||g_pkg_name||'.'||l_api_name);
2096: END IF;
2097: x_return_status := l_return_status;
2098: WHEN OTHERS THEN
2099: IF g_debug <= gme_debug.g_log_unexpected THEN
2095: gme_debug.put_line('Exiting due to error exception in '||g_pkg_name||'.'||l_api_name);
2096: END IF;
2097: x_return_status := l_return_status;
2098: WHEN OTHERS THEN
2099: IF g_debug <= gme_debug.g_log_unexpected THEN
2100: gme_debug.put_line('When others exception in '||g_pkg_name||'.'||l_api_name||' Error is ' || SQLERRM);
2101: END IF;
2102: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
2103: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2096: END IF;
2097: x_return_status := l_return_status;
2098: WHEN OTHERS THEN
2099: IF g_debug <= gme_debug.g_log_unexpected THEN
2100: gme_debug.put_line('When others exception in '||g_pkg_name||'.'||l_api_name||' Error is ' || SQLERRM);
2101: END IF;
2102: fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
2103: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2104: END auto_detail_batch;
2116: fetch_failure EXCEPTION;
2117: demand_line_error EXCEPTION;
2118: batch_status_error EXCEPTION;
2119: BEGIN
2120: IF g_debug <= gme_debug.g_log_procedure THEN
2121: gme_debug.put_line('Entering api '||g_pkg_name||'.'||l_api_name);
2122: END IF;
2123:
2124: x_return_status := fnd_api.g_ret_sts_success;
2117: demand_line_error EXCEPTION;
2118: batch_status_error EXCEPTION;
2119: BEGIN
2120: IF g_debug <= gme_debug.g_log_procedure THEN
2121: gme_debug.put_line('Entering api '||g_pkg_name||'.'||l_api_name);
2122: END IF;
2123:
2124: x_return_status := fnd_api.g_ret_sts_success;
2125:
2129: END IF;
2130:
2131: IF l_batch_header_rec.batch_status = gme_common_pvt.g_batch_pending THEN
2132: --pending batch just return
2133: IF g_debug <= gme_debug.g_log_statement THEN
2134: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch is Pending status');
2135: END IF;
2136: RETURN;
2137: ELSIF l_batch_header_rec.batch_status = gme_common_pvt.g_batch_wip THEN
2130:
2131: IF l_batch_header_rec.batch_status = gme_common_pvt.g_batch_pending THEN
2132: --pending batch just return
2133: IF g_debug <= gme_debug.g_log_statement THEN
2134: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch is Pending status');
2135: END IF;
2136: RETURN;
2137: ELSIF l_batch_header_rec.batch_status = gme_common_pvt.g_batch_wip THEN
2138: /* In WIP Bathes, do not create reservations for automatic and automatic by step if assoc step is not released*/
2136: RETURN;
2137: ELSIF l_batch_header_rec.batch_status = gme_common_pvt.g_batch_wip THEN
2138: /* In WIP Bathes, do not create reservations for automatic and automatic by step if assoc step is not released*/
2139: IF p_material_detail_rec.release_type IN (gme_common_pvt.g_mtl_manual_release,gme_common_pvt.g_mtl_incremental_release) THEN
2140: IF g_debug <= gme_debug.g_log_statement THEN
2141: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch is in WIP and material line is manual/incremental');
2142: END IF;
2143: RETURN;
2144: ELSIF p_material_detail_rec.release_type = gme_common_pvt.g_mtl_autobystep_release THEN
2137: ELSIF l_batch_header_rec.batch_status = gme_common_pvt.g_batch_wip THEN
2138: /* In WIP Bathes, do not create reservations for automatic and automatic by step if assoc step is not released*/
2139: IF p_material_detail_rec.release_type IN (gme_common_pvt.g_mtl_manual_release,gme_common_pvt.g_mtl_incremental_release) THEN
2140: IF g_debug <= gme_debug.g_log_statement THEN
2141: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch is in WIP and material line is manual/incremental');
2142: END IF;
2143: RETURN;
2144: ELSIF p_material_detail_rec.release_type = gme_common_pvt.g_mtl_autobystep_release THEN
2145: /* if automatic by step then check step status */
2142: END IF;
2143: RETURN;
2144: ELSIF p_material_detail_rec.release_type = gme_common_pvt.g_mtl_autobystep_release THEN
2145: /* if automatic by step then check step status */
2146: IF g_debug <= gme_debug.g_log_statement THEN
2147: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch is in WIP and material line is Autoby step');
2148: END IF;
2149: IF NOT gme_common_pvt.get_assoc_step(p_material_detail_rec.material_detail_id,l_step_id,l_step_status) THEN
2150: RAISE demand_line_error;
2143: RETURN;
2144: ELSIF p_material_detail_rec.release_type = gme_common_pvt.g_mtl_autobystep_release THEN
2145: /* if automatic by step then check step status */
2146: IF g_debug <= gme_debug.g_log_statement THEN
2147: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch is in WIP and material line is Autoby step');
2148: END IF;
2149: IF NOT gme_common_pvt.get_assoc_step(p_material_detail_rec.material_detail_id,l_step_id,l_step_status) THEN
2150: RAISE demand_line_error;
2151: ELSIF l_step_id IS NOT NULL AND NVL(l_step_status,-1) <> gme_common_pvt.g_step_pending THEN
2151: ELSIF l_step_id IS NOT NULL AND NVL(l_step_status,-1) <> gme_common_pvt.g_step_pending THEN
2152: RAISE demand_line_error;
2153: END IF;
2154: ELSE
2155: IF g_debug <= gme_debug.g_log_statement THEN
2156: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch is in WIP and material line is automatic');
2157: END IF;
2158: RAISE demand_line_error;
2159: END IF; /*end of validations for WIP Batch*/
2152: RAISE demand_line_error;
2153: END IF;
2154: ELSE
2155: IF g_debug <= gme_debug.g_log_statement THEN
2156: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' Batch is in WIP and material line is automatic');
2157: END IF;
2158: RAISE demand_line_error;
2159: END IF; /*end of validations for WIP Batch*/
2160: ELSE
2160: ELSE
2161: RAISE batch_status_error;
2162: END IF; /* outer most if */
2163:
2164: IF g_debug <= gme_debug.g_log_procedure THEN
2165: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
2166: END IF;
2167: EXCEPTION
2168: WHEN fetch_failure THEN
2161: RAISE batch_status_error;
2162: END IF; /* outer most if */
2163:
2164: IF g_debug <= gme_debug.g_log_procedure THEN
2165: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
2166: END IF;
2167: EXCEPTION
2168: WHEN fetch_failure THEN
2169: x_return_status := fnd_api.g_ret_sts_error;
2173: WHEN batch_status_error THEN
2174: gme_common_pvt.log_message('GME_INVALID_BATCH_STATUS','PROCESS','RESERVATIONS');
2175: x_return_status := fnd_api.g_ret_sts_error;
2176: WHEN OTHERS THEN
2177: IF g_debug <= gme_debug.g_log_unexpected THEN
2178: gme_debug.put_line ( 'When others exception in '
2179: || g_pkg_name
2180: || '.'
2181: || l_api_name
2174: gme_common_pvt.log_message('GME_INVALID_BATCH_STATUS','PROCESS','RESERVATIONS');
2175: x_return_status := fnd_api.g_ret_sts_error;
2176: WHEN OTHERS THEN
2177: IF g_debug <= gme_debug.g_log_unexpected THEN
2178: gme_debug.put_line ( 'When others exception in '
2179: || g_pkg_name
2180: || '.'
2181: || l_api_name
2182: || ' Error is '