97: ,p_product_code IN VARCHAR2 := 'GME')
98: IS
99: l_api_name CONSTANT VARCHAR2 (30) := 'log_message';
100: BEGIN
101: IF g_debug <= gme_debug.g_log_procedure THEN
102: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
103: || l_api_name);
104: END IF;
105:
98: IS
99: l_api_name CONSTANT VARCHAR2 (30) := 'log_message';
100: BEGIN
101: IF g_debug <= gme_debug.g_log_procedure THEN
102: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
103: || l_api_name);
104: END IF;
105:
106: fnd_message.set_name (p_product_code, p_message_code);
130: END IF;
131:
132: fnd_msg_pub.ADD;
133:
134: IF g_debug <= gme_debug.g_log_procedure THEN
135: --FPBug#4351032 modified to include new token and value
136: gme_debug.put_line ( 'FROM LOG_MESSAGE '
137: || p_message_code
138: || '/'
132: fnd_msg_pub.ADD;
133:
134: IF g_debug <= gme_debug.g_log_procedure THEN
135: --FPBug#4351032 modified to include new token and value
136: gme_debug.put_line ( 'FROM LOG_MESSAGE '
137: || p_message_code
138: || '/'
139: || p_token1_name
140: || '/'
162: END IF;
163:
164: gme_common_pvt.g_error_count := gme_common_pvt.g_error_count + 1;
165:
166: IF g_debug <= gme_debug.g_log_procedure THEN
167: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
168: END IF;
169: EXCEPTION
170: WHEN OTHERS THEN
163:
164: gme_common_pvt.g_error_count := gme_common_pvt.g_error_count + 1;
165:
166: IF g_debug <= gme_debug.g_log_procedure THEN
167: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
168: END IF;
169: EXCEPTION
170: WHEN OTHERS THEN
171: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
169: EXCEPTION
170: WHEN OTHERS THEN
171: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
172:
173: IF g_debug <= gme_debug.g_log_unexpected THEN
174: gme_debug.put_line ( 'When others exception in '
175: || g_pkg_name
176: || '.'
177: || l_api_name
170: WHEN OTHERS THEN
171: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
172:
173: IF g_debug <= gme_debug.g_log_unexpected THEN
174: gme_debug.put_line ( 'When others exception in '
175: || g_pkg_name
176: || '.'
177: || l_api_name
178: || ' Error is '
215: gmd_params_not_defined EXCEPTION;
216: inv_params_not_found EXCEPTION;
217: missing_profile_option EXCEPTION;
218: BEGIN
219: IF g_debug <= gme_debug.g_log_procedure THEN
220: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
221: || l_api_name);
222: END IF;
223:
216: inv_params_not_found EXCEPTION;
217: missing_profile_option EXCEPTION;
218: BEGIN
219: IF g_debug <= gme_debug.g_log_procedure THEN
220: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
221: || l_api_name);
222: END IF;
223:
224: IF (gme_common_pvt.g_setup_done) THEN
360: l_cur_get_org_params.rule_based_resv_horizon;
361: gme_common_pvt.g_hour_uom_code :=
362: fnd_profile.VALUE ('BOM:HOUR_UOM_CODE');
363:
364: IF g_debug <= gme_debug.g_log_procedure THEN
365: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
366: END IF;
367:
368: RETURN TRUE;
361: gme_common_pvt.g_hour_uom_code :=
362: fnd_profile.VALUE ('BOM:HOUR_UOM_CODE');
363:
364: IF g_debug <= gme_debug.g_log_procedure THEN
365: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
366: END IF;
367:
368: RETURN TRUE;
369: EXCEPTION
382: WHEN gme_params_not_defined THEN
383: gme_common_pvt.log_message ('GME_DEFINE_GME_PARAMETERS');
384: RETURN FALSE;
385: WHEN OTHERS THEN
386: IF g_debug <= gme_debug.g_log_unexpected THEN
387: gme_debug.put_line ( 'When others exception in '
388: || g_pkg_name
389: || '.'
390: || l_api_name
383: gme_common_pvt.log_message ('GME_DEFINE_GME_PARAMETERS');
384: RETURN FALSE;
385: WHEN OTHERS THEN
386: IF g_debug <= gme_debug.g_log_unexpected THEN
387: gme_debug.put_line ( 'When others exception in '
388: || g_pkg_name
389: || '.'
390: || l_api_name
391: || ' Error is '
404: EXCEPTION
405: WHEN OTHERS THEN
406: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
407:
408: IF g_debug <= gme_debug.g_log_unexpected THEN
409: gme_debug.put_line ( 'When others exception in '
410: || g_pkg_name
411: || '.'
412: || l_api_name
405: WHEN OTHERS THEN
406: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
407:
408: IF g_debug <= gme_debug.g_log_unexpected THEN
409: gme_debug.put_line ( 'When others exception in '
410: || g_pkg_name
411: || '.'
412: || l_api_name
413: || ' Error is '
425: EXCEPTION
426: WHEN OTHERS THEN
427: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
428:
429: IF g_debug <= gme_debug.g_log_unexpected THEN
430: gme_debug.put_line ( 'When others exception in '
431: || g_pkg_name
432: || '.'
433: || l_api_name
426: WHEN OTHERS THEN
427: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
428:
429: IF g_debug <= gme_debug.g_log_unexpected THEN
430: gme_debug.put_line ( 'When others exception in '
431: || g_pkg_name
432: || '.'
433: || l_api_name
434: || ' Error is '
452: EXCEPTION
453: WHEN OTHERS THEN
454: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
455:
456: IF g_debug <= gme_debug.g_log_unexpected THEN
457: gme_debug.put_line ( 'When others exception in '
458: || g_pkg_name
459: || '.'
460: || l_api_name
453: WHEN OTHERS THEN
454: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
455:
456: IF g_debug <= gme_debug.g_log_unexpected THEN
457: gme_debug.put_line ( 'When others exception in '
458: || g_pkg_name
459: || '.'
460: || l_api_name
461: || ' Error is '
489: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
490: fnd_msg_pub.count_and_get (p_count => l_message_count
491: ,p_data => l_message_list);
492:
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: fnd_msg_pub.count_and_get (p_count => l_message_count
491: ,p_data => l_message_list);
492:
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 '
533: FROM mtl_secondary_inventories
534: WHERE organization_id = v_org_id
535: AND secondary_inventory_name = v_subinventory;
536: BEGIN
537: IF g_debug <= gme_debug.g_log_procedure THEN
538: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
539: || l_api_name);
540: END IF;
541:
534: WHERE organization_id = v_org_id
535: AND secondary_inventory_name = v_subinventory;
536: BEGIN
537: IF g_debug <= gme_debug.g_log_procedure THEN
538: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
539: || l_api_name);
540: END IF;
541:
542: x_return_status := fnd_api.g_ret_sts_success;
605: x_locator_id := NULL;
606: END IF;
607: END IF;
608:
609: IF g_debug <= gme_debug.g_log_procedure THEN
610: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
611: END IF;
612: EXCEPTION
613: WHEN OTHERS THEN
606: END IF;
607: END IF;
608:
609: IF g_debug <= gme_debug.g_log_procedure THEN
610: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
611: END IF;
612: EXCEPTION
613: WHEN OTHERS THEN
614: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
612: EXCEPTION
613: WHEN OTHERS THEN
614: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
615:
616: IF g_debug <= gme_debug.g_log_unexpected THEN
617: gme_debug.put_line ( 'When others exception in '
618: || g_pkg_name
619: || '.'
620: || l_api_name
613: WHEN OTHERS THEN
614: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
615:
616: IF g_debug <= gme_debug.g_log_unexpected THEN
617: gme_debug.put_line ( 'When others exception in '
618: || g_pkg_name
619: || '.'
620: || l_api_name
621: || ' Error is '
660: FROM mtl_secondary_inventories
661: WHERE organization_id = v_org_id
662: AND secondary_inventory_name = v_subinventory;
663: BEGIN
664: IF g_debug <= gme_debug.g_log_procedure THEN
665: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
666: || l_api_name);
667: END IF;
668:
661: WHERE organization_id = v_org_id
662: AND secondary_inventory_name = v_subinventory;
663: BEGIN
664: IF g_debug <= gme_debug.g_log_procedure THEN
665: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
666: || l_api_name);
667: END IF;
668:
669: x_return_status := fnd_api.g_ret_sts_success;
731: x_locator_id := NULL;
732: END IF;
733: END IF;
734:
735: IF g_debug <= gme_debug.g_log_procedure THEN
736: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
737: END IF;
738: EXCEPTION
739: WHEN OTHERS THEN
732: END IF;
733: END IF;
734:
735: IF g_debug <= gme_debug.g_log_procedure THEN
736: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
737: END IF;
738: EXCEPTION
739: WHEN OTHERS THEN
740: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
738: EXCEPTION
739: WHEN OTHERS THEN
740: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
741:
742: IF g_debug <= gme_debug.g_log_unexpected THEN
743: gme_debug.put_line ( 'When others exception in '
744: || g_pkg_name
745: || '.'
746: || l_api_name
739: WHEN OTHERS THEN
740: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
741:
742: IF g_debug <= gme_debug.g_log_unexpected THEN
743: gme_debug.put_line ( 'When others exception in '
744: || g_pkg_name
745: || '.'
746: || l_api_name
747: || ' Error is '
761: l_api_name CONSTANT VARCHAR2 (30) := 'construct_material_detail';
762: l_return_status VARCHAR2 (1);
763: get_defaults_err EXCEPTION;
764: BEGIN
765: IF g_debug <= gme_debug.g_log_procedure THEN
766: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
767: || l_api_name);
768: END IF;
769:
762: l_return_status VARCHAR2 (1);
763: get_defaults_err EXCEPTION;
764: BEGIN
765: IF g_debug <= gme_debug.g_log_procedure THEN
766: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
767: || l_api_name);
768: END IF;
769:
770: x_material_detail_rec.formulaline_id :=
822: END IF;
823:
824: x_return_status := fnd_api.g_ret_sts_success;
825:
826: IF g_debug <= gme_debug.g_log_procedure THEN
827: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
828: END IF;
829: EXCEPTION
830: WHEN get_defaults_err THEN
823:
824: x_return_status := fnd_api.g_ret_sts_success;
825:
826: IF g_debug <= gme_debug.g_log_procedure THEN
827: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
828: END IF;
829: EXCEPTION
830: WHEN get_defaults_err THEN
831: x_return_status := l_return_status;
831: x_return_status := l_return_status;
832: WHEN OTHERS THEN
833: gme_common_pvt.log_message ('GME_API_MATL_DTL_SETUP_FAILURE');
834:
835: IF g_debug <= gme_debug.g_log_unexpected THEN
836: gme_debug.put_line ( 'When others exception in '
837: || g_pkg_name
838: || '.'
839: || l_api_name
832: WHEN OTHERS THEN
833: gme_common_pvt.log_message ('GME_API_MATL_DTL_SETUP_FAILURE');
834:
835: IF g_debug <= gme_debug.g_log_unexpected THEN
836: gme_debug.put_line ( 'When others exception in '
837: || g_pkg_name
838: || '.'
839: || l_api_name
840: || ' Error is '
937: SELECT planned_process_loss, std_qty, detail_uom, inventory_item_id
938: FROM gmd_recipe_validity_rules
939: WHERE recipe_validity_rule_id = NVL (v_recipe_validity_rule_id, -1);
940: BEGIN
941: IF g_debug <= gme_debug.g_log_procedure THEN
942: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
943: || l_api_name);
944: END IF;
945:
938: FROM gmd_recipe_validity_rules
939: WHERE recipe_validity_rule_id = NVL (v_recipe_validity_rule_id, -1);
940: BEGIN
941: IF g_debug <= gme_debug.g_log_procedure THEN
942: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
943: || l_api_name);
944: END IF;
945:
946: l_total_output_qty_pre_scale := p_total_output_qty_pre_scale;
945:
946: l_total_output_qty_pre_scale := p_total_output_qty_pre_scale;
947: l_total_output_qty_scaled := p_total_output_qty_scaled;
948:
949: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
950: gme_debug.put_line (l_api_name || ': Parameters');
951: gme_debug.put_line ('p_batch_id:' || p_batch_id);
952: gme_debug.put_line ('p_validity_rule_id:' || p_validity_rule_id);
953: gme_debug.put_line ('p_organization_id:' || p_organization_id);
946: l_total_output_qty_pre_scale := p_total_output_qty_pre_scale;
947: l_total_output_qty_scaled := p_total_output_qty_scaled;
948:
949: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
950: gme_debug.put_line (l_api_name || ': Parameters');
951: gme_debug.put_line ('p_batch_id:' || p_batch_id);
952: gme_debug.put_line ('p_validity_rule_id:' || p_validity_rule_id);
953: gme_debug.put_line ('p_organization_id:' || p_organization_id);
954: gme_debug.put_line ( 'p__total_output_qty_scaled:'
947: l_total_output_qty_scaled := p_total_output_qty_scaled;
948:
949: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
950: gme_debug.put_line (l_api_name || ': Parameters');
951: gme_debug.put_line ('p_batch_id:' || p_batch_id);
952: gme_debug.put_line ('p_validity_rule_id:' || p_validity_rule_id);
953: gme_debug.put_line ('p_organization_id:' || p_organization_id);
954: gme_debug.put_line ( 'p__total_output_qty_scaled:'
955: || p_total_output_qty_scaled);
948:
949: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
950: gme_debug.put_line (l_api_name || ': Parameters');
951: gme_debug.put_line ('p_batch_id:' || p_batch_id);
952: gme_debug.put_line ('p_validity_rule_id:' || p_validity_rule_id);
953: gme_debug.put_line ('p_organization_id:' || p_organization_id);
954: gme_debug.put_line ( 'p__total_output_qty_scaled:'
955: || p_total_output_qty_scaled);
956: gme_debug.put_line ( 'p__total_output_qty_pre_scale:'
949: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
950: gme_debug.put_line (l_api_name || ': Parameters');
951: gme_debug.put_line ('p_batch_id:' || p_batch_id);
952: gme_debug.put_line ('p_validity_rule_id:' || p_validity_rule_id);
953: gme_debug.put_line ('p_organization_id:' || p_organization_id);
954: gme_debug.put_line ( 'p__total_output_qty_scaled:'
955: || p_total_output_qty_scaled);
956: gme_debug.put_line ( 'p__total_output_qty_pre_scale:'
957: || p_total_output_qty_pre_scale);
950: gme_debug.put_line (l_api_name || ': Parameters');
951: gme_debug.put_line ('p_batch_id:' || p_batch_id);
952: gme_debug.put_line ('p_validity_rule_id:' || p_validity_rule_id);
953: gme_debug.put_line ('p_organization_id:' || p_organization_id);
954: gme_debug.put_line ( 'p__total_output_qty_scaled:'
955: || p_total_output_qty_scaled);
956: gme_debug.put_line ( 'p__total_output_qty_pre_scale:'
957: || p_total_output_qty_pre_scale);
958: END IF;
952: gme_debug.put_line ('p_validity_rule_id:' || p_validity_rule_id);
953: gme_debug.put_line ('p_organization_id:' || p_organization_id);
954: gme_debug.put_line ( 'p__total_output_qty_scaled:'
955: || p_total_output_qty_scaled);
956: gme_debug.put_line ( 'p__total_output_qty_pre_scale:'
957: || p_total_output_qty_pre_scale);
958: END IF;
959:
960: /* Use and validate the batch id if it is passed in. */
996: INTO l_routing_class, l_routing_uom, l_routing_class_uom, l_routing_process_loss, l_routing_qty;
997:
998: CLOSE cur_get_rtclass;
999: ELSE
1000: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1001: gme_debug.put_line (l_api_name || ': No routing defined');
1002: END IF;
1003: END IF;
1004:
997:
998: CLOSE cur_get_rtclass;
999: ELSE
1000: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1001: gme_debug.put_line (l_api_name || ': No routing defined');
1002: END IF;
1003: END IF;
1004:
1005: -- Determine the process loss.
1013:
1014: CLOSE validity_process_loss_cursor;
1015:
1016: IF l_process_loss_a IS NULL THEN
1017: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1018: gme_debug.put_line ( l_api_name
1019: || ': No process_loss at validity level');
1020: END IF;
1021:
1014: CLOSE validity_process_loss_cursor;
1015:
1016: IF l_process_loss_a IS NULL THEN
1017: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1018: gme_debug.put_line ( l_api_name
1019: || ': No process_loss at validity level');
1020: END IF;
1021:
1022: --Bug#5618961 initializing the variables if we did not find process loss VR level
1031:
1032: CLOSE orgn_process_loss_cursor;
1033:
1034: IF l_process_loss_a IS NULL THEN
1035: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1036: gme_debug.put_line ( l_api_name
1037: || ': No process_loss at orgn level');
1038: END IF;
1039:
1032: CLOSE orgn_process_loss_cursor;
1033:
1034: IF l_process_loss_a IS NULL THEN
1035: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1036: gme_debug.put_line ( l_api_name
1037: || ': No process_loss at orgn level');
1038: END IF;
1039:
1040: OPEN recipe_process_loss_cursor (l_recipe_id);
1044:
1045: CLOSE recipe_process_loss_cursor;
1046:
1047: IF l_process_loss_a IS NULL THEN
1048: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1049: gme_debug.put_line ( l_api_name
1050: || 'No process_loss at recipe level');
1051: END IF;
1052:
1045: CLOSE recipe_process_loss_cursor;
1046:
1047: IF l_process_loss_a IS NULL THEN
1048: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1049: gme_debug.put_line ( l_api_name
1050: || 'No process_loss at recipe level');
1051: END IF;
1052:
1053: --Bug#5618961 Begin commented the following cursor code as we already fetch the values
1070: l_process_loss := l_process_loss_a;
1071:
1072: --Bug#5618961 Begin assigning the actual qty tht has to be considered
1073: IF l_qty IS NOT NULL THEN
1074: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1075: gme_debug.put_line(l_api_name|| 'Qty to be considered for theoretical process loss'|| l_qty);
1076: END IF;
1077: l_total_output_qty_pre_scale := l_qty;
1078: END IF;
1071:
1072: --Bug#5618961 Begin assigning the actual qty tht has to be considered
1073: IF l_qty IS NOT NULL THEN
1074: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1075: gme_debug.put_line(l_api_name|| 'Qty to be considered for theoretical process loss'|| l_qty);
1076: END IF;
1077: l_total_output_qty_pre_scale := l_qty;
1078: END IF;
1079:
1089: ,to_unit => l_routing_class_uom
1090: ,from_name => NULL
1091: ,to_name => NULL);
1092: IF l_qty < 0 THEN
1093: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1094: gme_debug.put_line( l_api_name
1095: || 'No process_loss at routing class level for output B'
1096: || l_total_output_qty_pre_scale);
1097: END IF;
1090: ,from_name => NULL
1091: ,to_name => NULL);
1092: IF l_qty < 0 THEN
1093: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1094: gme_debug.put_line( l_api_name
1095: || 'No process_loss at routing class level for output B'
1096: || l_total_output_qty_pre_scale);
1097: END IF;
1098: ELSE
1097: END IF;
1098: ELSE
1099: --assign the qty to pre scale i.e in routing class uom
1100: l_total_output_qty_pre_scale := l_qty;
1101: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1102: gme_debug.put_line(l_api_name|| 'Before scaled qty after converting to routing calss uom'|| l_qty);
1103: END IF;
1104: END IF; /*l_qty < 0 */
1105: END IF; /*l_uom <> l_routing_class_uom*/
1098: ELSE
1099: --assign the qty to pre scale i.e in routing class uom
1100: l_total_output_qty_pre_scale := l_qty;
1101: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1102: gme_debug.put_line(l_api_name|| 'Before scaled qty after converting to routing calss uom'|| l_qty);
1103: END IF;
1104: END IF; /*l_qty < 0 */
1105: END IF; /*l_uom <> l_routing_class_uom*/
1106:
1113: ,to_unit => l_routing_class_uom
1114: ,from_name => NULL
1115: ,to_name => NULL);
1116: IF l_qty < 0 THEN
1117: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1118: gme_debug.put_line( l_api_name
1119: || 'No process_loss at routing class level for output B'
1120: || p_total_output_qty_scaled);
1121: END IF;
1114: ,from_name => NULL
1115: ,to_name => NULL);
1116: IF l_qty < 0 THEN
1117: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1118: gme_debug.put_line( l_api_name
1119: || 'No process_loss at routing class level for output B'
1120: || p_total_output_qty_scaled);
1121: END IF;
1122: ELSE
1121: END IF;
1122: ELSE
1123: --assign the qty to pre scale i.e in routing class uom
1124: l_total_output_qty_scaled := l_qty;
1125: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1126: gme_debug.put_line(l_api_name|| 'after scaled Qty after converting to routing calss uom'|| l_qty);
1127: END IF;
1128: END IF; /*l_qty < 0 */
1129: END IF; /*l_uom <> l_routing_class_uom*/
1122: ELSE
1123: --assign the qty to pre scale i.e in routing class uom
1124: l_total_output_qty_scaled := l_qty;
1125: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1126: gme_debug.put_line(l_api_name|| 'after scaled Qty after converting to routing calss uom'|| l_qty);
1127: END IF;
1128: END IF; /*l_qty < 0 */
1129: END IF; /*l_uom <> l_routing_class_uom*/
1130:
1147:
1148: CLOSE class_process_loss_cursor;
1149:
1150: IF NVL (l_process_loss_b, 0) = 0 THEN
1151: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1152: gme_debug.put_line
1153: ( l_api_name
1154: || 'No process_loss at routing class level for output B'
1155: || p_total_output_qty_scaled);
1148: CLOSE class_process_loss_cursor;
1149:
1150: IF NVL (l_process_loss_b, 0) = 0 THEN
1151: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1152: gme_debug.put_line
1153: ( l_api_name
1154: || 'No process_loss at routing class level for output B'
1155: || p_total_output_qty_scaled);
1156: END IF;
1165:
1166: CLOSE class_process_loss_cursor;
1167:
1168: IF NVL (l_process_loss_c, 0) = 0 THEN
1169: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1170: gme_debug.put_line
1171: ( l_api_name
1172: || 'No process_loss at routing class level for output C'
1173: || p_total_output_qty_pre_scale);
1166: CLOSE class_process_loss_cursor;
1167:
1168: IF NVL (l_process_loss_c, 0) = 0 THEN
1169: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1170: gme_debug.put_line
1171: ( l_api_name
1172: || 'No process_loss at routing class level for output C'
1173: || p_total_output_qty_pre_scale);
1174: END IF;
1176: /* If it makes it here then it found a loss for both the pre and post scale quantities. */
1177: l_process_loss :=
1178: l_process_loss * l_process_loss_b / l_process_loss_c;
1179:
1180: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1181: gme_debug.put_line ( l_api_name
1182: || 'Process_loss a'
1183: || l_process_loss_a
1184: || 'Process_loss b'
1177: l_process_loss :=
1178: l_process_loss * l_process_loss_b / l_process_loss_c;
1179:
1180: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1181: gme_debug.put_line ( l_api_name
1182: || 'Process_loss a'
1183: || l_process_loss_a
1184: || 'Process_loss b'
1185: || l_process_loss_b
1190: END IF; /* NVL (l_process_loss_b, 0) = 0 */
1191: END IF; /* l_routing_class IS NOT NULL */
1192: END IF; /* (l_routing_id IS NOT NULL AND l_process_loss > 0) */
1193:
1194: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1195: gme_debug.put_line ('Process Loss is ' || l_process_loss);
1196: END IF;
1197:
1198: IF g_debug <= gme_debug.g_log_procedure THEN
1191: END IF; /* l_routing_class IS NOT NULL */
1192: END IF; /* (l_routing_id IS NOT NULL AND l_process_loss > 0) */
1193:
1194: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1195: gme_debug.put_line ('Process Loss is ' || l_process_loss);
1196: END IF;
1197:
1198: IF g_debug <= gme_debug.g_log_procedure THEN
1199: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1194: IF NVL (g_debug, -1) = gme_debug.g_log_statement THEN
1195: gme_debug.put_line ('Process Loss is ' || l_process_loss);
1196: END IF;
1197:
1198: IF g_debug <= gme_debug.g_log_procedure THEN
1199: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1200: END IF;
1201:
1202: RETURN (l_process_loss);
1195: gme_debug.put_line ('Process Loss is ' || l_process_loss);
1196: END IF;
1197:
1198: IF g_debug <= gme_debug.g_log_procedure THEN
1199: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1200: END IF;
1201:
1202: RETURN (l_process_loss);
1203: EXCEPTION
1205: RETURN (NULL);
1206: WHEN OTHERS THEN
1207: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
1208:
1209: IF g_debug <= gme_debug.g_log_unexpected THEN
1210: gme_debug.put_line ( 'When others exception in '
1211: || g_pkg_name
1212: || '.'
1213: || l_api_name
1206: WHEN OTHERS THEN
1207: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
1208:
1209: IF g_debug <= gme_debug.g_log_unexpected THEN
1210: gme_debug.put_line ( 'When others exception in '
1211: || g_pkg_name
1212: || '.'
1213: || l_api_name
1214: || ' Error is '
1227: invalid_doc_no EXCEPTION;
1228: l_api_name CONSTANT VARCHAR2 (30) := 'create_document_no';
1229: PRAGMA AUTONOMOUS_TRANSACTION;
1230: BEGIN
1231: IF g_debug <= gme_debug.g_log_procedure THEN
1232: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1233: || l_api_name);
1234: END IF;
1235:
1228: l_api_name CONSTANT VARCHAR2 (30) := 'create_document_no';
1229: PRAGMA AUTONOMOUS_TRANSACTION;
1230: BEGIN
1231: IF g_debug <= gme_debug.g_log_procedure THEN
1232: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1233: || l_api_name);
1234: END IF;
1235:
1236: x_batch_header_rec := p_batch_header_rec;
1269: ELSE
1270: ROLLBACK;
1271: END IF;
1272:
1273: IF g_debug <= gme_debug.g_log_procedure THEN
1274: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1275: END IF;
1276: EXCEPTION
1277: WHEN invalid_doc_no THEN
1270: ROLLBACK;
1271: END IF;
1272:
1273: IF g_debug <= gme_debug.g_log_procedure THEN
1274: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1275: END IF;
1276: EXCEPTION
1277: WHEN invalid_doc_no THEN
1278: x_batch_header_rec.batch_no := NULL;
1289: fnd_message.set_name ('GMA', 'SY_NODOCSEQREC');
1290: fnd_msg_pub.ADD;
1291: ROLLBACK;
1292: WHEN OTHERS THEN
1293: IF g_debug <= gme_debug.g_log_unexpected THEN
1294: gme_debug.put_line ( 'When others exception in '
1295: || g_pkg_name
1296: || '.'
1297: || l_api_name
1290: fnd_msg_pub.ADD;
1291: ROLLBACK;
1292: WHEN OTHERS THEN
1293: IF g_debug <= gme_debug.g_log_unexpected THEN
1294: gme_debug.put_line ( 'When others exception in '
1295: || g_pkg_name
1296: || '.'
1297: || l_api_name
1298: || ' Error is '
1324: l_rule_rec cur_common_rules%ROWTYPE;
1325: l_total_leadtime NUMBER;
1326: l_api_name CONSTANT VARCHAR2 (30) := 'calc_date_from_prod_rule';
1327: BEGIN
1328: IF g_debug <= gme_debug.g_log_procedure THEN
1329: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1330: || l_api_name);
1331: END IF;
1332:
1325: l_total_leadtime NUMBER;
1326: l_api_name CONSTANT VARCHAR2 (30) := 'calc_date_from_prod_rule';
1327: BEGIN
1328: IF g_debug <= gme_debug.g_log_procedure THEN
1329: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1330: || l_api_name);
1331: END IF;
1332:
1333: OPEN cur_common_rules (p_organization_id, p_inventory_item_id);
1360: x_start_date := gme_common_pvt.g_timestamp;
1361: x_cmplt_date := x_start_date + l_total_leadtime;
1362: END IF;
1363:
1364: IF g_debug <= gme_debug.g_log_procedure THEN
1365: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1366: END IF;
1367:
1368: RETURN TRUE;
1361: x_cmplt_date := x_start_date + l_total_leadtime;
1362: END IF;
1363:
1364: IF g_debug <= gme_debug.g_log_procedure THEN
1365: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1366: END IF;
1367:
1368: RETURN TRUE;
1369: EXCEPTION
1367:
1368: RETURN TRUE;
1369: EXCEPTION
1370: WHEN OTHERS THEN
1371: IF g_debug <= gme_debug.g_log_unexpected THEN
1372: gme_debug.put_line ( 'When others exception in '
1373: || g_pkg_name
1374: || '.'
1375: || l_api_name
1368: RETURN TRUE;
1369: EXCEPTION
1370: WHEN OTHERS THEN
1371: IF g_debug <= gme_debug.g_log_unexpected THEN
1372: gme_debug.put_line ( 'When others exception in '
1373: || g_pkg_name
1374: || '.'
1375: || l_api_name
1376: || ' Error is '
1414: SELECT plan_start_date, plan_cmplt_date
1415: FROM gme_batch_header
1416: WHERE batch_id = v_batch_id;
1417: BEGIN
1418: IF g_debug <= gme_debug.g_log_procedure THEN
1419: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1420: || l_api_name);
1421: END IF;
1422:
1415: FROM gme_batch_header
1416: WHERE batch_id = v_batch_id;
1417: BEGIN
1418: IF g_debug <= gme_debug.g_log_procedure THEN
1419: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1420: || l_api_name);
1421: END IF;
1422:
1423: x_return_status := fnd_api.g_ret_sts_success;
1477: x_mtl_req_date := l_batch_cmplt_date;
1478: END IF;
1479: END IF;
1480:
1481: IF g_debug <= gme_debug.g_log_procedure THEN
1482: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1483: END IF;
1484: EXCEPTION
1485: WHEN OTHERS THEN
1478: END IF;
1479: END IF;
1480:
1481: IF g_debug <= gme_debug.g_log_procedure THEN
1482: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1483: END IF;
1484: EXCEPTION
1485: WHEN OTHERS THEN
1486: IF g_debug <= gme_debug.g_log_unexpected THEN
1482: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1483: END IF;
1484: EXCEPTION
1485: WHEN OTHERS THEN
1486: IF g_debug <= gme_debug.g_log_unexpected THEN
1487: gme_debug.put_line ( 'When others exception in '
1488: || g_pkg_name
1489: || '.'
1490: || l_api_name
1483: END IF;
1484: EXCEPTION
1485: WHEN OTHERS THEN
1486: IF g_debug <= gme_debug.g_log_unexpected THEN
1487: gme_debug.put_line ( 'When others exception in '
1488: || g_pkg_name
1489: || '.'
1490: || l_api_name
1491: || ' Error is '
1523: l_plan_activity_factor NUMBER;
1524: l_actual_activity_factor NUMBER;
1525: l_api_name CONSTANT VARCHAR2 (30) := 'is_qty_below_capacity';
1526: BEGIN
1527: IF g_debug <= gme_debug.g_log_procedure THEN
1528: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1529: || l_api_name);
1530: END IF;
1531:
1524: l_actual_activity_factor NUMBER;
1525: l_api_name CONSTANT VARCHAR2 (30) := 'is_qty_below_capacity';
1526: BEGIN
1527: IF g_debug <= gme_debug.g_log_procedure THEN
1528: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1529: || l_api_name);
1530: END IF;
1531:
1532: /* If capacities are not defined for the resource then we have nothing to check against so return true */
1531:
1532: /* If capacities are not defined for the resource then we have nothing to check against so return true */
1533: IF (p_batch_step_resources_rec.min_capacity IS NULL)
1534: OR (p_batch_step_resources_rec.capacity_um IS NULL) THEN
1535: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1536: gme_debug.put_line
1537: (' Resource min capacity or capacity um is null');
1538: RETURN FALSE;
1539: END IF;
1532: /* If capacities are not defined for the resource then we have nothing to check against so return true */
1533: IF (p_batch_step_resources_rec.min_capacity IS NULL)
1534: OR (p_batch_step_resources_rec.capacity_um IS NULL) THEN
1535: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1536: gme_debug.put_line
1537: (' Resource min capacity or capacity um is null');
1538: RETURN FALSE;
1539: END IF;
1540: END IF;
1538: RETURN FALSE;
1539: END IF;
1540: END IF;
1541:
1542: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1543: gme_debug.put_line ( ' Resource min capacity:'
1544: || p_batch_step_resources_rec.min_capacity
1545: || ' Capacity UM:'
1546: || p_batch_step_resources_rec.capacity_um
1539: END IF;
1540: END IF;
1541:
1542: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1543: gme_debug.put_line ( ' Resource min capacity:'
1544: || p_batch_step_resources_rec.min_capacity
1545: || ' Capacity UM:'
1546: || p_batch_step_resources_rec.capacity_um
1547: || ' Resource UOM:'
1568: l_resource_qty :=
1569: p_batch_step_resources_rec.actual_rsrc_qty
1570: / l_actual_activity_factor;
1571:
1572: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1573: gme_debug.put_line ( ' Resource Qty by Actual:'
1574: || l_resource_qty
1575: || ' Activity Factor:'
1576: || l_actual_activity_factor);
1569: p_batch_step_resources_rec.actual_rsrc_qty
1570: / l_actual_activity_factor;
1571:
1572: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1573: gme_debug.put_line ( ' Resource Qty by Actual:'
1574: || l_resource_qty
1575: || ' Activity Factor:'
1576: || l_actual_activity_factor);
1577: END IF;
1584: l_resource_qty :=
1585: p_batch_step_resources_rec.plan_rsrc_qty
1586: / l_plan_activity_factor;
1587:
1588: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1589: gme_debug.put_line ( ' Resource Qty by Plan:'
1590: || l_resource_qty
1591: || ' Activity Factor:'
1592: || l_plan_activity_factor);
1585: p_batch_step_resources_rec.plan_rsrc_qty
1586: / l_plan_activity_factor;
1587:
1588: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1589: gme_debug.put_line ( ' Resource Qty by Plan:'
1590: || l_resource_qty
1591: || ' Activity Factor:'
1592: || l_plan_activity_factor);
1593: END IF;
1624: INTO l_qty_um_type, l_qty_std_factor;
1625:
1626: CLOSE cur_get_um_type;
1627:
1628: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1629: gme_debug.put_line ( ' Capacity uom type:'
1630: || l_cap_um_type
1631: || ' Std Factor:'
1632: || l_cap_std_factor
1625:
1626: CLOSE cur_get_um_type;
1627:
1628: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1629: gme_debug.put_line ( ' Capacity uom type:'
1630: || l_cap_um_type
1631: || ' Std Factor:'
1632: || l_cap_std_factor
1633: || ' Qty uom type:'
1652: END IF; /* IF l_cap_um_type <> l_qty_um_type */
1653: END IF;
1654: /* IF p_batch_step_resources_rec.capacity_uom = p_batch_step_resources_rec.process_qty_um */
1655:
1656: IF g_debug <= gme_debug.g_log_procedure THEN
1657: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1658: END IF;
1659: EXCEPTION
1660: WHEN OTHERS THEN
1653: END IF;
1654: /* IF p_batch_step_resources_rec.capacity_uom = p_batch_step_resources_rec.process_qty_um */
1655:
1656: IF g_debug <= gme_debug.g_log_procedure THEN
1657: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1658: END IF;
1659: EXCEPTION
1660: WHEN OTHERS THEN
1661: IF g_debug <= gme_debug.g_log_unexpected THEN
1657: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1658: END IF;
1659: EXCEPTION
1660: WHEN OTHERS THEN
1661: IF g_debug <= gme_debug.g_log_unexpected THEN
1662: gme_debug.put_line ( 'When others exception in '
1663: || g_pkg_name
1664: || '.'
1665: || l_api_name
1658: END IF;
1659: EXCEPTION
1660: WHEN OTHERS THEN
1661: IF g_debug <= gme_debug.g_log_unexpected THEN
1662: gme_debug.put_line ( 'When others exception in '
1663: || g_pkg_name
1664: || '.'
1665: || l_api_name
1666: || ' Error is '
1685: l_found NUMBER (5) DEFAULT 0;
1686: l_resources VARCHAR2 (2000);
1687: l_api_name CONSTANT VARCHAR2 (30) := 'resource_qty_below_capacity';
1688: BEGIN
1689: IF g_debug <= gme_debug.g_log_procedure THEN
1690: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1691: || l_api_name);
1692: END IF;
1693:
1686: l_resources VARCHAR2 (2000);
1687: l_api_name CONSTANT VARCHAR2 (30) := 'resource_qty_below_capacity';
1688: BEGIN
1689: IF g_debug <= gme_debug.g_log_procedure THEN
1690: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1691: || l_api_name);
1692: END IF;
1693:
1694: OPEN cur_get_resources;
1721: END LOOP;
1722: /* FOR i IN 1..l_resource_ids.COUNT */
1723: /* If we have found atleast one resource falling below capacity then return true */
1724:
1725: IF g_debug <= gme_debug.g_log_procedure THEN
1726: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1727: END IF;
1728:
1729: IF l_found = 1 THEN
1722: /* FOR i IN 1..l_resource_ids.COUNT */
1723: /* If we have found atleast one resource falling below capacity then return true */
1724:
1725: IF g_debug <= gme_debug.g_log_procedure THEN
1726: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1727: END IF;
1728:
1729: IF l_found = 1 THEN
1730: gme_common_pvt.log_message ('GME_API_RSRC_QTY_BELOW_CAP'
1735: RETURN FALSE;
1736: END IF;
1737: EXCEPTION
1738: WHEN OTHERS THEN
1739: IF g_debug <= gme_debug.g_log_unexpected THEN
1740: gme_debug.put_line ( 'When others exception in '
1741: || g_pkg_name
1742: || '.'
1743: || l_api_name
1736: END IF;
1737: EXCEPTION
1738: WHEN OTHERS THEN
1739: IF g_debug <= gme_debug.g_log_unexpected THEN
1740: gme_debug.put_line ( 'When others exception in '
1741: || g_pkg_name
1742: || '.'
1743: || l_api_name
1744: || ' Error is '
1797: org_info_not_provided EXCEPTION;
1798: subinventory_info_not_provided EXCEPTION;
1799: item_info_not_provided EXCEPTION;
1800: BEGIN
1801: IF g_debug <= gme_debug.g_log_procedure THEN
1802: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1803: || l_api_name);
1804: END IF;
1805:
1798: subinventory_info_not_provided EXCEPTION;
1799: item_info_not_provided EXCEPTION;
1800: BEGIN
1801: IF g_debug <= gme_debug.g_log_procedure THEN
1802: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1803: || l_api_name);
1804: END IF;
1805:
1806: IF (p_org_control IS NULL OR p_org_neg_allowed IS NULL) THEN
1861: ,p_item_loc_restrict => l_item_loc_restrict
1862: ,p_org_neg_allowed => l_org_neg_allowed
1863: ,p_action => p_action);
1864:
1865: IF g_debug <= gme_debug.g_log_procedure THEN
1866: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1867: END IF;
1868:
1869: RETURN l_eff_control;
1862: ,p_org_neg_allowed => l_org_neg_allowed
1863: ,p_action => p_action);
1864:
1865: IF g_debug <= gme_debug.g_log_procedure THEN
1866: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1867: END IF;
1868:
1869: RETURN l_eff_control;
1870: EXCEPTION
1874: RETURN -1;
1875: WHEN item_info_not_provided THEN
1876: RETURN -1;
1877: WHEN OTHERS THEN
1878: IF g_debug <= gme_debug.g_log_unexpected THEN
1879: gme_debug.put_line ( 'When others exception in '
1880: || g_pkg_name
1881: || '.'
1882: || l_api_name
1875: WHEN item_info_not_provided THEN
1876: RETURN -1;
1877: WHEN OTHERS THEN
1878: IF g_debug <= gme_debug.g_log_unexpected THEN
1879: gme_debug.put_line ( 'When others exception in '
1880: || g_pkg_name
1881: || '.'
1882: || l_api_name
1883: || ' Error is '
1906: l_org inv_validate.org;
1907: l_item inv_validate.item;
1908: l_sub inv_validate.sub;
1909: BEGIN
1910: IF g_debug <= gme_debug.g_log_procedure THEN
1911: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1912: || l_api_name);
1913: END IF;
1914:
1907: l_item inv_validate.item;
1908: l_sub inv_validate.sub;
1909: BEGIN
1910: IF g_debug <= gme_debug.g_log_procedure THEN
1911: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1912: || l_api_name);
1913: END IF;
1914:
1915: IF g_debug <= gme_debug.g_log_statement THEN
1911: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
1912: || l_api_name);
1913: END IF;
1914:
1915: IF g_debug <= gme_debug.g_log_statement THEN
1916: gme_debug.put_line ( g_pkg_name
1917: || '.'
1918: || l_api_name
1919: || 'p_organization_id '
1912: || l_api_name);
1913: END IF;
1914:
1915: IF g_debug <= gme_debug.g_log_statement THEN
1916: gme_debug.put_line ( g_pkg_name
1917: || '.'
1918: || l_api_name
1919: || 'p_organization_id '
1920: || p_organization_id);
1917: || '.'
1918: || l_api_name
1919: || 'p_organization_id '
1920: || p_organization_id);
1921: gme_debug.put_line ( g_pkg_name
1922: || '.'
1923: || l_api_name
1924: || 'p_locator_id '
1925: || p_locator_id);
1922: || '.'
1923: || l_api_name
1924: || 'p_locator_id '
1925: || p_locator_id);
1926: gme_debug.put_line ( g_pkg_name
1927: || '.'
1928: || l_api_name
1929: || 'p_subinventory '
1930: || p_subinventory);
1927: || '.'
1928: || l_api_name
1929: || 'p_subinventory '
1930: || p_subinventory);
1931: gme_debug.put_line ( g_pkg_name
1932: || '.'
1933: || l_api_name
1934: || 'p_inventory_item_id '
1935: || p_inventory_item_id);
1932: || '.'
1933: || l_api_name
1934: || 'p_inventory_item_id '
1935: || p_inventory_item_id);
1936: gme_debug.put_line ( g_pkg_name
1937: || '.'
1938: || l_api_name
1939: || 'p_txn_action_id '
1940: || p_txn_action_id);
1963: inv_validate.f) THEN
1964: fnd_message.set_name ('INV', 'INV_INVALID_LOCATION');
1965: fnd_msg_pub.ADD;
1966:
1967: IF g_debug <= gme_debug.g_log_statement THEN
1968: gme_debug.put_line ( g_pkg_name
1969: || '.'
1970: || l_api_name
1971: || ' Locator IS invalid');
1964: fnd_message.set_name ('INV', 'INV_INVALID_LOCATION');
1965: fnd_msg_pub.ADD;
1966:
1967: IF g_debug <= gme_debug.g_log_statement THEN
1968: gme_debug.put_line ( g_pkg_name
1969: || '.'
1970: || l_api_name
1971: || ' Locator IS invalid');
1972: END IF;
1973:
1974: RETURN FALSE;
1975: END IF;
1976:
1977: IF g_debug <= gme_debug.g_log_procedure THEN
1978: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1979: END IF;
1980:
1981: RETURN TRUE;
1974: RETURN FALSE;
1975: END IF;
1976:
1977: IF g_debug <= gme_debug.g_log_procedure THEN
1978: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
1979: END IF;
1980:
1981: RETURN TRUE;
1982: EXCEPTION
1980:
1981: RETURN TRUE;
1982: EXCEPTION
1983: WHEN OTHERS THEN
1984: IF g_debug <= gme_debug.g_log_unexpected THEN
1985: gme_debug.put_line ( 'WHEN OTHERS EXCEPTION IN '
1986: || g_pkg_name
1987: || '.'
1988: || l_api_name
1981: RETURN TRUE;
1982: EXCEPTION
1983: WHEN OTHERS THEN
1984: IF g_debug <= gme_debug.g_log_unexpected THEN
1985: gme_debug.put_line ( 'WHEN OTHERS EXCEPTION IN '
1986: || g_pkg_name
1987: || '.'
1988: || l_api_name
1989: || ' Error IS '
2014: AND inventory_item_id = p_inventory_item_id;
2015:
2016: l_item_restict_subinv NUMBER;
2017: BEGIN
2018: IF g_debug <= gme_debug.g_log_procedure THEN
2019: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
2020: || l_api_name);
2021: END IF;
2022:
2015:
2016: l_item_restict_subinv NUMBER;
2017: BEGIN
2018: IF g_debug <= gme_debug.g_log_procedure THEN
2019: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
2020: || l_api_name);
2021: END IF;
2022:
2023: IF g_debug <= gme_debug.g_log_statement THEN
2019: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
2020: || l_api_name);
2021: END IF;
2022:
2023: IF g_debug <= gme_debug.g_log_statement THEN
2024: gme_debug.put_line ( g_pkg_name
2025: || '.'
2026: || l_api_name
2027: || 'p_organization_id '
2020: || l_api_name);
2021: END IF;
2022:
2023: IF g_debug <= gme_debug.g_log_statement THEN
2024: gme_debug.put_line ( g_pkg_name
2025: || '.'
2026: || l_api_name
2027: || 'p_organization_id '
2028: || p_organization_id);
2025: || '.'
2026: || l_api_name
2027: || 'p_organization_id '
2028: || p_organization_id);
2029: gme_debug.put_line ( g_pkg_name
2030: || '.'
2031: || l_api_name
2032: || 'p_subinventory '
2033: || p_subinventory);
2030: || '.'
2031: || l_api_name
2032: || 'p_subinventory '
2033: || p_subinventory);
2034: gme_debug.put_line ( g_pkg_name
2035: || '.'
2036: || l_api_name
2037: || 'p_inventory_item_id '
2038: || p_inventory_item_id);
2056: IF (l_item_restict_subinv = 1) THEN
2057: IF (inv_validate.subinventory (p_org => l_org
2058: ,p_item => l_item
2059: ,p_sub => l_sub) = inv_validate.f) THEN
2060: IF g_debug <= gme_debug.g_log_statement THEN
2061: gme_debug.put_line ( g_pkg_name
2062: || '.'
2063: || l_api_name
2064: || ' Subinventory is invalid');
2057: IF (inv_validate.subinventory (p_org => l_org
2058: ,p_item => l_item
2059: ,p_sub => l_sub) = inv_validate.f) THEN
2060: IF g_debug <= gme_debug.g_log_statement THEN
2061: gme_debug.put_line ( g_pkg_name
2062: || '.'
2063: || l_api_name
2064: || ' Subinventory is invalid');
2065: END IF;
2068: END IF;
2069: ELSE
2070: IF (inv_validate.subinventory (p_org => l_org, p_sub => l_sub) =
2071: inv_validate.f) THEN
2072: IF g_debug <= gme_debug.g_log_statement THEN
2073: gme_debug.put_line ( g_pkg_name
2074: || '.'
2075: || l_api_name
2076: || ' Subinventory is invalid');
2069: ELSE
2070: IF (inv_validate.subinventory (p_org => l_org, p_sub => l_sub) =
2071: inv_validate.f) THEN
2072: IF g_debug <= gme_debug.g_log_statement THEN
2073: gme_debug.put_line ( g_pkg_name
2074: || '.'
2075: || l_api_name
2076: || ' Subinventory is invalid');
2077: END IF;
2079: RETURN FALSE;
2080: END IF;
2081: END IF;
2082:
2083: IF g_debug <= gme_debug.g_log_procedure THEN
2084: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
2085: END IF;
2086:
2087: RETURN TRUE;
2080: END IF;
2081: END IF;
2082:
2083: IF g_debug <= gme_debug.g_log_procedure THEN
2084: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
2085: END IF;
2086:
2087: RETURN TRUE;
2088: EXCEPTION
2086:
2087: RETURN TRUE;
2088: EXCEPTION
2089: WHEN OTHERS THEN
2090: IF g_debug <= gme_debug.g_log_unexpected THEN
2091: gme_debug.put_line ( 'When others exception in '
2092: || g_pkg_name
2093: || '.'
2094: || l_api_name
2087: RETURN TRUE;
2088: EXCEPTION
2089: WHEN OTHERS THEN
2090: IF g_debug <= gme_debug.g_log_unexpected THEN
2091: gme_debug.put_line ( 'When others exception in '
2092: || g_pkg_name
2093: || '.'
2094: || l_api_name
2095: || ' Error is '
2147: /* EXCEPTION Definitions */
2148: uom_conversion_failure EXCEPTION;
2149: validation_failure EXCEPTION;
2150: BEGIN
2151: IF g_debug <= gme_debug.g_log_procedure THEN
2152: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
2153: || l_api_name);
2154: END IF;
2155:
2148: uom_conversion_failure EXCEPTION;
2149: validation_failure EXCEPTION;
2150: BEGIN
2151: IF g_debug <= gme_debug.g_log_procedure THEN
2152: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
2153: || l_api_name);
2154: END IF;
2155:
2156: OPEN get_validity_rule (p_validity_rule_id);
2310: OR l_recipe_validity_tbl.COUNT <= 0 THEN
2311: RAISE validation_failure;
2312: END IF;
2313:
2314: IF g_debug <= gme_debug.g_log_procedure THEN
2315: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
2316: END IF;
2317:
2318: RETURN TRUE;
2311: RAISE validation_failure;
2312: END IF;
2313:
2314: IF g_debug <= gme_debug.g_log_procedure THEN
2315: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
2316: END IF;
2317:
2318: RETURN TRUE;
2319: EXCEPTION
2326:
2327: CLOSE cur_item_no;
2328: END IF;
2329:
2330: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
2331: gme_debug.put_line
2332: ('UOM conversion failed in validate_validity_rule');
2333: END IF;
2334:
2327: CLOSE cur_item_no;
2328: END IF;
2329:
2330: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
2331: gme_debug.put_line
2332: ('UOM conversion failed in validate_validity_rule');
2333: END IF;
2334:
2335: fnd_message.set_name ('GMI', 'IC_API_UOM_CONVERSION_ERROR');
2341: WHEN validation_failure THEN
2342: gme_common_pvt.log_message ('GME_INVALID_VALIDITY_RULE_QTY');
2343: RETURN FALSE;
2344: WHEN OTHERS THEN
2345: IF g_debug <= gme_debug.g_log_unexpected THEN
2346: gme_debug.put_line ( 'When others exception in '
2347: || g_pkg_name
2348: || '.'
2349: || l_api_name
2342: gme_common_pvt.log_message ('GME_INVALID_VALIDITY_RULE_QTY');
2343: RETURN FALSE;
2344: WHEN OTHERS THEN
2345: IF g_debug <= gme_debug.g_log_unexpected THEN
2346: gme_debug.put_line ( 'When others exception in '
2347: || g_pkg_name
2348: || '.'
2349: || l_api_name
2350: || ' Error is '
2465: l_count NUMBER := 0;
2466: l_allocated_qty NUMBER := 0;
2467: BEGIN
2468: IF (g_debug IS NOT NULL AND p_tree_mode <> g_tree_reservation_mode) THEN
2469: gme_debug.log_initialize ('BatchShortages');
2470: END IF;
2471: IF g_debug <= gme_debug.g_log_procedure THEN
2472: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'|| l_api_name);
2473: END IF;
2467: BEGIN
2468: IF (g_debug IS NOT NULL AND p_tree_mode <> g_tree_reservation_mode) THEN
2469: gme_debug.log_initialize ('BatchShortages');
2470: END IF;
2471: IF g_debug <= gme_debug.g_log_procedure THEN
2472: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'|| l_api_name);
2473: END IF;
2474: x_return_status := fnd_api.g_ret_sts_success;
2475: IF NOT (gme_common_pvt.g_setup_done) THEN
2468: IF (g_debug IS NOT NULL AND p_tree_mode <> g_tree_reservation_mode) THEN
2469: gme_debug.log_initialize ('BatchShortages');
2470: END IF;
2471: IF g_debug <= gme_debug.g_log_procedure THEN
2472: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'|| l_api_name);
2473: END IF;
2474: x_return_status := fnd_api.g_ret_sts_success;
2475: IF NOT (gme_common_pvt.g_setup_done) THEN
2476: IF NOT (gme_common_pvt.setup (p_org_id => p_organization_id) ) THEN
2539: l_open_qty_prim := l_temp_qty;
2540: END IF;
2541: END IF;
2542: END IF;
2543: IF g_debug <= gme_debug.g_log_statement THEN
2544: gme_debug.put_line ('item = ' || l_item_rec.concatenated_segments);
2545: gme_debug.put_line ('l_open_qty_prim = ' || l_open_qty_prim);
2546: END IF;
2547: IF (l_open_qty_prim > 0) THEN
2540: END IF;
2541: END IF;
2542: END IF;
2543: IF g_debug <= gme_debug.g_log_statement THEN
2544: gme_debug.put_line ('item = ' || l_item_rec.concatenated_segments);
2545: gme_debug.put_line ('l_open_qty_prim = ' || l_open_qty_prim);
2546: END IF;
2547: IF (l_open_qty_prim > 0) THEN
2548: IF (p_invoke_mode = 'S') THEN
2541: END IF;
2542: END IF;
2543: IF g_debug <= gme_debug.g_log_statement THEN
2544: gme_debug.put_line ('item = ' || l_item_rec.concatenated_segments);
2545: gme_debug.put_line ('l_open_qty_prim = ' || l_open_qty_prim);
2546: END IF;
2547: IF (l_open_qty_prim > 0) THEN
2548: IF (p_invoke_mode = 'S') THEN
2549: l_subinventory := l_mtl_dtl_rec.subinventory;
2551: l_subinventory := NULL;
2552: END IF;
2553: l_item_hash := RPAD(l_mtl_dtl_rec.inventory_item_id, 12, 'X')||'***'||NVL(l_subinventory, '##########');
2554: l_mtl_hash := RPAD(l_mtl_dtl_rec.inventory_item_id, 12, 'X')||NVL(RPAD(l_mtl_dtl_rec.revision, 3, '*'), '***')||NVL(RPAD(l_subinventory, 10, '#'), '##########');
2555: IF g_debug <= gme_debug.g_log_statement THEN
2556: gme_debug.put_line ('l_item_hash = ' || l_item_hash);
2557: gme_debug.put_line ('l_mtl_hash = ' || l_mtl_hash);
2558: END IF;
2559: BEGIN
2552: END IF;
2553: l_item_hash := RPAD(l_mtl_dtl_rec.inventory_item_id, 12, 'X')||'***'||NVL(l_subinventory, '##########');
2554: l_mtl_hash := RPAD(l_mtl_dtl_rec.inventory_item_id, 12, 'X')||NVL(RPAD(l_mtl_dtl_rec.revision, 3, '*'), '***')||NVL(RPAD(l_subinventory, 10, '#'), '##########');
2555: IF g_debug <= gme_debug.g_log_statement THEN
2556: gme_debug.put_line ('l_item_hash = ' || l_item_hash);
2557: gme_debug.put_line ('l_mtl_hash = ' || l_mtl_hash);
2558: END IF;
2559: BEGIN
2560: l_item_onhand := l_qty_tbl(l_item_hash).onhand;
2553: l_item_hash := RPAD(l_mtl_dtl_rec.inventory_item_id, 12, 'X')||'***'||NVL(l_subinventory, '##########');
2554: l_mtl_hash := RPAD(l_mtl_dtl_rec.inventory_item_id, 12, 'X')||NVL(RPAD(l_mtl_dtl_rec.revision, 3, '*'), '***')||NVL(RPAD(l_subinventory, 10, '#'), '##########');
2555: IF g_debug <= gme_debug.g_log_statement THEN
2556: gme_debug.put_line ('l_item_hash = ' || l_item_hash);
2557: gme_debug.put_line ('l_mtl_hash = ' || l_mtl_hash);
2558: END IF;
2559: BEGIN
2560: l_item_onhand := l_qty_tbl(l_item_hash).onhand;
2561: l_item_available := l_qty_tbl(l_item_hash).available;
2558: END IF;
2559: BEGIN
2560: l_item_onhand := l_qty_tbl(l_item_hash).onhand;
2561: l_item_available := l_qty_tbl(l_item_hash).available;
2562: IF g_debug <= gme_debug.g_log_statement THEN
2563: gme_debug.put_line ('found l_item_onhand = ' || l_item_onhand);
2564: gme_debug.put_line ('found l_item_available = ' || l_item_available);
2565: END IF;
2566: EXCEPTION
2559: BEGIN
2560: l_item_onhand := l_qty_tbl(l_item_hash).onhand;
2561: l_item_available := l_qty_tbl(l_item_hash).available;
2562: IF g_debug <= gme_debug.g_log_statement THEN
2563: gme_debug.put_line ('found l_item_onhand = ' || l_item_onhand);
2564: gme_debug.put_line ('found l_item_available = ' || l_item_available);
2565: END IF;
2566: EXCEPTION
2567: WHEN NO_DATA_FOUND THEN
2560: l_item_onhand := l_qty_tbl(l_item_hash).onhand;
2561: l_item_available := l_qty_tbl(l_item_hash).available;
2562: IF g_debug <= gme_debug.g_log_statement THEN
2563: gme_debug.put_line ('found l_item_onhand = ' || l_item_onhand);
2564: gme_debug.put_line ('found l_item_available = ' || l_item_available);
2565: END IF;
2566: EXCEPTION
2567: WHEN NO_DATA_FOUND THEN
2568: IF p_tree_mode = g_tree_transaction_mode OR l_item_rec.reservable_type = 2 THEN
2596: ,x_sqs => l_sqs
2597: ,x_satt => l_satt
2598: ,x_satr => l_satr);
2599: IF (l_return_status = fnd_api.g_ret_sts_success) THEN
2600: IF g_debug <= gme_debug.g_log_statement THEN
2601: gme_debug.put_line('Item level qtys');
2602: gme_debug.put_line('l_qoh = ' || l_qoh);
2603: gme_debug.put_line('l_att = ' || l_att);
2604: gme_debug.put_line('l_atr = ' || l_atr);
2597: ,x_satt => l_satt
2598: ,x_satr => l_satr);
2599: IF (l_return_status = fnd_api.g_ret_sts_success) THEN
2600: IF g_debug <= gme_debug.g_log_statement THEN
2601: gme_debug.put_line('Item level qtys');
2602: gme_debug.put_line('l_qoh = ' || l_qoh);
2603: gme_debug.put_line('l_att = ' || l_att);
2604: gme_debug.put_line('l_atr = ' || l_atr);
2605: END IF;
2598: ,x_satr => l_satr);
2599: IF (l_return_status = fnd_api.g_ret_sts_success) THEN
2600: IF g_debug <= gme_debug.g_log_statement THEN
2601: gme_debug.put_line('Item level qtys');
2602: gme_debug.put_line('l_qoh = ' || l_qoh);
2603: gme_debug.put_line('l_att = ' || l_att);
2604: gme_debug.put_line('l_atr = ' || l_atr);
2605: END IF;
2606: l_qty_tbl(l_item_hash).onhand := l_qoh;
2599: IF (l_return_status = fnd_api.g_ret_sts_success) THEN
2600: IF g_debug <= gme_debug.g_log_statement THEN
2601: gme_debug.put_line('Item level qtys');
2602: gme_debug.put_line('l_qoh = ' || l_qoh);
2603: gme_debug.put_line('l_att = ' || l_att);
2604: gme_debug.put_line('l_atr = ' || l_atr);
2605: END IF;
2606: l_qty_tbl(l_item_hash).onhand := l_qoh;
2607: IF (l_tree_mode = g_tree_transaction_mode) THEN
2600: IF g_debug <= gme_debug.g_log_statement THEN
2601: gme_debug.put_line('Item level qtys');
2602: gme_debug.put_line('l_qoh = ' || l_qoh);
2603: gme_debug.put_line('l_att = ' || l_att);
2604: gme_debug.put_line('l_atr = ' || l_atr);
2605: END IF;
2606: l_qty_tbl(l_item_hash).onhand := l_qoh;
2607: IF (l_tree_mode = g_tree_transaction_mode) THEN
2608: l_qty_tbl(l_item_hash).available := l_att;
2619: l_item_onhand := l_qty_tbl(l_item_hash).onhand;
2620: l_item_available := l_qty_tbl(l_item_hash).available;
2621: END;
2622: IF (l_item_hash <> l_mtl_hash) THEN
2623: IF g_debug <= gme_debug.g_log_statement THEN
2624: gme_debug.put_line('Item level and mtl level hashes are diff');
2625: END IF;
2626: BEGIN
2627: l_mtl_onhand := l_qty_tbl(l_mtl_hash).onhand;
2620: l_item_available := l_qty_tbl(l_item_hash).available;
2621: END;
2622: IF (l_item_hash <> l_mtl_hash) THEN
2623: IF g_debug <= gme_debug.g_log_statement THEN
2624: gme_debug.put_line('Item level and mtl level hashes are diff');
2625: END IF;
2626: BEGIN
2627: l_mtl_onhand := l_qty_tbl(l_mtl_hash).onhand;
2628: l_mtl_available := l_qty_tbl(l_mtl_hash).available;
2625: END IF;
2626: BEGIN
2627: l_mtl_onhand := l_qty_tbl(l_mtl_hash).onhand;
2628: l_mtl_available := l_qty_tbl(l_mtl_hash).available;
2629: IF g_debug <= gme_debug.g_log_statement THEN
2630: gme_debug.put_line ('found l_mtl_onhand = ' || l_mtl_onhand);
2631: gme_debug.put_line ('found l_mtl_available = ' || l_mtl_available);
2632: END IF;
2633: EXCEPTION
2626: BEGIN
2627: l_mtl_onhand := l_qty_tbl(l_mtl_hash).onhand;
2628: l_mtl_available := l_qty_tbl(l_mtl_hash).available;
2629: IF g_debug <= gme_debug.g_log_statement THEN
2630: gme_debug.put_line ('found l_mtl_onhand = ' || l_mtl_onhand);
2631: gme_debug.put_line ('found l_mtl_available = ' || l_mtl_available);
2632: END IF;
2633: EXCEPTION
2634: WHEN NO_DATA_FOUND THEN
2627: l_mtl_onhand := l_qty_tbl(l_mtl_hash).onhand;
2628: l_mtl_available := l_qty_tbl(l_mtl_hash).available;
2629: IF g_debug <= gme_debug.g_log_statement THEN
2630: gme_debug.put_line ('found l_mtl_onhand = ' || l_mtl_onhand);
2631: gme_debug.put_line ('found l_mtl_available = ' || l_mtl_available);
2632: END IF;
2633: EXCEPTION
2634: WHEN NO_DATA_FOUND THEN
2635: IF p_tree_mode = g_tree_transaction_mode OR l_item_rec.reservable_type = 2 THEN
2663: ,x_sqs => l_sqs
2664: ,x_satt => l_satt
2665: ,x_satr => l_satr);
2666: IF (l_return_status = fnd_api.g_ret_sts_success) THEN
2667: IF g_debug <= gme_debug.g_log_statement THEN
2668: gme_debug.put_line('Item/Revision/Sub level qtys');
2669: gme_debug.put_line('l_qoh = ' || l_qoh);
2670: gme_debug.put_line('l_att = ' || l_att);
2671: gme_debug.put_line('l_atr = ' || l_atr);
2664: ,x_satt => l_satt
2665: ,x_satr => l_satr);
2666: IF (l_return_status = fnd_api.g_ret_sts_success) THEN
2667: IF g_debug <= gme_debug.g_log_statement THEN
2668: gme_debug.put_line('Item/Revision/Sub level qtys');
2669: gme_debug.put_line('l_qoh = ' || l_qoh);
2670: gme_debug.put_line('l_att = ' || l_att);
2671: gme_debug.put_line('l_atr = ' || l_atr);
2672: END IF;
2665: ,x_satr => l_satr);
2666: IF (l_return_status = fnd_api.g_ret_sts_success) THEN
2667: IF g_debug <= gme_debug.g_log_statement THEN
2668: gme_debug.put_line('Item/Revision/Sub level qtys');
2669: gme_debug.put_line('l_qoh = ' || l_qoh);
2670: gme_debug.put_line('l_att = ' || l_att);
2671: gme_debug.put_line('l_atr = ' || l_atr);
2672: END IF;
2673: l_qty_tbl(l_mtl_hash).onhand := l_qoh;
2666: IF (l_return_status = fnd_api.g_ret_sts_success) THEN
2667: IF g_debug <= gme_debug.g_log_statement THEN
2668: gme_debug.put_line('Item/Revision/Sub level qtys');
2669: gme_debug.put_line('l_qoh = ' || l_qoh);
2670: gme_debug.put_line('l_att = ' || l_att);
2671: gme_debug.put_line('l_atr = ' || l_atr);
2672: END IF;
2673: l_qty_tbl(l_mtl_hash).onhand := l_qoh;
2674: IF (l_tree_mode = g_tree_transaction_mode) THEN
2667: IF g_debug <= gme_debug.g_log_statement THEN
2668: gme_debug.put_line('Item/Revision/Sub level qtys');
2669: gme_debug.put_line('l_qoh = ' || l_qoh);
2670: gme_debug.put_line('l_att = ' || l_att);
2671: gme_debug.put_line('l_atr = ' || l_atr);
2672: END IF;
2673: l_qty_tbl(l_mtl_hash).onhand := l_qoh;
2674: IF (l_tree_mode = g_tree_transaction_mode) THEN
2675: l_qty_tbl(l_mtl_hash).available := l_att;
2689: l_mtl_onhand := l_qty_tbl(l_mtl_hash).onhand;
2690: l_mtl_available := l_qty_tbl(l_mtl_hash).available;
2691: END;
2692: ELSE
2693: IF g_debug <= gme_debug.g_log_statement THEN
2694: gme_debug.put_line('Item level and mtl level hashes are same');
2695: END IF;
2696: l_mtl_onhand := l_item_onhand;
2697: l_mtl_available := l_item_available;
2690: l_mtl_available := l_qty_tbl(l_mtl_hash).available;
2691: END;
2692: ELSE
2693: IF g_debug <= gme_debug.g_log_statement THEN
2694: gme_debug.put_line('Item level and mtl level hashes are same');
2695: END IF;
2696: l_mtl_onhand := l_item_onhand;
2697: l_mtl_available := l_item_available;
2698: END IF; /* IF (l_item_hash <> l_mtl_hash) THEN */
2724: AND h.header_id = l.header_id
2725: AND h.move_order_type NOT IN
2726: (gme_common_pvt.g_invis_move_order_type
2727: ,inv_globals.g_move_order_put_away);
2728: IF g_debug <= gme_debug.g_log_statement THEN
2729: gme_debug.put_line('Additional Material Allocated to Move Order:'||l_allocated_qty);
2730: END IF;
2731:
2732: EXCEPTION WHEN NO_DATA_FOUND THEN
2725: AND h.move_order_type NOT IN
2726: (gme_common_pvt.g_invis_move_order_type
2727: ,inv_globals.g_move_order_put_away);
2728: IF g_debug <= gme_debug.g_log_statement THEN
2729: gme_debug.put_line('Additional Material Allocated to Move Order:'||l_allocated_qty);
2730: END IF;
2731:
2732: EXCEPTION WHEN NO_DATA_FOUND THEN
2733: l_allocated_qty := 0;
2732: EXCEPTION WHEN NO_DATA_FOUND THEN
2733: l_allocated_qty := 0;
2734: END;
2735: l_mtl_available := l_mtl_available - nvl(l_allocated_qty,0);
2736: IF g_debug <= gme_debug.g_log_statement THEN
2737: gme_debug.put_line('Material Available before deducting additional Move Order Allocation:'||(l_mtl_available + nvl(l_allocated_qty,0)));
2738: gme_debug.put_line('Material Available after deducting additional Move Order Allocation:'||l_mtl_available );
2739: END IF;
2740:
2733: l_allocated_qty := 0;
2734: END;
2735: l_mtl_available := l_mtl_available - nvl(l_allocated_qty,0);
2736: IF g_debug <= gme_debug.g_log_statement THEN
2737: gme_debug.put_line('Material Available before deducting additional Move Order Allocation:'||(l_mtl_available + nvl(l_allocated_qty,0)));
2738: gme_debug.put_line('Material Available after deducting additional Move Order Allocation:'||l_mtl_available );
2739: END IF;
2740:
2741: END IF;
2734: END;
2735: l_mtl_available := l_mtl_available - nvl(l_allocated_qty,0);
2736: IF g_debug <= gme_debug.g_log_statement THEN
2737: gme_debug.put_line('Material Available before deducting additional Move Order Allocation:'||(l_mtl_available + nvl(l_allocated_qty,0)));
2738: gme_debug.put_line('Material Available after deducting additional Move Order Allocation:'||l_mtl_available );
2739: END IF;
2740:
2741: END IF;
2742:
2762: END IF;
2763: END IF; /* IF (l_open_qty_prim > 0) THEN */
2764: END LOOP;
2765: CLOSE cur_get_materials;
2766: IF g_debug <= gme_debug.g_log_procedure THEN
2767: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
2768: END IF;
2769: EXCEPTION
2770: WHEN setup_failure THEN
2763: END IF; /* IF (l_open_qty_prim > 0) THEN */
2764: END LOOP;
2765: CLOSE cur_get_materials;
2766: IF g_debug <= gme_debug.g_log_procedure THEN
2767: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
2768: END IF;
2769: EXCEPTION
2770: WHEN setup_failure THEN
2771: x_return_status := fnd_api.g_ret_sts_error;
2789: IF (cur_get_materials%ISOPEN) THEN
2790: CLOSE cur_get_materials;
2791: END IF;
2792: WHEN OTHERS THEN
2793: IF g_debug <= gme_debug.g_log_unexpected THEN
2794: gme_debug.put_line ( 'When others exception in '
2795: || g_pkg_name
2796: || '.'
2797: || l_api_name
2790: CLOSE cur_get_materials;
2791: END IF;
2792: WHEN OTHERS THEN
2793: IF g_debug <= gme_debug.g_log_unexpected THEN
2794: gme_debug.put_line ( 'When others exception in '
2795: || g_pkg_name
2796: || '.'
2797: || l_api_name
2798: || ' Error is '
2833: get_reserved_qty_err EXCEPTION;
2834: get_reservations_err EXCEPTION;
2835: get_pending_qty_err EXCEPTION;
2836: BEGIN
2837: IF g_debug <= gme_debug.g_log_procedure THEN
2838: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
2839: || l_api_name);
2840: gme_debug.put_line ('Being called by ' || p_called_by);
2841: END IF;
2834: get_reservations_err EXCEPTION;
2835: get_pending_qty_err EXCEPTION;
2836: BEGIN
2837: IF g_debug <= gme_debug.g_log_procedure THEN
2838: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
2839: || l_api_name);
2840: gme_debug.put_line ('Being called by ' || p_called_by);
2841: END IF;
2842:
2836: BEGIN
2837: IF g_debug <= gme_debug.g_log_procedure THEN
2838: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
2839: || l_api_name);
2840: gme_debug.put_line ('Being called by ' || p_called_by);
2841: END IF;
2842:
2843: x_return_status := fnd_api.g_ret_sts_success;
2844:
2857: x_open_qty :=
2858: NVL (p_mtl_dtl_rec.wip_plan_qty, p_mtl_dtl_rec.plan_qty)
2859: - (p_mtl_dtl_rec.actual_qty + NVL (l_reserved_qty, 0) );
2860:
2861: IF g_debug <= gme_debug.g_log_statement THEN
2862: gme_debug.put_line ( g_pkg_name
2863: || '.'
2864: || l_api_name
2865: || ' Calculated open qty for shortages is '
2858: NVL (p_mtl_dtl_rec.wip_plan_qty, p_mtl_dtl_rec.plan_qty)
2859: - (p_mtl_dtl_rec.actual_qty + NVL (l_reserved_qty, 0) );
2860:
2861: IF g_debug <= gme_debug.g_log_statement THEN
2862: gme_debug.put_line ( g_pkg_name
2863: || '.'
2864: || l_api_name
2865: || ' Calculated open qty for shortages is '
2866: || x_open_qty);
2884: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
2885: RAISE get_pending_qty_err;
2886: END IF;
2887:
2888: IF g_debug <= gme_debug.g_log_statement THEN
2889: gme_debug.put_line ( g_pkg_name
2890: || '.'
2891: || l_api_name
2892: || ' p_mtl_dtl_rec.plan_qty = '
2885: RAISE get_pending_qty_err;
2886: END IF;
2887:
2888: IF g_debug <= gme_debug.g_log_statement THEN
2889: gme_debug.put_line ( g_pkg_name
2890: || '.'
2891: || l_api_name
2892: || ' p_mtl_dtl_rec.plan_qty = '
2893: || p_mtl_dtl_rec.plan_qty);
2890: || '.'
2891: || l_api_name
2892: || ' p_mtl_dtl_rec.plan_qty = '
2893: || p_mtl_dtl_rec.plan_qty);
2894: gme_debug.put_line ( g_pkg_name
2895: || '.'
2896: || l_api_name
2897: || ' p_mtl_dtl_rec.wip_plan_qty = '
2898: || p_mtl_dtl_rec.wip_plan_qty);
2895: || '.'
2896: || l_api_name
2897: || ' p_mtl_dtl_rec.wip_plan_qty = '
2898: || p_mtl_dtl_rec.wip_plan_qty);
2899: gme_debug.put_line ( g_pkg_name
2900: || '.'
2901: || l_api_name
2902: || ' p_mtl_dtl_rec.actual_qty = '
2903: || p_mtl_dtl_rec.actual_qty);
2900: || '.'
2901: || l_api_name
2902: || ' p_mtl_dtl_rec.actual_qty = '
2903: || p_mtl_dtl_rec.actual_qty);
2904: gme_debug.put_line ( g_pkg_name
2905: || '.'
2906: || l_api_name
2907: || ' l_reserved_qty = '
2908: || NVL (l_reserved_qty, 0) );
2905: || '.'
2906: || l_api_name
2907: || ' l_reserved_qty = '
2908: || NVL (l_reserved_qty, 0) );
2909: gme_debug.put_line ( g_pkg_name
2910: || '.'
2911: || l_api_name
2912: || ' p_mtl_dtl_rec.backordered_qty = '
2913: || NVL (p_mtl_dtl_rec.backordered_qty, 0) );
2910: || '.'
2911: || l_api_name
2912: || ' p_mtl_dtl_rec.backordered_qty = '
2913: || NVL (p_mtl_dtl_rec.backordered_qty, 0) );
2914: gme_debug.put_line ( g_pkg_name
2915: || '.'
2916: || l_api_name
2917: || ' l_mo_line_qty = '
2918: || NVL (l_mo_line_qty, 0) );
2926: - ( p_mtl_dtl_rec.actual_qty
2927: + NVL (l_reserved_qty, 0)
2928: + NVL (l_mo_line_qty, 0) );
2929:
2930: IF g_debug <= gme_debug.g_log_statement THEN
2931: gme_debug.put_line ( g_pkg_name
2932: || '.'
2933: || l_api_name
2934: || ' Calculated open qty for picking is '
2927: + NVL (l_reserved_qty, 0)
2928: + NVL (l_mo_line_qty, 0) );
2929:
2930: IF g_debug <= gme_debug.g_log_statement THEN
2931: gme_debug.put_line ( g_pkg_name
2932: || '.'
2933: || l_api_name
2934: || ' Calculated open qty for picking is '
2935: || x_open_qty);
2979:
2980: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
2981: RAISE get_reserved_qty_err;
2982: END IF;
2983: IF g_debug <= gme_debug.g_log_statement THEN
2984: gme_debug.put_line ( g_pkg_name
2985: || '.'
2986: || l_api_name
2987: || ' get_reservation_dtl_qty returns qty of '
2980: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
2981: RAISE get_reserved_qty_err;
2982: END IF;
2983: IF g_debug <= gme_debug.g_log_statement THEN
2984: gme_debug.put_line ( g_pkg_name
2985: || '.'
2986: || l_api_name
2987: || ' get_reservation_dtl_qty returns qty of '
2988: || l_temp_qty);
2988: || l_temp_qty);
2989: END IF;
2990:
2991: l_reserved_qty := NVL (l_reserved_qty, 0) + NVL (l_temp_qty, 0);
2992: IF g_debug <= gme_debug.g_log_statement THEN
2993: gme_debug.put_line ( g_pkg_name
2994: || '.'
2995: || l_api_name
2996: || ' so total reserved qty computes to '
2989: END IF;
2990:
2991: l_reserved_qty := NVL (l_reserved_qty, 0) + NVL (l_temp_qty, 0);
2992: IF g_debug <= gme_debug.g_log_statement THEN
2993: gme_debug.put_line ( g_pkg_name
2994: || '.'
2995: || l_api_name
2996: || ' so total reserved qty computes to '
2997: || l_reserved_qty);
2999:
3000:
3001: -- END IF;
3002: END LOOP;
3003: IF g_debug <= gme_debug.g_log_statement THEN
3004: gme_debug.put_line ( g_pkg_name
3005: || '.'
3006: || l_api_name
3007: || ' wip_plan_qty => '
3000:
3001: -- END IF;
3002: END LOOP;
3003: IF g_debug <= gme_debug.g_log_statement THEN
3004: gme_debug.put_line ( g_pkg_name
3005: || '.'
3006: || l_api_name
3007: || ' wip_plan_qty => '
3008: || p_mtl_dtl_rec.wip_plan_qty);
3005: || '.'
3006: || l_api_name
3007: || ' wip_plan_qty => '
3008: || p_mtl_dtl_rec.wip_plan_qty);
3009: gme_debug.put_line ( g_pkg_name
3010: || '.'
3011: || l_api_name
3012: || ' plan_qty => '
3013: || p_mtl_dtl_rec.plan_qty);
3010: || '.'
3011: || l_api_name
3012: || ' plan_qty => '
3013: || p_mtl_dtl_rec.plan_qty);
3014: gme_debug.put_line ( g_pkg_name
3015: || '.'
3016: || l_api_name
3017: || ' actual_qty => '
3018: || p_mtl_dtl_rec.actual_qty);
3015: || '.'
3016: || l_api_name
3017: || ' actual_qty => '
3018: || p_mtl_dtl_rec.actual_qty);
3019: gme_debug.put_line ( g_pkg_name
3020: || '.'
3021: || l_api_name
3022: || ' reserved_qty => '
3023: || l_reserved_qty);
3026: x_open_qty :=
3027: NVL (p_mtl_dtl_rec.wip_plan_qty, p_mtl_dtl_rec.plan_qty)
3028: - (p_mtl_dtl_rec.actual_qty + l_reserved_qty);
3029:
3030: IF g_debug <= gme_debug.g_log_statement THEN
3031: gme_debug.put_line
3032: ( g_pkg_name
3033: || '.'
3034: || l_api_name
3027: NVL (p_mtl_dtl_rec.wip_plan_qty, p_mtl_dtl_rec.plan_qty)
3028: - (p_mtl_dtl_rec.actual_qty + l_reserved_qty);
3029:
3030: IF g_debug <= gme_debug.g_log_statement THEN
3031: gme_debug.put_line
3032: ( g_pkg_name
3033: || '.'
3034: || l_api_name
3035: || ' Calculated open qty for reservations is '
3038: ELSE
3039: x_open_qty := 0;
3040: END IF;
3041:
3042: IF g_debug <= gme_debug.g_log_procedure THEN
3043: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
3044: END IF;
3045: EXCEPTION
3046: WHEN get_reserved_qty_err OR get_pending_qty_err THEN
3039: x_open_qty := 0;
3040: END IF;
3041:
3042: IF g_debug <= gme_debug.g_log_procedure THEN
3043: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
3044: END IF;
3045: EXCEPTION
3046: WHEN get_reserved_qty_err OR get_pending_qty_err THEN
3047: x_return_status := l_return_status;
3045: EXCEPTION
3046: WHEN get_reserved_qty_err OR get_pending_qty_err THEN
3047: x_return_status := l_return_status;
3048: WHEN OTHERS THEN
3049: IF g_debug <= gme_debug.g_log_unexpected THEN
3050: gme_debug.put_line ( 'When others exception in '
3051: || g_pkg_name
3052: || '.'
3053: || l_api_name
3046: WHEN get_reserved_qty_err OR get_pending_qty_err THEN
3047: x_return_status := l_return_status;
3048: WHEN OTHERS THEN
3049: IF g_debug <= gme_debug.g_log_unexpected THEN
3050: gme_debug.put_line ( 'When others exception in '
3051: || g_pkg_name
3052: || '.'
3053: || l_api_name
3054: || ' Error is '
3063: RETURN BOOLEAN
3064: IS
3065: l_api_name CONSTANT VARCHAR2 (30) := 'insert_exceptions';
3066: BEGIN
3067: IF g_debug <= gme_debug.g_log_procedure THEN
3068: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3069: || l_api_name);
3070: END IF;
3071:
3064: IS
3065: l_api_name CONSTANT VARCHAR2 (30) := 'insert_exceptions';
3066: BEGIN
3067: IF g_debug <= gme_debug.g_log_procedure THEN
3068: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3069: || l_api_name);
3070: END IF;
3071:
3072: INSERT INTO gme_exceptions_gtmp
3084: ,p_exception_rec.atr, p_exception_rec.material_detail_id
3085: ,p_exception_rec.transacted_qty
3086: ,p_exception_rec.exception_qty, p_exception_rec.batch_id);
3087:
3088: IF g_debug <= gme_debug.g_log_procedure THEN
3089: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
3090: END IF;
3091:
3092: RETURN TRUE;
3085: ,p_exception_rec.transacted_qty
3086: ,p_exception_rec.exception_qty, p_exception_rec.batch_id);
3087:
3088: IF g_debug <= gme_debug.g_log_procedure THEN
3089: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
3090: END IF;
3091:
3092: RETURN TRUE;
3093: EXCEPTION
3091:
3092: RETURN TRUE;
3093: EXCEPTION
3094: WHEN OTHERS THEN
3095: IF g_debug <= gme_debug.g_log_unexpected THEN
3096: gme_debug.put_line ( 'When others exception in '
3097: || g_pkg_name
3098: || '.'
3099: || l_api_name
3092: RETURN TRUE;
3093: EXCEPTION
3094: WHEN OTHERS THEN
3095: IF g_debug <= gme_debug.g_log_unexpected THEN
3096: gme_debug.put_line ( 'When others exception in '
3097: || g_pkg_name
3098: || '.'
3099: || l_api_name
3100: || ' Error is '
3110: RETURN BOOLEAN
3111: IS
3112: l_api_name CONSTANT VARCHAR2 (30) := 'populate_temp_from_struct';
3113: BEGIN
3114: IF g_debug <= gme_debug.g_log_procedure THEN
3115: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3116: || l_api_name);
3117: END IF;
3118:
3111: IS
3112: l_api_name CONSTANT VARCHAR2 (30) := 'populate_temp_from_struct';
3113: BEGIN
3114: IF g_debug <= gme_debug.g_log_procedure THEN
3115: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3116: || l_api_name);
3117: END IF;
3118:
3119: FOR i IN 1 .. p_exception_tbl.COUNT LOOP
3121: RETURN FALSE;
3122: END IF;
3123: END LOOP;
3124:
3125: IF g_debug <= gme_debug.g_log_procedure THEN
3126: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
3127: END IF;
3128:
3129: RETURN TRUE;
3122: END IF;
3123: END LOOP;
3124:
3125: IF g_debug <= gme_debug.g_log_procedure THEN
3126: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
3127: END IF;
3128:
3129: RETURN TRUE;
3130: EXCEPTION
3128:
3129: RETURN TRUE;
3130: EXCEPTION
3131: WHEN OTHERS THEN
3132: IF g_debug <= gme_debug.g_log_unexpected THEN
3133: gme_debug.put_line ( 'When others exception in '
3134: || g_pkg_name
3135: || '.'
3136: || l_api_name
3129: RETURN TRUE;
3130: EXCEPTION
3131: WHEN OTHERS THEN
3132: IF g_debug <= gme_debug.g_log_unexpected THEN
3133: gme_debug.put_line ( 'When others exception in '
3134: || g_pkg_name
3135: || '.'
3136: || l_api_name
3137: || ' Error is '
3149: l_assoc_count NUMBER;
3150: l_is_assoc BOOLEAN;
3151: l_api_name CONSTANT VARCHAR2 (30) := 'is_material_assoc_to_step';
3152: BEGIN
3153: IF g_debug <= gme_debug.g_log_procedure THEN
3154: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3155: || l_api_name);
3156: END IF;
3157:
3150: l_is_assoc BOOLEAN;
3151: l_api_name CONSTANT VARCHAR2 (30) := 'is_material_assoc_to_step';
3152: BEGIN
3153: IF g_debug <= gme_debug.g_log_procedure THEN
3154: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3155: || l_api_name);
3156: END IF;
3157:
3158: SELECT COUNT (1)
3170:
3171: RETURN l_is_assoc;
3172: EXCEPTION
3173: WHEN OTHERS THEN
3174: IF g_debug <= gme_debug.g_log_unexpected THEN
3175: gme_debug.put_line ( 'When others exception in '
3176: || g_pkg_name
3177: || '.'
3178: || l_api_name
3171: RETURN l_is_assoc;
3172: EXCEPTION
3173: WHEN OTHERS THEN
3174: IF g_debug <= gme_debug.g_log_unexpected THEN
3175: gme_debug.put_line ( 'When others exception in '
3176: || g_pkg_name
3177: || '.'
3178: || l_api_name
3179: || ' Error is '
3201: WHERE a.material_detail_id = v_material_detail_id
3202: AND a.batchstep_id = s.batchstep_id
3203: AND a.batch_id = s.batch_id;
3204: BEGIN
3205: IF g_debug <= gme_debug.g_log_procedure THEN
3206: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3207: || l_api_name);
3208: END IF;
3209:
3202: AND a.batchstep_id = s.batchstep_id
3203: AND a.batch_id = s.batch_id;
3204: BEGIN
3205: IF g_debug <= gme_debug.g_log_procedure THEN
3206: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3207: || l_api_name);
3208: END IF;
3209:
3210: OPEN get_assoc_step (p_material_detail_id);
3222:
3223: RETURN TRUE;
3224: EXCEPTION
3225: WHEN no_assoc_step THEN
3226: IF g_debug <= gme_debug.g_log_unexpected THEN
3227: gme_debug.put_line ( 'no associate steps '
3228: || g_pkg_name
3229: || '.'
3230: || l_api_name
3223: RETURN TRUE;
3224: EXCEPTION
3225: WHEN no_assoc_step THEN
3226: IF g_debug <= gme_debug.g_log_unexpected THEN
3227: gme_debug.put_line ( 'no associate steps '
3228: || g_pkg_name
3229: || '.'
3230: || l_api_name
3231: || ' Error is '
3234: --FPBug#4585491 commented out the following line
3235: --fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
3236: RETURN FALSE;
3237: WHEN OTHERS THEN
3238: IF g_debug <= gme_debug.g_log_unexpected THEN
3239: gme_debug.put_line ( 'When others exception in '
3240: || g_pkg_name
3241: || '.'
3242: || l_api_name
3235: --fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
3236: RETURN FALSE;
3237: WHEN OTHERS THEN
3238: IF g_debug <= gme_debug.g_log_unexpected THEN
3239: gme_debug.put_line ( 'When others exception in '
3240: || g_pkg_name
3241: || '.'
3242: || l_api_name
3243: || ' Error is '
3263:
3264: l_batch_header_rec gme_batch_header%ROWTYPE;
3265: l_api_name VARCHAR2 (30) := 'GET_BATCH_HEADER';
3266: BEGIN
3267: IF g_debug <= gme_debug.g_log_procedure THEN
3268: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3269: || l_api_name);
3270: END IF;
3271:
3264: l_batch_header_rec gme_batch_header%ROWTYPE;
3265: l_api_name VARCHAR2 (30) := 'GET_BATCH_HEADER';
3266: BEGIN
3267: IF g_debug <= gme_debug.g_log_procedure THEN
3268: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3269: || l_api_name);
3270: END IF;
3271:
3272: l_batch_header_rec := p_batch_header_rec;
3313:
3314: RETURN TRUE;
3315: EXCEPTION
3316: WHEN fnd_api.g_exc_error THEN
3317: IF g_debug <= gme_debug.g_log_error THEN
3318: gme_debug.put_line ( 'Expected error '
3319: || g_pkg_name
3320: || '.'
3321: || l_api_name);
3314: RETURN TRUE;
3315: EXCEPTION
3316: WHEN fnd_api.g_exc_error THEN
3317: IF g_debug <= gme_debug.g_log_error THEN
3318: gme_debug.put_line ( 'Expected error '
3319: || g_pkg_name
3320: || '.'
3321: || l_api_name);
3322: END IF;
3322: END IF;
3323:
3324: RETURN FALSE;
3325: WHEN OTHERS THEN
3326: IF g_debug <= gme_debug.g_log_unexpected THEN
3327: gme_debug.put_line ( 'When others exception in '
3328: || g_pkg_name
3329: || '.'
3330: || l_api_name
3323:
3324: RETURN FALSE;
3325: WHEN OTHERS THEN
3326: IF g_debug <= gme_debug.g_log_unexpected THEN
3327: gme_debug.put_line ( 'When others exception in '
3328: || g_pkg_name
3329: || '.'
3330: || l_api_name
3331: || ' Error is '
3350: l_batch_step_rec gme_batch_steps%ROWTYPE;
3351: l_api_name VARCHAR2 (30) := 'GET_BATCH_STEP';
3352:
3353: BEGIN
3354: IF g_debug <= gme_debug.g_log_procedure THEN
3355: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3356: || l_api_name);
3357: END IF;
3358: l_batch_step_rec := p_batch_step_rec;
3351: l_api_name VARCHAR2 (30) := 'GET_BATCH_STEP';
3352:
3353: BEGIN
3354: IF g_debug <= gme_debug.g_log_procedure THEN
3355: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3356: || l_api_name);
3357: END IF;
3358: l_batch_step_rec := p_batch_step_rec;
3359: IF p_batch_step_rec.batchstep_id IS NULL THEN
3386: x_batch_step_rec := l_batch_step_rec;
3387: RETURN TRUE;
3388: EXCEPTION
3389: WHEN fnd_api.g_exc_error THEN
3390: IF g_debug <= gme_debug.g_log_error THEN
3391: gme_debug.put_line ( 'Expected error '
3392: || g_pkg_name
3393: || '.'
3394: || l_api_name);
3387: RETURN TRUE;
3388: EXCEPTION
3389: WHEN fnd_api.g_exc_error THEN
3390: IF g_debug <= gme_debug.g_log_error THEN
3391: gme_debug.put_line ( 'Expected error '
3392: || g_pkg_name
3393: || '.'
3394: || l_api_name);
3395: END IF;
3395: END IF;
3396:
3397: RETURN FALSE;
3398: WHEN OTHERS THEN
3399: IF g_debug <= gme_debug.g_log_unexpected THEN
3400: gme_debug.put_line ( 'When others exception in '
3401: || g_pkg_name
3402: || '.'
3403: || l_api_name
3396:
3397: RETURN FALSE;
3398: WHEN OTHERS THEN
3399: IF g_debug <= gme_debug.g_log_unexpected THEN
3400: gme_debug.put_line ( 'When others exception in '
3401: || g_pkg_name
3402: || '.'
3403: || l_api_name
3404: || ' Error is '
3417: IS
3418: l_ins_history gme_batch_history%ROWTYPE;
3419: l_api_name CONSTANT VARCHAR2 (30) := 'CREATE_HISTORY';
3420: BEGIN
3421: IF g_debug <= gme_debug.g_log_procedure THEN
3422: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3423: || l_api_name);
3424: END IF;
3425:
3418: l_ins_history gme_batch_history%ROWTYPE;
3419: l_api_name CONSTANT VARCHAR2 (30) := 'CREATE_HISTORY';
3420: BEGIN
3421: IF g_debug <= gme_debug.g_log_procedure THEN
3422: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3423: || l_api_name);
3424: END IF;
3425:
3426: l_ins_history.batch_id := p_batch_header_rec.batch_id;
3435: RETURN TRUE;
3436: END IF;
3437: EXCEPTION
3438: WHEN OTHERS THEN
3439: IF g_debug <= gme_debug.g_log_unexpected THEN
3440: gme_debug.put_line ( 'When others exception in '
3441: || g_pkg_name
3442: || '.'
3443: || l_api_name
3436: END IF;
3437: EXCEPTION
3438: WHEN OTHERS THEN
3439: IF g_debug <= gme_debug.g_log_unexpected THEN
3440: gme_debug.put_line ( 'When others exception in '
3441: || g_pkg_name
3442: || '.'
3443: || l_api_name
3444: || ' Error is '
3459: l_period_id INTEGER;
3460: l_open_past_period BOOLEAN;
3461: l_api_name VARCHAR2 (100) := 'close_period_check_flexible';
3462: BEGIN
3463: IF g_debug <= gme_debug.g_log_procedure THEN
3464: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3465: || l_api_name);
3466: END IF;
3467:
3460: l_open_past_period BOOLEAN;
3461: l_api_name VARCHAR2 (100) := 'close_period_check_flexible';
3462: BEGIN
3463: IF g_debug <= gme_debug.g_log_procedure THEN
3464: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
3465: || l_api_name);
3466: END IF;
3467:
3468: invttmtx.tdatechk (org_id => p_org_id
3489:
3490: RETURN TRUE;
3491: EXCEPTION
3492: WHEN OTHERS THEN
3493: IF g_debug <= gme_debug.g_log_unexpected THEN
3494: gme_debug.put_line ( 'When others exception in '
3495: || g_pkg_name
3496: || '.'
3497: || l_api_name
3490: RETURN TRUE;
3491: EXCEPTION
3492: WHEN OTHERS THEN
3493: IF g_debug <= gme_debug.g_log_unexpected THEN
3494: gme_debug.put_line ( 'When others exception in '
3495: || g_pkg_name
3496: || '.'
3497: || l_api_name
3498: || ' Error is '
3571: invalid_batchstep_activity EXCEPTION;
3572: invalid_batchstep_resource EXCEPTION;
3573: invalid_record EXCEPTION;
3574: BEGIN
3575: IF g_debug <= gme_debug.g_log_procedure THEN
3576: gme_debug.put_line ( 'Entering FUNCTION '
3577: || g_pkg_name
3578: || '.'
3579: || l_api_name);
3572: invalid_batchstep_resource EXCEPTION;
3573: invalid_record EXCEPTION;
3574: BEGIN
3575: IF g_debug <= gme_debug.g_log_procedure THEN
3576: gme_debug.put_line ( 'Entering FUNCTION '
3577: || g_pkg_name
3578: || '.'
3579: || l_api_name);
3580: gme_debug.put_line ( g_pkg_name
3576: gme_debug.put_line ( 'Entering FUNCTION '
3577: || g_pkg_name
3578: || '.'
3579: || l_api_name);
3580: gme_debug.put_line ( g_pkg_name
3581: || '.'
3582: || l_api_name
3583: || ' input organization_id => '
3584: || p_batchstep_rsrc_rec.organization_id);
3581: || '.'
3582: || l_api_name
3583: || ' input organization_id => '
3584: || p_batchstep_rsrc_rec.organization_id);
3585: gme_debug.put_line ( g_pkg_name
3586: || '.'
3587: || l_api_name
3588: || ' input batchstep rsrc id => '
3589: || p_batchstep_rsrc_rec.organization_id);
3586: || '.'
3587: || l_api_name
3588: || ' input batchstep rsrc id => '
3589: || p_batchstep_rsrc_rec.organization_id);
3590: gme_debug.put_line ( g_pkg_name
3591: || '.'
3592: || l_api_name
3593: || ' input org_code => '
3594: || p_org_code);
3591: || '.'
3592: || l_api_name
3593: || ' input org_code => '
3594: || p_org_code);
3595: gme_debug.put_line ( g_pkg_name
3596: || '.'
3597: || l_api_name
3598: || ' input batch_no => '
3599: || p_batch_no);
3596: || '.'
3597: || l_api_name
3598: || ' input batch_no => '
3599: || p_batch_no);
3600: gme_debug.put_line ( g_pkg_name
3601: || '.'
3602: || l_api_name
3603: || ' input batchstep_no => '
3604: || p_batchstep_no);
3601: || '.'
3602: || l_api_name
3603: || ' input batchstep_no => '
3604: || p_batchstep_no);
3605: gme_debug.put_line ( g_pkg_name
3606: || '.'
3607: || l_api_name
3608: || ' input activity => '
3609: || p_activity);
3606: || '.'
3607: || l_api_name
3608: || ' input activity => '
3609: || p_activity);
3610: gme_debug.put_line ( g_pkg_name
3611: || '.'
3612: || l_api_name
3613: || ' input resource => '
3614: || p_batchstep_rsrc_rec.resources);
3640: RAISE btchstep_rsrc_fetch_err;
3641: END IF;
3642:
3643: IF p_batchstep_rsrc_rec.organization_id IS NULL THEN
3644: IF g_debug <= gme_debug.g_log_statement THEN
3645: gme_debug.put_line ( g_pkg_name
3646: || '.'
3647: || l_api_name
3648: || ' retrieve org_id using '
3641: END IF;
3642:
3643: IF p_batchstep_rsrc_rec.organization_id IS NULL THEN
3644: IF g_debug <= gme_debug.g_log_statement THEN
3645: gme_debug.put_line ( g_pkg_name
3646: || '.'
3647: || l_api_name
3648: || ' retrieve org_id using '
3649: || p_org_code);
3664: l_organization_id := p_batchstep_rsrc_rec.organization_id;
3665: END IF;
3666:
3667: IF p_batchstep_rsrc_rec.batch_id IS NULL THEN
3668: IF g_debug <= gme_debug.g_log_statement THEN
3669: gme_debug.put_line ( g_pkg_name
3670: || '.'
3671: || l_api_name
3672: || ' retrieve batch_id using '
3665: END IF;
3666:
3667: IF p_batchstep_rsrc_rec.batch_id IS NULL THEN
3668: IF g_debug <= gme_debug.g_log_statement THEN
3669: gme_debug.put_line ( g_pkg_name
3670: || '.'
3671: || l_api_name
3672: || ' retrieve batch_id using '
3673: || p_batch_no);
3688: l_batch_id := p_batchstep_rsrc_rec.batch_id;
3689: END IF;
3690:
3691: IF p_batchstep_rsrc_rec.batchstep_id IS NULL THEN
3692: IF g_debug <= gme_debug.g_log_statement THEN
3693: gme_debug.put_line ( g_pkg_name
3694: || '.'
3695: || l_api_name
3696: || ' retrieve batchstep_id using '
3689: END IF;
3690:
3691: IF p_batchstep_rsrc_rec.batchstep_id IS NULL THEN
3692: IF g_debug <= gme_debug.g_log_statement THEN
3693: gme_debug.put_line ( g_pkg_name
3694: || '.'
3695: || l_api_name
3696: || ' retrieve batchstep_id using '
3697: || p_batchstep_no);
3712: l_batchstep_id := p_batchstep_rsrc_rec.batchstep_id;
3713: END IF;
3714:
3715: IF p_batchstep_rsrc_rec.batchstep_resource_id IS NULL THEN
3716: IF g_debug <= gme_debug.g_log_statement THEN
3717: gme_debug.put_line ( g_pkg_name
3718: || '.'
3719: || l_api_name
3720: || ' retrieve resource_id using org_id '
3713: END IF;
3714:
3715: IF p_batchstep_rsrc_rec.batchstep_resource_id IS NULL THEN
3716: IF g_debug <= gme_debug.g_log_statement THEN
3717: gme_debug.put_line ( g_pkg_name
3718: || '.'
3719: || l_api_name
3720: || ' retrieve resource_id using org_id '
3721: || l_organization_id
3762:
3763: RETURN TRUE;
3764: EXCEPTION
3765: WHEN invalid_record OR btchstep_rsrc_fetch_err OR invalid_organization OR invalid_batch OR invalid_batchstep OR invalid_batchstep_activity OR invalid_batchstep_resource THEN
3766: IF g_debug <= gme_debug.g_log_unexpected THEN
3767: gme_debug.put_line
3768: ( ' user defined exception in gme_common_pvt.get_resource function'
3769: || SQLERRM);
3770: END IF;
3763: RETURN TRUE;
3764: EXCEPTION
3765: WHEN invalid_record OR btchstep_rsrc_fetch_err OR invalid_organization OR invalid_batch OR invalid_batchstep OR invalid_batchstep_activity OR invalid_batchstep_resource THEN
3766: IF g_debug <= gme_debug.g_log_unexpected THEN
3767: gme_debug.put_line
3768: ( ' user defined exception in gme_common_pvt.get_resource function'
3769: || SQLERRM);
3770: END IF;
3771:
3770: END IF;
3771:
3772: RETURN FALSE;
3773: WHEN OTHERS THEN
3774: IF g_debug <= gme_debug.g_log_unexpected THEN
3775: gme_debug.put_line
3776: ( ' when others: exception in gme_common_pvt.get_resource function'
3777: || SQLERRM);
3778: END IF;
3771:
3772: RETURN FALSE;
3773: WHEN OTHERS THEN
3774: IF g_debug <= gme_debug.g_log_unexpected THEN
3775: gme_debug.put_line
3776: ( ' when others: exception in gme_common_pvt.get_resource function'
3777: || SQLERRM);
3778: END IF;
3779:
3828: /* EXCEPTION Definitions */
3829: invalid_validity_rule EXCEPTION;
3830: BEGIN
3831: IF (NVL (g_debug, 0) IN
3832: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
3833: gme_debug.put_line (g_pkg_name || '.' || l_api_name || ':'
3834: || 'Entering');
3835: END IF;
3836:
3829: invalid_validity_rule EXCEPTION;
3830: BEGIN
3831: IF (NVL (g_debug, 0) IN
3832: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
3833: gme_debug.put_line (g_pkg_name || '.' || l_api_name || ':'
3834: || 'Entering');
3835: END IF;
3836:
3837: OPEN get_validity_rule (p_validity_rule_id);
3921: END IF; /* l_status_type IN ('1000', '800') */
3922: END IF; /* p_batch_header_rec.batch_id IS NOT NULL */
3923:
3924: IF (NVL (g_debug, 0) IN
3925: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
3926: gme_debug.put_line ( g_pkg_name
3927: || '.'
3928: || l_api_name
3929: || ':'
3922: END IF; /* p_batch_header_rec.batch_id IS NOT NULL */
3923:
3924: IF (NVL (g_debug, 0) IN
3925: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
3926: gme_debug.put_line ( g_pkg_name
3927: || '.'
3928: || l_api_name
3929: || ':'
3930: || 'Exiting with TRUE');
3936: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
3937: RETURN FALSE;
3938: WHEN OTHERS THEN
3939: IF (NVL (g_debug, 0) > 0) THEN
3940: gme_debug.put_line ( g_pkg_name
3941: || '.'
3942: || l_api_name
3943: || ':'
3944: || ' OTHERS:'
4063: /* Punit Kumar */
4064: l_batchstep_rec gme_batch_steps%ROWTYPE;
4065: BEGIN
4066: IF (NVL (g_debug, 0) IN
4067: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4068: gme_debug.put_line (g_pkg_name || '.' || l_api_name || ':'
4069: || 'Entering');
4070: gme_debug.put_line ( 'Value of p_material_detail_id : '
4071: || p_material_detail_id
4064: l_batchstep_rec gme_batch_steps%ROWTYPE;
4065: BEGIN
4066: IF (NVL (g_debug, 0) IN
4067: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4068: gme_debug.put_line (g_pkg_name || '.' || l_api_name || ':'
4069: || 'Entering');
4070: gme_debug.put_line ( 'Value of p_material_detail_id : '
4071: || p_material_detail_id
4072: || ', p_material_date: '
4066: IF (NVL (g_debug, 0) IN
4067: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4068: gme_debug.put_line (g_pkg_name || '.' || l_api_name || ':'
4069: || 'Entering');
4070: gme_debug.put_line ( 'Value of p_material_detail_id : '
4071: || p_material_detail_id
4072: || ', p_material_date: '
4073: || TO_CHAR (p_material_date
4074: ,'MM/DD/YYYY HH24:MI:SS') );
4094: IF p_material_date IS NOT NULL THEN
4095: l_material_date := p_material_date;
4096:
4097: IF (NVL (g_debug, 0) IN
4098: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4099: gme_debug.put_line
4100: ( 'Update existing Material Required Date : '
4101: || TO_CHAR (l_material_detail_rec.material_requirement_date
4102: ,'MM/DD/YYYY HH24:MI:SS')
4095: l_material_date := p_material_date;
4096:
4097: IF (NVL (g_debug, 0) IN
4098: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4099: gme_debug.put_line
4100: ( 'Update existing Material Required Date : '
4101: || TO_CHAR (l_material_detail_rec.material_requirement_date
4102: ,'MM/DD/YYYY HH24:MI:SS')
4103: || ' in Gme_material_details with new Material Required Date : '
4104: || TO_CHAR (p_material_date, 'MM/DD/YYYY HH24:MI:SS') );
4105: END IF;
4106: ELSE /* p_material_date IS NULL */
4107: IF (NVL (g_debug, 0) IN
4108: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4109: gme_debug.put_line
4110: ('p_material_date is null calling gme_common_pvt.calc_mtl_req_date');
4111: END IF;
4112:
4105: END IF;
4106: ELSE /* p_material_date IS NULL */
4107: IF (NVL (g_debug, 0) IN
4108: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4109: gme_debug.put_line
4110: ('p_material_date is null calling gme_common_pvt.calc_mtl_req_date');
4111: END IF;
4112:
4113: IF get_assoc_step (p_material_detail_id
4126: ,x_mtl_req_date => l_material_date
4127: ,x_return_status => l_return_status);
4128:
4129: IF (NVL (g_debug, 0) IN
4130: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4131: gme_debug.put_line
4132: ( 'Came back from gme_common_pvt.calc_mtl_req_date with status '
4133: || l_return_status);
4134: END IF;
4127: ,x_return_status => l_return_status);
4128:
4129: IF (NVL (g_debug, 0) IN
4130: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4131: gme_debug.put_line
4132: ( 'Came back from gme_common_pvt.calc_mtl_req_date with status '
4133: || l_return_status);
4134: END IF;
4135:
4147: RAISE fnd_api.g_exc_error;
4148: END IF;
4149:
4150: IF (NVL (g_debug, 0) IN
4151: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4152: gme_debug.put_line ('Came back from update of gme_material_details');
4153: END IF;
4154:
4155: IF (NVL (g_debug, 0) IN
4148: END IF;
4149:
4150: IF (NVL (g_debug, 0) IN
4151: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4152: gme_debug.put_line ('Came back from update of gme_material_details');
4153: END IF;
4154:
4155: IF (NVL (g_debug, 0) IN
4156: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4152: gme_debug.put_line ('Came back from update of gme_material_details');
4153: END IF;
4154:
4155: IF (NVL (g_debug, 0) IN
4156: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4157: gme_debug.put_line ( g_pkg_name
4158: || '.'
4159: || l_api_name
4160: || ':'
4153: END IF;
4154:
4155: IF (NVL (g_debug, 0) IN
4156: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4157: gme_debug.put_line ( g_pkg_name
4158: || '.'
4159: || l_api_name
4160: || ':'
4161: || 'Exiting with '
4166: /* Change of date a supply line could influence associated sales reservations so */
4167: /* we need to notify the sales representatve accordingly */
4168: /* ==============================================================================*/
4169: IF (NVL (g_debug, 0) IN
4170: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4171: gme_debug.put_line (' Assessing line type which is '||l_material_detail_rec.line_type);
4172: END IF;
4173: IF l_material_detail_rec.line_type <> gme_common_pvt.g_line_type_ing THEN /* -1 */
4174: IF (NVL (g_debug, 0) IN
4167: /* we need to notify the sales representatve accordingly */
4168: /* ==============================================================================*/
4169: IF (NVL (g_debug, 0) IN
4170: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4171: gme_debug.put_line (' Assessing line type which is '||l_material_detail_rec.line_type);
4172: END IF;
4173: IF l_material_detail_rec.line_type <> gme_common_pvt.g_line_type_ing THEN /* -1 */
4174: IF (NVL (g_debug, 0) IN
4175: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4171: gme_debug.put_line (' Assessing line type which is '||l_material_detail_rec.line_type);
4172: END IF;
4173: IF l_material_detail_rec.line_type <> gme_common_pvt.g_line_type_ing THEN /* -1 */
4174: IF (NVL (g_debug, 0) IN
4175: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4176: gme_debug.put_line (' Line is a source of supply so invoke Query_Prod_Supply_Reservations');
4177: END IF;
4178: GME_SUPPLY_RES_PVT.query_prod_supply_reservations
4179: (p_matl_dtl_rec => l_material_detail_rec
4172: END IF;
4173: IF l_material_detail_rec.line_type <> gme_common_pvt.g_line_type_ing THEN /* -1 */
4174: IF (NVL (g_debug, 0) IN
4175: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4176: gme_debug.put_line (' Line is a source of supply so invoke Query_Prod_Supply_Reservations');
4177: END IF;
4178: GME_SUPPLY_RES_PVT.query_prod_supply_reservations
4179: (p_matl_dtl_rec => l_material_detail_rec
4180: ,x_mtl_reservation_tbl => l_rsv_tbl
4182: ,x_msg_count => l_msg_count
4183: ,x_msg_data => l_msg_data
4184: ,x_return_status => l_return_status);
4185:
4186: IF g_debug <= gme_debug.g_log_procedure THEN
4187: gme_debug.put_line
4188: ( g_pkg_name
4189: || '.'
4190: || l_api_name
4183: ,x_msg_data => l_msg_data
4184: ,x_return_status => l_return_status);
4185:
4186: IF g_debug <= gme_debug.g_log_procedure THEN
4187: gme_debug.put_line
4188: ( g_pkg_name
4189: || '.'
4190: || l_api_name
4191: || 'Return status from query_prod_supply_reservations is '
4189: || '.'
4190: || l_api_name
4191: || 'Return status from query_prod_supply_reservations is '
4192: || l_return_status);
4193: gme_debug.put_line
4194: ( g_pkg_name
4195: || '.'
4196: || l_api_name
4197: || ' number of reservations is '
4201: IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
4202: RAISE query_reservations_error;
4203: END IF;
4204: FOR k IN 1 .. l_rsv_count LOOP
4205: gme_debug.put_line ('source line id is => '|| l_rsv_tbl(k).demand_source_line_id);
4206: -- Issue notifications for any impacted sales order lines
4207: IF l_rsv_tbl(k).demand_source_type_id = 2 THEN -- sales
4208: IF g_debug <= gme_debug.g_log_procedure THEN
4209: gme_debug.put_line ('Demand is from Sales ');
4204: FOR k IN 1 .. l_rsv_count LOOP
4205: gme_debug.put_line ('source line id is => '|| l_rsv_tbl(k).demand_source_line_id);
4206: -- Issue notifications for any impacted sales order lines
4207: IF l_rsv_tbl(k).demand_source_type_id = 2 THEN -- sales
4208: IF g_debug <= gme_debug.g_log_procedure THEN
4209: gme_debug.put_line ('Demand is from Sales ');
4210: END IF;
4211: GME_SUPPLY_RES_PVT.notify_CSR
4212: ( P_Batch_id => l_rsv_tbl(k).supply_source_header_id
4205: gme_debug.put_line ('source line id is => '|| l_rsv_tbl(k).demand_source_line_id);
4206: -- Issue notifications for any impacted sales order lines
4207: IF l_rsv_tbl(k).demand_source_type_id = 2 THEN -- sales
4208: IF g_debug <= gme_debug.g_log_procedure THEN
4209: gme_debug.put_line ('Demand is from Sales ');
4210: END IF;
4211: GME_SUPPLY_RES_PVT.notify_CSR
4212: ( P_Batch_id => l_rsv_tbl(k).supply_source_header_id
4213: , P_Batch_line_id => l_rsv_tbl(k).supply_source_line_id
4218: , X_return_status => x_return_status
4219: , X_msg_cont => l_msg_count
4220: , X_msg_data => l_msg_data );
4221:
4222: IF g_debug <= gme_debug.g_log_procedure THEN
4223: gme_debug.put_line ( g_pkg_name || '.'
4224: || l_api_name
4225: || ' after calling notify_CSR for date change status is '
4226: || x_return_status );
4219: , X_msg_cont => l_msg_count
4220: , X_msg_data => l_msg_data );
4221:
4222: IF g_debug <= gme_debug.g_log_procedure THEN
4223: gme_debug.put_line ( g_pkg_name || '.'
4224: || l_api_name
4225: || ' after calling notify_CSR for date change status is '
4226: || x_return_status );
4227: END IF;
4242: IF l_batch_header_rec.update_inventory_ind <> 'Y'
4243: OR l_material_detail_rec.line_type <>
4244: gme_common_pvt.g_line_type_ing /* -1 */ THEN
4245: IF (NVL (g_debug, 0) IN
4246: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4247: gme_debug.put_line
4248: ( 'Returning no further processing of reservations and Move Orders are required. '
4249: || 'Because update_inventory_ind : '
4250: || l_batch_header_rec.update_inventory_ind
4243: OR l_material_detail_rec.line_type <>
4244: gme_common_pvt.g_line_type_ing /* -1 */ THEN
4245: IF (NVL (g_debug, 0) IN
4246: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4247: gme_debug.put_line
4248: ( 'Returning no further processing of reservations and Move Orders are required. '
4249: || 'Because update_inventory_ind : '
4250: || l_batch_header_rec.update_inventory_ind
4251: || ' line_type : '
4258: /* Query reservations for the material_detail_id by calling Query_reservation. */
4259: l_rsv.demand_source_type_id := gme_common_pvt.g_txn_source_type;
4260:
4261: IF (NVL (g_debug, 0) IN
4262: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4263: gme_debug.put_line ('Calling Query Reservation.');
4264: END IF;
4265:
4266: /* start ,Punit Kumar */
4259: l_rsv.demand_source_type_id := gme_common_pvt.g_txn_source_type;
4260:
4261: IF (NVL (g_debug, 0) IN
4262: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4263: gme_debug.put_line ('Calling Query Reservation.');
4264: END IF;
4265:
4266: /* start ,Punit Kumar */
4267: gme_reservations_pvt.get_material_reservations
4273: l_size := l_rsv_array.COUNT;
4274:
4275: /* end */
4276: IF (NVL (g_debug, 0) IN
4277: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4278: gme_debug.put_line
4279: ( 'Came back from Query Reservation with status '
4280: || l_return_status);
4281: END IF;
4274:
4275: /* end */
4276: IF (NVL (g_debug, 0) IN
4277: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4278: gme_debug.put_line
4279: ( 'Came back from Query Reservation with status '
4280: || l_return_status);
4281: END IF;
4282:
4298: /* Delete the reservation by calling
4299: * The parameters that will be assigned to identity the reservations
4300: * to be deleted are the same as used for querying the reservations*/
4301: IF (NVL (g_debug, 0) IN
4302: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4303: gme_debug.put_line ('Calling Delete Reservation.');
4304: END IF;
4305:
4306: gme_reservations_pvt.delete_reservation
4299: * The parameters that will be assigned to identity the reservations
4300: * to be deleted are the same as used for querying the reservations*/
4301: IF (NVL (g_debug, 0) IN
4302: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4303: gme_debug.put_line ('Calling Delete Reservation.');
4304: END IF;
4305:
4306: gme_reservations_pvt.delete_reservation
4307: (p_reservation_id => l_rsv_array (j).reservation_id
4307: (p_reservation_id => l_rsv_array (j).reservation_id
4308: ,x_return_status => l_return_status);
4309:
4310: IF (NVL (g_debug, 0) IN
4311: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4312: gme_debug.put_line
4313: ( 'Came back from Delete Reservation with status '
4314: || l_return_status);
4315: END IF;
4308: ,x_return_status => l_return_status);
4309:
4310: IF (NVL (g_debug, 0) IN
4311: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4312: gme_debug.put_line
4313: ( 'Came back from Delete Reservation with status '
4314: || l_return_status);
4315: END IF;
4316:
4320: END IF;
4321: ELSE
4322: /* l_lot_expiration_date <= l_material_date */
4323: IF (NVL (g_debug, 0) IN
4324: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4325: gme_debug.put_line
4326: ('Lot expiration date > material date + l_shelf_life_days');
4327: END IF;
4328:
4321: ELSE
4322: /* l_lot_expiration_date <= l_material_date */
4323: IF (NVL (g_debug, 0) IN
4324: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4325: gme_debug.put_line
4326: ('Lot expiration date > material date + l_shelf_life_days');
4327: END IF;
4328:
4329: /* For remaining reserved lots, update the material required
4329: /* For remaining reserved lots, update the material required
4330: date with the l_material_date. Assign the new required date to
4331: the corresponding parameter of p_to_rsv_rec */
4332: IF (NVL (g_debug, 0) IN
4333: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4334: gme_debug.put_line
4335: ( 'Calling Update Reservation for reservation_id: '
4336: || l_rsv_array (j).reservation_id
4337: || ' requirement_date: '
4330: date with the l_material_date. Assign the new required date to
4331: the corresponding parameter of p_to_rsv_rec */
4332: IF (NVL (g_debug, 0) IN
4333: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4334: gme_debug.put_line
4335: ( 'Calling Update Reservation for reservation_id: '
4336: || l_rsv_array (j).reservation_id
4337: || ' requirement_date: '
4338: || TO_CHAR (l_material_date, 'MM/DD/YYYY HH24:MI:SS') );
4349: ,p_new_date => l_material_date
4350: ,x_return_status => l_return_status);
4351:
4352: IF (NVL (g_debug, 0) IN
4353: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4354: gme_debug.put_line
4355: ( 'Came back from Update Reservation with status '
4356: || l_return_status);
4357: END IF;
4350: ,x_return_status => l_return_status);
4351:
4352: IF (NVL (g_debug, 0) IN
4353: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4354: gme_debug.put_line
4355: ( 'Came back from Update Reservation with status '
4356: || l_return_status);
4357: END IF;
4358:
4379:
4380: FOR k IN 1 .. l_loop_count_mo_lines LOOP
4381: -- Update MO lines
4382: IF (NVL (g_debug, 0) IN
4383: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4384: gme_debug.put_line
4385: ( 'Calling Process move order line for txn_source_line_id : '
4386: || l_material_detail_rec.material_detail_id
4387: || ' Date_required : '
4380: FOR k IN 1 .. l_loop_count_mo_lines LOOP
4381: -- Update MO lines
4382: IF (NVL (g_debug, 0) IN
4383: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4384: gme_debug.put_line
4385: ( 'Calling Process move order line for txn_source_line_id : '
4386: || l_material_detail_rec.material_detail_id
4387: || ' Date_required : '
4388: || TO_CHAR (l_material_date, 'MM/DD/YYYY HH24:MI:SS') );
4396: ,p_invis_move_line_id => NULL
4397: ,x_return_status => l_return_status);
4398:
4399: IF (NVL (g_debug, 0) IN
4400: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4401: gme_debug.put_line
4402: ( 'Came back from Process move order line with status '
4403: || l_return_status);
4404: END IF;
4397: ,x_return_status => l_return_status);
4398:
4399: IF (NVL (g_debug, 0) IN
4400: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4401: gme_debug.put_line
4402: ( 'Came back from Process move order line with status '
4403: || l_return_status);
4404: END IF;
4405:
4432: l_mo_deleted := 1;
4433:
4434: -- Delete mo alloacations
4435: IF (NVL (g_debug, 0) IN
4436: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4437: gme_debug.put_line
4438: ( 'Delete mo alloacations for mo_line_id: '
4439: || l_mo_line_allocations_tbl (j).transaction_temp_id);
4440: END IF;
4433:
4434: -- Delete mo alloacations
4435: IF (NVL (g_debug, 0) IN
4436: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4437: gme_debug.put_line
4438: ( 'Delete mo alloacations for mo_line_id: '
4439: || l_mo_line_allocations_tbl (j).transaction_temp_id);
4440: END IF;
4441:
4446: ,p_mo_line_id => l_mo_lines_tbl (k).line_id
4447: ,p_transaction_temp_id => l_mo_line_allocations_tbl (j).transaction_temp_id);
4448:
4449: IF (NVL (g_debug, 0) IN
4450: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4451: gme_debug.put_line
4452: ( 'Came back from Delete Allocations with status '
4453: || l_return_status);
4454: END IF;
4447: ,p_transaction_temp_id => l_mo_line_allocations_tbl (j).transaction_temp_id);
4448:
4449: IF (NVL (g_debug, 0) IN
4450: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4451: gme_debug.put_line
4452: ( 'Came back from Delete Allocations with status '
4453: || l_return_status);
4454: END IF;
4455:
4470: RAISE mo_err;
4471: END IF;
4472:
4473: IF (NVL (g_debug, 0) IN
4474: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4475: gme_debug.put_line ( g_pkg_name
4476: || '.'
4477: || l_api_name
4478: || ':'
4471: END IF;
4472:
4473: IF (NVL (g_debug, 0) IN
4474: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4475: gme_debug.put_line ( g_pkg_name
4476: || '.'
4477: || l_api_name
4478: || ':'
4479: || 'Exiting with '
4501: x_return_status := 'M';
4502: WHEN reservation_api_failed OR process_move_order_failed OR delete_allocations_failed THEN
4503: x_return_status := l_return_status;
4504: WHEN query_reservations_error OR notify_CSR_err THEN -- 4944024 BEGIN
4505: IF g_debug <= gme_debug.g_log_statement THEN
4506: gme_debug.put_line
4507: ( g_pkg_name
4508: || '.'
4509: || l_api_name
4502: WHEN reservation_api_failed OR process_move_order_failed OR delete_allocations_failed THEN
4503: x_return_status := l_return_status;
4504: WHEN query_reservations_error OR notify_CSR_err THEN -- 4944024 BEGIN
4505: IF g_debug <= gme_debug.g_log_statement THEN
4506: gme_debug.put_line
4507: ( g_pkg_name
4508: || '.'
4509: || l_api_name
4510: || 'Error is :'
4514: x_return_status := fnd_api.g_ret_sts_unexp_error;
4515: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
4516:
4517: IF (NVL (g_debug, 0) > 0) THEN
4518: gme_debug.put_line ( g_pkg_name
4519: || '.'
4520: || l_api_name
4521: || ':'
4522: || ' OTHERS:'
4548: l_is_auto NUMBER;
4549: l_api_name CONSTANT VARCHAR2 (30) := 'IS_MATERIAL_AUTO_RELEASE';
4550: BEGIN
4551: IF (NVL (g_debug, 0) IN
4552: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4553: gme_debug.put_line (g_pkg_name || '.' || l_api_name || ':'
4554: || 'Entering');
4555: END IF;
4556:
4549: l_api_name CONSTANT VARCHAR2 (30) := 'IS_MATERIAL_AUTO_RELEASE';
4550: BEGIN
4551: IF (NVL (g_debug, 0) IN
4552: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4553: gme_debug.put_line (g_pkg_name || '.' || l_api_name || ':'
4554: || 'Entering');
4555: END IF;
4556:
4557: SELECT release_type
4578: END IF;
4579: END IF; /* l_release_type = 0 */
4580:
4581: IF (NVL (g_debug, 0) IN
4582: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4583: gme_debug.put_line ( g_pkg_name
4584: || '.'
4585: || l_api_name
4586: || ':'
4579: END IF; /* l_release_type = 0 */
4580:
4581: IF (NVL (g_debug, 0) IN
4582: (gme_debug.g_log_statement, gme_debug.g_log_procedure) ) THEN
4583: gme_debug.put_line ( g_pkg_name
4584: || '.'
4585: || l_api_name
4586: || ':'
4587: || 'Exiting with l_is_auto: '
4593: WHEN OTHERS THEN
4594: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
4595:
4596: IF (NVL (g_debug, 0) > 0) THEN
4597: gme_debug.put_line ( g_pkg_name
4598: || '.'
4599: || l_api_name
4600: || ':'
4601: || ' OTHERS:'
4623: l_api_name VARCHAR2 (30) := 'GET_MATERIAL_DETAIL';
4624: material_detail_fetch_error EXCEPTION;
4625: batch_header_fetch_error EXCEPTION;
4626: BEGIN
4627: IF g_debug <= gme_debug.g_log_procedure THEN
4628: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
4629: || l_api_name);
4630: END IF;
4631:
4624: material_detail_fetch_error EXCEPTION;
4625: batch_header_fetch_error EXCEPTION;
4626: BEGIN
4627: IF g_debug <= gme_debug.g_log_procedure THEN
4628: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
4629: || l_api_name);
4630: END IF;
4631:
4632: IF p_org_code IS NOT NULL
4661:
4662: RETURN TRUE;
4663: EXCEPTION
4664: WHEN OTHERS THEN
4665: IF g_debug <= gme_debug.g_log_unexpected THEN
4666: gme_debug.put_line ( 'When others exception in '
4667: || g_pkg_name
4668: || '.'
4669: || l_api_name
4662: RETURN TRUE;
4663: EXCEPTION
4664: WHEN OTHERS THEN
4665: IF g_debug <= gme_debug.g_log_unexpected THEN
4666: gme_debug.put_line ( 'When others exception in '
4667: || g_pkg_name
4668: || '.'
4669: || l_api_name
4670: || ' Error is '
4683: l_period_id INTEGER;
4684: l_open_past_period BOOLEAN;
4685: l_api_name VARCHAR2 (100) := 'check_close_period';
4686: BEGIN
4687: IF g_debug <= gme_debug.g_log_procedure THEN
4688: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
4689: || l_api_name);
4690: END IF;
4691:
4684: l_open_past_period BOOLEAN;
4685: l_api_name VARCHAR2 (100) := 'check_close_period';
4686: BEGIN
4687: IF g_debug <= gme_debug.g_log_procedure THEN
4688: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
4689: || l_api_name);
4690: END IF;
4691:
4692: invttmtx.tdatechk (org_id => p_org_id
4706: END IF;
4707: RETURN TRUE;
4708: EXCEPTION
4709: WHEN OTHERS THEN
4710: IF g_debug <= gme_debug.g_log_unexpected THEN
4711: gme_debug.put_line ( 'When others exception in '
4712: || g_pkg_name
4713: || '.'
4714: || l_api_name
4707: RETURN TRUE;
4708: EXCEPTION
4709: WHEN OTHERS THEN
4710: IF g_debug <= gme_debug.g_log_unexpected THEN
4711: gme_debug.put_line ( 'When others exception in '
4712: || g_pkg_name
4713: || '.'
4714: || l_api_name
4715: || ' Error is '
4748: l_batch_header_rec gme_batch_header%ROWTYPE;
4749:
4750: batch_header_fetch_error EXCEPTION;
4751: BEGIN
4752: IF g_debug <= gme_debug.g_log_procedure THEN
4753: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
4754: || l_api_name);
4755: END IF;
4756: /* Set the return status to success initially */
4749:
4750: batch_header_fetch_error EXCEPTION;
4751: BEGIN
4752: IF g_debug <= gme_debug.g_log_procedure THEN
4753: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
4754: || l_api_name);
4755: END IF;
4756: /* Set the return status to success initially */
4757: x_return_status := fnd_api.g_ret_sts_success;
4770: (p_batch_header_rec => p_batch_header_rec
4771: ,p_org_code => p_org_code
4772: ,p_batch_type => p_batch_type
4773: ,x_batch_header_rec => l_batch_header_rec) THEN
4774: IF (g_debug = gme_debug.g_log_statement) THEN
4775: gme_debug.put_line (g_pkg_name||'.'||l_api_name|| ': batch not found ');
4776: END IF;
4777: gme_common_pvt.log_message ('GME_BATCH_NOT_FOUND');
4778: RAISE batch_header_fetch_error;
4771: ,p_org_code => p_org_code
4772: ,p_batch_type => p_batch_type
4773: ,x_batch_header_rec => l_batch_header_rec) THEN
4774: IF (g_debug = gme_debug.g_log_statement) THEN
4775: gme_debug.put_line (g_pkg_name||'.'||l_api_name|| ': batch not found ');
4776: END IF;
4777: gme_common_pvt.log_message ('GME_BATCH_NOT_FOUND');
4778: RAISE batch_header_fetch_error;
4779: END IF;
4793: gme_common_pvt.setup (p_org_id => l_batch_header_rec.organization_id
4794: ,p_org_code => p_org_code);
4795:
4796: IF NOT gme_common_pvt.g_setup_done THEN
4797: IF (g_debug = gme_debug.g_log_statement) THEN
4798: gme_debug.put_line (g_pkg_name||'.'||l_api_name|| ':set up problem ');
4799: END IF;
4800: RAISE fnd_api.g_exc_error;
4801: ELSE
4794: ,p_org_code => p_org_code);
4795:
4796: IF NOT gme_common_pvt.g_setup_done THEN
4797: IF (g_debug = gme_debug.g_log_statement) THEN
4798: gme_debug.put_line (g_pkg_name||'.'||l_api_name|| ':set up problem ');
4799: END IF;
4800: RAISE fnd_api.g_exc_error;
4801: ELSE
4802: l_batch_header_rec.organization_id :=
4803: gme_common_pvt.g_organization_id;
4804: END IF;
4805: x_batch_header_rec := l_batch_header_rec ;
4806:
4807: IF g_debug <= gme_debug.g_log_statement THEN
4808: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4809: 'exiting batch_header_id = ' || x_batch_header_rec.batch_id);
4810: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4811: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
4804: END IF;
4805: x_batch_header_rec := l_batch_header_rec ;
4806:
4807: IF g_debug <= gme_debug.g_log_statement THEN
4808: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4809: 'exiting batch_header_id = ' || x_batch_header_rec.batch_id);
4810: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4811: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
4812: END IF;
4806:
4807: IF g_debug <= gme_debug.g_log_statement THEN
4808: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4809: 'exiting batch_header_id = ' || x_batch_header_rec.batch_id);
4810: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4811: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
4812: END IF;
4813: EXCEPTION
4814: WHEN fnd_api.g_exc_error THEN
4815: x_return_status := fnd_api.g_ret_sts_error;
4816: WHEN batch_header_fetch_error THEN
4817: x_return_status := fnd_api.g_ret_sts_error;
4818: WHEN OTHERS THEN
4819: IF g_debug <= gme_debug.g_log_unexpected THEN
4820: gme_debug.put_line ( 'When others exception in '
4821: || g_pkg_name|| '.'||l_api_name||'Error is '
4822: || SQLERRM);
4823: END IF;
4816: WHEN batch_header_fetch_error THEN
4817: x_return_status := fnd_api.g_ret_sts_error;
4818: WHEN OTHERS THEN
4819: IF g_debug <= gme_debug.g_log_unexpected THEN
4820: gme_debug.put_line ( 'When others exception in '
4821: || g_pkg_name|| '.'||l_api_name||'Error is '
4822: || SQLERRM);
4823: END IF;
4824: x_return_status := fnd_api.g_ret_sts_unexp_error;
4855: l_batch_header_rec gme_batch_header%ROWTYPE;
4856: l_material_detail_rec gme_material_details%ROWTYPE;
4857: material_fetch_error EXCEPTION;
4858: BEGIN
4859: IF g_debug <= gme_debug.g_log_procedure THEN
4860: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
4861: || l_api_name);
4862: END IF;
4863:
4856: l_material_detail_rec gme_material_details%ROWTYPE;
4857: material_fetch_error EXCEPTION;
4858: BEGIN
4859: IF g_debug <= gme_debug.g_log_procedure THEN
4860: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
4861: || l_api_name);
4862: END IF;
4863:
4864: /* Set the return status to success initially */
4878: ,p_batch_type => p_batch_type
4879: ,x_batch_header_rec => l_batch_header_rec
4880: ,x_material_detail_rec => l_material_detail_rec) THEN
4881:
4882: IF (g_debug = gme_debug.g_log_statement) THEN
4883: gme_debug.put_line (g_pkg_name||'.'||l_api_name|| ': batch not found ');
4884: END IF;
4885:
4886: RAISE material_fetch_error;
4879: ,x_batch_header_rec => l_batch_header_rec
4880: ,x_material_detail_rec => l_material_detail_rec) THEN
4881:
4882: IF (g_debug = gme_debug.g_log_statement) THEN
4883: gme_debug.put_line (g_pkg_name||'.'||l_api_name|| ': batch not found ');
4884: END IF;
4885:
4886: RAISE material_fetch_error;
4887:
4904: gme_common_pvt.setup (p_org_id => l_batch_header_rec.organization_id
4905: ,p_org_code => p_org_code);
4906:
4907: IF NOT gme_common_pvt.g_setup_done THEN
4908: IF (g_debug = gme_debug.g_log_statement) THEN
4909: gme_debug.put_line (g_pkg_name||'.'||l_api_name|| ':set up problem ');
4910: END IF;
4911: RAISE fnd_api.g_exc_error;
4912: ELSE
4905: ,p_org_code => p_org_code);
4906:
4907: IF NOT gme_common_pvt.g_setup_done THEN
4908: IF (g_debug = gme_debug.g_log_statement) THEN
4909: gme_debug.put_line (g_pkg_name||'.'||l_api_name|| ':set up problem ');
4910: END IF;
4911: RAISE fnd_api.g_exc_error;
4912: ELSE
4913: l_batch_header_rec.organization_id :=
4914: gme_common_pvt.g_organization_id;
4915: END IF;
4916: x_batch_header_rec := l_batch_header_rec ;
4917: x_material_detail_rec := l_material_detail_rec ;
4918: IF g_debug <= gme_debug.g_log_statement THEN
4919: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4920: 'exiting batch_header_id = ' || x_batch_header_rec.batch_id);
4921: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4922: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
4915: END IF;
4916: x_batch_header_rec := l_batch_header_rec ;
4917: x_material_detail_rec := l_material_detail_rec ;
4918: IF g_debug <= gme_debug.g_log_statement THEN
4919: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4920: 'exiting batch_header_id = ' || x_batch_header_rec.batch_id);
4921: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4922: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
4923: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4917: x_material_detail_rec := l_material_detail_rec ;
4918: IF g_debug <= gme_debug.g_log_statement THEN
4919: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4920: 'exiting batch_header_id = ' || x_batch_header_rec.batch_id);
4921: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4922: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
4923: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4924: 'exiting mat det_id = ' || x_material_detail_rec.material_detail_id);
4925: END IF;
4919: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4920: 'exiting batch_header_id = ' || x_batch_header_rec.batch_id);
4921: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4922: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
4923: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
4924: 'exiting mat det_id = ' || x_material_detail_rec.material_detail_id);
4925: END IF;
4926:
4927: EXCEPTION
4929: x_return_status := fnd_api.g_ret_sts_error;
4930: WHEN material_fetch_error THEN
4931: x_return_status := fnd_api.g_ret_sts_error;
4932: WHEN OTHERS THEN
4933: IF g_debug <= gme_debug.g_log_unexpected THEN
4934: gme_debug.put_line ( 'When others exception in '
4935: || g_pkg_name
4936: || '.'
4937: || l_api_name
4930: WHEN material_fetch_error THEN
4931: x_return_status := fnd_api.g_ret_sts_error;
4932: WHEN OTHERS THEN
4933: IF g_debug <= gme_debug.g_log_unexpected THEN
4934: gme_debug.put_line ( 'When others exception in '
4935: || g_pkg_name
4936: || '.'
4937: || l_api_name
4938: || ' Error is '
4973: l_batch_header_rec gme_batch_header%ROWTYPE;
4974: l_batch_step_rec gme_batch_steps%ROWTYPE;
4975: step_header_fetch_error EXCEPTION;
4976: BEGIN
4977: IF g_debug <= gme_debug.g_log_procedure THEN
4978: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
4979: || l_api_name);
4980: END IF;
4981: x_return_status := fnd_api.g_ret_sts_success;
4974: l_batch_step_rec gme_batch_steps%ROWTYPE;
4975: step_header_fetch_error EXCEPTION;
4976: BEGIN
4977: IF g_debug <= gme_debug.g_log_procedure THEN
4978: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'
4979: || l_api_name);
4980: END IF;
4981: x_return_status := fnd_api.g_ret_sts_success;
4982:
5006: gme_common_pvt.setup (p_org_id => l_batch_header_rec.organization_id
5007: ,p_org_code => p_org_code);
5008:
5009: IF NOT gme_common_pvt.g_setup_done THEN
5010: IF (g_debug = gme_debug.g_log_statement) THEN
5011: gme_debug.put_line (g_pkg_name||'.'||l_api_name|| ':set up problem ');
5012: END IF;
5013: RAISE fnd_api.g_exc_error;
5014: ELSE
5007: ,p_org_code => p_org_code);
5008:
5009: IF NOT gme_common_pvt.g_setup_done THEN
5010: IF (g_debug = gme_debug.g_log_statement) THEN
5011: gme_debug.put_line (g_pkg_name||'.'||l_api_name|| ':set up problem ');
5012: END IF;
5013: RAISE fnd_api.g_exc_error;
5014: ELSE
5015: l_batch_header_rec.organization_id :=
5016: gme_common_pvt.g_organization_id;
5017: END IF;
5018: x_batch_header_rec := l_batch_header_rec ;
5019: x_batch_step_rec := l_batch_step_rec;
5020: IF g_debug <= gme_debug.g_log_statement THEN
5021: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
5022: 'exiting batch_header_id = ' || x_batch_header_rec.batch_id);
5023: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
5024: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
5017: END IF;
5018: x_batch_header_rec := l_batch_header_rec ;
5019: x_batch_step_rec := l_batch_step_rec;
5020: IF g_debug <= gme_debug.g_log_statement THEN
5021: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
5022: 'exiting batch_header_id = ' || x_batch_header_rec.batch_id);
5023: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
5024: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
5025:
5019: x_batch_step_rec := l_batch_step_rec;
5020: IF g_debug <= gme_debug.g_log_statement THEN
5021: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
5022: 'exiting batch_header_id = ' || x_batch_header_rec.batch_id);
5023: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
5024: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
5025:
5026: END IF;
5027: IF g_debug <= gme_debug.g_log_statement THEN
5023: gme_debug.put_line ( g_pkg_name || '.' || l_api_name || ':' ||
5024: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
5025:
5026: END IF;
5027: IF g_debug <= gme_debug.g_log_statement THEN
5028: gme_debug.put_line ( g_pkg_name
5029: || '.'
5030: || l_api_name
5031: || ' BatchStep ID: '
5024: 'exiting organization_id = ' || x_batch_header_rec.organization_id);
5025:
5026: END IF;
5027: IF g_debug <= gme_debug.g_log_statement THEN
5028: gme_debug.put_line ( g_pkg_name
5029: || '.'
5030: || l_api_name
5031: || ' BatchStep ID: '
5032: || x_batch_step_rec.batchstep_id);
5036: x_return_status := fnd_api.g_ret_sts_error;
5037: WHEN Step_header_fetch_error THEN
5038: x_return_status := fnd_api.g_ret_sts_error;
5039: WHEN OTHERS THEN
5040: IF g_debug <= gme_debug.g_log_unexpected THEN
5041: gme_debug.put_line ( 'When others exception in '
5042: || g_pkg_name
5043: || '.'
5044: || l_api_name
5037: WHEN Step_header_fetch_error THEN
5038: x_return_status := fnd_api.g_ret_sts_error;
5039: WHEN OTHERS THEN
5040: IF g_debug <= gme_debug.g_log_unexpected THEN
5041: gme_debug.put_line ( 'When others exception in '
5042: || g_pkg_name
5043: || '.'
5044: || l_api_name
5045: || ' Error is '
5092: SELECT actual_start_date, actual_cmplt_date
5093: FROM gme_batch_steps
5094: WHERE batchstep_id = v_batchstep_id;
5095: BEGIN
5096: IF g_debug <= gme_debug.g_log_procedure THEN
5097: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'|| l_api_name);
5098: END IF;
5099:
5100: /* initializing the return status*/
5093: FROM gme_batch_steps
5094: WHERE batchstep_id = v_batchstep_id;
5095: BEGIN
5096: IF g_debug <= gme_debug.g_log_procedure THEN
5097: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'|| l_api_name);
5098: END IF;
5099:
5100: /* initializing the return status*/
5101: x_return_status := fnd_api.g_ret_sts_success;
5103: /* fetch the material detail record */
5104: l_material_detail_rec.material_detail_id := p_material_detail_id;
5105:
5106: IF NOT (gme_material_details_dbl.fetch_row(l_material_detail_rec, l_material_detail_rec)) THEN
5107: IF g_debug <= gme_debug.g_log_statement THEN
5108: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'||'Error in Fetching the material detail record');
5109: END IF;
5110: RAISE error_fetch_material;
5111: END IF;
5104: l_material_detail_rec.material_detail_id := p_material_detail_id;
5105:
5106: IF NOT (gme_material_details_dbl.fetch_row(l_material_detail_rec, l_material_detail_rec)) THEN
5107: IF g_debug <= gme_debug.g_log_statement THEN
5108: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'||'Error in Fetching the material detail record');
5109: END IF;
5110: RAISE error_fetch_material;
5111: END IF;
5112:
5112:
5113: /*fetch the batch details*/
5114: l_batch_header_rec.batch_id := l_material_detail_rec.batch_id;
5115: IF NOT (gme_batch_header_dbl.fetch_row(l_batch_header_rec, l_batch_header_rec)) THEN
5116: IF g_debug <= gme_debug.g_log_statement THEN
5117: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'||'Error in Fetching the Batch Details');
5118: END IF;
5119: RAISE error_fetch_batch_details;
5120: END IF;
5113: /*fetch the batch details*/
5114: l_batch_header_rec.batch_id := l_material_detail_rec.batch_id;
5115: IF NOT (gme_batch_header_dbl.fetch_row(l_batch_header_rec, l_batch_header_rec)) THEN
5116: IF g_debug <= gme_debug.g_log_statement THEN
5117: gme_debug.put_line ('Entering api ' || g_pkg_name || '.'||'Error in Fetching the Batch Details');
5118: END IF;
5119: RAISE error_fetch_batch_details;
5120: END IF;
5121:
5161: END IF;
5162:
5163: x_trans_date := NVL(l_trans_date,SYSDATE);
5164:
5165: IF g_debug <= gme_debug.g_log_procedure THEN
5166: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
5167: END IF;
5168: EXCEPTION
5169: WHEN error_fetch_material OR error_fetch_batch_details THEN
5162:
5163: x_trans_date := NVL(l_trans_date,SYSDATE);
5164:
5165: IF g_debug <= gme_debug.g_log_procedure THEN
5166: gme_debug.put_line ('Exiting api ' || g_pkg_name || '.' || l_api_name);
5167: END IF;
5168: EXCEPTION
5169: WHEN error_fetch_material OR error_fetch_batch_details THEN
5170: x_return_status := fnd_api.g_ret_sts_error;
5168: EXCEPTION
5169: WHEN error_fetch_material OR error_fetch_batch_details THEN
5170: x_return_status := fnd_api.g_ret_sts_error;
5171: WHEN OTHERS THEN
5172: IF g_debug <= gme_debug.g_log_unexpected THEN
5173: gme_debug.put_line ( 'When others exception in '
5174: || g_pkg_name
5175: || '.'
5176: || l_api_name
5169: WHEN error_fetch_material OR error_fetch_batch_details THEN
5170: x_return_status := fnd_api.g_ret_sts_error;
5171: WHEN OTHERS THEN
5172: IF g_debug <= gme_debug.g_log_unexpected THEN
5173: gme_debug.put_line ( 'When others exception in '
5174: || g_pkg_name
5175: || '.'
5176: || l_api_name
5177: || ' Error is '