277:
278:
279: BEGIN
280:
281: x_return_status := FND_API.G_RET_STS_SUCCESS ;
282:
283: FOR l_rel_schedule_rec IN l_rel_schedule_csr
284: ( p_op_seq_id
285: , p_sub_group_num
285: , p_sub_group_num
286: , p_schedule_flag
287: )
288: LOOP
289: x_return_status := FND_API.G_RET_STS_ERROR ;
290: END LOOP ;
291:
292: IF x_return_status <> FND_API.G_RET_STS_ERROR
293: THEN
288: LOOP
289: x_return_status := FND_API.G_RET_STS_ERROR ;
290: END LOOP ;
291:
292: IF x_return_status <> FND_API.G_RET_STS_ERROR
293: THEN
294: FOR l_sub_schedule_rec IN l_sub_schedule_csr
295: ( p_op_seq_id
296: , p_resource_id
297: , p_sub_group_num
298: , p_schedule_flag
299: )
300: LOOP
301: x_return_status := FND_API.G_RET_STS_ERROR ;
302: END LOOP ;
303: END IF ;
304:
305: END Val_Scheduled_Sub_Resource ;
344:
345:
346: BEGIN
347:
348: x_return_status := FND_API.G_RET_STS_SUCCESS ;
349:
350: FOR l_rel_pomove_rec IN l_rel_pomove_csr
351: ( p_op_seq_id
352: , p_sub_group_num
351: ( p_op_seq_id
352: , p_sub_group_num
353: )
354: LOOP
355: x_return_status := FND_API.G_RET_STS_ERROR ;
356: END LOOP ;
357:
358: IF x_return_status <> FND_API.G_RET_STS_ERROR
359: THEN
354: LOOP
355: x_return_status := FND_API.G_RET_STS_ERROR ;
356: END LOOP ;
357:
358: IF x_return_status <> FND_API.G_RET_STS_ERROR
359: THEN
360: FOR l_sub_pomove_rec IN l_sub_pomove_csr ( p_op_seq_id
361: , p_resource_id
362: , p_sub_group_num
361: , p_resource_id
362: , p_sub_group_num
363: )
364: LOOP
365: x_return_status := FND_API.G_RET_STS_ERROR ;
366: END LOOP ;
367: END IF ;
368:
369: END Val_Sub_PO_Move ;
426: ) ;
427:
428: BEGIN
429:
430: x_return_status := FND_API.G_RET_STS_SUCCESS ;
431:
432: FOR l_principal_rec IN l_principal_csr ( p_op_seq_id
433: , p_res_id
434: , p_sub_group_num
436: , p_basis_type
437: , p_schedule_flag /* Added for bug 13005178 */
438: )
439: LOOP
440: x_return_status := FND_API.G_RET_STS_ERROR ;
441: END LOOP ;
442:
443: /*
444: IF BOM_Rtg_Globals.Get_Bo_Identifier = BOM_Rtg_Globals.G_ECO_BO
492: )
493: AND rownum=1;
494:
495: BEGIN
496: x_return_status := FND_API.G_RET_STS_SUCCESS;
497: l_resource_id := FND_API.G_MISS_NUM;
498:
499: /* Verify whether the current sub-resource violates the validation w.r.t to
500: any existing resource. */
493: AND rownum=1;
494:
495: BEGIN
496: x_return_status := FND_API.G_RET_STS_SUCCESS;
497: l_resource_id := FND_API.G_MISS_NUM;
498:
499: /* Verify whether the current sub-resource violates the validation w.r.t to
500: any existing resource. */
501: OPEN l_sch_res_cur;
512: END IF;
513:
514: /* If no violated resource is found above, then verify whether the current sub-resource
515: violates the validation w.r.t to any existing sub-resource. */
516: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
517:
518: OPEN l_sch_sub_res_cur;
519: FETCH l_sch_sub_res_cur INTO l_resource_id;
520:
626: l_default_basis_type NUMBER;
627:
628: BEGIN
629:
630: l_return_status := FND_API.G_RET_STS_SUCCESS;
631: x_return_status := FND_API.G_RET_STS_SUCCESS;
632:
633:
634: l_Token_Tbl(1).token_name := 'SUB_RESOURCE_CODE';
627:
628: BEGIN
629:
630: l_return_status := FND_API.G_RET_STS_SUCCESS;
631: x_return_status := FND_API.G_RET_STS_SUCCESS;
632:
633:
634: l_Token_Tbl(1).token_name := 'SUB_RESOURCE_CODE';
635: l_Token_Tbl(1).token_value :=
641: l_Token_Tbl(3).token_value := p_rev_sub_resource_rec.revised_item_name;
642:
643: -- If basis type is null then take the resource's default basis type
644: IF ( p_rev_sub_resource_rec.basis_type IS NULL
645: OR p_rev_sub_resource_rec.basis_type = FND_API.G_MISS_NUM )
646: THEN
647: BEGIN
648: SELECT br.DEFAULT_BASIS_TYPE
649: INTO l_default_basis_type
680: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
681: , p_message_name => 'BOM_SUB_RES_ALREADY_EXISTS'
682: , p_token_tbl => l_token_tbl
683: ) ;
684: l_return_status := FND_API.G_RET_STS_ERROR ;
685:
686: ELSIF l_return_status = BOM_Rtg_Globals.G_RECORD_NOT_FOUND AND
687: p_rev_sub_resource_rec.transaction_type IN
688: (BOM_Rtg_Globals.G_OPR_UPDATE, BOM_Rtg_Globals.G_OPR_DELETE)
692: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
693: , p_message_name => 'BOM_SUB_RES_DOESNOT_EXIST'
694: , p_token_tbl => l_token_tbl
695: ) ;
696: l_return_status := FND_API.G_RET_STS_ERROR ;
697:
698: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
699: THEN
700: Error_Handler.Add_Error_Token
694: , p_token_tbl => l_token_tbl
695: ) ;
696: l_return_status := FND_API.G_RET_STS_ERROR ;
697:
698: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
699: THEN
700: Error_Handler.Add_Error_Token
701: ( x_Mesg_token_tbl => l_Mesg_Token_Tbl
702: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
708: || nvl(p_rev_sub_resource_rec.substitute_group_number, p_rev_sub_res_unexp_rec.substitute_group_number)
709: , p_token_tbl => l_token_tbl
710: ) ;
711: ELSE
712: l_return_status := FND_API.G_RET_STS_SUCCESS;
713: END IF ;
714:
715: x_return_status := l_return_status;
716: x_mesg_token_tbl := l_Mesg_Token_Tbl;
793: l_Token_Tbl Error_Handler.Token_Tbl_Type ;
794:
795: BEGIN
796:
797: l_return_status := FND_API.G_RET_STS_SUCCESS;
798: x_return_status := FND_API.G_RET_STS_SUCCESS;
799:
800: -- Set the first token to be equal to the operation sequence number
801: l_Token_Tbl(1).token_name := 'SUB_RESOURCE_CODE';
794:
795: BEGIN
796:
797: l_return_status := FND_API.G_RET_STS_SUCCESS;
798: x_return_status := FND_API.G_RET_STS_SUCCESS;
799:
800: -- Set the first token to be equal to the operation sequence number
801: l_Token_Tbl(1).token_name := 'SUB_RESOURCE_CODE';
802: l_Token_Tbl(1).token_value :=
816: ('Sub Operation Resource Attr Validation: Missing Value. . . ' ) ;
817: END IF;
818:
819: -- New Sub Resource Code
820: IF p_rev_sub_resource_rec.new_sub_resource_code = FND_API.G_MISS_CHAR
821: THEN
822: Error_Handler.Add_Error_Token
823: ( p_Message_Name => 'BOM_SUB_RESCODE_MISSING'
824: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
824: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
825: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
826: , p_Token_Tbl => l_Token_Tbl
827: );
828: l_return_status := FND_API.G_RET_STS_ERROR;
829: END IF ;
830:
831:
832:
830:
831:
832:
833: -- Replacement Group Number
834: IF p_rev_sub_resource_rec.replacement_group_number = FND_API.G_MISS_NUM
835: THEN
836: Error_Handler.Add_Error_Token
837: ( p_Message_Name => 'BOM_SUB_RES_RPLAC_GNUM_MISSING'
838: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
838: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
839: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
840: , p_Token_Tbl => l_Token_Tbl
841: );
842: l_return_status := FND_API.G_RET_STS_ERROR;
843: END IF ;
844:
845:
846: -- New Replacement Group Number -- bug 3741570
843: END IF ;
844:
845:
846: -- New Replacement Group Number -- bug 3741570
847: IF p_rev_sub_resource_rec.new_replacement_group_number = FND_API.G_MISS_NUM
848: THEN
849: Error_Handler.Add_Error_Token
850: ( p_Message_Name => 'BOM_SUB_RES_RPLAC_GNUM_MISSING'
851: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
851: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
852: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
853: , p_Token_Tbl => l_Token_Tbl
854: );
855: l_return_status := FND_API.G_RET_STS_ERROR;
856: END IF;
857:
858:
859: -- Standard Rate Flag
856: END IF;
857:
858:
859: -- Standard Rate Flag
860: IF p_rev_sub_resource_rec.standard_rate_flag = FND_API.G_MISS_NUM
861: THEN
862: Error_Handler.Add_Error_Token
863: ( p_Message_Name => 'BOM_SUB_RES_STD_RATE_MISSING'
864: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
864: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
865: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
866: , p_Token_Tbl => l_Token_Tbl
867: );
868: l_return_status := FND_API.G_RET_STS_ERROR;
869: END IF;
870:
871:
872: -- Assigned Units
869: END IF;
870:
871:
872: -- Assigned Units
873: IF p_rev_sub_resource_rec.assigned_units = FND_API.G_MISS_NUM
874: THEN
875: Error_Handler.Add_Error_Token
876: ( p_Message_Name => 'BOM_SUB_RES_ASGND_UNTS_MISSING'
877: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
877: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
878: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
879: , p_Token_Tbl => l_Token_Tbl
880: );
881: l_return_status := FND_API.G_RET_STS_ERROR;
882: END IF;
883:
884:
885: -- Usage Rate or Amount
882: END IF;
883:
884:
885: -- Usage Rate or Amount
886: IF p_rev_sub_resource_rec.usage_rate_or_amount = FND_API.G_MISS_NUM
887: THEN
888: Error_Handler.Add_Error_Token
889: ( p_Message_Name => 'BOM_SUB_RES_RATE_AMT_MISSING'
890: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
890: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
891: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
892: , p_Token_Tbl => l_Token_Tbl
893: );
894: l_return_status := FND_API.G_RET_STS_ERROR;
895: END IF;
896:
897: -- Usage Rate or Amount Inverse
898: IF p_rev_sub_resource_rec.usage_rate_or_amount_inverse = FND_API.G_MISS_NUM
894: l_return_status := FND_API.G_RET_STS_ERROR;
895: END IF;
896:
897: -- Usage Rate or Amount Inverse
898: IF p_rev_sub_resource_rec.usage_rate_or_amount_inverse = FND_API.G_MISS_NUM
899: THEN
900: Error_Handler.Add_Error_Token
901: ( p_Message_Name => 'BOM_SUB_RES_RTAMT_INVR_MISSING'
902: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
902: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
903: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
904: , p_Token_Tbl => l_Token_Tbl
905: );
906: l_return_status := FND_API.G_RET_STS_ERROR;
907: END IF;
908:
909: -- Basis Type
910: IF p_rev_sub_resource_rec.basis_type = FND_API.G_MISS_NUM
906: l_return_status := FND_API.G_RET_STS_ERROR;
907: END IF;
908:
909: -- Basis Type
910: IF p_rev_sub_resource_rec.basis_type = FND_API.G_MISS_NUM
911: THEN
912: Error_Handler.Add_Error_Token
913: ( p_Message_Name => 'BOM_SUB_RES_BASISTYPE_MISSING'
914: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
914: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
915: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
916: , p_Token_Tbl => l_Token_Tbl
917: );
918: l_return_status := FND_API.G_RET_STS_ERROR;
919: END IF;
920:
921: -- New Basis Type
922: IF p_rev_sub_resource_rec.new_basis_type = FND_API.G_MISS_NUM
918: l_return_status := FND_API.G_RET_STS_ERROR;
919: END IF;
920:
921: -- New Basis Type
922: IF p_rev_sub_resource_rec.new_basis_type = FND_API.G_MISS_NUM
923: THEN
924: Error_Handler.Add_Error_Token
925: ( p_Message_Name => 'BOM_SUB_RES_BASISTYPE_MISSING'
926: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
926: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
927: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
928: , p_Token_Tbl => l_Token_Tbl
929: );
930: l_return_status := FND_API.G_RET_STS_ERROR;
931: END IF;
932:
933: -- Schedule Flag
934: IF p_rev_sub_resource_rec.schedule_flag = FND_API.G_MISS_NUM
930: l_return_status := FND_API.G_RET_STS_ERROR;
931: END IF;
932:
933: -- Schedule Flag
934: IF p_rev_sub_resource_rec.schedule_flag = FND_API.G_MISS_NUM
935: THEN
936: Error_Handler.Add_Error_Token
937: ( p_Message_Name => 'BOM_SUB_RES_SCHED_FLAG_MISSING'
938: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
938: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
939: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
940: , p_Token_Tbl => l_Token_Tbl
941: );
942: l_return_status := FND_API.G_RET_STS_ERROR;
943: END IF ;
944:
945: -- Added for bug 13005178, New Schedule Flag validation
946: IF p_rev_sub_resource_rec.new_schedule_flag = FND_API.G_MISS_NUM
942: l_return_status := FND_API.G_RET_STS_ERROR;
943: END IF ;
944:
945: -- Added for bug 13005178, New Schedule Flag validation
946: IF p_rev_sub_resource_rec.new_schedule_flag = FND_API.G_MISS_NUM
947: THEN
948: Error_Handler.Add_Error_Token
949: ( p_Message_Name => 'BOM_SUB_RES_SCHED_FLAG_MISSING'
950: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
950: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
951: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
952: , p_Token_Tbl => l_Token_Tbl
953: );
954: l_return_status := FND_API.G_RET_STS_ERROR;
955: END IF ;
956:
957: -- Autocharge Type
958: IF p_rev_sub_resource_rec.autocharge_type = FND_API.G_MISS_NUM
954: l_return_status := FND_API.G_RET_STS_ERROR;
955: END IF ;
956:
957: -- Autocharge Type
958: IF p_rev_sub_resource_rec.autocharge_type = FND_API.G_MISS_NUM
959: THEN
960: Error_Handler.Add_Error_Token
961: ( p_Message_Name => 'BOM_SUB_RES_ACHRG_TYPE_MISSING'
962: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
962: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
963: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
964: , p_Token_Tbl => l_Token_Tbl
965: );
966: l_return_status := FND_API.G_RET_STS_ERROR;
967: END IF ;
968:
969: END IF ;
970:
979:
980:
981: -- New Sub Resource Code
982: IF p_rev_sub_resource_rec.new_sub_resource_code IS NOT NULL
983: AND p_rev_sub_resource_rec.new_sub_resource_code <> FND_API.G_MISS_CHAR
984: AND BOM_Rtg_Globals.Get_Bo_Identifier = BOM_Rtg_Globals.G_ECO_BO
985: THEN
986: Error_Handler.Add_Error_Token
987: ( p_Message_Name => 'BOM_SUB_RES_CODE_NOTUPDATE'
988: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
989: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
990: , p_Token_Tbl => l_Token_Tbl
991: );
992: l_return_status := FND_API.G_RET_STS_ERROR;
993: END IF ;
994:
995:
996: -- Replacement Group Num
995:
996: -- Replacement Group Num
997: IF p_rev_sub_resource_rec.transaction_type = BOM_Rtg_Globals.G_OPR_CREATE
998: AND (p_rev_sub_resource_rec.replacement_group_number IS NULL
999: OR p_rev_sub_resource_rec.replacement_group_number = FND_API.G_MISS_NUM)
1000: THEN
1001: Error_Handler.Add_Error_Token
1002: ( p_Message_Name => 'BOM_SUB_RES_REPLCMNT_GNUM_NULL'
1003: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1003: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1004: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1005: , p_Token_Tbl => l_Token_Tbl
1006: );
1007: l_return_status := FND_API.G_RET_STS_ERROR ;
1008:
1009: ELSIF p_rev_sub_resource_rec.replacement_group_number IS NOT NULL AND
1010: p_rev_sub_resource_rec.replacement_group_number <> FND_API.G_MISS_NUM AND
1011: ( p_rev_sub_resource_rec.replacement_group_number < 1
1006: );
1007: l_return_status := FND_API.G_RET_STS_ERROR ;
1008:
1009: ELSIF p_rev_sub_resource_rec.replacement_group_number IS NOT NULL AND
1010: p_rev_sub_resource_rec.replacement_group_number <> FND_API.G_MISS_NUM AND
1011: ( p_rev_sub_resource_rec.replacement_group_number < 1
1012: OR p_rev_sub_resource_rec.replacement_group_number > 9999 )
1013: THEN
1014: Error_Handler.Add_Error_Token
1016: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1017: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1018: , p_Token_Tbl => l_Token_Tbl
1019: );
1020: l_return_status := FND_API.G_RET_STS_ERROR ;
1021: END IF;
1022:
1023:
1024: -- New Replacement Group Number -- bug 3741570
1022:
1023:
1024: -- New Replacement Group Number -- bug 3741570
1025: IF p_rev_sub_resource_rec.replacement_group_number IS NOT NULL
1026: AND p_rev_sub_resource_rec.replacement_group_number <> FND_API.G_MISS_NUM
1027: AND ( p_rev_sub_resource_rec.replacement_group_number < 1
1028: OR p_rev_sub_resource_rec.replacement_group_number > 9999 )
1029: THEN
1030: Error_Handler.Add_Error_Token
1032: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1033: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1034: , p_Token_Tbl => l_Token_Tbl
1035: );
1036: l_return_status := FND_API.G_RET_STS_ERROR ;
1037: END IF;
1038:
1039:
1040: -- Standard Rate Flag
1039:
1040: -- Standard Rate Flag
1041: IF p_rev_sub_resource_rec.standard_rate_flag IS NOT NULL
1042: AND p_rev_sub_resource_rec.standard_rate_flag NOT IN (1,2)
1043: AND p_rev_sub_resource_rec.standard_rate_flag <> FND_API.G_MISS_NUM
1044: THEN
1045: Error_Handler.Add_Error_Token
1046: ( p_Message_Name => 'BOM_SUB_RES_STD_RATE_INVALID'
1047: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1047: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1048: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1049: , p_Token_Tbl => l_Token_Tbl
1050: );
1051: l_return_status := FND_API.G_RET_STS_ERROR;
1052: END IF;
1053:
1054:
1055: -- Principle Flag
1054:
1055: -- Principle Flag
1056: IF p_rev_sub_resource_rec.principle_flag IS NOT NULL
1057: AND p_rev_sub_resource_rec.principle_flag NOT IN (1,2)
1058: AND p_rev_sub_resource_rec.principle_flag <> FND_API.G_MISS_NUM
1059: THEN
1060: Error_Handler.Add_Error_Token
1061: ( p_Message_Name => 'BOM_SUB_RES_PCLFLAG_INVALID'
1062: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1062: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1063: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1064: , p_Token_Tbl => l_Token_Tbl
1065: );
1066: l_return_status := FND_API.G_RET_STS_ERROR;
1067: END IF;
1068:
1069: -- Resource Offset Percent
1070: IF p_rev_sub_resource_rec.resource_offset_percent IS NOT NULL
1069: -- Resource Offset Percent
1070: IF p_rev_sub_resource_rec.resource_offset_percent IS NOT NULL
1071: AND (p_rev_sub_resource_rec.resource_offset_percent < 0
1072: OR p_rev_sub_resource_rec.resource_offset_percent > 100 )
1073: AND p_rev_sub_resource_rec.resource_offset_percent <> FND_API.G_MISS_NUM
1074: THEN
1075: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1076: THEN
1077: Error_Handler.Add_Error_Token
1080: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1081: , p_Token_Tbl => l_Token_Tbl
1082: ) ;
1083: END IF ;
1084: l_return_status := FND_API.G_RET_STS_ERROR;
1085: END IF ;
1086:
1087:
1088: -- Assigned Units
1087:
1088: -- Assigned Units
1089: IF p_rev_sub_resource_rec.assigned_units IS NOT NULL
1090: AND p_rev_sub_resource_rec.assigned_units <= 0.00001
1091: AND p_rev_sub_resource_rec.assigned_units <> FND_API.G_MISS_NUM
1092: THEN
1093: Error_Handler.Add_Error_Token
1094: ( p_Message_Name => 'BOM_SUB_RES_ASSGN_UNTS_INVALID'
1095: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1095: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1096: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1097: , p_Token_Tbl => l_Token_Tbl
1098: );
1099: l_return_status := FND_API.G_RET_STS_ERROR;
1100: END IF;
1101:
1102:
1103: -- Basis Type
1102:
1103: -- Basis Type
1104: IF p_rev_sub_resource_rec.basis_type IS NOT NULL
1105: AND p_rev_sub_resource_rec.basis_type NOT IN (1,2)
1106: AND p_rev_sub_resource_rec.basis_type <> FND_API.G_MISS_NUM
1107: THEN
1108: Error_Handler.Add_Error_Token
1109: ( p_Message_Name => 'BOM_SUB_RES_BASISTYPE_INVALID'
1110: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1110: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1111: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1112: , p_Token_Tbl => l_Token_Tbl
1113: );
1114: l_return_status := FND_API.G_RET_STS_ERROR;
1115: END IF;
1116:
1117: -- New Basis Type
1118: IF p_rev_sub_resource_rec.new_basis_type IS NOT NULL
1116:
1117: -- New Basis Type
1118: IF p_rev_sub_resource_rec.new_basis_type IS NOT NULL
1119: AND p_rev_sub_resource_rec.new_basis_type NOT IN (1,2)
1120: AND p_rev_sub_resource_rec.new_basis_type <> FND_API.G_MISS_NUM
1121: THEN
1122: Error_Handler.Add_Error_Token
1123: ( p_Message_Name => 'BOM_SUB_RES_BASISTYPE_INVALID'
1124: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1124: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1125: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1126: , p_Token_Tbl => l_Token_Tbl
1127: );
1128: l_return_status := FND_API.G_RET_STS_ERROR;
1129: END IF;
1130:
1131: -- Schedule Flag
1132: IF p_rev_sub_resource_rec.schedule_flag IS NOT NULL
1130:
1131: -- Schedule Flag
1132: IF p_rev_sub_resource_rec.schedule_flag IS NOT NULL
1133: AND p_rev_sub_resource_rec.schedule_flag NOT IN (1,2,3,4)
1134: AND p_rev_sub_resource_rec.schedule_flag <> FND_API.G_MISS_NUM
1135: THEN
1136: Error_Handler.Add_Error_Token
1137: ( p_Message_Name => 'BOM_SUB_RES_SCHED_FLAG_INVALID'
1138: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1138: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1139: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1140: , p_Token_Tbl => l_Token_Tbl
1141: );
1142: l_return_status := FND_API.G_RET_STS_ERROR;
1143: END IF ;
1144:
1145: -- Added for bug 13005178, New Schedule Flag Validation Added
1146: IF p_rev_sub_resource_rec.new_schedule_flag IS NOT NULL
1144:
1145: -- Added for bug 13005178, New Schedule Flag Validation Added
1146: IF p_rev_sub_resource_rec.new_schedule_flag IS NOT NULL
1147: AND p_rev_sub_resource_rec.new_schedule_flag NOT IN (1,2,3,4)
1148: AND p_rev_sub_resource_rec.new_schedule_flag <> FND_API.G_MISS_NUM
1149: THEN
1150: Error_Handler.Add_Error_Token
1151: ( p_Message_Name => 'BOM_SUB_RES_SCHED_FLAG_INVALID'
1152: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1152: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1153: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1154: , p_Token_Tbl => l_Token_Tbl
1155: );
1156: l_return_status := FND_API.G_RET_STS_ERROR;
1157: END IF ;
1158:
1159: -- Autocharge Type
1160: IF p_rev_sub_resource_rec.autocharge_type IS NOT NULL
1158:
1159: -- Autocharge Type
1160: IF p_rev_sub_resource_rec.autocharge_type IS NOT NULL
1161: AND p_rev_sub_resource_rec.autocharge_type NOT IN (1,2,3,4)
1162: AND p_rev_sub_resource_rec.autocharge_type <> FND_API.G_MISS_NUM
1163: THEN
1164: Error_Handler.Add_Error_Token
1165: ( p_Message_Name => 'BOM_SUB_RES_ACHRG_TYPE_INVALID'
1166: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1166: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1167: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1168: , p_Token_Tbl => l_Token_Tbl
1169: );
1170: l_return_status := FND_API.G_RET_STS_ERROR;
1171: END IF ;
1172:
1173:
1174: -- ACD Type
1186: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1187: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1188: , p_Token_Tbl => l_Token_Tbl
1189: );
1190: l_return_status := FND_API.G_RET_STS_ERROR ;
1191: END IF ;
1192:
1193: -- Schedule Sequence Number
1194: IF (p_rev_sub_resource_rec.transaction_type = BOM_Rtg_Globals.G_OPR_CREATE
1193: -- Schedule Sequence Number
1194: IF (p_rev_sub_resource_rec.transaction_type = BOM_Rtg_Globals.G_OPR_CREATE
1195: AND p_rev_sub_resource_rec.schedule_sequence_number IS NULL)
1196: OR (p_rev_sub_resource_rec.transaction_type = BOM_Rtg_Globals.G_OPR_UPDATE
1197: AND p_rev_sub_resource_rec.schedule_sequence_number = FND_API.G_MISS_NUM)
1198: OR p_rev_sub_resource_rec.schedule_sequence_number = 0
1199: THEN
1200: Error_Handler.Add_Error_Token
1201: ( p_Message_Name => 'BOM_SSN_ZERO_VALUE'
1202: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1203: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1204: --, p_Token_Tbl => l_Token_Tbl
1205: );
1206: l_return_status := FND_API.G_RET_STS_ERROR ;
1207: END IF;
1208:
1209: -- Done validating attributes
1210: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1232: , x_mesg_token_tbl => l_mesg_token_tbl
1233: ) ;
1234:
1235: -- Return the status and message table.
1236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1237: x_mesg_token_tbl := l_mesg_token_tbl ;
1238:
1239:
1240: END Check_Attributes ;
1426: --
1427:
1428: l_rev_sub_resource_rec := p_rev_sub_resource_rec ;
1429: l_rev_sub_res_unexp_rec := p_rev_sub_res_unexp_rec ;
1430: l_return_status := FND_API.G_RET_STS_SUCCESS;
1431: x_return_status := FND_API.G_RET_STS_SUCCESS;
1432:
1433: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1434: ('Performing Sub Op Resource Check Entitity Validation . . .') ;
1427:
1428: l_rev_sub_resource_rec := p_rev_sub_resource_rec ;
1429: l_rev_sub_res_unexp_rec := p_rev_sub_res_unexp_rec ;
1430: l_return_status := FND_API.G_RET_STS_SUCCESS;
1431: x_return_status := FND_API.G_RET_STS_SUCCESS;
1432:
1433: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1434: ('Performing Sub Op Resource Check Entitity Validation . . .') ;
1435: END IF ;
1508: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1509: , p_token_tbl => l_token_tbl
1510: ) ;
1511: l_token_tbl.delete(3) ;
1512: l_return_status := FND_API.G_RET_STS_ERROR ;
1513: END LOOP ;
1514: END IF ;
1515:
1516:
1539: , p_token_tbl => l_token_tbl
1540: ) ;
1541:
1542: l_token_tbl.delete(3) ;
1543: l_return_status := FND_API.G_RET_STS_ERROR ;
1544: END IF ;
1545: END IF ;
1546:
1547:
1559: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1560: , p_token_tbl => l_token_tbl
1561: ) ;
1562: END IF ;
1563: l_return_status := FND_API.G_RET_STS_ERROR ;
1564: END IF ;
1565:
1566:
1567: --
1590: , p_mesg_token_tbl => l_Mesg_Token_Tbl
1591: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1592: , p_token_tbl => l_token_tbl
1593: );
1594: l_return_status := FND_API.G_RET_STS_ERROR;
1595:
1596: l_Token_Tbl(1).token_name := 'SUB_RESOURCE_CODE';
1597: l_Token_Tbl(1).token_value :=
1598: p_rev_sub_resource_rec.sub_resource_code ;
1619: -- APS Enhancement for Routings.
1620: -- Verify that if a resource has setups defined, or is Batchable then
1621: -- the Assigned Units for that Resource have to be 1.
1622: --
1623: IF p_rev_sub_resource_rec.assigned_units <> FND_API.G_MISS_NUM THEN
1624: OPEN get_setups (p_rev_sub_res_unexp_rec.resource_id, p_rev_sub_res_unexp_rec.organization_id);
1625: FETCH get_setups INTO l_get_setups;
1626: CLOSE get_setups;
1627: SELECT nvl(batchable,2) INTO l_batchable
1637: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1638: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1639: , p_Token_Tbl => l_Token_Tbl
1640: );
1641: l_return_status := FND_API.G_RET_STS_ERROR ;
1642: END IF;
1643: END IF;
1644: END IF;
1645: END IF;
1699: , x_return_status => l_temp_status
1700: ) ;
1701:
1702:
1703: IF l_temp_status = FND_API.G_RET_STS_ERROR
1704: THEN
1705: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1706: THEN
1707: Error_Handler.Add_Error_Token
1711: , p_Token_Tbl => l_Token_Tbl
1712: ) ;
1713: END IF ;
1714:
1715: l_return_status := FND_API.G_RET_STS_ERROR ;
1716:
1717: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1718: ('Check if Resource is enabled. . . . ' || l_return_status) ;
1719: END IF ;
1771: , p_Token_Tbl => l_Token_Tbl
1772: ) ;
1773: END IF ;
1774:
1775: l_return_status := FND_API.G_RET_STS_ERROR ;
1776:
1777: l_Token_Tbl(1).token_name := 'SUB_RESOURCE_CODE';
1778: l_Token_Tbl(1).token_value :=
1779: p_rev_sub_resource_rec.sub_resource_code ;
1815: , p_Token_Tbl => l_Token_Tbl
1816: ) ;
1817: END IF ;
1818:
1819: l_return_status := FND_API.G_RET_STS_ERROR ;
1820:
1821: l_Token_Tbl(1).token_name := 'SUB_RESOURCE_CODE';
1822: l_Token_Tbl(1).token_value := p_rev_sub_resource_rec.sub_resource_code ;
1823:
1835: G_PKG_NAME
1836: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1837: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1838: );
1839: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1840: END IF;
1841:
1842: END IF ;
1843:
1853: -- BOM_Validate_Op_Res.Val_Activity_Id
1854: --
1855: IF ( ( NVL(l_rev_sub_resource_rec.acd_type,l_ACD_ADD) = l_ACD_ADD
1856: AND l_rev_sub_resource_rec.transaction_type = BOM_Rtg_Globals.G_OPR_CREATE )
1857: OR NVL(l_rev_sub_res_unexp_rec.activity_id, FND_API.G_MISS_NUM)
1858: <> NVL(p_old_rev_sub_res_unexp_rec.activity_id, FND_API.G_MISS_NUM)
1859: )
1860: AND ( l_rev_sub_res_unexp_rec.activity_id IS NOT NULL AND
1861: l_rev_sub_res_unexp_rec.activity_id <> FND_API.G_MISS_NUM )
1854: --
1855: IF ( ( NVL(l_rev_sub_resource_rec.acd_type,l_ACD_ADD) = l_ACD_ADD
1856: AND l_rev_sub_resource_rec.transaction_type = BOM_Rtg_Globals.G_OPR_CREATE )
1857: OR NVL(l_rev_sub_res_unexp_rec.activity_id, FND_API.G_MISS_NUM)
1858: <> NVL(p_old_rev_sub_res_unexp_rec.activity_id, FND_API.G_MISS_NUM)
1859: )
1860: AND ( l_rev_sub_res_unexp_rec.activity_id IS NOT NULL AND
1861: l_rev_sub_res_unexp_rec.activity_id <> FND_API.G_MISS_NUM )
1862: THEN
1857: OR NVL(l_rev_sub_res_unexp_rec.activity_id, FND_API.G_MISS_NUM)
1858: <> NVL(p_old_rev_sub_res_unexp_rec.activity_id, FND_API.G_MISS_NUM)
1859: )
1860: AND ( l_rev_sub_res_unexp_rec.activity_id IS NOT NULL AND
1861: l_rev_sub_res_unexp_rec.activity_id <> FND_API.G_MISS_NUM )
1862: THEN
1863:
1864: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1865: ('Activity_Id : ' || to_char(l_rev_sub_res_unexp_rec.activity_id)) ;
1873: , x_return_status => l_temp_status
1874: ) ;
1875:
1876:
1877: IF l_temp_status = FND_API.G_RET_STS_ERROR
1878: THEN
1879: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1880: THEN
1881: Error_Handler.Add_Error_Token
1885: , p_Token_Tbl => l_Token_Tbl
1886: ) ;
1887: END IF ;
1888:
1889: l_return_status := FND_API.G_RET_STS_ERROR ;
1890:
1891: END IF ;
1892:
1893: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1903: -- BOM_Validate_Op_Res.Val_Activity_Id
1904: --
1905: IF ( ( NVL(l_rev_sub_resource_rec.acd_type,l_ACD_ADD) = l_ACD_ADD
1906: AND l_rev_sub_resource_rec.transaction_type = BOM_Rtg_Globals.G_OPR_CREATE )
1907: OR NVL(l_rev_sub_res_unexp_rec.setup_Id , FND_API.G_MISS_NUM)
1908: <> NVL(p_old_rev_sub_res_unexp_rec.setup_id, FND_API.G_MISS_NUM)
1909: )
1910: AND ( l_rev_sub_res_unexp_rec.setup_id IS NOT NULL AND
1911: l_rev_sub_res_unexp_rec.setup_Id <> FND_API.G_MISS_NUM )
1904: --
1905: IF ( ( NVL(l_rev_sub_resource_rec.acd_type,l_ACD_ADD) = l_ACD_ADD
1906: AND l_rev_sub_resource_rec.transaction_type = BOM_Rtg_Globals.G_OPR_CREATE )
1907: OR NVL(l_rev_sub_res_unexp_rec.setup_Id , FND_API.G_MISS_NUM)
1908: <> NVL(p_old_rev_sub_res_unexp_rec.setup_id, FND_API.G_MISS_NUM)
1909: )
1910: AND ( l_rev_sub_res_unexp_rec.setup_id IS NOT NULL AND
1911: l_rev_sub_res_unexp_rec.setup_Id <> FND_API.G_MISS_NUM )
1912: THEN
1907: OR NVL(l_rev_sub_res_unexp_rec.setup_Id , FND_API.G_MISS_NUM)
1908: <> NVL(p_old_rev_sub_res_unexp_rec.setup_id, FND_API.G_MISS_NUM)
1909: )
1910: AND ( l_rev_sub_res_unexp_rec.setup_id IS NOT NULL AND
1911: l_rev_sub_res_unexp_rec.setup_Id <> FND_API.G_MISS_NUM )
1912: THEN
1913:
1914: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1915: ('Setup_Id : ' || to_char(l_rev_sub_res_unexp_rec.setup_id )) ;
1925: , x_return_status => l_temp_status
1926: ) ;
1927:
1928:
1929: IF l_temp_status = FND_API.G_RET_STS_ERROR
1930: THEN
1931: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
1932: THEN
1933:
1944: ) ;
1945: END IF ;
1946:
1947: l_token_tbl.delete(3) ;
1948: l_return_status := FND_API.G_RET_STS_ERROR ;
1949:
1950: END IF ;
1951:
1952: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1994: , p_res_uom_code => l_res_uom_code
1995: , x_return_status => l_temp_status
1996: ) ;
1997:
1998: IF l_temp_status = FND_API.G_RET_STS_ERROR
1999: THEN
2000: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2001: THEN
2002: Error_Handler.Add_Error_Token
2006: , p_Token_Tbl => l_Token_Tbl
2007: ) ;
2008: END IF ;
2009:
2010: l_return_status := FND_API.G_RET_STS_ERROR ;
2011:
2012: END IF ;
2013:
2014: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2046: ) ;
2047: */
2048:
2049:
2050: IF l_temp_status = FND_API.G_RET_STS_ERROR
2051: THEN
2052: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2053: THEN
2054: Error_Handler.Add_Error_Token
2058: , p_Token_Tbl => l_Token_Tbl
2059: ) ;
2060: END IF ;
2061:
2062: l_return_status := FND_API.G_RET_STS_ERROR ;
2063:
2064: END IF ;
2065:
2066: ELSIF p_rev_sub_resource_rec.schedule_flag = l_NEXT -- 4: Next
2076: , x_return_status => l_temp_status
2077: ) ;
2078: */
2079:
2080: IF l_temp_status = FND_API.G_RET_STS_ERROR
2081: THEN
2082: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2083: THEN
2084: Error_Handler.Add_Error_Token
2088: , p_Token_Tbl => l_Token_Tbl
2089: ) ;
2090: END IF ;
2091:
2092: l_return_status := FND_API.G_RET_STS_ERROR ;
2093:
2094: END IF ;
2095:
2096: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2119: ( p_op_seq_id => l_rev_sub_res_unexp_rec.operation_sequence_id
2120: , x_return_status => l_temp_status
2121: ) ;
2122:
2123: IF l_temp_status = FND_API.G_RET_STS_ERROR
2124: THEN
2125: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2126: THEN
2127: Error_Handler.Add_Error_Token
2131: , p_Token_Tbl => l_Token_Tbl
2132: ) ;
2133: END IF ;
2134:
2135: l_return_status := FND_API.G_RET_STS_ERROR ;
2136:
2137: END IF ;
2138:
2139: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2164: , x_return_status => l_temp_status
2165: ) ;
2166:
2167:
2168: IF l_temp_status = FND_API.G_RET_STS_ERROR
2169: THEN
2170: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2171: THEN
2172: Error_Handler.Add_Error_Token
2176: , p_Token_Tbl => l_Token_Tbl
2177: ) ;
2178: END IF ;
2179:
2180: l_return_status := FND_API.G_RET_STS_ERROR ;
2181:
2182: END IF ;
2183:
2184: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2209: , x_return_status => l_temp_status
2210: ) ;
2211: */
2212:
2213: IF l_temp_status = FND_API.G_RET_STS_ERROR
2214: THEN
2215:
2216: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2217: THEN
2222: , p_Token_Tbl => l_Token_Tbl
2223: ) ;
2224: END IF ;
2225:
2226: l_return_status := FND_API.G_RET_STS_ERROR ;
2227: END IF ;
2228:
2229: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2230: ('Check if Autocharge Type is enabled. . . . ' || l_return_status) ;
2255: , x_return_status => l_temp_status
2256: ) ;
2257:
2258:
2259: IF l_temp_status = FND_API.G_RET_STS_ERROR
2260: THEN
2261: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2262: THEN
2263: Error_Handler.Add_Error_Token
2267: , p_Token_Tbl => l_Token_Tbl
2268: ) ;
2269: END IF ;
2270:
2271: l_return_status := FND_API.G_RET_STS_ERROR ;
2272:
2273: END IF ;
2274:
2275: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2324: , x_return_status => l_temp_status
2325: ) ;
2326:
2327:
2328: IF l_temp_status = FND_API.G_RET_STS_ERROR
2329: THEN
2330: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2331: THEN
2332: Error_Handler.Add_Error_Token
2336: , p_Token_Tbl => l_Token_Tbl
2337: ) ;
2338: END IF ;
2339:
2340: l_return_status := FND_API.G_RET_STS_ERROR ;
2341:
2342: END IF ;
2343:
2344: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2377: , x_return_status => l_temp_status
2378: ) ;
2379:
2380:
2381: IF l_temp_status = FND_API.G_RET_STS_ERROR
2382: THEN
2383: -- dbms_output.put_line('found error in principal flag for sub resources');
2384: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2385: THEN
2390: , p_Token_Tbl => l_Token_Tbl
2391: ) ;
2392: END IF ;
2393:
2394: l_return_status := FND_API.G_RET_STS_ERROR ;
2395:
2396: END IF ;
2397:
2398: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2413: OR l_rev_sub_resource_rec.schedule_sequence_number <> p_old_rev_sub_resource_rec.schedule_sequence_number
2414: OR l_rev_sub_resource_rec.schedule_flag <> p_old_rev_sub_resource_rec.schedule_flag
2415: )
2416: THEN
2417: l_res_id := FND_API.G_MISS_NUM;
2418:
2419: Val_Schedule_Flag
2420: ( p_op_seq_id => l_rev_sub_res_unexp_rec.operation_sequence_id
2421: , p_res_seq_num => null
2428: , p_ret_res_id => l_res_id
2429: , x_return_status => l_temp_status
2430: );
2431:
2432: IF l_temp_status = FND_API.G_RET_STS_ERROR THEN
2433: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2434: If (l_rev_sub_resource_rec.sub_resource_code is not null) Then
2435: l_res_code := l_rev_sub_resource_rec.sub_resource_code;
2436: Else
2456: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2457: , p_Token_Tbl => l_Token_Tbl
2458: );
2459: END IF; /* end of check_msg_level */
2460: l_return_status := FND_API.G_RET_STS_ERROR ;
2461: END IF; /* end of l_temp_status */
2462: END IF; /* end of validation on resource and ssn*/
2463: /*End of fix for bug 6074930 */
2464:
2503: , x_mesg_token_tbl => l_mesg_token_tbl
2504: ) ;
2505:
2506: -- Return the status and message table.
2507: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2508: x_mesg_token_tbl := l_mesg_token_tbl ;
2509: END Check_Entity ;
2510:
2511: END BOM_Validate_Sub_Op_Res ;