55: WHEN NO_DATA_FOUND THEN
56: RETURN NULL;
57:
58: WHEN OTHERS THEN
59: RETURN FND_API.G_MISS_NUM;
60:
61: END Organization;
62:
63:
109: WHEN NO_DATA_FOUND THEN
110: RETURN NULL;
111:
112: WHEN OTHERS THEN
113: RETURN FND_API.G_MISS_NUM;
114:
115: END Revised_Item;
116:
117:
199: INTO l_id, l_cfm_flag, l_com_rtg_seq_id
200: FROM bom_operational_routings
201: WHERE organization_id = p_organization_id
202: AND assembly_item_id = p_assembly_item_id
203: AND NVL(alternate_routing_designator, FND_API.G_MISS_CHAR) =
204: NVL(p_alternate_routing_designator, FND_API.G_MISS_CHAR);
205:
206: BOM_Rtg_Globals.Set_CFM_Rtg_Flag(p_cfm_rtg_type => l_cfm_flag) ;
207: BOM_Rtg_Globals.Set_Common_Rtg_Seq_id
200: FROM bom_operational_routings
201: WHERE organization_id = p_organization_id
202: AND assembly_item_id = p_assembly_item_id
203: AND NVL(alternate_routing_designator, FND_API.G_MISS_CHAR) =
204: NVL(p_alternate_routing_designator, FND_API.G_MISS_CHAR);
205:
206: BOM_Rtg_Globals.Set_CFM_Rtg_Flag(p_cfm_rtg_type => l_cfm_flag) ;
207: BOM_Rtg_Globals.Set_Common_Rtg_Seq_id
208: ( p_common_Rtg_seq_id => l_com_rtg_seq_id );
215: WHEN NO_DATA_FOUND THEN
216: RETURN NULL;
217:
218: WHEN OTHERS THEN
219: RETURN FND_API.G_MISS_NUM;
220:
221: END Routing_Sequence_id ;
222:
223: /********************************************************************
284: -- Modified by MK on 11/02/00
285: SELECT routing_sequence_id, revised_item_Sequence_id
286: INTO x_routing_sequence_id, l_Rev_Item_Seq
287: FROM eng_revised_items
288: WHERE NVL(from_end_item_unit_number, FND_API.G_MISS_CHAR )
289: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
290: AND NVL(new_routing_revision, FND_API.G_MISS_CHAR) =
291: NVL(p_new_routing_revision, FND_API.G_MISS_CHAR)
292: AND NVL(new_item_revision,FND_API.G_MISS_CHAR)= NVL(p_item_revision,FND_API.G_MISS_CHAR)
285: SELECT routing_sequence_id, revised_item_Sequence_id
286: INTO x_routing_sequence_id, l_Rev_Item_Seq
287: FROM eng_revised_items
288: WHERE NVL(from_end_item_unit_number, FND_API.G_MISS_CHAR )
289: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
290: AND NVL(new_routing_revision, FND_API.G_MISS_CHAR) =
291: NVL(p_new_routing_revision, FND_API.G_MISS_CHAR)
292: AND NVL(new_item_revision,FND_API.G_MISS_CHAR)= NVL(p_item_revision,FND_API.G_MISS_CHAR)
293: AND scheduled_date = p_effective_date
286: INTO x_routing_sequence_id, l_Rev_Item_Seq
287: FROM eng_revised_items
288: WHERE NVL(from_end_item_unit_number, FND_API.G_MISS_CHAR )
289: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
290: AND NVL(new_routing_revision, FND_API.G_MISS_CHAR) =
291: NVL(p_new_routing_revision, FND_API.G_MISS_CHAR)
292: AND NVL(new_item_revision,FND_API.G_MISS_CHAR)= NVL(p_item_revision,FND_API.G_MISS_CHAR)
293: AND scheduled_date = p_effective_date
294: -- AND TRUNC(scheduled_date) = TRUNC(p_effective_date) -- time
287: FROM eng_revised_items
288: WHERE NVL(from_end_item_unit_number, FND_API.G_MISS_CHAR )
289: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
290: AND NVL(new_routing_revision, FND_API.G_MISS_CHAR) =
291: NVL(p_new_routing_revision, FND_API.G_MISS_CHAR)
292: AND NVL(new_item_revision,FND_API.G_MISS_CHAR)= NVL(p_item_revision,FND_API.G_MISS_CHAR)
293: AND scheduled_date = p_effective_date
294: -- AND TRUNC(scheduled_date) = TRUNC(p_effective_date) -- time
295: AND change_notice = p_change_notice
288: WHERE NVL(from_end_item_unit_number, FND_API.G_MISS_CHAR )
289: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
290: AND NVL(new_routing_revision, FND_API.G_MISS_CHAR) =
291: NVL(p_new_routing_revision, FND_API.G_MISS_CHAR)
292: AND NVL(new_item_revision,FND_API.G_MISS_CHAR)= NVL(p_item_revision,FND_API.G_MISS_CHAR)
293: AND scheduled_date = p_effective_date
294: -- AND TRUNC(scheduled_date) = TRUNC(p_effective_date) -- time
295: AND change_notice = p_change_notice
296: AND organization_id = p_organization_id
354: WHEN NO_DATA_FOUND THEN
355: RETURN NULL;
356:
357: WHEN OTHERS THEN
358: RETURN FND_API.G_MISS_NUM;
359:
360: END Completion_locator_id;
361:
362: /********************************************************************
394: WHEN NO_DATA_FOUND THEN
395: RETURN NULL;
396:
397: WHEN OTHERS THEN
398: RETURN FND_API.G_MISS_NUM;
399: END Line_Id;
400:
401: /********************************************************************
402: * Function : Standard_Operation_id for ECO BO
429: INTO l_id
430: FROM bom_standard_operations bso
431: -- , eng_revised_items eri
432: WHERE NVL(bso.operation_type, 1)
433: = DECODE(p_operation_type, FND_API.G_MISS_NUM, 1
434: , NVL(p_operation_type, 1 ) )
435: -- AND NVL(bso.line_id, FND_API.G_MISS_NUM)
436: -- = NVL(eri.line_id, FND_API.G_MISS_NUM)
437: -- AND eri.revised_item_sequence_id = p_rev_item_sequence_id
431: -- , eng_revised_items eri
432: WHERE NVL(bso.operation_type, 1)
433: = DECODE(p_operation_type, FND_API.G_MISS_NUM, 1
434: , NVL(p_operation_type, 1 ) )
435: -- AND NVL(bso.line_id, FND_API.G_MISS_NUM)
436: -- = NVL(eri.line_id, FND_API.G_MISS_NUM)
437: -- AND eri.revised_item_sequence_id = p_rev_item_sequence_id
438: AND NVL(bso.line_id, FND_API.G_MISS_NUM ) = FND_API.G_MISS_NUM
439: AND bso.organization_id = p_organization_id
432: WHERE NVL(bso.operation_type, 1)
433: = DECODE(p_operation_type, FND_API.G_MISS_NUM, 1
434: , NVL(p_operation_type, 1 ) )
435: -- AND NVL(bso.line_id, FND_API.G_MISS_NUM)
436: -- = NVL(eri.line_id, FND_API.G_MISS_NUM)
437: -- AND eri.revised_item_sequence_id = p_rev_item_sequence_id
438: AND NVL(bso.line_id, FND_API.G_MISS_NUM ) = FND_API.G_MISS_NUM
439: AND bso.organization_id = p_organization_id
440: AND bso.operation_code = p_standard_operation_code ;
434: , NVL(p_operation_type, 1 ) )
435: -- AND NVL(bso.line_id, FND_API.G_MISS_NUM)
436: -- = NVL(eri.line_id, FND_API.G_MISS_NUM)
437: -- AND eri.revised_item_sequence_id = p_rev_item_sequence_id
438: AND NVL(bso.line_id, FND_API.G_MISS_NUM ) = FND_API.G_MISS_NUM
439: AND bso.organization_id = p_organization_id
440: AND bso.operation_code = p_standard_operation_code ;
441:
442:
447: WHEN NO_DATA_FOUND THEN
448: RETURN NULL;
449:
450: WHEN OTHERS THEN
451: RETURN FND_API.G_MISS_NUM;
452: END Standard_Operation_Id;
453:
454:
455: /********************************************************************
483: INTO l_id
484: FROM bom_standard_operations bso
485: , bom_operational_routings bor
486: WHERE NVL(bso.operation_type,1 )
487: = DECODE(p_operation_type, FND_API.G_MISS_NUM, 1
488: , NVL(p_operation_type, 1))
489: AND NVL(bso.line_id, FND_API.G_MISS_NUM)
490: = NVL(bor.line_id, FND_API.G_MISS_NUM)
491: AND bor.routing_sequence_id = p_routing_sequence_id
485: , bom_operational_routings bor
486: WHERE NVL(bso.operation_type,1 )
487: = DECODE(p_operation_type, FND_API.G_MISS_NUM, 1
488: , NVL(p_operation_type, 1))
489: AND NVL(bso.line_id, FND_API.G_MISS_NUM)
490: = NVL(bor.line_id, FND_API.G_MISS_NUM)
491: AND bor.routing_sequence_id = p_routing_sequence_id
492: AND bso.organization_id = p_organization_id
493: AND bso.operation_code = p_standard_operation_code ;
486: WHERE NVL(bso.operation_type,1 )
487: = DECODE(p_operation_type, FND_API.G_MISS_NUM, 1
488: , NVL(p_operation_type, 1))
489: AND NVL(bso.line_id, FND_API.G_MISS_NUM)
490: = NVL(bor.line_id, FND_API.G_MISS_NUM)
491: AND bor.routing_sequence_id = p_routing_sequence_id
492: AND bso.organization_id = p_organization_id
493: AND bso.operation_code = p_standard_operation_code ;
494:
499: WHEN NO_DATA_FOUND THEN
500: RETURN NULL;
501:
502: WHEN OTHERS THEN
503: RETURN FND_API.G_MISS_NUM;
504: END Standard_Operation_Id;
505:
506: /********************************************************************
507: * Function : Department id
535: WHEN NO_DATA_FOUND THEN
536: RETURN NULL;
537:
538: WHEN OTHERS THEN
539: RETURN FND_API.G_MISS_NUM;
540: END Department_Id;
541:
542: /********************************************************************
543: * Function : Process_Op_Seq_Id
595: WHEN NO_DATA_FOUND THEN
596: RETURN NULL;
597:
598: WHEN OTHERS THEN
599: RETURN FND_API.G_MISS_NUM;
600:
601: END Process_Op_Seq_Id;
602:
603: /********************************************************************
671: WHEN NO_DATA_FOUND THEN
672: RETURN NULL;
673:
674: WHEN OTHERS THEN
675: RETURN FND_API.G_MISS_NUM;
676:
677: END Line_Op_Seq_Id;
678:
679:
708: SELECT operation_sequence_id
709: INTO l_id
710: FROM BOM_OPERATION_SEQUENCES
711: WHERE NVL(operation_type, 1) = DECODE(p_operation_type,
712: FND_API.G_MISS_NUM, 1,
713: NVL(p_operation_type, 1)
714: )
715: AND routing_sequence_id = p_routing_sequence_id
716: AND effectivity_date = p_old_effective_date -- Changed for bug 2647027
725: WHEN NO_DATA_FOUND THEN
726: RETURN NULL;
727:
728: WHEN OTHERS THEN
729: RETURN FND_API.G_MISS_NUM;
730:
731: END Old_Operation_Sequence;
732:
733:
763: WHEN NO_DATA_FOUND THEN
764: RETURN NULL;
765:
766: WHEN OTHERS THEN
767: RETURN FND_API.G_MISS_NUM;
768:
769: END Setup_Id ;
770:
771:
801: WHEN NO_DATA_FOUND THEN
802: RETURN NULL;
803:
804: WHEN OTHERS THEN
805: RETURN FND_API.G_MISS_NUM;
806:
807: END Activity_Id;
808:
809: /********************************************************************
839: WHEN NO_DATA_FOUND THEN
840: RETURN NULL;
841:
842: WHEN OTHERS THEN
843: RETURN FND_API.G_MISS_NUM;
844:
845: END resource_id;
846:
847: /********************************************************************
885: -- /** time **/ TRUNC(effectivity_date) = TRUNC(p_effectivity_date))
886: OR p_operation_type IN (2, 3)
887: )
888: AND NVL(operation_type, 1 ) = DECODE(p_operation_type,
889: FND_API.G_MISS_NUM, 1,
890: NVL(p_operation_type, 1 ) )
891: AND operation_seq_num = p_operation_seq_num
892: AND routing_sequence_id = p_routing_sequence_id ;
893:
898: WHEN NO_DATA_FOUND THEN
899: RETURN NULL;
900:
901: WHEN OTHERS THEN
902: RETURN FND_API.G_MISS_NUM;
903:
904:
905: END Operation_Sequence_Id;
906:
939: WHERE alternate_designator_code = p_alt_designator
940: AND organization_id = p_organization_id;
941:
942: BEGIN
943: x_return_status := FND_API.G_RET_STS_SUCCESS;
944: l_return_status := FND_API.G_RET_STS_SUCCESS;
945: l_rtg_header_unexp_rec := p_rtg_header_unexp_rec;
946:
947:
940: AND organization_id = p_organization_id;
941:
942: BEGIN
943: x_return_status := FND_API.G_RET_STS_SUCCESS;
944: l_return_status := FND_API.G_RET_STS_SUCCESS;
945: l_rtg_header_unexp_rec := p_rtg_header_unexp_rec;
946:
947:
948: If Bom_Rtg_Globals.Get_Debug = 'Y'
953: --
954: -- Assembly Item name cannot be NULL or missing.
955: --
956: IF p_rtg_header_rec.assembly_item_name IS NULL OR
957: p_rtg_header_rec.assembly_item_name = FND_API.G_MISS_CHAR
958: THEN
959: Error_Handler.Add_Error_Token
960: ( p_message_name => 'BOM_RTG_AITEM_NAME_KEYCOL_NULL'
961: , p_mesg_token_tbl => l_mesg_token_tbl
961: , p_mesg_token_tbl => l_mesg_token_tbl
962: , x_mesg_token_tbl => l_mesg_token_tbl
963: );
964:
965: l_return_status := FND_API.G_RET_STS_ERROR;
966: END IF;
967:
968: --
969: -- Assembly item name must be successfully converted to id.
990: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
991: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
992: , p_Token_Tbl => g_Token_Tbl
993: );
994: l_Return_Status := FND_API.G_RET_STS_ERROR;
995: ELSIF l_err_text IS NOT NULL AND
996: (l_rtg_header_unexp_rec.assembly_item_id IS NULL OR
997: l_rtg_header_unexp_rec.assembly_item_id = FND_API.G_MISS_NUM)
998: THEN
993: );
994: l_Return_Status := FND_API.G_RET_STS_ERROR;
995: ELSIF l_err_text IS NOT NULL AND
996: (l_rtg_header_unexp_rec.assembly_item_id IS NULL OR
997: l_rtg_header_unexp_rec.assembly_item_id = FND_API.G_MISS_NUM)
998: THEN
999: -- This is an unexpected error.
1000: Error_Handler.Add_Error_Token
1001: ( p_Message_Name => NULL
1003: G_PKG_NAME
1004: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1005: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1006: );
1007: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1008: END IF;
1009:
1010: If BOM_Rtg_Globals.Get_Debug = 'Y'
1011: THEN Error_Handler.Write_Debug
1014: || ' Status ' || l_return_status); END IF;
1015:
1016:
1017: IF p_rtg_header_rec.alternate_routing_code IS NOT NULL AND
1018: p_rtg_header_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
1019: THEN
1020: l_err_text/*_diff*/ := FND_API.G_RET_STS_ERROR;
1021:
1022: FOR check_alternate IN
1016:
1017: IF p_rtg_header_rec.alternate_routing_code IS NOT NULL AND
1018: p_rtg_header_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
1019: THEN
1020: l_err_text/*_diff*/ := FND_API.G_RET_STS_ERROR;
1021:
1022: FOR check_alternate IN
1023: c_Check_Alternate
1024: ( p_alt_designator =>
1025: p_rtg_header_rec.alternate_routing_code,
1026: p_organization_id =>
1027: l_rtg_header_unexp_rec.organization_id )
1028: LOOP
1029: l_err_text/*_diff*/ := FND_API.G_RET_STS_SUCCESS;
1030: END LOOP;
1031:
1032: IF l_err_text/*_diff*/ <> FND_API.G_RET_STS_SUCCESS
1033: THEN
1028: LOOP
1029: l_err_text/*_diff*/ := FND_API.G_RET_STS_SUCCESS;
1030: END LOOP;
1031:
1032: IF l_err_text/*_diff*/ <> FND_API.G_RET_STS_SUCCESS
1033: THEN
1034: g_token_tbl(1).token_name :='ALTERNATE_ROUTING_CODE';
1035: g_token_tbl(1).token_value :=
1036: p_rtg_header_rec.alternate_routing_code;
1043: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1044: , p_token_tbl => g_token_tbl
1045: );
1046:
1047: l_return_status := FND_API.G_RET_STS_ERROR;
1048: END IF;
1049: END IF;
1050:
1051: x_return_status := l_return_status;
1077: , x_Return_Status IN OUT NOCOPY VARCHAR2
1078: , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
1079: )
1080: IS
1081: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
1082: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
1083: l_err_text VARCHAR2(2000);
1084: l_Token_Tbl Error_Handler.Token_Tbl_Type;
1085: l_rtg_header_unexp_rec Bom_Rtg_Pub.Rtg_Header_Unexposed_Rec_Type
1092:
1093:
1094: IF p_rtg_header_rec.common_assembly_item_name IS NOT NULL AND
1095: p_rtg_header_rec.common_assembly_item_name <>
1096: FND_API.G_MISS_CHAR
1097: THEN
1098: l_rtg_header_unexp_rec.common_assembly_item_id :=
1099: Assembly_Item
1100: ( p_assembly_item_name => p_rtg_header_rec.common_assembly_item_name
1114: , p_Message_name =>
1115: 'BOM_RTG_COMMON_AITEM_INVALID'
1116: , p_token_tbl => l_token_tbl
1117: );
1118: l_return_status := FND_API.G_RET_STS_ERROR;
1119:
1120: ELSIF l_err_text IS NOT NULL AND
1121: l_rtg_header_unexp_rec.common_assembly_item_id
1122: IS NULL
1129: G_PKG_NAME
1130: , p_token_tbl => l_token_tbl
1131: );
1132:
1133: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
1134: END IF;
1135:
1136: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1137: Error_Handler.Write_Debug('Converted common assembly name . . .');
1144: -- Convert common assembly name information, alternate routing
1145: -- code and organanization id into common routing sequence_id
1146: --
1147: IF l_rtg_header_unexp_rec.organization_id IS NOT NULL AND
1148: l_rtg_header_unexp_rec.organization_id <>FND_API.G_MISS_NUM AND
1149: l_rtg_header_unexp_rec.common_assembly_item_id IS NOT NULL AND
1150: l_rtg_header_unexp_rec.common_assembly_item_id <> FND_API.G_MISS_NUM
1151: -- p_rtg_header_rec.alternate_routing_code IS NOT NULL AND
1152: -- p_rtg_header_rec.alternate_routing_code <>FND_API.G_MISS_CHAR
1146: --
1147: IF l_rtg_header_unexp_rec.organization_id IS NOT NULL AND
1148: l_rtg_header_unexp_rec.organization_id <>FND_API.G_MISS_NUM AND
1149: l_rtg_header_unexp_rec.common_assembly_item_id IS NOT NULL AND
1150: l_rtg_header_unexp_rec.common_assembly_item_id <> FND_API.G_MISS_NUM
1151: -- p_rtg_header_rec.alternate_routing_code IS NOT NULL AND
1152: -- p_rtg_header_rec.alternate_routing_code <>FND_API.G_MISS_CHAR
1153: THEN
1154:
1148: l_rtg_header_unexp_rec.organization_id <>FND_API.G_MISS_NUM AND
1149: l_rtg_header_unexp_rec.common_assembly_item_id IS NOT NULL AND
1150: l_rtg_header_unexp_rec.common_assembly_item_id <> FND_API.G_MISS_NUM
1151: -- p_rtg_header_rec.alternate_routing_code IS NOT NULL AND
1152: -- p_rtg_header_rec.alternate_routing_code <>FND_API.G_MISS_CHAR
1153: THEN
1154:
1155: l_rtg_header_unexp_rec.common_routing_sequence_id :=
1156: Routing_Sequence_Id
1184: , p_token_tbl => l_token_tbl
1185: , p_mesg_token_tbl => l_mesg_token_tbl
1186: , x_mesg_token_tbl => l_mesg_token_tbl
1187: );
1188: l_return_status := FND_API.G_RET_STS_ERROR;
1189:
1190: ELSIF l_err_text IS NOT NULL AND
1191: l_rtg_header_unexp_rec.common_routing_sequence_id
1192: IS NULL
1198: 'Unexpected Error ' || l_err_text || ' in ' ||
1199: G_PKG_NAME
1200: , p_token_tbl => l_token_tbl
1201: );
1202: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
1203: END IF;
1204:
1205: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1206: Error_Handler.Write_Debug('Converted common routing sequence id. . .');
1212:
1213:
1214: IF p_rtg_header_rec.completion_location_name IS NOT NULL AND
1215: p_rtg_header_rec.completion_location_name <>
1216: FND_API.G_MISS_CHAR
1217: THEN
1218: l_rtg_header_unexp_rec.completion_locator_id :=
1219:
1220: Completion_locator_id
1240: , p_Message_name =>
1241: 'BOM_RTG_LOCATION_NAME_INVALID'
1242: , p_token_tbl => l_token_tbl
1243: );
1244: l_return_status := FND_API.G_RET_STS_ERROR;
1245: ELSIF l_err_text IS NOT NULL AND
1246: l_rtg_header_unexp_rec.completion_locator_id
1247: IS NULL
1248: THEN
1253: 'Unexpected Error ' || l_err_text || ' in ' ||
1254: G_PKG_NAME
1255: , p_token_tbl => l_token_tbl
1256: );
1257: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
1258: END IF;
1259:
1260: IF BOM_Rtg_Globals.Get_Debug = 'Y'THEN
1261: Error_Handler.Write_Debug('Converted completion locator name ...');
1264: END IF;
1265:
1266:
1267: IF p_rtg_header_rec.line_code IS NOT NULL AND
1268: p_rtg_header_rec.line_code <> FND_API.G_MISS_CHAR
1269: -- p_rtg_header_rec.cfm_routing_flag = 1
1270: THEN
1271: l_rtg_header_unexp_rec.line_id :=
1272: Line_Id
1287: , p_Message_name =>
1288: 'BOM_RTG_LINE_CODE_INVALID'
1289: , p_token_tbl => l_token_tbl
1290: );
1291: l_return_status := FND_API.G_RET_STS_ERROR;
1292: ELSIF l_err_text IS NOT NULL AND
1293: l_rtg_header_unexp_rec.line_id
1294: IS NULL
1295: THEN
1300: 'Unexpected Error ' || l_err_text
1301: || ' in ' || G_PKG_NAME
1302: , p_token_tbl => l_token_tbl
1303: );
1304: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
1305: END IF;
1306:
1307: IF BOM_Rtg_Globals.Get_Debug = 'Y'THEN
1308: Error_Handler.Write_Debug('Converted line code ...');
1353:
1354:
1355:
1356: BEGIN
1357: x_return_status := FND_API.G_RET_STS_SUCCESS;
1358: l_return_status := FND_API.G_RET_STS_SUCCESS;
1359: l_rtg_rev_unexp_rec := p_rtg_rev_unexp_rec;
1360:
1361:
1354:
1355:
1356: BEGIN
1357: x_return_status := FND_API.G_RET_STS_SUCCESS;
1358: l_return_status := FND_API.G_RET_STS_SUCCESS;
1359: l_rtg_rev_unexp_rec := p_rtg_rev_unexp_rec;
1360:
1361:
1362: If BOM_Rtg_Globals.Get_Debug = 'Y'
1372: --
1373: -- Assembly Item name cannot be NULL or missing.
1374: --
1375: IF p_rtg_revision_rec.assembly_item_name IS NULL OR
1376: p_rtg_revision_rec.assembly_item_name = FND_API.G_MISS_CHAR
1377: THEN
1378: Error_Handler.Add_Error_Token
1379: ( p_message_name => 'BOM_RTG_REV_AITEM_KEYCOL_NULL'
1380: , p_mesg_token_tbl => l_mesg_token_tbl
1380: , p_mesg_token_tbl => l_mesg_token_tbl
1381: , x_mesg_token_tbl => l_mesg_token_tbl
1382: );
1383:
1384: l_return_status := FND_API.G_RET_STS_ERROR;
1385: END IF;
1386:
1387: --
1388: -- Assembly item name must be successfully converted to id.
1409: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1410: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1411: , p_Token_Tbl => g_Token_Tbl
1412: );
1413: l_Return_Status := FND_API.G_RET_STS_ERROR;
1414: ELSIF l_err_text IS NOT NULL AND
1415: (l_rtg_rev_unexp_rec.assembly_item_id IS NULL OR
1416: l_rtg_rev_unexp_rec.assembly_item_id = FND_API.G_MISS_NUM)
1417: THEN
1412: );
1413: l_Return_Status := FND_API.G_RET_STS_ERROR;
1414: ELSIF l_err_text IS NOT NULL AND
1415: (l_rtg_rev_unexp_rec.assembly_item_id IS NULL OR
1416: l_rtg_rev_unexp_rec.assembly_item_id = FND_API.G_MISS_NUM)
1417: THEN
1418: -- This is an unexpected error.
1419: Error_Handler.Add_Error_Token
1420: ( p_Message_Name => NULL
1422: G_PKG_NAME
1423: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1424: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1425: );
1426: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1427: END IF;
1428:
1429: If BOM_Rtg_Globals.Get_Debug = 'Y'
1430: THEN Error_Handler.Write_Debug
1584: WHERE alternate_designator_code = p_alt_designator
1585: AND organization_id = p_organization_id;
1586:
1587: BEGIN
1588: x_return_status := FND_API.G_RET_STS_SUCCESS;
1589: l_return_status := FND_API.G_RET_STS_SUCCESS;
1590: l_com_op_unexp_rec := p_com_op_unexp_rec;
1591:
1592: If BOM_Rtg_Globals.Get_Debug = 'Y'
1585: AND organization_id = p_organization_id;
1586:
1587: BEGIN
1588: x_return_status := FND_API.G_RET_STS_SUCCESS;
1589: l_return_status := FND_API.G_RET_STS_SUCCESS;
1590: l_com_op_unexp_rec := p_com_op_unexp_rec;
1591:
1592: If BOM_Rtg_Globals.Get_Debug = 'Y'
1593: THEN Error_Handler.Write_Debug
1597: --
1598: -- Revised Item name cannot be NULL or missing.
1599: --
1600: IF p_com_operation_rec.revised_item_name IS NULL OR
1601: p_com_operation_rec.revised_item_name = FND_API.G_MISS_CHAR
1602: THEN
1603: Error_Handler.Add_Error_Token
1604: ( p_message_name => 'BOM_OP_AITEM_KEYCOL_NULL'
1605: , p_mesg_token_tbl => l_mesg_token_tbl
1605: , p_mesg_token_tbl => l_mesg_token_tbl
1606: , x_mesg_token_tbl => l_mesg_token_tbl
1607: );
1608:
1609: l_return_status := FND_API.G_RET_STS_ERROR;
1610: END IF;
1611:
1612: --
1613: -- Operation sequence number cannot be NULL or missing.
1612: --
1613: -- Operation sequence number cannot be NULL or missing.
1614: --
1615: IF p_com_operation_rec.operation_sequence_number IS NULL OR
1616: p_com_operation_rec.operation_sequence_number = FND_API.G_MISS_NUM
1617: THEN
1618: Error_Handler.Add_Error_Token
1619: ( p_Message_Name => 'BOM_OP_SEQNUM_KEYCOL_NULL'
1620: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1619: ( p_Message_Name => 'BOM_OP_SEQNUM_KEYCOL_NULL'
1620: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1621: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1622: );
1623: l_Return_Status := FND_API.G_RET_STS_ERROR;
1624: END IF;
1625:
1626: --
1627: -- Start effective date cannot be NULL or missing.
1626: --
1627: -- Start effective date cannot be NULL or missing.
1628: --
1629: IF ( p_com_operation_rec.start_effective_date IS NULL OR
1630: p_com_operation_rec.start_effective_date = FND_API.G_MISS_DATE)
1631: AND ( p_com_operation_rec.operation_type NOT IN (2, 3)
1632: OR p_com_operation_rec.operation_type IS NULL)
1633: THEN
1634: Error_Handler.Add_Error_Token
1635: ( p_Message_Name => 'BOM_OP_EFFECTIVITY_KEYCOL_NULL'
1636: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1637: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1638: );
1639: l_Return_Status := FND_API.G_RET_STS_ERROR;
1640: END IF;
1641:
1642: --
1643: -- If key columns are NULL, then return.
1641:
1642: --
1643: -- If key columns are NULL, then return.
1644: --
1645: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
1646: THEN
1647: x_return_status := l_return_status;
1648: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
1649: x_com_op_unexp_rec := l_com_op_unexp_rec;
1675: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1676: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1677: , p_Token_Tbl => g_Token_Tbl
1678: );
1679: l_Return_Status := FND_API.G_RET_STS_ERROR;
1680: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
1681: x_com_op_unexp_rec := l_com_op_unexp_rec;
1682: x_Return_Status := l_Return_Status;
1683:
1683:
1684:
1685: ELSIF l_err_text IS NOT NULL AND
1686: (l_com_op_unexp_rec.revised_item_id IS NULL OR
1687: l_com_op_unexp_rec.revised_item_id = FND_API.G_MISS_NUM)
1688: THEN
1689: -- This is an unexpected error.
1690: Error_Handler.Add_Error_Token
1691: ( p_Message_Name => NULL
1693: G_PKG_NAME
1694: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1695: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1696: );
1697: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1698: END IF;
1699:
1700:
1701:
1706: || ' Status ' || l_return_status);
1707: END IF;
1708:
1709: IF p_com_operation_rec.alternate_routing_code IS NOT NULL AND
1710: p_com_operation_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
1711: THEN
1712: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_ERROR;
1713:
1714: FOR check_alternate IN
1708:
1709: IF p_com_operation_rec.alternate_routing_code IS NOT NULL AND
1710: p_com_operation_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
1711: THEN
1712: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_ERROR;
1713:
1714: FOR check_alternate IN
1715: c_Check_Alternate
1716: ( p_alt_designator =>
1717: p_com_operation_rec.alternate_routing_code,
1718: p_organization_id =>
1719: l_com_op_unexp_rec.organization_id )
1720: LOOP
1721: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_SUCCESS;
1722: END LOOP;
1723:
1724: IF /*l_err_text_diff*/l_err_text <> FND_API.G_RET_STS_SUCCESS
1725: THEN
1720: LOOP
1721: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_SUCCESS;
1722: END LOOP;
1723:
1724: IF /*l_err_text_diff*/l_err_text <> FND_API.G_RET_STS_SUCCESS
1725: THEN
1726: g_token_tbl(1).token_name :='ALTERNATE_ROUTING_CODE';
1727: g_token_tbl(1).token_value :=
1728: p_com_operation_rec.alternate_routing_code;
1735: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1736: , p_token_tbl => g_token_tbl
1737: );
1738:
1739: l_return_status := FND_API.G_RET_STS_ERROR;
1740: END IF;
1741:
1742: END IF;
1743:
1787: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1788: , p_Token_Tbl => g_Token_Tbl
1789: );
1790:
1791: l_Return_Status := FND_API.G_RET_STS_ERROR;
1792: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
1793: x_com_op_unexp_rec := l_com_op_unexp_rec;
1794: x_Return_Status := l_Return_Status;
1795:
1834: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1835: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1836: , p_Token_Tbl => g_Token_Tbl
1837: );
1838: l_Return_Status := FND_API.G_RET_STS_ERROR;
1839: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
1840: x_com_op_unexp_rec := l_com_op_unexp_rec;
1841: x_Return_Status := l_Return_Status;
1842:
1846:
1847:
1848: ELSIF l_err_text IS NOT NULL AND
1849: (l_com_op_unexp_rec.routing_sequence_id IS NULL OR
1850: l_com_op_unexp_rec.routing_sequence_id= FND_API.G_MISS_NUM)
1851: THEN
1852: -- This is an unexpected error.
1853: Error_Handler.Add_Error_Token
1854: ( p_Message_Name => NULL
1856: G_PKG_NAME
1857: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1858: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1859: );
1860: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1861: END IF;
1862: END IF ;
1863:
1864: IF BOM_Rtg_Globals.Get_Debug = 'Y'
2008: , x_Return_Status IN OUT NOCOPY VARCHAR2
2009: , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
2010: )
2011: IS
2012: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
2013: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
2014: l_err_text VARCHAR2(2000);
2015: l_Token_Tbl Error_Handler.Token_Tbl_Type;
2016: l_com_op_unexp_rec Bom_Rtg_Pub.Com_Op_Unexposed_Rec_Type
2026: --
2027: -- Convert standard operation code to standard operation id
2028: --
2029: IF p_com_operation_rec.standard_operation_code IS NOT NULL AND
2030: p_com_operation_rec.standard_operation_code <> FND_API.G_MISS_CHAR
2031: THEN
2032: IF BOM_Rtg_Globals.Get_Bo_Identifier = BOM_Rtg_Globals.G_RTG_BO
2033: THEN
2034:
2073: , p_Message_name =>
2074: 'BOM_OP_STD_OP_CODE_INVALID'
2075: , p_token_tbl => l_token_tbl
2076: );
2077: l_return_status := FND_API.G_RET_STS_ERROR;
2078: ELSIF l_err_text IS NOT NULL AND
2079: l_com_op_unexp_rec.Standard_Operation_Id IS NULL
2080: THEN
2081: Error_Handler.Add_Error_Token
2085: 'Unexpected Error ' || l_err_text || ' in ' ||
2086: G_PKG_NAME
2087: , p_token_tbl => l_token_tbl
2088: );
2089: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
2090: END IF;
2091: END IF;
2092:
2093:
2100: END IF;
2101:
2102:
2103: IF p_com_operation_rec.department_code IS NOT NULL AND
2104: p_com_operation_rec.department_code <> FND_API.G_MISS_CHAR
2105: THEN
2106: l_com_op_unexp_rec.department_id :=
2107: Department_Id
2108: ( p_department_code => p_com_operation_rec.department_code
2124: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2125: , p_Message_name =>'BOM_OP_DEPT_CODE_INVALID'
2126: , p_token_tbl => l_token_tbl
2127: );
2128: l_return_status := FND_API.G_RET_STS_ERROR;
2129: ELSIF l_err_text IS NOT NULL AND
2130: l_com_op_unexp_rec.department_id IS NULL
2131: THEN
2132: Error_Handler.Add_Error_Token
2136: 'Unexpected Error ' || l_err_text || ' in '
2137: || G_PKG_NAME
2138: , p_token_tbl => l_token_tbl
2139: );
2140: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
2141: END IF;
2142: END IF;
2143:
2144: --
2145: -- If routing is flow routing, convert process code to proces_op
2146: -- _seq_id
2147: --
2148: IF BOM_Rtg_Globals.Get_CFM_Rtg_Flag IS NULL OR
2149: BOM_Rtg_Globals.Get_CFM_Rtg_Flag = FND_API.G_MISS_NUM
2150: THEN
2151: l_cfm_flag := Bom_Rtg_Validate.Get_Flow_Routing_Flag
2152: (l_com_op_unexp_rec.routing_sequence_id) ;
2153: BOM_Rtg_Globals.Set_CFM_Rtg_Flag(p_cfm_rtg_type => l_cfm_flag) ;
2159: IF l_cfm_flag = BOM_Rtg_Globals.G_FLOW_RTG
2160: THEN
2161:
2162: IF (p_com_operation_rec.process_code IS NOT NULL AND
2163: p_com_operation_rec.process_code <> FND_API.G_MISS_CHAR )
2164: OR
2165: (p_com_operation_rec.process_seq_number IS NOT NULL AND
2166: p_com_operation_rec.process_seq_number <> FND_API.G_MISS_NUM )
2167:
2162: IF (p_com_operation_rec.process_code IS NOT NULL AND
2163: p_com_operation_rec.process_code <> FND_API.G_MISS_CHAR )
2164: OR
2165: (p_com_operation_rec.process_seq_number IS NOT NULL AND
2166: p_com_operation_rec.process_seq_number <> FND_API.G_MISS_NUM )
2167:
2168: THEN
2169:
2170: l_com_op_unexp_rec.process_op_seq_id:=
2185:
2186: IF l_com_op_unexp_rec.process_op_seq_id IS NULL
2187: THEN
2188: IF p_com_operation_rec.process_code
2189: <> FND_API.G_MISS_CHAR
2190: THEN
2191: l_token_tbl(1).token_name :='PROCESS_CODE';
2192: l_token_tbl(1).token_value :=
2193: p_com_operation_rec.process_code;
2193: p_com_operation_rec.process_code;
2194: END IF ;
2195:
2196: IF p_com_operation_rec.process_seq_number
2197: <> FND_API.G_MISS_NUM
2198: THEN
2199: l_token_tbl(2).token_name :='PROCESS_SEQ_NUM';
2200: l_token_tbl(2).token_value :=
2201: p_com_operation_rec.process_seq_number ;
2208: 'BOM_FLM_OP_PSCODE_SQNM_INVALID'
2209: , p_token_tbl => l_token_tbl
2210: );
2211:
2212: l_return_status := FND_API.G_RET_STS_ERROR;
2213: l_token_tbl.delete ;
2214:
2215: ELSIF l_err_text IS NOT NULL AND
2216: l_com_op_unexp_rec.process_op_seq_id IS NULL
2222: 'Unexpected Error ' || l_err_text || ' in '
2223: || G_PKG_NAME
2224: , p_token_tbl => l_token_tbl
2225: );
2226: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
2227: END IF;
2228: END IF ;
2229: END IF;
2230:
2234: --
2235: IF l_cfm_flag = BOM_Rtg_Globals.G_FLOW_RTG
2236: THEN
2237: IF (p_com_operation_rec.line_op_code IS NOT NULL AND
2238: p_com_operation_rec.line_op_code <> FND_API.G_MISS_CHAR )
2239: OR
2240: (p_com_operation_rec.line_op_seq_number IS NOT NULL AND
2241: p_com_operation_rec.line_op_seq_number <>FND_API.G_MISS_NUM )
2242:
2237: IF (p_com_operation_rec.line_op_code IS NOT NULL AND
2238: p_com_operation_rec.line_op_code <> FND_API.G_MISS_CHAR )
2239: OR
2240: (p_com_operation_rec.line_op_seq_number IS NOT NULL AND
2241: p_com_operation_rec.line_op_seq_number <>FND_API.G_MISS_NUM )
2242:
2243: THEN
2244: l_com_op_unexp_rec.line_op_seq_id :=
2245: Line_Op_Seq_Id
2259:
2260: IF l_com_op_unexp_rec.line_op_seq_id IS NULL
2261: THEN
2262: IF p_com_operation_rec.line_op_code
2263: <> FND_API.G_MISS_CHAR
2264: THEN
2265: l_token_tbl(1).token_name := 'LINE_OP_CODE';
2266: l_token_tbl(1).token_value :=
2267: p_com_operation_rec.line_op_code;
2267: p_com_operation_rec.line_op_code;
2268: END IF ;
2269:
2270: IF p_com_operation_rec.line_op_seq_number
2271: <> FND_API.G_MISS_NUM
2272: THEN
2273:
2274: l_token_tbl(2).token_name := 'LINE_OP_SEQ_NUM';
2275: l_token_tbl(2).token_value :=
2283: 'BOM_FLM_OP_LNOPCD_SQNM_INVALID'
2284: , p_token_tbl => l_token_tbl
2285: );
2286:
2287: l_return_status := FND_API.G_RET_STS_ERROR;
2288: l_token_tbl.delete ;
2289:
2290: ELSIF l_err_text IS NOT NULL AND
2291: l_com_op_unexp_rec.line_op_seq_id IS NULL
2297: 'Unexpected Error ' || l_err_text || ' in '
2298: || G_PKG_NAME
2299: , p_token_tbl => l_token_tbl
2300: );
2301: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
2302: END IF;
2303: END IF ;
2304: END IF;
2305:
2310: --
2311: IF BOM_Rtg_Globals.Get_Bo_Identifier = BOM_Rtg_Globals.G_ECO_BO
2312: AND p_com_operation_rec.acd_type IN (2,3) -- Change or Disable
2313: AND p_com_operation_rec.old_start_effective_date IS NOT NULL
2314: AND p_com_operation_rec.old_start_effective_date <> FND_API.G_MISS_DATE
2315: -- p_com_operation_rec.old_operation_sequence_number IS NOT NULL AND
2316: -- p_com_operation_rec.old_operation_sequence_number <>
2317: -- FND_API.G_MISS_NUM
2318: THEN
2313: AND p_com_operation_rec.old_start_effective_date IS NOT NULL
2314: AND p_com_operation_rec.old_start_effective_date <> FND_API.G_MISS_DATE
2315: -- p_com_operation_rec.old_operation_sequence_number IS NOT NULL AND
2316: -- p_com_operation_rec.old_operation_sequence_number <>
2317: -- FND_API.G_MISS_NUM
2318: THEN
2319:
2320: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN
2321: Error_Handler.Write_Debug('Executing old operation seq id Val-ID conversion . . .');
2323: END IF;
2324:
2325: IF (p_com_operation_rec.old_operation_sequence_number IS NULL
2326: OR p_com_operation_rec.old_operation_sequence_number =
2327: FND_API.G_MISS_NUM)
2328: THEN
2329: l_old_op_seq_number := p_com_operation_rec.operation_sequence_number ;
2330: ELSE
2331: l_old_op_seq_number := p_com_operation_rec.old_operation_sequence_number ;
2341: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2342: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2343: , p_Token_Tbl => g_Token_Tbl
2344: );
2345: l_Return_Status := FND_API.G_RET_STS_ERROR;
2346:
2347: END IF ;
2348:
2349: l_com_op_unexp_rec.old_operation_sequence_id :=
2375: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2376: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2377: , p_Token_Tbl => g_Token_Tbl
2378: );
2379: l_Return_Status := FND_API.G_RET_STS_ERROR;
2380: ELSIF l_com_op_unexp_rec.old_operation_sequence_id = FND_API.G_MISS_NUM
2381: THEN
2382: Error_Handler.Add_Error_Token
2383: ( p_Message_Name => NULL
2376: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2377: , p_Token_Tbl => g_Token_Tbl
2378: );
2379: l_Return_Status := FND_API.G_RET_STS_ERROR;
2380: ELSIF l_com_op_unexp_rec.old_operation_sequence_id = FND_API.G_MISS_NUM
2381: THEN
2382: Error_Handler.Add_Error_Token
2383: ( p_Message_Name => NULL
2384: , p_Message_Text =>
2386: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2387: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2388:
2389: );
2390: l_Return_Status := FND_API.G_RET_STS_ERROR;
2391:
2392: END IF;
2393:
2394:
2501: WHERE alternate_designator_code = p_alt_designator
2502: AND organization_id = p_organization_id;
2503:
2504: BEGIN
2505: x_return_status := FND_API.G_RET_STS_SUCCESS;
2506: l_return_status := FND_API.G_RET_STS_SUCCESS;
2507: l_rev_op_res_unexp_rec := p_rev_op_res_unexp_rec;
2508:
2509: If BOM_Rtg_Globals.Get_Debug = 'Y'
2502: AND organization_id = p_organization_id;
2503:
2504: BEGIN
2505: x_return_status := FND_API.G_RET_STS_SUCCESS;
2506: l_return_status := FND_API.G_RET_STS_SUCCESS;
2507: l_rev_op_res_unexp_rec := p_rev_op_res_unexp_rec;
2508:
2509: If BOM_Rtg_Globals.Get_Debug = 'Y'
2510: THEN Error_Handler.Write_Debug
2514: --
2515: -- Assembly Item name cannot be NULL or missing.
2516: --
2517: IF p_rev_op_resource_rec.revised_item_name IS NULL OR
2518: p_rev_op_resource_rec.revised_item_name = FND_API.G_MISS_CHAR
2519: THEN
2520: Error_Handler.Add_Error_Token
2521: ( p_message_name => 'BOM_RES_AITEM_KEYCOL_NULL'
2522: , p_mesg_token_tbl => l_mesg_token_tbl
2522: , p_mesg_token_tbl => l_mesg_token_tbl
2523: , x_mesg_token_tbl => l_mesg_token_tbl
2524: );
2525:
2526: l_return_status := FND_API.G_RET_STS_ERROR;
2527: END IF;
2528:
2529: --
2530: -- Resource sequence number cannot be NULL or missing.
2529: --
2530: -- Resource sequence number cannot be NULL or missing.
2531: --
2532: IF p_rev_op_resource_rec.resource_sequence_number IS NULL OR
2533: p_rev_op_resource_rec.resource_sequence_number = FND_API.G_MISS_NUM
2534: THEN
2535: Error_Handler.Add_Error_Token
2536: ( p_Message_Name => 'BOM_RES_SEQNUM_KEYCOL_NULL'
2537: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2536: ( p_Message_Name => 'BOM_RES_SEQNUM_KEYCOL_NULL'
2537: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2538: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2539: );
2540: l_Return_Status := FND_API.G_RET_STS_ERROR;
2541: END IF;
2542:
2543: --
2544: -- Operation sequence number cannot be NULL or missing.
2544: -- Operation sequence number cannot be NULL or missing.
2545: --
2546: IF p_rev_op_resource_rec.operation_sequence_number IS NULL OR
2547: p_rev_op_resource_rec.operation_sequence_number =
2548: FND_API.G_MISS_NUM
2549: THEN
2550: Error_Handler.Add_Error_Token
2551: ( p_Message_Name => 'BOM_RES_OP_SEQNUM_KEYCOL_NULL'
2552: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2551: ( p_Message_Name => 'BOM_RES_OP_SEQNUM_KEYCOL_NULL'
2552: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2553: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2554: );
2555: l_Return_Status := FND_API.G_RET_STS_ERROR;
2556: END IF;
2557:
2558: --
2559: -- Start effective date cannot be NULL or missing.
2558: --
2559: -- Start effective date cannot be NULL or missing.
2560: --
2561: IF p_rev_op_resource_rec.op_start_effective_date IS NULL OR
2562: p_rev_op_resource_rec.op_start_effective_date = FND_API.G_MISS_DATE
2563: THEN
2564: Error_Handler.Add_Error_Token
2565: ( p_Message_Name => 'BOM_RES_EFF_DATE_KEYCOL_NULL'
2566: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2565: ( p_Message_Name => 'BOM_RES_EFF_DATE_KEYCOL_NULL'
2566: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2567: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2568: );
2569: l_Return_Status := FND_API.G_RET_STS_ERROR;
2570: END IF;
2571:
2572: --
2573: -- If key columns are NULL, then return.
2571:
2572: --
2573: -- If key columns are NULL, then return.
2574: --
2575: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
2576: THEN
2577: x_Return_Status := FND_API.G_RET_STS_ERROR;
2578: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
2579: RETURN;
2573: -- If key columns are NULL, then return.
2574: --
2575: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
2576: THEN
2577: x_Return_Status := FND_API.G_RET_STS_ERROR;
2578: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
2579: RETURN;
2580: END IF;
2581:
2605: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2606: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2607: , p_Token_Tbl => g_Token_Tbl
2608: );
2609: l_Return_Status := FND_API.G_RET_STS_ERROR;
2610: ELSIF l_err_text IS NOT NULL AND
2611: ( l_rev_op_res_unexp_rec.revised_item_id IS NULL OR
2612: l_rev_op_res_unexp_rec.revised_item_id = FND_API.G_MISS_NUM)
2613: THEN
2608: );
2609: l_Return_Status := FND_API.G_RET_STS_ERROR;
2610: ELSIF l_err_text IS NOT NULL AND
2611: ( l_rev_op_res_unexp_rec.revised_item_id IS NULL OR
2612: l_rev_op_res_unexp_rec.revised_item_id = FND_API.G_MISS_NUM)
2613: THEN
2614: -- This is an unexpected error.
2615: Error_Handler.Add_Error_Token
2616: ( p_Message_Name => NULL
2618: G_PKG_NAME
2619: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2620: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2621: );
2622: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2623: END IF;
2624:
2625: IF BOM_Rtg_Globals.Get_Debug = 'Y'
2626: THEN Error_Handler.Write_Debug
2629: || ' Status ' || l_return_status);
2630: END IF;
2631:
2632: IF p_rev_op_resource_rec.alternate_routing_code IS NOT NULL AND
2633: p_rev_op_resource_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
2634: THEN
2635: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_ERROR;
2636:
2637: FOR check_alternate IN
2631:
2632: IF p_rev_op_resource_rec.alternate_routing_code IS NOT NULL AND
2633: p_rev_op_resource_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
2634: THEN
2635: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_ERROR;
2636:
2637: FOR check_alternate IN
2638: c_Check_Alternate
2639: ( p_alt_designator =>
2640: p_rev_op_resource_rec.alternate_routing_code,
2641: p_organization_id =>
2642: l_rev_op_res_unexp_rec.organization_id )
2643: LOOP
2644: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_SUCCESS;
2645: END LOOP;
2646:
2647: IF /*l_err_text_diff*/l_err_text <> FND_API.G_RET_STS_SUCCESS
2648: THEN
2643: LOOP
2644: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_SUCCESS;
2645: END LOOP;
2646:
2647: IF /*l_err_text_diff*/l_err_text <> FND_API.G_RET_STS_SUCCESS
2648: THEN
2649: g_token_tbl(1).token_name :='ALTERNATE_ROUTING_CODE';
2650: g_token_tbl(1).token_value :=
2651: p_rev_op_resource_rec.alternate_routing_code;
2658: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2659: , p_token_tbl => g_token_tbl
2660: );
2661:
2662: l_return_status := FND_API.G_RET_STS_ERROR;
2663: END IF;
2664:
2665: END IF;
2666:
2710: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2711: , p_Token_Tbl => g_Token_Tbl
2712: );
2713:
2714: l_Return_Status := FND_API.G_RET_STS_ERROR;
2715: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
2716: x_rev_op_res_unexp_rec := l_rev_op_res_unexp_rec;
2717: x_Return_Status := l_Return_Status;
2718:
2757: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2758: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2759: , p_Token_Tbl => g_Token_Tbl
2760: );
2761: l_Return_Status := FND_API.G_RET_STS_ERROR;
2762: ELSIF l_err_text IS NOT NULL AND
2763: (l_rev_op_res_unexp_rec.routing_sequence_id IS NULL OR
2764: l_rev_op_res_unexp_rec.routing_sequence_id = FND_API.G_MISS_NUM)
2765: THEN
2760: );
2761: l_Return_Status := FND_API.G_RET_STS_ERROR;
2762: ELSIF l_err_text IS NOT NULL AND
2763: (l_rev_op_res_unexp_rec.routing_sequence_id IS NULL OR
2764: l_rev_op_res_unexp_rec.routing_sequence_id = FND_API.G_MISS_NUM)
2765: THEN
2766: -- This is an unexpected error.
2767: Error_Handler.Add_Error_Token
2768: ( p_Message_Name => NULL
2770: G_PKG_NAME
2771: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2772: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2773: );
2774: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2775: END IF;
2776: END IF ;
2777:
2778: -- Added by MK on 12/04/00
2789: --
2790: -- For flow routing, operatoin Type should be set in (1, 2, 3)
2791: --
2792: IF BOM_Rtg_Globals.Get_CFM_Rtg_Flag IS NULL OR
2793: BOM_Rtg_Globals.Get_CFM_Rtg_Flag = FND_API.G_MISS_NUM
2794: THEN
2795: l_cfm_flag := Bom_Rtg_Validate.Get_Flow_Routing_Flag(
2796: l_rev_op_res_unexp_rec.routing_sequence_id) ;
2797: BOM_Rtg_Globals.Set_CFM_Rtg_Flag(p_cfm_rtg_type => l_cfm_flag) ;
2800:
2801: IF l_cfm_flag = BOM_Rtg_Globals.G_FLOW_RTG
2802: THEN
2803: IF p_rev_op_resource_rec.operation_type IS NULL
2804: OR p_rev_op_resource_rec.operation_type = FND_API.G_MISS_NUM
2805: OR p_rev_op_resource_rec.operation_type NOT IN (1, 2, 3)
2806: THEN
2807:
2808: IF p_rev_op_resource_rec.operation_type <> FND_API.G_MISS_NUM
2804: OR p_rev_op_resource_rec.operation_type = FND_API.G_MISS_NUM
2805: OR p_rev_op_resource_rec.operation_type NOT IN (1, 2, 3)
2806: THEN
2807:
2808: IF p_rev_op_resource_rec.operation_type <> FND_API.G_MISS_NUM
2809: THEN
2810: g_token_tbl(1).token_name := 'OPERATION_TYPE';
2811: g_token_tbl(1).token_value :=
2812: p_rev_op_resource_rec.operation_type ;
2817: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2818: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2819: , p_Token_Tbl => g_Token_Tbl
2820: );
2821: l_return_status := FND_API.G_RET_STS_ERROR ;
2822: END IF ;
2823: ELSE
2824: IF p_rev_op_resource_rec.operation_type IS NOT NULL
2825: AND p_rev_op_resource_rec.operation_type <> FND_API.G_MISS_NUM
2821: l_return_status := FND_API.G_RET_STS_ERROR ;
2822: END IF ;
2823: ELSE
2824: IF p_rev_op_resource_rec.operation_type IS NOT NULL
2825: AND p_rev_op_resource_rec.operation_type <> FND_API.G_MISS_NUM
2826: AND p_rev_op_resource_rec.operation_type <> 1
2827: THEN
2828: g_token_tbl(1).token_name := 'OPERATION_TYPE';
2829: g_token_tbl(1).token_value :=
2834: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2835: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2836: , p_Token_Tbl => g_Token_Tbl
2837: );
2838: l_return_status := FND_API.G_RET_STS_ERROR ;
2839: END IF ;
2840:
2841: END IF;
2842:
2863: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2864: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2865: , p_Token_Tbl => g_Token_Tbl
2866: );
2867: l_Return_Status := FND_API.G_RET_STS_ERROR;
2868: ELSIF l_err_text IS NOT NULL AND
2869: (l_rev_op_res_unexp_rec.operation_sequence_id IS NULL OR
2870: l_rev_op_res_unexp_rec.operation_sequence_id = FND_API.G_MISS_NUM
2871: )
2866: );
2867: l_Return_Status := FND_API.G_RET_STS_ERROR;
2868: ELSIF l_err_text IS NOT NULL AND
2869: (l_rev_op_res_unexp_rec.operation_sequence_id IS NULL OR
2870: l_rev_op_res_unexp_rec.operation_sequence_id = FND_API.G_MISS_NUM
2871: )
2872: THEN
2873: -- This is an unexpected error.
2874: Error_Handler.Add_Error_Token
2877: G_PKG_NAME
2878: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2879: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2880: );
2881: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2882: END IF;
2883:
2884: IF BOM_Rtg_Globals.Get_Debug = 'Y'
2885: THEN Error_Handler.Write_Debug
2976: , x_Return_Status IN OUT NOCOPY VARCHAR2
2977: , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
2978: )
2979: IS
2980: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
2981: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
2982: l_err_text VARCHAR2(2000);
2983: l_Token_Tbl Error_Handler.Token_Tbl_Type;
2984: l_rev_op_res_unexp_rec Bom_Rtg_Pub.Rev_Op_Res_Unexposed_Rec_Type
2993: -- Convert resource code to reosurce id
2994: --
2995: IF p_rev_op_resource_rec.resource_code IS NOT NULL AND
2996: p_rev_op_resource_rec.resource_code <>
2997: FND_API.G_MISS_CHAR
2998: THEN
2999:
3000: l_rev_op_res_unexp_rec.resource_id :=
3001: Resource_Id
3018: , p_Message_name =>
3019: 'BOM_RES_RESCODE_INVALID'
3020: , p_token_tbl => l_token_tbl
3021: );
3022: l_return_status := FND_API.G_RET_STS_ERROR;
3023: ELSIF l_err_text IS NOT NULL AND
3024: l_rev_op_res_unexp_rec.resource_id IS NULL
3025: THEN
3026: Error_Handler.Add_Error_Token
3030: 'Unexpected Error ' || l_err_text || ' in ' ||
3031: G_PKG_NAME
3032: , p_token_tbl => l_token_tbl
3033: );
3034: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
3035: END IF;
3036:
3037: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3038: ('Converted resource code . . .');
3045: -- Convert activity to activity id
3046: --
3047:
3048: IF p_rev_op_resource_rec.activity IS NOT NULL AND
3049: p_rev_op_resource_rec.activity <> FND_API.G_MISS_CHAR
3050: THEN
3051: l_rev_op_res_unexp_rec.activity_id :=
3052: Activity_Id
3053: ( p_activity =>
3068: , p_Message_name =>
3069: 'BOM_RES_ACTIVITY_CODE_INVALID'
3070: , p_token_tbl => l_token_tbl
3071: );
3072: l_return_status := FND_API.G_RET_STS_ERROR;
3073: ELSIF l_err_text IS NOT NULL AND
3074: l_rev_op_res_unexp_rec.activity_id IS NULL
3075: THEN
3076: Error_Handler.Add_Error_Token
3080: 'Unexpected Error ' || l_err_text || ' in ' ||
3081: G_PKG_NAME
3082: , p_token_tbl => l_token_tbl
3083: );
3084: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
3085: END IF;
3086:
3087: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3088: ('Converted activity. . .');
3094: --
3095: -- Convert setup code to setup id
3096: --
3097: IF p_rev_op_resource_rec.setup_type IS NOT NULL AND
3098: p_rev_op_resource_rec.setup_type <> FND_API.G_MISS_CHAR
3099: THEN
3100: l_rev_op_res_unexp_rec.setup_id :=
3101: Setup_Id
3102: ( p_setup_type =>
3117: , p_Message_name =>
3118: 'BOM_RES_SETUP_CODE_INVALID'
3119: , p_token_tbl => l_token_tbl
3120: );
3121: l_return_status := FND_API.G_RET_STS_ERROR;
3122: ELSIF l_err_text IS NOT NULL AND
3123: l_rev_op_res_unexp_rec.setup_id IS NULL
3124: THEN
3125: Error_Handler.Add_Error_Token
3129: 'Unexpected Error ' || l_err_text || ' in ' ||
3130: G_PKG_NAME
3131: , p_token_tbl => l_token_tbl
3132: );
3133: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
3134: END IF;
3135:
3136: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3137: ('Converted setup code . . .');
3248: WHERE alternate_designator_code = p_alt_designator
3249: AND organization_id = p_organization_id;
3250:
3251: BEGIN
3252: x_return_status := FND_API.G_RET_STS_SUCCESS;
3253: l_return_status := FND_API.G_RET_STS_SUCCESS;
3254: l_rev_sub_res_unexp_rec := p_rev_sub_res_unexp_rec ;
3255:
3256: IF BOM_Rtg_Globals.Get_Debug = 'Y'
3249: AND organization_id = p_organization_id;
3250:
3251: BEGIN
3252: x_return_status := FND_API.G_RET_STS_SUCCESS;
3253: l_return_status := FND_API.G_RET_STS_SUCCESS;
3254: l_rev_sub_res_unexp_rec := p_rev_sub_res_unexp_rec ;
3255:
3256: IF BOM_Rtg_Globals.Get_Debug = 'Y'
3257: THEN Error_Handler.Write_Debug
3261: --
3262: -- Assembly Item name cannot be NULL or missing.
3263: --
3264: IF p_rev_sub_resource_rec.revised_item_name IS NULL OR
3265: p_rev_sub_resource_rec.revised_item_name = FND_API.G_MISS_CHAR
3266: THEN
3267: Error_Handler.Add_Error_Token
3268: ( p_message_name => 'BOM_SUB_RES_AITEM_KEYCOL_NULL'
3269: , p_mesg_token_tbl => l_mesg_token_tbl
3269: , p_mesg_token_tbl => l_mesg_token_tbl
3270: , x_mesg_token_tbl => l_mesg_token_tbl
3271: );
3272:
3273: l_return_status := FND_API.G_RET_STS_ERROR;
3274: END IF;
3275:
3276: /* bug:4714714 - Commented the below check on Alternate routing code as
3277: creation/updation of alternate resources should be allowed for alternate routings also.
3278: --
3279: -- Alternate routing code should be NULL or missing.
3280: --
3281: IF p_rev_sub_resource_rec.alternate_routing_code IS NOT NULL AND
3282: p_rev_sub_resource_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
3283: THEN
3284: Error_Handler.Add_Error_Token
3285: ( p_Message_Name => 'BOM_SUB_RES_ALTER_CD_NOT_NULL'
3286: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3285: ( p_Message_Name => 'BOM_SUB_RES_ALTER_CD_NOT_NULL'
3286: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3287: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3288: );
3289: l_Return_Status := FND_API.G_RET_STS_ERROR;
3290: END IF;
3291: */
3292:
3293: --
3295: -- Sub resource code cannot be NULL or missing.
3296: -- Sub resource code should exist in BOM_RESOURCE
3297: --
3298: IF p_rev_sub_resource_rec.sub_resource_code IS NULL OR
3299: p_rev_sub_resource_rec.sub_resource_code = FND_API.G_MISS_CHAR
3300: THEN
3301: Error_Handler.Add_Error_Token
3302: ( p_message_name => 'BOM_SUB_RES_CODE_KEYCOL_NULL'
3303: , p_mesg_token_tbl => l_mesg_token_tbl
3303: , p_mesg_token_tbl => l_mesg_token_tbl
3304: , x_mesg_token_tbl => l_mesg_token_tbl
3305: );
3306:
3307: l_return_status := FND_API.G_RET_STS_ERROR;
3308:
3309: END IF;
3310:
3311: --
3314: --
3315: -- IF nvl(BOM_Globals.Get_Caller_Type,'') <> 'MIGRATION' THEN
3316: IF nvl(p_rev_sub_resource_rec.substitute_group_number, p_rev_sub_res_unexp_rec.substitute_group_number) IS NULL OR
3317: nvl(p_rev_sub_resource_rec.substitute_group_number, p_rev_sub_res_unexp_rec.substitute_group_number)
3318: = FND_API.G_MISS_NUM
3319: THEN
3320: Error_Handler.Add_Error_Token
3321: ( p_message_name => 'BOM_SUB_RES_SCHDNM_KEYCOL_NULL'
3322: , p_mesg_token_tbl => l_mesg_token_tbl
3322: , p_mesg_token_tbl => l_mesg_token_tbl
3323: , x_mesg_token_tbl => l_mesg_token_tbl
3324: );
3325:
3326: l_return_status := FND_API.G_RET_STS_ERROR;
3327: END IF;
3328: -- END IF; --migration
3329:
3330: --
3332: -- Operation sequence number cannot be NULL or missing.
3333: --
3334: IF p_rev_sub_resource_rec.operation_sequence_number IS NULL OR
3335: p_rev_sub_resource_rec.operation_sequence_number
3336: = FND_API.G_MISS_NUM
3337: THEN
3338: Error_Handler.Add_Error_Token
3339: ( p_message_name => 'BOM_SUB_RES_OP_SQNM_KEYCOL_NULL'
3340: , p_mesg_token_tbl => l_mesg_token_tbl
3340: , p_mesg_token_tbl => l_mesg_token_tbl
3341: , x_mesg_token_tbl => l_mesg_token_tbl
3342: );
3343:
3344: l_return_status := FND_API.G_RET_STS_ERROR;
3345: END IF;
3346:
3347: --
3348: --
3349: -- Start effective date cannot be NULL or missing.
3350: --
3351: IF p_rev_sub_resource_rec.op_start_effective_date IS NULL OR
3352: p_rev_sub_resource_rec.op_start_effective_date
3353: = FND_API.G_MISS_DATE
3354: THEN
3355: Error_Handler.Add_Error_Token
3356: ( p_message_name =>
3357: 'BOM_SUB_RES_EFFDT_KEYCOL_NULL'
3358: , p_mesg_token_tbl => l_mesg_token_tbl
3359: , x_mesg_token_tbl => l_mesg_token_tbl
3360: );
3361:
3362: l_return_status := FND_API.G_RET_STS_ERROR;
3363: END IF;
3364:
3365: IF BOM_Rtg_Globals.Get_Debug = 'Y'
3366: THEN Error_Handler.Write_Debug
3369:
3370: --
3371: -- If key columns are NULL, then return.
3372: --
3373: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
3374: THEN
3375: x_Return_Status := FND_API.G_RET_STS_ERROR;
3376: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
3377: RETURN;
3371: -- If key columns are NULL, then return.
3372: --
3373: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
3374: THEN
3375: x_Return_Status := FND_API.G_RET_STS_ERROR;
3376: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
3377: RETURN;
3378: END IF;
3379:
3402: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3403: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3404: , p_Token_Tbl => g_Token_Tbl
3405: );
3406: l_Return_Status := FND_API.G_RET_STS_ERROR;
3407: ELSIF l_err_text IS NOT NULL AND
3408: ( l_rev_sub_res_unexp_rec.revised_item_id IS NULL OR
3409: l_rev_sub_res_unexp_rec.revised_item_id = FND_API.G_MISS_NUM)
3410: THEN
3405: );
3406: l_Return_Status := FND_API.G_RET_STS_ERROR;
3407: ELSIF l_err_text IS NOT NULL AND
3408: ( l_rev_sub_res_unexp_rec.revised_item_id IS NULL OR
3409: l_rev_sub_res_unexp_rec.revised_item_id = FND_API.G_MISS_NUM)
3410: THEN
3411: -- This is an unexpected error.
3412: Error_Handler.Add_Error_Token
3413: ( p_Message_Name => NULL
3415: G_PKG_NAME
3416: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3417: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3418: );
3419: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3420: END IF;
3421:
3422: IF BOM_Rtg_Globals.Get_Debug = 'Y'
3423: THEN Error_Handler.Write_Debug
3426: || ' Status ' || l_return_status);
3427: END IF;
3428:
3429: IF p_rev_sub_resource_rec.alternate_routing_code IS NOT NULL AND
3430: p_rev_sub_resource_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
3431: THEN
3432: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_ERROR;
3433:
3434: FOR check_alternate IN
3428:
3429: IF p_rev_sub_resource_rec.alternate_routing_code IS NOT NULL AND
3430: p_rev_sub_resource_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
3431: THEN
3432: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_ERROR;
3433:
3434: FOR check_alternate IN
3435: c_Check_Alternate
3436: ( p_alt_designator =>
3437: p_rev_sub_resource_rec.alternate_routing_code,
3438: p_organization_id =>
3439: l_rev_sub_res_unexp_rec.organization_id )
3440: LOOP
3441: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_SUCCESS;
3442: END LOOP;
3443:
3444: IF /*l_err_text_diff*/l_err_text <> FND_API.G_RET_STS_SUCCESS
3445: THEN
3440: LOOP
3441: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_SUCCESS;
3442: END LOOP;
3443:
3444: IF /*l_err_text_diff*/l_err_text <> FND_API.G_RET_STS_SUCCESS
3445: THEN
3446: g_token_tbl(1).token_name :='ALTERNATE_ROUTING_CODE';
3447: g_token_tbl(1).token_value :=
3448: p_rev_sub_resource_rec.alternate_routing_code;
3456: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3457: , p_token_tbl => g_token_tbl
3458: );
3459:
3460: l_return_status := FND_API.G_RET_STS_ERROR;
3461: END IF;
3462:
3463: END IF;
3464:
3508: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3509: , p_Token_Tbl => g_Token_Tbl
3510: );
3511:
3512: l_Return_Status := FND_API.G_RET_STS_ERROR;
3513: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
3514: x_rev_sub_res_unexp_rec := l_rev_sub_res_unexp_rec;
3515: x_Return_Status := l_Return_Status;
3516:
3559: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3560: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3561: , p_Token_Tbl => g_Token_Tbl
3562: );
3563: l_Return_Status := FND_API.G_RET_STS_ERROR;
3564: ELSIF l_err_text IS NOT NULL AND
3565: (l_rev_sub_res_unexp_rec.routing_sequence_id IS NULL OR
3566: l_rev_sub_res_unexp_rec.routing_sequence_id = FND_API.G_MISS_NUM)
3567: THEN
3562: );
3563: l_Return_Status := FND_API.G_RET_STS_ERROR;
3564: ELSIF l_err_text IS NOT NULL AND
3565: (l_rev_sub_res_unexp_rec.routing_sequence_id IS NULL OR
3566: l_rev_sub_res_unexp_rec.routing_sequence_id = FND_API.G_MISS_NUM)
3567: THEN
3568: -- This is an unexpected error.
3569: Error_Handler.Add_Error_Token
3570: ( p_Message_Name => NULL
3572: G_PKG_NAME
3573: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3574: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3575: );
3576: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3577: END IF;
3578:
3579: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
3580: Error_Handler.Write_Debug('After converting, routing sequence id is '
3593: -- For non flow routing,
3594:
3595: l_cfm_flag := BOM_Rtg_Globals.Get_CFM_Rtg_Flag ;
3596: IF l_cfm_flag IS NULL OR
3597: l_cfm_flag = FND_API.G_MISS_NUM
3598: THEN
3599: l_cfm_flag := Bom_Rtg_Validate.Get_Flow_Routing_Flag(
3600: p_routing_sequence_id =>
3601: l_rev_sub_res_unexp_rec.routing_sequence_id ) ;
3604:
3605: IF l_cfm_flag = BOM_Rtg_Globals.G_FLOW_RTG
3606: THEN
3607: IF p_rev_sub_resource_rec.operation_type IS NULL
3608: OR p_rev_sub_resource_rec.operation_type = FND_API.G_MISS_NUM
3609: OR p_rev_sub_resource_rec.operation_type NOT IN (1, 2, 3)
3610: THEN
3611: IF p_rev_sub_resource_rec.operation_type <> FND_API.G_MISS_NUM
3612: THEN
3607: IF p_rev_sub_resource_rec.operation_type IS NULL
3608: OR p_rev_sub_resource_rec.operation_type = FND_API.G_MISS_NUM
3609: OR p_rev_sub_resource_rec.operation_type NOT IN (1, 2, 3)
3610: THEN
3611: IF p_rev_sub_resource_rec.operation_type <> FND_API.G_MISS_NUM
3612: THEN
3613: g_token_tbl(1).token_name := 'OPERATION_TYPE';
3614: g_token_tbl(1).token_value :=
3615: p_rev_sub_resource_rec.operation_type;
3620: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3621: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3622: , p_Token_Tbl => g_Token_Tbl
3623: );
3624: l_return_status := FND_API.G_RET_STS_ERROR ;
3625:
3626: END IF ;
3627: ELSE
3628: IF p_rev_sub_resource_rec.operation_type IS NOT NULL
3625:
3626: END IF ;
3627: ELSE
3628: IF p_rev_sub_resource_rec.operation_type IS NOT NULL
3629: AND p_rev_sub_resource_rec.operation_type <> FND_API.G_MISS_NUM
3630: AND p_rev_sub_resource_rec.operation_type <> 1
3631: THEN
3632: g_token_tbl(1).token_name := 'OPERATION_TYPE';
3633: g_token_tbl(1).token_value :=
3638: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3639: , p_Token_Tbl => g_Token_Tbl
3640: );
3641:
3642: l_return_status := FND_API.G_RET_STS_ERROR ;
3643: END IF ;
3644:
3645: END IF;
3646:
3672: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3673: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3674: , p_Token_Tbl => g_Token_Tbl
3675: );
3676: l_Return_Status := FND_API.G_RET_STS_ERROR;
3677: ELSIF l_err_text IS NOT NULL AND
3678: (
3679: l_rev_sub_res_unexp_rec.operation_sequence_id IS NULL OR
3680: l_rev_sub_res_unexp_rec.operation_sequence_id =FND_API.G_MISS_NUM
3676: l_Return_Status := FND_API.G_RET_STS_ERROR;
3677: ELSIF l_err_text IS NOT NULL AND
3678: (
3679: l_rev_sub_res_unexp_rec.operation_sequence_id IS NULL OR
3680: l_rev_sub_res_unexp_rec.operation_sequence_id =FND_API.G_MISS_NUM
3681: )
3682: THEN
3683: -- This is an unexpected error.
3684: Error_Handler.Add_Error_Token
3687: G_PKG_NAME
3688: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3689: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3690: );
3691: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3692: END IF;
3693:
3694: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
3695: Error_Handler.Write_Debug('After converting, op sequence id is '
3700: --
3701: -- convert resource code to resource id
3702: --
3703: IF p_rev_sub_resource_rec.sub_resource_code IS NOT NULL AND
3704: p_rev_sub_resource_rec.sub_resource_code <> FND_API.G_MISS_CHAR
3705: THEN
3706: l_rev_sub_res_unexp_rec.resource_id :=
3707: Resource_Id
3708: ( p_resource_code =>
3724: , p_Message_name =>
3725: 'BOM_SUB_RES_SUB_RES_CD_INVALID'
3726: , p_token_tbl => l_token_tbl
3727: );
3728: l_return_status := FND_API.G_RET_STS_ERROR;
3729: ELSIF l_err_text IS NOT NULL AND
3730: l_rev_sub_res_unexp_rec.resource_id IS NULL
3731: THEN
3732: Error_Handler.Add_Error_Token
3736: 'Unexpected Error ' || l_err_text || ' in ' ||
3737: G_PKG_NAME
3738: , p_token_tbl => l_token_tbl
3739: );
3740: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
3741: END IF;
3742: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
3743: Error_Handler.Write_Debug('After converting, Resource Id is '
3744: || to_char(l_rev_sub_res_unexp_rec.resource_id)
3769: , p_Message_name =>
3770: 'BOM_SUB_RES_RELRES_NOT_FOUND'
3771: , p_token_tbl => l_token_tbl
3772: );
3773: l_return_status := FND_API.G_RET_STS_ERROR;
3774: END IF;
3775: END IF;
3776:
3777: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
3867: , x_Return_Status IN OUT NOCOPY VARCHAR2
3868: , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
3869: )
3870: IS
3871: l_return_status VARCHAR2(1):=FND_API.G_RET_STS_SUCCESS;
3872: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
3873: l_err_text VARCHAR2(2000);
3874: l_Token_Tbl Error_Handler.Token_Tbl_Type;
3875: l_rev_sub_res_unexp_rec Bom_Rtg_Pub.Rev_Sub_Res_Unexposed_Rec_Type
3884: -- Convert activity to activity id
3885: --
3886:
3887: IF p_rev_sub_resource_rec.activity IS NOT NULL AND
3888: p_rev_sub_resource_rec.activity <> FND_API.G_MISS_CHAR
3889: THEN
3890:
3891: l_rev_sub_res_unexp_rec.activity_id :=
3892: Activity_Id
3908: , p_Message_name =>
3909: 'BOM_SUB_RES_ACT_CD_INVALID'
3910: , p_token_tbl => l_token_tbl
3911: );
3912: l_return_status := FND_API.G_RET_STS_ERROR;
3913: ELSIF l_err_text IS NOT NULL AND
3914: l_rev_sub_res_unexp_rec.activity_id IS NULL
3915: THEN
3916: Error_Handler.Add_Error_Token
3920: 'Unexpected Error ' || l_err_text || ' in ' ||
3921: G_PKG_NAME
3922: , p_token_tbl => l_token_tbl
3923: );
3924: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
3925: END IF;
3926: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
3927: Error_Handler.Write_Debug('Converted activity id. '|| to_char(l_rev_sub_res_unexp_rec.activity_id) );
3928: END IF;
3934: -- Convert new resource code to new reosurce id
3935: --
3936: IF p_rev_sub_resource_rec.new_sub_resource_code IS NOT NULL AND
3937: p_rev_sub_resource_rec.new_sub_resource_code <>
3938: FND_API.G_MISS_CHAR
3939: THEN
3940:
3941: l_rev_sub_res_unexp_rec.new_resource_id :=
3942: Resource_Id
3959: , p_Message_name =>
3960: 'BOM_SUB_RES_SUB_RES_CD_INVALID'
3961: , p_token_tbl => l_token_tbl
3962: );
3963: l_return_status := FND_API.G_RET_STS_ERROR;
3964: ELSIF l_err_text IS NOT NULL AND
3965: l_rev_sub_res_unexp_rec.new_resource_id IS NULL
3966: THEN
3967: Error_Handler.Add_Error_Token
3971: 'Unexpected Error ' || l_err_text || ' in ' ||
3972: G_PKG_NAME
3973: , p_token_tbl => l_token_tbl
3974: );
3975: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
3976: END IF;
3977:
3978: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3979: ('Converted new sub resource id. ' || to_char(l_rev_sub_res_unexp_rec.new_resource_id) ) ;
3984: --
3985: -- Convert setup code to setup id
3986: --
3987: IF p_rev_sub_resource_rec.setup_type IS NOT NULL AND
3988: p_rev_sub_resource_rec.setup_type <> FND_API.G_MISS_CHAR
3989: THEN
3990: l_rev_sub_res_unexp_rec.setup_id :=
3991: Setup_Id
3992: ( p_setup_type =>
4007: , p_Message_name =>
4008: 'BOM_SUB_RES_SETUP_CODE_INVALID'
4009: , p_token_tbl => l_token_tbl
4010: );
4011: l_return_status := FND_API.G_RET_STS_ERROR;
4012: ELSIF l_err_text IS NOT NULL AND
4013: l_rev_sub_res_unexp_rec.setup_id IS NULL
4014: THEN
4015: Error_Handler.Add_Error_Token
4019: 'Unexpected Error ' || l_err_text || ' in ' ||
4020: G_PKG_NAME
4021: , p_token_tbl => l_token_tbl
4022: );
4023: l_return_status :=FND_API.G_RET_STS_UNEXP_ERROR;
4024: END IF;
4025:
4026: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
4027: Error_Handler.Write_Debug ('Converted setup code . . .');
4079: x_temp_op_rec BOM_RTG_Globals.Temp_Op_Rec_Type;
4080: /***END 1838261***/
4081: l_temp_op_rec_tbl_test BOM_RTG_Globals.Temp_Op_Rec_Tbl_Type;--for testing by Dev
4082: BEGIN
4083: x_return_status := FND_API.G_RET_STS_SUCCESS;
4084: l_return_status := FND_API.G_RET_STS_SUCCESS;
4085: l_op_network_unexp_rec := p_op_network_unexp_rec;
4086:
4087: IF BOM_Rtg_Globals.Get_Debug = 'Y'
4080: /***END 1838261***/
4081: l_temp_op_rec_tbl_test BOM_RTG_Globals.Temp_Op_Rec_Tbl_Type;--for testing by Dev
4082: BEGIN
4083: x_return_status := FND_API.G_RET_STS_SUCCESS;
4084: l_return_status := FND_API.G_RET_STS_SUCCESS;
4085: l_op_network_unexp_rec := p_op_network_unexp_rec;
4086:
4087: IF BOM_Rtg_Globals.Get_Debug = 'Y'
4088: THEN Error_Handler.Write_Debug
4092: --
4093: -- Assembly Item name cannot be NULL or missing.
4094: --
4095: IF p_op_network_rec.assembly_item_name IS NULL OR
4096: p_op_network_rec.assembly_item_name = FND_API.G_MISS_CHAR
4097: THEN
4098: Error_Handler.Add_Error_Token
4099: ( p_message_name => 'BOM_OP_NWK_AITEM_KEYCOL_NULL'
4100: , p_mesg_token_tbl => l_mesg_token_tbl
4100: , p_mesg_token_tbl => l_mesg_token_tbl
4101: , x_mesg_token_tbl => l_mesg_token_tbl
4102: );
4103:
4104: l_return_status := FND_API.G_RET_STS_ERROR;
4105: END IF;
4106:
4107: --
4108: -- From operation sequence number cannot be NULL or missing.
4108: -- From operation sequence number cannot be NULL or missing.
4109: --
4110: IF p_op_network_rec.from_op_seq_number IS NULL OR
4111: p_op_network_rec.from_op_seq_number
4112: = FND_API.G_MISS_NUM
4113: THEN
4114: Error_Handler.Add_Error_Token
4115: ( p_Message_Name => 'BOM_OP_NWK_SEQNUM_KEYCOL_NULL'
4116: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4115: ( p_Message_Name => 'BOM_OP_NWK_SEQNUM_KEYCOL_NULL'
4116: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4117: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4118: );
4119: l_Return_Status := FND_API.G_RET_STS_ERROR;
4120: END IF;
4121:
4122: --
4123: -- To operation sequence number cannot be NULL or missing.
4123: -- To operation sequence number cannot be NULL or missing.
4124: --
4125: IF p_op_network_rec.to_op_seq_number IS NULL OR
4126: p_op_network_rec.to_op_seq_number
4127: = FND_API.G_MISS_NUM
4128: THEN
4129: Error_Handler.Add_Error_Token
4130: ( p_Message_Name => 'BOM_OP_NWK_SEQNUM_KEYCOL_NULL'
4131: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4130: ( p_Message_Name => 'BOM_OP_NWK_SEQNUM_KEYCOL_NULL'
4131: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4132: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4133: );
4134: l_Return_Status := FND_API.G_RET_STS_ERROR;
4135: END IF;
4136:
4137: --
4138: -- From start effective date cannot be NULL or missing.
4138: -- From start effective date cannot be NULL or missing.
4139: --
4140: IF ( p_op_network_rec.from_start_effective_date IS NULL OR
4141: p_op_network_rec.from_start_effective_date
4142: = FND_API.G_MISS_DATE)
4143: AND ( NVL(p_op_network_rec.operation_type,1) = 1
4144: OR p_op_network_rec.operation_type = FND_API.G_MISS_NUM )
4145: THEN
4146: Error_Handler.Add_Error_Token
4140: IF ( p_op_network_rec.from_start_effective_date IS NULL OR
4141: p_op_network_rec.from_start_effective_date
4142: = FND_API.G_MISS_DATE)
4143: AND ( NVL(p_op_network_rec.operation_type,1) = 1
4144: OR p_op_network_rec.operation_type = FND_API.G_MISS_NUM )
4145: THEN
4146: Error_Handler.Add_Error_Token
4147: ( p_Message_Name => 'BOM_OP_NWK_EFFDT_KEYCOL_NULL'
4148: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4147: ( p_Message_Name => 'BOM_OP_NWK_EFFDT_KEYCOL_NULL'
4148: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4149: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4150: );
4151: l_Return_Status := FND_API.G_RET_STS_ERROR;
4152: END IF;
4153:
4154: --
4155: -- To start effective date cannot be NULL or missing.
4155: -- To start effective date cannot be NULL or missing.
4156: --
4157: IF ( p_op_network_rec.to_start_effective_date IS NULL OR
4158: p_op_network_rec.to_start_effective_date
4159: = FND_API.G_MISS_DATE)
4160: AND ( NVL(p_op_network_rec.operation_type,1) = 1
4161: OR p_op_network_rec.operation_type = FND_API.G_MISS_NUM )
4162: THEN
4163: Error_Handler.Add_Error_Token
4157: IF ( p_op_network_rec.to_start_effective_date IS NULL OR
4158: p_op_network_rec.to_start_effective_date
4159: = FND_API.G_MISS_DATE)
4160: AND ( NVL(p_op_network_rec.operation_type,1) = 1
4161: OR p_op_network_rec.operation_type = FND_API.G_MISS_NUM )
4162: THEN
4163: Error_Handler.Add_Error_Token
4164: ( p_Message_Name => 'BOM_OP_NWK_EFFDT_KEYCOL_NULL'
4165: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4164: ( p_Message_Name => 'BOM_OP_NWK_EFFDT_KEYCOL_NULL'
4165: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4166: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4167: );
4168: l_Return_Status := FND_API.G_RET_STS_ERROR;
4169: END IF;
4170:
4171: --
4172: -- If key columns are NULL, then return.
4171: --
4172: -- If key columns are NULL, then return.
4173: --
4174:
4175: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
4176: THEN
4177: x_Return_Status := FND_API.G_RET_STS_ERROR;
4178: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
4179: RETURN;
4173: --
4174:
4175: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
4176: THEN
4177: x_Return_Status := FND_API.G_RET_STS_ERROR;
4178: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
4179: RETURN;
4180: END IF;
4181:
4205: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4206: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4207: , p_Token_Tbl => g_Token_Tbl
4208: );
4209: l_Return_Status := FND_API.G_RET_STS_ERROR;
4210: ELSIF l_err_text IS NOT NULL AND
4211: ( l_op_network_unexp_rec.assembly_item_id IS NULL OR
4212: l_op_network_unexp_rec.assembly_item_id = FND_API.G_MISS_NUM
4213: )
4208: );
4209: l_Return_Status := FND_API.G_RET_STS_ERROR;
4210: ELSIF l_err_text IS NOT NULL AND
4211: ( l_op_network_unexp_rec.assembly_item_id IS NULL OR
4212: l_op_network_unexp_rec.assembly_item_id = FND_API.G_MISS_NUM
4213: )
4214: THEN
4215: -- This is an unexpected error.
4216: Error_Handler.Add_Error_Token
4219: G_PKG_NAME
4220: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4221: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4222: );
4223: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4224: END IF;
4225:
4226: IF BOM_Rtg_Globals.Get_Debug = 'Y'
4227: THEN Error_Handler.Write_Debug
4230: || ' Status ' || l_return_status);
4231: END IF;
4232:
4233: IF p_op_network_rec.alternate_routing_code IS NOT NULL AND
4234: p_op_network_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
4235: THEN
4236: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_ERROR;
4237:
4238: FOR check_alternate IN
4232:
4233: IF p_op_network_rec.alternate_routing_code IS NOT NULL AND
4234: p_op_network_rec.alternate_routing_code <> FND_API.G_MISS_CHAR
4235: THEN
4236: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_ERROR;
4237:
4238: FOR check_alternate IN
4239: c_Check_Alternate
4240: ( p_alt_designator =>
4241: p_op_network_rec.alternate_routing_code,
4242: p_organization_id =>
4243: l_op_network_unexp_rec.organization_id )
4244: LOOP
4245: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_SUCCESS;
4246: END LOOP;
4247:
4248: IF /*l_err_text_diff*/l_err_text <> FND_API.G_RET_STS_SUCCESS
4249: THEN
4244: LOOP
4245: /*l_err_text_diff*/l_err_text := FND_API.G_RET_STS_SUCCESS;
4246: END LOOP;
4247:
4248: IF /*l_err_text_diff*/l_err_text <> FND_API.G_RET_STS_SUCCESS
4249: THEN
4250: g_token_tbl(1).token_name :='ALTERNATE_ROUTING_CODE';
4251: g_token_tbl(1).token_value :=
4252: p_op_network_rec.alternate_routing_code;
4260: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4261: , p_token_tbl => g_token_tbl
4262: );
4263:
4264: l_return_status := FND_API.G_RET_STS_ERROR;
4265: END IF;
4266:
4267: END IF;
4268:
4287: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4288: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4289: , p_Token_Tbl => g_Token_Tbl
4290: );
4291: l_Return_Status := FND_API.G_RET_STS_ERROR;
4292: ELSIF l_err_text IS NOT NULL AND
4293: (l_op_network_unexp_rec.routing_sequence_id IS NULL OR
4294: l_op_network_unexp_rec.routing_sequence_id
4295: = FND_API.G_MISS_NUM)
4291: l_Return_Status := FND_API.G_RET_STS_ERROR;
4292: ELSIF l_err_text IS NOT NULL AND
4293: (l_op_network_unexp_rec.routing_sequence_id IS NULL OR
4294: l_op_network_unexp_rec.routing_sequence_id
4295: = FND_API.G_MISS_NUM)
4296: THEN
4297: -- This is an unexpected error.
4298: Error_Handler.Add_Error_Token
4299: ( p_Message_Name => NULL
4301: G_PKG_NAME
4302: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4303: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4304: );
4305: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4306: END IF;
4307:
4308: IF BOM_Rtg_Globals.Get_Debug = 'Y'
4309: THEN Error_Handler.Write_Debug
4316: -- For operation network, CFM flag should be in (1, 3)
4317: --
4318:
4319: IF BOM_Rtg_Globals.Get_CFM_Rtg_Flag IS NULL OR
4320: BOM_Rtg_Globals.Get_CFM_Rtg_Flag = FND_API.G_MISS_NUM
4321: THEN
4322: l_cfm_flag := Bom_Rtg_Validate.Get_Flow_Routing_Flag(
4323: l_op_network_unexp_rec.routing_sequence_id) ;
4324: BOM_Rtg_Globals.Set_CFM_Rtg_Flag(p_cfm_rtg_type => l_cfm_flag) ;
4340: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4341: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4342: , p_Token_Tbl => g_Token_Tbl
4343: );
4344: l_return_status := FND_API.G_RET_STS_ERROR ;
4345: END IF ;
4346: */
4347:
4348: --
4351:
4352: IF l_cfm_flag = BOM_Rtg_Globals.G_FLOW_RTG
4353: THEN
4354: IF p_op_network_rec.operation_type IS NULL
4355: OR p_op_network_rec.operation_type = FND_API.G_MISS_NUM
4356: OR p_op_network_rec.operation_type NOT IN (2, 3)
4357: THEN
4358: IF p_op_network_rec.operation_type <> FND_API.G_MISS_NUM
4359: THEN
4354: IF p_op_network_rec.operation_type IS NULL
4355: OR p_op_network_rec.operation_type = FND_API.G_MISS_NUM
4356: OR p_op_network_rec.operation_type NOT IN (2, 3)
4357: THEN
4358: IF p_op_network_rec.operation_type <> FND_API.G_MISS_NUM
4359: THEN
4360: g_token_tbl(1).token_name := 'OPERATION_TYPE';
4361: g_token_tbl(1).token_value :=
4362: p_op_network_rec.operation_type;
4367: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4368: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4369: , p_Token_Tbl => g_Token_Tbl
4370: );
4371: l_return_status := FND_API.G_RET_STS_ERROR ;
4372:
4373: END IF ;
4374:
4375: ELSIF l_cfm_flag = BOM_Rtg_Globals.G_LOT_RTG
4375: ELSIF l_cfm_flag = BOM_Rtg_Globals.G_LOT_RTG
4376: OR l_cfm_flag = BOM_Rtg_Globals.G_STD_RTG
4377: THEN
4378: IF p_op_network_rec.operation_type IS NOT NULL
4379: AND p_op_network_rec.operation_type <> FND_API.G_MISS_NUM
4380: AND p_op_network_rec.operation_type <> 1
4381: THEN
4382: g_token_tbl(1).token_name := 'OPERATION_TYPE';
4383: g_token_tbl(1).token_value :=
4387: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4388: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4389: , p_Token_Tbl => g_Token_Tbl
4390: );
4391: l_return_status := FND_API.G_RET_STS_ERROR ;
4392: END IF ;
4393:
4394: END IF;
4395:
4396: --
4397: -- If error in CFM routing check, then return.
4398: --
4399:
4400: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
4401: THEN
4402: x_Return_Status := FND_API.G_RET_STS_ERROR;
4403: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
4404: RETURN;
4398: --
4399:
4400: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
4401: THEN
4402: x_Return_Status := FND_API.G_RET_STS_ERROR;
4403: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
4404: RETURN;
4405: END IF;
4406:
4472: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4473: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4474: , p_Token_Tbl => g_Token_Tbl
4475: );
4476: l_Return_Status := FND_API.G_RET_STS_ERROR;
4477: ELSIF l_err_text IS NOT NULL AND
4478: (l_op_network_unexp_rec.from_op_seq_id IS NULL OR
4479: l_op_network_unexp_rec.from_op_seq_id
4480: = FND_API.G_MISS_NUM )
4476: l_Return_Status := FND_API.G_RET_STS_ERROR;
4477: ELSIF l_err_text IS NOT NULL AND
4478: (l_op_network_unexp_rec.from_op_seq_id IS NULL OR
4479: l_op_network_unexp_rec.from_op_seq_id
4480: = FND_API.G_MISS_NUM )
4481: THEN
4482: -- This is an unexpected error.
4483: Error_Handler.Add_Error_Token
4484: ( p_Message_Name => NULL
4486: G_PKG_NAME
4487: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4488: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4489: );
4490: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4491: END IF;
4492:
4493: IF BOM_Rtg_Globals.Get_Debug = 'Y'
4494: THEN Error_Handler.Write_Debug
4560: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4561: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4562: , p_Token_Tbl => g_Token_Tbl
4563: );
4564: l_Return_Status := FND_API.G_RET_STS_ERROR;
4565:
4566: ELSIF l_err_text IS NOT NULL AND
4567: (l_op_network_unexp_rec.to_op_seq_id IS NULL OR
4568: l_op_network_unexp_rec.to_op_seq_id
4565:
4566: ELSIF l_err_text IS NOT NULL AND
4567: (l_op_network_unexp_rec.to_op_seq_id IS NULL OR
4568: l_op_network_unexp_rec.to_op_seq_id
4569: = FND_API.G_MISS_NUM )
4570: THEN
4571: -- This is an unexpected error.
4572: Error_Handler.Add_Error_Token
4573: ( p_Message_Name => NULL
4575: G_PKG_NAME
4576: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4577: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4578: );
4579: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4580: END IF;
4581:
4582: IF BOM_Rtg_Globals.Get_Debug = 'Y'
4583: THEN Error_Handler.Write_Debug
4589: --
4590: -- Get new_from_operation_sequence_id
4591: --
4592: IF ( p_op_network_rec.new_from_op_seq_number IS NOT NULL AND
4593: p_op_network_rec.new_from_op_seq_number <> FND_API.G_MISS_NUM )
4594: OR ( p_op_network_rec.new_from_start_effective_date IS NOT NULL AND
4595: p_op_network_rec.new_from_start_effective_date <> FND_API.G_MISS_DATE )
4596: THEN
4597:
4591: --
4592: IF ( p_op_network_rec.new_from_op_seq_number IS NOT NULL AND
4593: p_op_network_rec.new_from_op_seq_number <> FND_API.G_MISS_NUM )
4594: OR ( p_op_network_rec.new_from_start_effective_date IS NOT NULL AND
4595: p_op_network_rec.new_from_start_effective_date <> FND_API.G_MISS_DATE )
4596: THEN
4597:
4598: l_op_network_unexp_rec.new_from_op_seq_id :=
4599: Operation_Sequence_id
4636: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4637: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4638: , p_Token_Tbl => g_Token_Tbl
4639: );
4640: l_Return_Status := FND_API.G_RET_STS_ERROR;
4641:
4642: ELSIF l_err_text IS NOT NULL AND
4643: (l_op_network_unexp_rec.new_from_op_seq_id IS NULL OR
4644: l_op_network_unexp_rec.new_from_op_seq_id
4641:
4642: ELSIF l_err_text IS NOT NULL AND
4643: (l_op_network_unexp_rec.new_from_op_seq_id IS NULL OR
4644: l_op_network_unexp_rec.new_from_op_seq_id
4645: = FND_API.G_MISS_NUM )
4646: THEN
4647: -- This is an unexpected error.
4648: Error_Handler.Add_Error_Token
4649: ( p_Message_Name => NULL
4651: G_PKG_NAME
4652: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4653: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4654: );
4655: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4656: END IF;
4657:
4658: IF BOM_Rtg_Globals.Get_Debug = 'Y'
4659: THEN Error_Handler.Write_Debug
4667: --
4668: -- Get new_to_operation_sequence_id
4669: --
4670: IF ( p_op_network_rec.new_to_op_seq_number IS NOT NULL AND
4671: p_op_network_rec.new_to_op_seq_number <> FND_API.G_MISS_NUM )
4672: OR ( p_op_network_rec.new_to_start_effective_date IS NOT NULL AND
4673: p_op_network_rec.new_to_start_effective_date <> FND_API.G_MISS_DATE )
4674: THEN
4675:
4669: --
4670: IF ( p_op_network_rec.new_to_op_seq_number IS NOT NULL AND
4671: p_op_network_rec.new_to_op_seq_number <> FND_API.G_MISS_NUM )
4672: OR ( p_op_network_rec.new_to_start_effective_date IS NOT NULL AND
4673: p_op_network_rec.new_to_start_effective_date <> FND_API.G_MISS_DATE )
4674: THEN
4675:
4676: l_op_network_unexp_rec.new_to_op_seq_id :=
4677: Operation_Sequence_id
4714: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4715: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4716: , p_Token_Tbl => g_Token_Tbl
4717: );
4718: l_Return_Status := FND_API.G_RET_STS_ERROR;
4719:
4720: ELSIF l_err_text IS NOT NULL AND
4721: (l_op_network_unexp_rec.new_to_op_seq_id IS NULL OR
4722: l_op_network_unexp_rec.new_to_op_seq_id
4719:
4720: ELSIF l_err_text IS NOT NULL AND
4721: (l_op_network_unexp_rec.new_to_op_seq_id IS NULL OR
4722: l_op_network_unexp_rec.new_to_op_seq_id
4723: = FND_API.G_MISS_NUM )
4724: THEN
4725:
4726: -- This is an unexpected error.
4727: Error_Handler.Add_Error_Token
4730: G_PKG_NAME
4731: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4732: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4733: );
4734: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4735: END IF;
4736:
4737: IF BOM_Rtg_Globals.Get_Debug = 'Y'
4738: THEN Error_Handler.Write_Debug