64: , p_operation_seq_num IN NUMBER := NULL
65: , p_operation_type IN NUMBER := NULL
66: , p_rev_sub_resource_tbl IN Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type
67: , x_rev_sub_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type
68: , x_mesg_token_tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
69: , x_return_status OUT NOCOPY VARCHAR2
70: )
71:
72: IS
90: l_old_rev_sub_resource_rec Bom_Rtg_Pub.Rev_Sub_Resource_rec_Type;
91: l_old_rev_sub_res_unexp_rec Bom_Rtg_Pub.Rev_Sub_Res_Unexposed_Rec_Type;
92:
93: /* Error Handling Variables */
94: l_token_tbl Error_Handler.Token_Tbl_Type ;
95: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
96: l_other_token_tbl Error_Handler.Token_Tbl_Type;
97: l_other_message VARCHAR2(2000);
98: l_err_text VARCHAR2(2000);
91: l_old_rev_sub_res_unexp_rec Bom_Rtg_Pub.Rev_Sub_Res_Unexposed_Rec_Type;
92:
93: /* Error Handling Variables */
94: l_token_tbl Error_Handler.Token_Tbl_Type ;
95: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
96: l_other_token_tbl Error_Handler.Token_Tbl_Type;
97: l_other_message VARCHAR2(2000);
98: l_err_text VARCHAR2(2000);
99:
92:
93: /* Error Handling Variables */
94: l_token_tbl Error_Handler.Token_Tbl_Type ;
95: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
96: l_other_token_tbl Error_Handler.Token_Tbl_Type;
97: l_other_message VARCHAR2(2000);
98: l_err_text VARCHAR2(2000);
99:
100:
105: l_rtg_parent_exists BOOLEAN := FALSE;
106: l_process_children BOOLEAN := TRUE;
107: l_valid BOOLEAN := TRUE;
108:
109: /* Error handler definations */
110: EXC_SEV_QUIT_RECORD EXCEPTION ;
111: EXC_SEV_QUIT_BRANCH EXCEPTION ;
112: EXC_UNEXP_SKIP_OBJECT EXCEPTION ;
113: EXC_SEV_QUIT_SIBLINGS EXCEPTION ;
259: , x_mesg_token_tbl => l_mesg_token_tbl
260: , x_return_status => l_return_status
261: ) ;
262:
263: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
264: ('Convert to User Unique Index to Index1 completed with return_status: ' || l_return_status) ;
265: END IF;
266:
267: IF l_return_status = Error_Handler.G_STATUS_ERROR
263: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
264: ('Convert to User Unique Index to Index1 completed with return_status: ' || l_return_status) ;
265: END IF;
266:
267: IF l_return_status = Error_Handler.G_STATUS_ERROR
268: THEN
269: l_other_message := 'BOM_SUB_RES_UUI_SEV_ERROR';
270: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
271: l_other_token_tbl(1).token_value :=
274: l_other_token_tbl(2).token_value :=
275: l_rev_sub_resource_rec.schedule_sequence_number ;
276: RAISE EXC_SEV_QUIT_BRANCH ;
277:
278: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
279: THEN
280: l_other_message := 'BOM_SUB_RES_UUI_UNEXP_SKIP';
281: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
282: l_other_token_tbl(1).token_value :=
309: , x_other_token_tbl => l_other_token_tbl
310: , x_Return_Status => l_return_status
311: ) ;
312:
313: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
314: ('Convert to User Unique Index to Index1 for Rtg and Rev Item Seq completed with return_status: ' || l_return_status) ;
315: END IF;
316:
317: IF l_return_status = Error_Handler.G_STATUS_ERROR
313: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
314: ('Convert to User Unique Index to Index1 for Rtg and Rev Item Seq completed with return_status: ' || l_return_status) ;
315: END IF;
316:
317: IF l_return_status = Error_Handler.G_STATUS_ERROR
318: THEN
319: l_other_message := 'BOM_SUB_RES_UUI_SEV_ERROR';
320: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
321: l_other_token_tbl(1).token_value :=
324: l_other_token_tbl(2).token_value :=
325: l_rev_sub_resource_rec.schedule_sequence_number ;
326: RAISE EXC_SEV_QUIT_BRANCH ;
327:
328: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
329: THEN
330: l_other_message := 'BOM_SUB_RES_UUI_UNEXP_SKIP';
331: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
332: l_other_token_tbl(1).token_value :=
355: , x_other_token_tbl => l_other_token_tbl
356: , x_return_status => l_return_status
357: ) ;
358:
359: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
360: ('Convert to User Unique Index to Index2 completed with return_status: ' || l_return_status) ;
361: END IF;
362:
363: IF l_return_status = Error_Handler.G_STATUS_ERROR
359: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
360: ('Convert to User Unique Index to Index2 completed with return_status: ' || l_return_status) ;
361: END IF;
362:
363: IF l_return_status = Error_Handler.G_STATUS_ERROR
364: THEN
365: RAISE EXC_SEV_QUIT_SIBLINGS ;
366: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
367: THEN
362:
363: IF l_return_status = Error_Handler.G_STATUS_ERROR
364: THEN
365: RAISE EXC_SEV_QUIT_SIBLINGS ;
366: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
367: THEN
368: l_other_message := 'BOM_SUB_RES_UUI_UNEXP_SKIP';
369: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
370: l_other_token_tbl(1).token_value :=
391: , x_return_status => l_return_status
392: ) ;
393:
394:
395: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
396: ('Check Existence completed with return_status: ' || l_return_status) ;
397: END IF ;
398:
399: IF l_return_status = Error_Handler.G_STATUS_ERROR
395: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
396: ('Check Existence completed with return_status: ' || l_return_status) ;
397: END IF ;
398:
399: IF l_return_status = Error_Handler.G_STATUS_ERROR
400: THEN
401: l_other_message := 'BOM_SUB_RES_EXS_SEV_SKIP';
402: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
403: l_other_token_tbl(1).token_value :=
408: -- l_other_token_tbl(3).token_name := 'REVISED_ITEM_NAME';
409: -- l_other_token_tbl(3).token_value :=
410: -- l_rev_sub_resource_rec.revised_item_name ;
411: RAISE EXC_SEV_QUIT_BRANCH;
412: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
413: THEN
414: l_other_message := 'BOM_SUB_RES_EXS_UNEXP_SKIP';
415: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
416: l_other_token_tbl(1).token_value :=
434:
435: --
436: -- Process Flow step 7: Check lineage
437: --
438: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check lineage'); END IF;
439: BOM_Validate_Op_Seq.Check_Lineage
440: ( p_routing_sequence_id =>
441: l_rev_sub_res_unexp_rec.routing_sequence_id
442: , p_operation_sequence_number =>
450: , x_mesg_token_tbl => l_mesg_token_tbl
451: , x_return_status => l_return_status
452: ) ;
453:
454: IF l_return_status = Error_Handler.G_STATUS_ERROR
455: THEN
456:
457: l_Token_Tbl(1).token_name := 'SUB_RESOURCE_CODE';
458: l_Token_Tbl(1).token_value := l_rev_sub_resource_rec.sub_resource_code ;
462: l_Token_Tbl(3).token_value := l_rev_sub_resource_rec.operation_sequence_number ;
463: l_Token_Tbl(4).token_name := 'REVISED_ITEM_NAME' ;
464: l_Token_Tbl(4).token_value := l_rev_sub_resource_rec.revised_item_name;
465:
466: Error_Handler.Add_Error_Token
467: ( p_Message_Name => 'BOM_SUB_RES_REV_ITEM_MISMATCH'
468: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
469: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
470: , p_Token_Tbl => l_Token_Tbl
480: l_rev_sub_resource_rec.schedule_sequence_number ;
481:
482: RAISE EXC_SEV_QUIT_BRANCH;
483:
484: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
485: THEN
486: l_other_message := 'BOM_SUB_RES_LIN_UNEXP_SKIP';
487: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
488: l_other_token_tbl(1).token_value :=
495:
496: -- Process Flow step 8(a and b): Is ECO impl/cancl, or in wkflw process ?
497: --
498:
499: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check ECO access'); END IF;
500:
501: ENG_Validate_ECO.Check_Access
502: ( p_change_notice => l_rev_sub_resource_rec.ECO_Name
503: , p_organization_id => l_rev_sub_res_unexp_rec.organization_id
505: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
506: , x_Return_Status => l_return_status
507: );
508:
509: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
510:
511: IF l_return_status = Error_Handler.G_STATUS_ERROR
512: THEN
513: l_other_message := 'BOM_SUB_RES_ECOACC_FAT_FATAL';
507: );
508:
509: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
510:
511: IF l_return_status = Error_Handler.G_STATUS_ERROR
512: THEN
513: l_other_message := 'BOM_SUB_RES_ECOACC_FAT_FATAL';
514: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
515: l_other_token_tbl(1).token_value :=
518: l_other_token_tbl(2).token_value :=
519: l_rev_sub_resource_rec.schedule_sequence_number ;
520: l_return_status := 'F';
521: RAISE EXC_FAT_QUIT_OBJECT;
522: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
523: THEN
524: l_other_message := 'BOM_SUB_RES_ECOACC_UNEXP_SKIP';
525: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
526: l_other_token_tbl(1).token_value :=
533:
534: -- Process Flow step 9(a and b): check that user has access to revised item
535: --
536:
537: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check Revised item access'); END IF;
538: ENG_Validate_Revised_Item.Check_Access
539: ( p_change_notice => l_rev_sub_resource_rec.ECO_Name
540: , p_organization_id => l_rev_sub_res_unexp_rec.organization_id
541: , p_revised_item_id => l_rev_sub_res_unexp_rec.revised_item_id
554: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
555: , x_return_status => l_Return_Status
556: );
557:
558: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
559:
560: IF l_return_status = Error_Handler.G_STATUS_ERROR
561: THEN
562: l_other_message := 'BOM_SUB_RES_RITACC_FAT_FATAL';
556: );
557:
558: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
559:
560: IF l_return_status = Error_Handler.G_STATUS_ERROR
561: THEN
562: l_other_message := 'BOM_SUB_RES_RITACC_FAT_FATAL';
563: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
564: l_other_token_tbl(1).token_value :=
567: l_other_token_tbl(2).token_value :=
568: l_rev_sub_resource_rec.schedule_sequence_number ;
569: l_return_status := 'F';
570: RAISE EXC_FAT_QUIT_SIBLINGS;
571: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
572: THEN
573: l_other_message := 'BOM_SUB_RES_RITACC_UNEXP_SKIP';
574: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
575: l_other_token_tbl(1).token_value :=
584: -- Process Flow step 10(b) : Check that user has access to revised
585: -- operation
586: -- BOM_Validate_Op_Seq.Check_Access
587:
588: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check Operation sequence item access'); END IF;
589: BOM_Validate_Op_Seq.Check_Access
590: ( p_change_notice => l_rev_sub_resource_rec.ECO_Name
591: , p_organization_id => l_rev_sub_res_unexp_rec.organization_id
592: , p_revised_item_id => l_rev_sub_res_unexp_rec.revised_item_id
612: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
613: , x_return_status => l_Return_Status
614: );
615:
616: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
617:
618: IF l_return_status = Error_Handler.G_STATUS_ERROR
619: THEN
620: l_other_message := 'BOM_SUB_RES_ACCESS_FAT_FATAL';
614: );
615:
616: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
617:
618: IF l_return_status = Error_Handler.G_STATUS_ERROR
619: THEN
620: l_other_message := 'BOM_SUB_RES_ACCESS_FAT_FATAL';
621: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
622: l_other_token_tbl(1).token_value :=
625: l_other_token_tbl(2).token_value :=
626: l_rev_sub_resource_rec.schedule_sequence_number ;
627: l_return_status := 'F';
628: RAISE EXC_FAT_QUIT_OBJECT;
629: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
630: THEN
631: l_other_message := 'BOM_SUB_RES_ACCESS_UNEXP_SKIP';
632: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
633: l_other_token_tbl(1).token_value :=
653: , x_mesg_token_tbl => l_mesg_token_tbl
654: , x_return_status => l_return_status
655: ) ;
656:
657: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
658: ('Check non-ref operation completed with return_status: '
659: || l_return_status) ;
660: END IF;
661:
658: ('Check non-ref operation completed with return_status: '
659: || l_return_status) ;
660: END IF;
661:
662: IF l_return_status = Error_Handler.G_STATUS_ERROR
663: THEN
664: IF l_rev_sub_resource_rec.operation_type IN (2, 3) -- Process or Line Op
665: THEN
666:
673: l_token_tbl(3).token_name := 'OP_SEQ_NUMBER';
674: l_token_tbl(3).token_value :=
675: l_rev_sub_resource_rec.operation_sequence_number ;
676:
677: Error_Handler.Add_Error_Token
678: ( p_Message_Name => 'BOM_SUB_RES_OPTYPE_NOT_EVENT'
679: , p_mesg_token_tbl => l_mesg_token_tbl
680: , x_mesg_token_tbl => l_mesg_token_tbl
681: , p_Token_Tbl => l_token_tbl
691: l_token_tbl(3).token_name := 'OP_SEQ_NUMBER';
692: l_token_tbl(3).token_value :=
693: l_rev_sub_resource_rec.operation_sequence_number ;
694:
695: Error_Handler.Add_Error_Token
696: ( p_Message_Name => 'BOM_SUB_RES_MUST_NONREF'
697: , p_mesg_token_tbl => l_mesg_token_tbl
698: , x_mesg_token_tbl => l_mesg_token_tbl
699: , p_Token_Tbl => l_token_tbl
711: l_rev_sub_resource_rec.schedule_sequence_number ;
712:
713: RAISE EXC_FAT_QUIT_SIBLINGS ;
714:
715: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
716: THEN
717: l_other_message := 'BOM_SUB_RES_ACCESS_UNEXP_SKIP';
718: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
719: l_other_token_tbl(1).token_value :=
737: , x_mesg_token_tbl => l_mesg_token_tbl
738: , x_return_status => l_return_status
739: );
740:
741: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
742: ('Value-id conversions completed with return_status: ' || l_return_status) ;
743: END IF ;
744:
745: IF l_return_status = Error_Handler.G_STATUS_ERROR
741: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
742: ('Value-id conversions completed with return_status: ' || l_return_status) ;
743: END IF ;
744:
745: IF l_return_status = Error_Handler.G_STATUS_ERROR
746: THEN
747: IF l_rev_sub_resource_rec.transaction_type = 'CREATE'
748: THEN
749: l_other_message := 'BOM_SUB_RES_VID_CSEV_SKIP';
757: ELSE
758: RAISE EXC_SEV_QUIT_RECORD ;
759: END IF ;
760:
761: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
762: THEN
763: l_other_message := 'BOM_SUB_RES_VID_UNEXP_SKIP';
764: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
765: l_other_token_tbl(1).token_value :=
770: RAISE EXC_UNEXP_SKIP_OBJECT;
771:
772: ELSIF l_return_status ='S' AND l_mesg_token_tbl.COUNT <> 0
773: THEN
774: ECO_Error_Handler.Log_Error
775: (
776: p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
777: , p_mesg_token_tbl => l_mesg_token_tbl
778: , p_error_status => 'W'
775: (
776: p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
777: , p_mesg_token_tbl => l_mesg_token_tbl
778: , p_error_status => 'W'
779: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
780: , p_entity_index => I
781: , x_eco_rec => l_ECO_rec
782: , x_eco_revision_tbl => l_eco_revision_tbl
783: , x_revised_item_tbl => l_revised_item_tbl
813: , x_return_status => l_return_status
814: , x_mesg_token_tbl => l_mesg_token_tbl
815: ) ;
816:
817: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
818: ('Attribute validation completed with return_status: ' ||
819: l_return_status) ;
820: END IF ;
821:
818: ('Attribute validation completed with return_status: ' ||
819: l_return_status) ;
820: END IF ;
821:
822: IF l_return_status = Error_Handler.G_STATUS_ERROR
823: THEN
824: IF l_rev_sub_resource_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
825: THEN
826: l_other_message := 'BOM_SUB_RES_ATTVAL_CSEV_SKIP';
833: RAISE EXC_SEV_SKIP_BRANCH ;
834: ELSE
835: RAISE EXC_SEV_QUIT_RECORD ;
836: END IF;
837: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
838: THEN
839: l_other_message := 'BOM_SUB_RES_ATTVAL_UNEXP_SKIP';
840: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
841: l_other_token_tbl(1).token_value :=
845: l_rev_sub_resource_rec.schedule_sequence_number ;
846: RAISE EXC_UNEXP_SKIP_OBJECT ;
847: ELSIF l_return_status ='S' AND l_mesg_token_tbl.COUNT <> 0
848: THEN
849: ECO_Error_Handler.Log_Error
850: (
851: p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
852: , p_mesg_token_tbl => l_mesg_token_tbl
853: , p_error_status => 'W'
850: (
851: p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
852: , p_mesg_token_tbl => l_mesg_token_tbl
853: , p_error_status => 'W'
854: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
855: , p_entity_index => I
856: , x_eco_rec => l_ECO_rec
857: , x_eco_revision_tbl => l_eco_revision_tbl
858: , x_revised_item_tbl => l_revised_item_tbl
874: -- Process flow step 16: Populate NULL columns for Update and Delete
875: -- Call Bom_Default_Op_Res.Populate_Null_Columns
876: --
877:
878: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populate NULL columns') ;
879: END IF ;
880:
881: Bom_Default_Sub_Op_Res.Populate_Null_Columns
882: ( p_rev_sub_resource_rec => l_rev_sub_resource_rec
894: -- Process Flow step 18 : Default missing values for Sub Op Resource (CREATE)
895: -- Call Bom_Default_Op_Res.Attribute_Defaulting
896: --
897:
898: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting') ;
899: END IF ;
900:
901: Bom_Default_Sub_Op_Res.Attribute_Defaulting
902: ( p_rev_sub_resource_rec => l_rev_sub_resource_rec
908: , x_return_status => l_return_status
909: ) ;
910:
911:
912: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
913: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
914: END IF ;
915:
916: IF l_return_status = Error_Handler.G_STATUS_ERROR
912: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
913: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
914: END IF ;
915:
916: IF l_return_status = Error_Handler.G_STATUS_ERROR
917: THEN
918: l_other_message := 'BOM_SUB_RES_ATTDEF_CSEV_SKIP';
919: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
920: l_other_token_tbl(1).token_value:=
923: l_other_token_tbl(2).token_value:=
924: l_rev_sub_resource_rec.schedule_sequence_number ;
925: RAISE EXC_SEV_SKIP_BRANCH ;
926:
927: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
928: THEN
929: l_other_message := 'BOM_SUB_RES_ATTDEF_UNEXP_SKIP';
930: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
931: l_other_token_tbl(1).token_value:=
935: l_rev_sub_resource_rec.schedule_sequence_number;
936: RAISE EXC_UNEXP_SKIP_OBJECT ;
937: ELSIF l_return_status ='S' AND l_mesg_token_tbl.COUNT <> 0
938: THEN
939: ECO_Error_Handler.Log_Error
940: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
941: , p_mesg_token_tbl => l_mesg_token_tbl
942: , p_error_status => 'W'
943: , p_error_level => Error_Handler.G_SR_LEVEL
939: ECO_Error_Handler.Log_Error
940: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
941: , p_mesg_token_tbl => l_mesg_token_tbl
942: , p_error_status => 'W'
943: , p_error_level => Error_Handler.G_SR_LEVEL
944: , p_entity_index => I
945: , x_ECO_rec => l_ECO_rec
946: , x_eco_revision_tbl => l_eco_revision_tbl
947: , x_revised_item_tbl => l_revised_item_tbl
964: -- Process Flow step 18: Entity defaulting for CREATE and UPDATE
965: --
966:
967:
968: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting') ;
969: END IF ;
970: IF l_rev_sub_resource_rec.transaction_type IN ( Bom_Rtg_Globals.G_OPR_CREATE
971: , Bom_Rtg_Globals.G_OPR_UPDATE )
972: THEN
979: , x_mesg_token_tbl => l_mesg_token_tbl
980: , x_return_status => l_return_status
981: ) ;
982:
983: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
984: ('Entity defaulting completed with return_status: ' || l_return_status) ;
985: END IF ;
986:
987: IF l_return_status = Error_Handler.G_STATUS_ERROR
983: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
984: ('Entity defaulting completed with return_status: ' || l_return_status) ;
985: END IF ;
986:
987: IF l_return_status = Error_Handler.G_STATUS_ERROR
988: THEN
989: IF l_rev_sub_resource_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
990: THEN
991: l_other_message := 'BOM_SUB_RES_ENTDEF_CSEV_SKIP';
998: RAISE EXC_SEV_SKIP_BRANCH ;
999: ELSE
1000: RAISE EXC_SEV_QUIT_RECORD ;
1001: END IF;
1002: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1003: THEN
1004: l_other_message := 'BOM_SUB_RES_ENTDEF_UNEXP_SKIP';
1005: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
1006: l_other_token_tbl(1).token_value :=
1010: l_rev_sub_resource_rec.schedule_sequence_number ;
1011: RAISE EXC_UNEXP_SKIP_OBJECT ;
1012: ELSIF l_return_status ='S' AND l_mesg_token_tbl.COUNT <> 0
1013: THEN
1014: ECO_Error_Handler.Log_Error
1015: ( p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
1016: , p_mesg_token_tbl => l_mesg_token_tbl
1017: , p_error_status => 'W'
1018: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1014: ECO_Error_Handler.Log_Error
1015: ( p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
1016: , p_mesg_token_tbl => l_mesg_token_tbl
1017: , p_error_status => 'W'
1018: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1019: , p_entity_index => I
1020: , x_ECO_rec => l_ECO_rec
1021: , x_eco_revision_tbl => l_eco_revision_tbl
1022: , x_revised_item_tbl => l_revised_item_tbl
1036: -- Call Bom_Validate_Op_Res.Check_Entity
1037: --
1038:
1039: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN
1040: Error_Handler.Write_Debug('Starting Entity Validation for Sub Op Resources . . . ') ;
1041: END IF ;
1042:
1043: Bom_Validate_Sub_Op_Res.Check_Entity
1044: ( p_rev_sub_resource_rec => l_rev_sub_resource_rec
1051: , x_mesg_token_tbl => l_mesg_token_tbl
1052: , x_return_status => l_return_status
1053: ) ;
1054:
1055: IF l_return_status = Error_Handler.G_STATUS_ERROR
1056: THEN
1057: IF l_rev_sub_resource_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
1058: THEN
1059: l_other_message := 'BOM_SUB_RES_ENTVAL_CSEV_SKIP';
1066: RAISE EXC_SEV_SKIP_BRANCH ;
1067: ELSE
1068: RAISE EXC_SEV_QUIT_RECORD ;
1069: END IF;
1070: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1071: THEN
1072: l_other_message := 'BOM_SUB_RES_ENTVAL_UNEXP_SKIP';
1073: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
1074: l_other_token_tbl(1).token_value :=
1078: l_rev_sub_resource_rec.schedule_sequence_number ;
1079: RAISE EXC_UNEXP_SKIP_OBJECT ;
1080: ELSIF l_return_status ='S' AND l_mesg_token_tbl.COUNT <> 0
1081: THEN
1082: ECO_Error_Handler.Log_Error
1083: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1084: , p_mesg_token_tbl => l_mesg_token_tbl
1085: , p_error_status => 'W'
1086: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1082: ECO_Error_Handler.Log_Error
1083: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1084: , p_mesg_token_tbl => l_mesg_token_tbl
1085: , p_error_status => 'W'
1086: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1087: , p_entity_index => I
1088: , x_ECO_rec => l_ECO_rec
1089: , x_eco_revision_tbl => l_eco_revision_tbl
1090: , x_revised_item_tbl => l_revised_item_tbl
1096: , x_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1097: ) ;
1098: END IF;
1099:
1100: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation completed with '
1101: || l_return_Status || ' proceeding for database writes . . . ') ;
1102: END IF;
1103:
1104: --
1111: , x_mesg_token_tbl => l_mesg_token_tbl
1112: , x_return_status => l_return_status
1113: ) ;
1114:
1115: IF l_return_status = ECo_Error_Handler.G_STATUS_UNEXPECTED
1116: THEN
1117: l_other_message := 'BOM_SUB_RES_WRITES_UNEXP_SKIP';
1118: l_other_token_tbl(1).token_name := 'SUB_RESOURCE_CODE';
1119: l_other_token_tbl(1).token_value :=
1124: RAISE EXC_UNEXP_SKIP_OBJECT ;
1125: ELSIF l_return_status ='S' AND
1126: l_mesg_token_tbl.COUNT <>0
1127: THEN
1128: ECO_Error_Handler.Log_Error
1129: ( p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
1130: , p_mesg_token_tbl => l_mesg_token_tbl
1131: , p_error_status => 'W'
1132: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1128: ECO_Error_Handler.Log_Error
1129: ( p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
1130: , p_mesg_token_tbl => l_mesg_token_tbl
1131: , p_error_status => 'W'
1132: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1133: , p_entity_index => I
1134: , x_ECO_rec => l_ECO_rec
1135: , x_eco_revision_tbl => l_eco_revision_tbl
1136: , x_revised_item_tbl => l_revised_item_tbl
1142: , x_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1143: ) ;
1144: END IF;
1145:
1146: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Database writes completed with status ' || l_return_status);
1147: END IF;
1148:
1149:
1150: END IF; -- END IF statement that checks RETURN STATUS
1156: -- For loop exception handler.
1157:
1158: EXCEPTION
1159: WHEN EXC_SEV_QUIT_RECORD THEN
1160: ECO_Error_Handler.Log_Error
1161: ( p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
1162: , p_mesg_token_tbl => l_mesg_token_tbl
1163: , p_error_status => FND_API.G_RET_STS_ERROR
1164: , p_error_scope => Error_Handler.G_SCOPE_RECORD
1160: ECO_Error_Handler.Log_Error
1161: ( p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
1162: , p_mesg_token_tbl => l_mesg_token_tbl
1163: , p_error_status => FND_API.G_RET_STS_ERROR
1164: , p_error_scope => Error_Handler.G_SCOPE_RECORD
1165: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1166: , p_entity_index => I
1167: , x_ECO_rec => l_ECO_rec
1168: , x_eco_revision_tbl => l_eco_revision_tbl
1161: ( p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
1162: , p_mesg_token_tbl => l_mesg_token_tbl
1163: , p_error_status => FND_API.G_RET_STS_ERROR
1164: , p_error_scope => Error_Handler.G_SCOPE_RECORD
1165: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1166: , p_entity_index => I
1167: , x_ECO_rec => l_ECO_rec
1168: , x_eco_revision_tbl => l_eco_revision_tbl
1169: , x_revised_item_tbl => l_revised_item_tbl
1187:
1188:
1189: WHEN EXC_SEV_QUIT_BRANCH THEN
1190:
1191: ECO_Error_Handler.Log_Error
1192: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1193: , p_mesg_token_tbl => l_mesg_token_tbl
1194: , p_error_status => Error_Handler.G_STATUS_ERROR
1195: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1190:
1191: ECO_Error_Handler.Log_Error
1192: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1193: , p_mesg_token_tbl => l_mesg_token_tbl
1194: , p_error_status => Error_Handler.G_STATUS_ERROR
1195: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1196: , p_other_status => ECo_Error_Handler.G_STATUS_ERROR
1197: , p_other_message => l_other_message
1198: , p_other_token_tbl => l_other_token_tbl
1191: ECO_Error_Handler.Log_Error
1192: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1193: , p_mesg_token_tbl => l_mesg_token_tbl
1194: , p_error_status => Error_Handler.G_STATUS_ERROR
1195: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1196: , p_other_status => ECo_Error_Handler.G_STATUS_ERROR
1197: , p_other_message => l_other_message
1198: , p_other_token_tbl => l_other_token_tbl
1199: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1192: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1193: , p_mesg_token_tbl => l_mesg_token_tbl
1194: , p_error_status => Error_Handler.G_STATUS_ERROR
1195: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1196: , p_other_status => ECo_Error_Handler.G_STATUS_ERROR
1197: , p_other_message => l_other_message
1198: , p_other_token_tbl => l_other_token_tbl
1199: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1200: , p_entity_index => I
1195: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1196: , p_other_status => ECo_Error_Handler.G_STATUS_ERROR
1197: , p_other_message => l_other_message
1198: , p_other_token_tbl => l_other_token_tbl
1199: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1200: , p_entity_index => I
1201: , x_ECO_rec => l_ECO_rec
1202: , x_eco_revision_tbl => l_eco_revision_tbl
1203: , x_revised_item_tbl => l_revised_item_tbl
1219: x_mesg_token_tbl := l_mesg_token_tbl ;
1220: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
1221:
1222: WHEN EXC_SEV_SKIP_BRANCH THEN
1223: ECO_Error_Handler.Log_Error
1224: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1225: , p_mesg_token_tbl => l_mesg_token_tbl
1226: , p_error_status => Error_Handler.G_STATUS_ERROR
1227: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1222: WHEN EXC_SEV_SKIP_BRANCH THEN
1223: ECO_Error_Handler.Log_Error
1224: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1225: , p_mesg_token_tbl => l_mesg_token_tbl
1226: , p_error_status => Error_Handler.G_STATUS_ERROR
1227: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1228: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
1229: , p_other_message => l_other_message
1230: , p_other_token_tbl => l_other_token_tbl
1223: ECO_Error_Handler.Log_Error
1224: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1225: , p_mesg_token_tbl => l_mesg_token_tbl
1226: , p_error_status => Error_Handler.G_STATUS_ERROR
1227: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1228: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
1229: , p_other_message => l_other_message
1230: , p_other_token_tbl => l_other_token_tbl
1231: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1224: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1225: , p_mesg_token_tbl => l_mesg_token_tbl
1226: , p_error_status => Error_Handler.G_STATUS_ERROR
1227: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1228: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
1229: , p_other_message => l_other_message
1230: , p_other_token_tbl => l_other_token_tbl
1231: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1232: , p_entity_index => I
1227: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1228: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
1229: , p_other_message => l_other_message
1230: , p_other_token_tbl => l_other_token_tbl
1231: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1232: , p_entity_index => I
1233: , x_ECO_rec => l_ECO_rec
1234: , x_eco_revision_tbl => l_eco_revision_tbl
1235: , x_revised_item_tbl => l_revised_item_tbl
1249: x_mesg_token_tbl := l_mesg_token_tbl ;
1250: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
1251:
1252: WHEN EXC_SEV_QUIT_SIBLINGS THEN
1253: ECO_Error_Handler.Log_Error
1254: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1255: , p_mesg_token_tbl => l_mesg_token_tbl
1256: , p_error_status => Error_Handler.G_STATUS_ERROR
1257: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
1252: WHEN EXC_SEV_QUIT_SIBLINGS THEN
1253: ECO_Error_Handler.Log_Error
1254: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1255: , p_mesg_token_tbl => l_mesg_token_tbl
1256: , p_error_status => Error_Handler.G_STATUS_ERROR
1257: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
1258: , p_other_status => Error_Handler.G_STATUS_ERROR
1259: , p_other_message => l_other_message
1260: , p_other_token_tbl => l_other_token_tbl
1253: ECO_Error_Handler.Log_Error
1254: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1255: , p_mesg_token_tbl => l_mesg_token_tbl
1256: , p_error_status => Error_Handler.G_STATUS_ERROR
1257: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
1258: , p_other_status => Error_Handler.G_STATUS_ERROR
1259: , p_other_message => l_other_message
1260: , p_other_token_tbl => l_other_token_tbl
1261: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1254: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1255: , p_mesg_token_tbl => l_mesg_token_tbl
1256: , p_error_status => Error_Handler.G_STATUS_ERROR
1257: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
1258: , p_other_status => Error_Handler.G_STATUS_ERROR
1259: , p_other_message => l_other_message
1260: , p_other_token_tbl => l_other_token_tbl
1261: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1262: , p_entity_index => I
1257: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
1258: , p_other_status => Error_Handler.G_STATUS_ERROR
1259: , p_other_message => l_other_message
1260: , p_other_token_tbl => l_other_token_tbl
1261: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1262: , p_entity_index => I
1263: , x_ECO_rec => l_ECO_rec
1264: , x_eco_revision_tbl => l_eco_revision_tbl
1265: , x_revised_item_tbl => l_revised_item_tbl
1280: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
1281:
1282:
1283: WHEN EXC_FAT_QUIT_BRANCH THEN
1284: ECO_Error_Handler.Log_Error
1285: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1286: , p_mesg_token_tbl => l_mesg_token_tbl
1287: , p_error_status => Error_Handler.G_STATUS_FATAL
1288: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1283: WHEN EXC_FAT_QUIT_BRANCH THEN
1284: ECO_Error_Handler.Log_Error
1285: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1286: , p_mesg_token_tbl => l_mesg_token_tbl
1287: , p_error_status => Error_Handler.G_STATUS_FATAL
1288: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1289: , p_other_status => Error_Handler.G_STATUS_FATAL
1290: , p_other_message => l_other_message
1291: , p_other_token_tbl => l_other_token_tbl
1284: ECO_Error_Handler.Log_Error
1285: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1286: , p_mesg_token_tbl => l_mesg_token_tbl
1287: , p_error_status => Error_Handler.G_STATUS_FATAL
1288: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1289: , p_other_status => Error_Handler.G_STATUS_FATAL
1290: , p_other_message => l_other_message
1291: , p_other_token_tbl => l_other_token_tbl
1292: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1285: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1286: , p_mesg_token_tbl => l_mesg_token_tbl
1287: , p_error_status => Error_Handler.G_STATUS_FATAL
1288: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1289: , p_other_status => Error_Handler.G_STATUS_FATAL
1290: , p_other_message => l_other_message
1291: , p_other_token_tbl => l_other_token_tbl
1292: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1293: , p_entity_index => I
1288: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
1289: , p_other_status => Error_Handler.G_STATUS_FATAL
1290: , p_other_message => l_other_message
1291: , p_other_token_tbl => l_other_token_tbl
1292: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1293: , p_entity_index => I
1294: , x_ECO_rec => l_ECO_rec
1295: , x_eco_revision_tbl => l_eco_revision_tbl
1296: , x_revised_item_tbl => l_revised_item_tbl
1301: , x_rev_op_resource_tbl => l_rev_op_resource_tbl
1302: , x_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1303: ) ;
1304:
1305: x_return_status := Error_Handler.G_STATUS_FATAL;
1306: x_mesg_token_tbl := l_mesg_token_tbl ;
1307: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
1308:
1309:
1307: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
1308:
1309:
1310: WHEN EXC_FAT_QUIT_SIBLINGS THEN
1311: ECO_Error_Handler.Log_Error
1312: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1313: , p_mesg_token_tbl => l_mesg_token_tbl
1314: , p_error_status => Error_Handler.G_STATUS_FATAL
1315: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
1310: WHEN EXC_FAT_QUIT_SIBLINGS THEN
1311: ECO_Error_Handler.Log_Error
1312: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1313: , p_mesg_token_tbl => l_mesg_token_tbl
1314: , p_error_status => Error_Handler.G_STATUS_FATAL
1315: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
1316: , p_other_status => Error_Handler.G_STATUS_FATAL
1317: , p_other_message => l_other_message
1318: , p_other_token_tbl => l_other_token_tbl
1311: ECO_Error_Handler.Log_Error
1312: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1313: , p_mesg_token_tbl => l_mesg_token_tbl
1314: , p_error_status => Error_Handler.G_STATUS_FATAL
1315: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
1316: , p_other_status => Error_Handler.G_STATUS_FATAL
1317: , p_other_message => l_other_message
1318: , p_other_token_tbl => l_other_token_tbl
1319: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1312: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1313: , p_mesg_token_tbl => l_mesg_token_tbl
1314: , p_error_status => Error_Handler.G_STATUS_FATAL
1315: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
1316: , p_other_status => Error_Handler.G_STATUS_FATAL
1317: , p_other_message => l_other_message
1318: , p_other_token_tbl => l_other_token_tbl
1319: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1320: , p_entity_index => I
1315: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
1316: , p_other_status => Error_Handler.G_STATUS_FATAL
1317: , p_other_message => l_other_message
1318: , p_other_token_tbl => l_other_token_tbl
1319: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1320: , p_entity_index => I
1321: , x_ECO_rec => l_ECO_rec
1322: , x_eco_revision_tbl => l_eco_revision_tbl
1323: , x_revised_item_tbl => l_revised_item_tbl
1328: , x_rev_op_resource_tbl => l_rev_op_resource_tbl
1329: , x_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1330: ) ;
1331:
1332: x_return_status := Error_Handler.G_STATUS_FATAL;
1333: x_mesg_token_tbl := l_mesg_token_tbl ;
1334: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
1335:
1336: WHEN EXC_FAT_QUIT_OBJECT THEN
1333: x_mesg_token_tbl := l_mesg_token_tbl ;
1334: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
1335:
1336: WHEN EXC_FAT_QUIT_OBJECT THEN
1337: ECO_Error_Handler.Log_Error
1338: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1339: , p_mesg_token_tbl => l_mesg_token_tbl
1340: , p_error_status => Error_Handler.G_STATUS_FATAL
1341: , p_error_scope => Error_Handler.G_SCOPE_ALL
1336: WHEN EXC_FAT_QUIT_OBJECT THEN
1337: ECO_Error_Handler.Log_Error
1338: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1339: , p_mesg_token_tbl => l_mesg_token_tbl
1340: , p_error_status => Error_Handler.G_STATUS_FATAL
1341: , p_error_scope => Error_Handler.G_SCOPE_ALL
1342: , p_other_status => Error_Handler.G_STATUS_FATAL
1343: , p_other_message => l_other_message
1344: , p_other_token_tbl => l_other_token_tbl
1337: ECO_Error_Handler.Log_Error
1338: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1339: , p_mesg_token_tbl => l_mesg_token_tbl
1340: , p_error_status => Error_Handler.G_STATUS_FATAL
1341: , p_error_scope => Error_Handler.G_SCOPE_ALL
1342: , p_other_status => Error_Handler.G_STATUS_FATAL
1343: , p_other_message => l_other_message
1344: , p_other_token_tbl => l_other_token_tbl
1345: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1338: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1339: , p_mesg_token_tbl => l_mesg_token_tbl
1340: , p_error_status => Error_Handler.G_STATUS_FATAL
1341: , p_error_scope => Error_Handler.G_SCOPE_ALL
1342: , p_other_status => Error_Handler.G_STATUS_FATAL
1343: , p_other_message => l_other_message
1344: , p_other_token_tbl => l_other_token_tbl
1345: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1346: , p_entity_index => I
1341: , p_error_scope => Error_Handler.G_SCOPE_ALL
1342: , p_other_status => Error_Handler.G_STATUS_FATAL
1343: , p_other_message => l_other_message
1344: , p_other_token_tbl => l_other_token_tbl
1345: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1346: , p_entity_index => I
1347: , x_ECO_rec => l_ECO_rec
1348: , x_eco_revision_tbl => l_eco_revision_tbl
1349: , x_revised_item_tbl => l_revised_item_tbl
1359: x_mesg_token_tbl := l_mesg_token_tbl ;
1360: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
1361:
1362: WHEN EXC_UNEXP_SKIP_OBJECT THEN
1363: ECO_Error_Handler.Log_Error
1364: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1365: , p_mesg_token_tbl => l_mesg_token_tbl
1366: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
1367: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
1362: WHEN EXC_UNEXP_SKIP_OBJECT THEN
1363: ECO_Error_Handler.Log_Error
1364: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1365: , p_mesg_token_tbl => l_mesg_token_tbl
1366: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
1367: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
1368: , p_other_message => l_other_message
1369: , p_other_token_tbl => l_other_token_tbl
1370: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1363: ECO_Error_Handler.Log_Error
1364: ( p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
1365: , p_mesg_token_tbl => l_mesg_token_tbl
1366: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
1367: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
1368: , p_other_message => l_other_message
1369: , p_other_token_tbl => l_other_token_tbl
1370: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1371: , x_ECO_rec => l_ECO_rec
1366: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
1367: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
1368: , p_other_message => l_other_message
1369: , p_other_token_tbl => l_other_token_tbl
1370: , p_error_level => ECO_Error_Handler.G_SR_LEVEL
1371: , x_ECO_rec => l_ECO_rec
1372: , x_eco_revision_tbl => l_eco_revision_tbl
1373: , x_revised_item_tbl => l_revised_item_tbl
1374: , x_rev_component_tbl => l_rev_component_tbl
1431: , p_rev_op_resource_tbl IN Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type
1432: , p_rev_sub_resource_tbl IN Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type
1433: , x_rev_op_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type
1434: , x_rev_sub_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type
1435: , x_mesg_token_tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
1436: , x_return_status OUT NOCOPY VARCHAR2
1437: )
1438: IS
1439:
1462: -- := p_rev_sub_resource_tbl ;
1463:
1464:
1465: /* Error Handling Variables */
1466: l_token_tbl Error_Handler.Token_Tbl_Type ;
1467: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type ;
1468: l_other_token_tbl Error_Handler.Token_Tbl_Type;
1469: l_other_message VARCHAR2(2000);
1470: l_err_text VARCHAR2(2000);
1463:
1464:
1465: /* Error Handling Variables */
1466: l_token_tbl Error_Handler.Token_Tbl_Type ;
1467: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type ;
1468: l_other_token_tbl Error_Handler.Token_Tbl_Type;
1469: l_other_message VARCHAR2(2000);
1470: l_err_text VARCHAR2(2000);
1471:
1464:
1465: /* Error Handling Variables */
1466: l_token_tbl Error_Handler.Token_Tbl_Type ;
1467: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type ;
1468: l_other_token_tbl Error_Handler.Token_Tbl_Type;
1469: l_other_message VARCHAR2(2000);
1470: l_err_text VARCHAR2(2000);
1471:
1472:
1477: l_item_parent_exists BOOLEAN := FALSE;
1478: l_process_children BOOLEAN := TRUE;
1479: l_valid BOOLEAN := TRUE;
1480:
1481: /* Error handler definations */
1482: EXC_SEV_QUIT_RECORD EXCEPTION ;
1483: EXC_SEV_QUIT_BRANCH EXCEPTION ;
1484: EXC_UNEXP_SKIP_OBJECT EXCEPTION ;
1485: EXC_SEV_QUIT_SIBLINGS EXCEPTION ;
1546: -- Process Flow Step 2: Check if record has not yet been processed and
1547: -- that it is the child of the parent that called this procedure
1548: --
1549:
1550: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1551: ('ECO Name: ' || p_change_notice ||
1552: ' Org: ' || p_organization_id ||
1553: ' Eff. Dt: ' || to_char(p_effectivity_date) ||
1554: ' Revision: ' || p_item_revision ||
1651: , x_mesg_token_tbl => l_mesg_token_tbl
1652: , x_return_status => l_return_status
1653: ) ;
1654:
1655: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1656: ('Convert to User Unique Index to Index1 completed with return_status: ' || l_return_status) ;
1657: END IF;
1658:
1659: IF l_return_status = Error_Handler.G_STATUS_ERROR
1655: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1656: ('Convert to User Unique Index to Index1 completed with return_status: ' || l_return_status) ;
1657: END IF;
1658:
1659: IF l_return_status = Error_Handler.G_STATUS_ERROR
1660: THEN
1661: l_other_message := 'BOM_RES_UUI_SEV_ERROR';
1662: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1663: l_other_token_tbl(1).token_value :=
1663: l_other_token_tbl(1).token_value :=
1664: l_rev_op_resource_rec.resource_sequence_number ;
1665: RAISE EXC_SEV_QUIT_BRANCH ;
1666:
1667: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1668: THEN
1669: l_other_message := 'BOM_RES_UUI_UNEXP_SKIP';
1670: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1671: l_other_token_tbl(1).token_value :=
1695: , x_other_token_tbl => l_other_token_tbl
1696: , x_Return_Status => l_return_status
1697: ) ;
1698:
1699: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1700: ('Convert to User Unique Index to Index1 for Rtg and Rev Item Seq completed with return_status: ' || l_return_status) ;
1701: END IF;
1702:
1703: IF l_return_status = Error_Handler.G_STATUS_ERROR
1699: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1700: ('Convert to User Unique Index to Index1 for Rtg and Rev Item Seq completed with return_status: ' || l_return_status) ;
1701: END IF;
1702:
1703: IF l_return_status = Error_Handler.G_STATUS_ERROR
1704: THEN
1705: l_other_message := 'BOM_RES_UUI_SEV_ERROR';
1706: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1707: l_other_token_tbl(1).token_value :=
1707: l_other_token_tbl(1).token_value :=
1708: l_rev_op_resource_rec.resource_sequence_number ;
1709: RAISE EXC_SEV_QUIT_BRANCH ;
1710:
1711: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1712: THEN
1713: l_other_message := 'BOM_RES_UUI_UNEXP_SKIP';
1714: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1715: l_other_token_tbl(1).token_value :=
1733: , x_other_token_tbl => l_other_token_tbl
1734: , x_return_status => l_return_status
1735: ) ;
1736:
1737: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1738: ('Convert to User Unique Index to Index2 completed with return_status: ' || l_return_status) ;
1739: END IF;
1740:
1741: IF l_return_status = Error_Handler.G_STATUS_ERROR
1737: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1738: ('Convert to User Unique Index to Index2 completed with return_status: ' || l_return_status) ;
1739: END IF;
1740:
1741: IF l_return_status = Error_Handler.G_STATUS_ERROR
1742: THEN
1743: RAISE EXC_SEV_QUIT_SIBLINGS ;
1744: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1745: THEN
1740:
1741: IF l_return_status = Error_Handler.G_STATUS_ERROR
1742: THEN
1743: RAISE EXC_SEV_QUIT_SIBLINGS ;
1744: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1745: THEN
1746: l_other_message := 'BOM_RES_UUI_UNEXP_SKIP';
1747: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1748: l_other_token_tbl(1).token_value :=
1764: , x_mesg_token_tbl => l_mesg_token_tbl
1765: , x_return_status => l_return_status
1766: ) ;
1767:
1768: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1769: ('Check Existence completed with return_status: ' || l_return_status) ;
1770: END IF ;
1771:
1772: IF l_return_status = Error_Handler.G_STATUS_ERROR
1768: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1769: ('Check Existence completed with return_status: ' || l_return_status) ;
1770: END IF ;
1771:
1772: IF l_return_status = Error_Handler.G_STATUS_ERROR
1773: THEN
1774: l_other_message := 'BOM_RES_EXS_SEV_SKIP';
1775: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1776: l_other_token_tbl(1).token_value :=
1778: l_other_token_tbl(2).token_name := 'REVISED_ITEM_NAME';
1779: l_other_token_tbl(2).token_value :=
1780: l_rev_op_resource_rec.revised_item_name ;
1781: RAISE EXC_SEV_QUIT_BRANCH;
1782: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1783: THEN
1784: l_other_message := 'BOM_RES_EXS_UNEXP_SKIP';
1785: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1786: l_other_token_tbl(1).token_value :=
1800:
1801: --
1802: -- Process Flow step 7: Check lineage
1803: --
1804: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check lineage'); END IF;
1805:
1806: BOM_Validate_Op_Seq.Check_Lineage
1807: ( p_routing_sequence_id =>
1808: l_rev_op_res_unexp_rec.routing_sequence_id
1817: , x_mesg_token_tbl => l_mesg_token_tbl
1818: , x_return_status => l_return_status
1819: ) ;
1820:
1821: IF l_return_status = Error_Handler.G_STATUS_ERROR
1822: THEN
1823: l_Token_Tbl(1).token_name := 'RES_SEQ_NUMBER' ;
1824: l_Token_Tbl(1).token_value := l_rev_op_resource_rec.resource_sequence_number ;
1825: l_Token_Tbl(2).token_name := 'OP_SEQ_NUMBER' ;
1826: l_Token_Tbl(2).token_value := l_rev_op_resource_rec.operation_sequence_number ;
1827: l_Token_Tbl(3).token_name := 'REVISED_ITEM_NAME' ;
1828: l_Token_Tbl(3).token_value := l_rev_op_resource_rec.revised_item_name;
1829:
1830: Error_Handler.Add_Error_Token
1831: ( p_Message_Name => 'BOM_RES_REV_ITEM_MISMATCH'
1832: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1833: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1834: , p_Token_Tbl => l_Token_Tbl
1840: l_other_token_tbl(1).token_value :=
1841: l_rev_op_resource_rec.resource_sequence_number ;
1842: RAISE EXC_SEV_QUIT_BRANCH;
1843:
1844: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1845: THEN
1846: l_other_message := 'BOM_RES_LIN_UNEXP_SKIP';
1847: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1848: l_other_token_tbl(1).token_value :=
1849: l_rev_op_resource_rec.resource_sequence_number ;
1850: RAISE EXC_UNEXP_SKIP_OBJECT;
1851: END IF;
1852:
1853: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
1854:
1855:
1856: -- Process Flow step 8(a and b): Is ECO impl/cancl, or in wkflw process ?
1857: --
1855:
1856: -- Process Flow step 8(a and b): Is ECO impl/cancl, or in wkflw process ?
1857: --
1858:
1859: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check ECO access'); END IF;
1860:
1861: ENG_Validate_ECO.Check_Access
1862: ( p_change_notice => l_rev_op_resource_rec.ECO_Name
1863: , p_organization_id =>
1866: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1867: , x_Return_Status => l_return_status
1868: );
1869:
1870: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
1871:
1872: IF l_return_status = Error_Handler.G_STATUS_ERROR
1873: THEN
1874: l_other_message := 'BOM_RES_ECOACC_FAT_FATAL' ;
1868: );
1869:
1870: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
1871:
1872: IF l_return_status = Error_Handler.G_STATUS_ERROR
1873: THEN
1874: l_other_message := 'BOM_RES_ECOACC_FAT_FATAL' ;
1875: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1876: l_other_token_tbl(1).token_value :=
1876: l_other_token_tbl(1).token_value :=
1877: l_rev_op_resource_rec.operation_sequence_number;
1878: l_return_status := 'F';
1879: RAISE EXC_FAT_QUIT_OBJECT;
1880: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1881: THEN
1882: l_other_message := 'BOM_RES_ECOACC_UNEXP_SKIP' ;
1883: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1884: l_other_token_tbl(1).token_value :=
1889: --
1890: -- Process Flow step 9(a and b): check that user has access to revised item
1891: --
1892:
1893: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check Revised item access'); END IF;
1894: ENG_Validate_Revised_Item.Check_Access
1895: ( p_change_notice => l_rev_op_resource_rec.ECO_Name
1896: , p_organization_id => l_rev_op_res_unexp_rec.organization_id
1897: , p_revised_item_id => l_rev_op_res_unexp_rec.revised_item_id
1911: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1912: , x_return_status => l_Return_Status
1913: );
1914:
1915: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
1916:
1917: IF l_return_status = Error_Handler.G_STATUS_ERROR
1918: THEN
1919: l_other_message := 'BOM_RES_RITACC_FAT_FATAL';
1913: );
1914:
1915: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
1916:
1917: IF l_return_status = Error_Handler.G_STATUS_ERROR
1918: THEN
1919: l_other_message := 'BOM_RES_RITACC_FAT_FATAL';
1920: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1921: l_other_token_tbl(1).token_value :=
1921: l_other_token_tbl(1).token_value :=
1922: l_rev_op_resource_rec.resource_sequence_number;
1923: l_return_status := 'F';
1924: RAISE EXC_FAT_QUIT_SIBLINGS;
1925: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1926: THEN
1927: l_other_message := 'BOM_RES_RITACC_UNEXP_SKIP';
1928: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1929: l_other_token_tbl(1).token_value :=
1936: -- Process Flow step 10(b) : Check that user has access to revised
1937: -- operation
1938: -- BOM_Validate_Op_Seq.Check_Access
1939:
1940: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check Operation sequence item access'); END IF;
1941: BOM_Validate_Op_Seq.Check_Access
1942: ( p_change_notice => l_rev_op_resource_rec.ECO_Name
1943: , p_organization_id => l_rev_op_res_unexp_rec.organization_id
1944: , p_revised_item_id => l_rev_op_res_unexp_rec.revised_item_id
1964: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1965: , x_return_status => l_Return_Status
1966: );
1967:
1968: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
1969:
1970: IF l_return_status = Error_Handler.G_STATUS_ERROR
1971: THEN
1972: l_other_message := 'BOM_RES_ACCESS_FAT_FATAL';
1966: );
1967:
1968: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
1969:
1970: IF l_return_status = Error_Handler.G_STATUS_ERROR
1971: THEN
1972: l_other_message := 'BOM_RES_ACCESS_FAT_FATAL';
1973: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1974: l_other_token_tbl(1).token_value :=
1974: l_other_token_tbl(1).token_value :=
1975: l_rev_op_resource_rec.resource_sequence_number;
1976: l_return_status := 'F';
1977: RAISE EXC_FAT_QUIT_OBJECT;
1978: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
1979: THEN
1980: l_other_message := 'BOM_RES_ACCESS_UNEXP_SKIP';
1981: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
1982: l_other_token_tbl(1).token_value :=
1997: , x_mesg_token_tbl => l_mesg_token_tbl
1998: , x_return_status => l_return_status
1999: ) ;
2000:
2001: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2002: ('Check non-ref operation completed with return_status: ' || l_return_status) ;
2003: END IF ;
2004:
2005: IF l_return_status = Error_Handler.G_STATUS_ERROR
2001: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2002: ('Check non-ref operation completed with return_status: ' || l_return_status) ;
2003: END IF ;
2004:
2005: IF l_return_status = Error_Handler.G_STATUS_ERROR
2006: THEN
2007: IF l_rev_op_resource_rec.operation_type IN (2,3) -- Process or Line Op
2008: THEN
2009:
2013: l_token_tbl(2).token_name := 'OP_SEQ_NUMBER';
2014: l_token_tbl(2).token_value :=
2015: l_rev_op_resource_rec.operation_sequence_number ;
2016:
2017: Error_Handler.Add_Error_Token
2018: ( p_Message_Name => 'BOM_RES_OPTYPE_NOT_EVENT'
2019: , p_mesg_token_tbl => l_mesg_token_tbl
2020: , x_mesg_token_tbl => l_mesg_token_tbl
2021: , p_Token_Tbl => l_token_tbl
2028: l_token_tbl(2).token_name := 'OP_SEQ_NUMBER';
2029: l_token_tbl(2).token_value :=
2030: l_rev_op_resource_rec.operation_sequence_number ;
2031:
2032: Error_Handler.Add_Error_Token
2033: ( p_Message_Name => 'BOM_RES_MUST_NONREF'
2034: , p_mesg_token_tbl => l_mesg_token_tbl
2035: , x_mesg_token_tbl => l_mesg_token_tbl
2036: , p_Token_Tbl => l_token_tbl
2045: l_other_token_tbl(1).token_value :=
2046: l_rev_op_resource_rec.resource_sequence_number;
2047: RAISE EXC_FAT_QUIT_SIBLINGS ;
2048:
2049: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
2050: THEN
2051: l_other_message := 'BOM_RES_ACCESS_UNEXP_SKIP';
2052: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2053: l_other_token_tbl(1).token_value :=
2067: , x_mesg_token_tbl => l_mesg_token_tbl
2068: , x_return_status => l_return_status
2069: );
2070:
2071: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2072: ('Value-id conversions completed with return_status: ' || l_return_status) ;
2073: END IF ;
2074:
2075: IF l_return_status = Error_Handler.G_STATUS_ERROR
2071: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2072: ('Value-id conversions completed with return_status: ' || l_return_status) ;
2073: END IF ;
2074:
2075: IF l_return_status = Error_Handler.G_STATUS_ERROR
2076: THEN
2077: IF l_rev_op_resource_rec.transaction_type = 'CREATE'
2078: THEN
2079: l_other_message := 'BOM_RES_VID_CSEV_SKIP';
2084: ELSE
2085: RAISE EXC_SEV_QUIT_RECORD ;
2086: END IF ;
2087:
2088: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
2089: THEN
2090: l_other_message := 'BOM_RES_VID_UNEXP_SKIP';
2091: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2092: l_other_token_tbl(1).token_value :=
2094: RAISE EXC_UNEXP_SKIP_OBJECT;
2095:
2096: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <>0
2097: THEN
2098: ECO_Error_Handler.Log_Error
2099: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2100: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2101: , p_mesg_token_tbl => l_mesg_token_tbl
2102: , p_error_status => 'W'
2099: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2100: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2101: , p_mesg_token_tbl => l_mesg_token_tbl
2102: , p_error_status => 'W'
2103: , p_error_level => Error_Handler.G_RES_LEVEL
2104: , p_entity_index => I
2105: , x_ECO_rec => l_ECO_rec
2106: , x_eco_revision_tbl => l_eco_revision_tbl
2107: , x_revised_item_tbl => l_revised_item_tbl
2136: , x_return_status => l_return_status
2137: , x_mesg_token_tbl => l_mesg_token_tbl
2138: ) ;
2139:
2140: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2141: ('Attribute validation completed with return_status: ' || l_return_status) ;
2142: END IF ;
2143:
2144:
2141: ('Attribute validation completed with return_status: ' || l_return_status) ;
2142: END IF ;
2143:
2144:
2145: IF l_return_status = Error_Handler.G_STATUS_ERROR
2146: THEN
2147: IF l_rev_op_resource_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
2148: THEN
2149: l_other_message := 'BOM_RES_ATTVAL_CSEV_SKIP';
2153: RAISE EXC_SEV_SKIP_BRANCH ;
2154: ELSE
2155: RAISE EXC_SEV_QUIT_RECORD ;
2156: END IF;
2157: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
2158: THEN
2159: l_other_message := 'BOM_RES_ATTVAL_UNEXP_SKIP';
2160: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2161: l_other_token_tbl(1).token_value :=
2162: l_rev_op_resource_rec.resource_sequence_number ;
2163: RAISE EXC_UNEXP_SKIP_OBJECT ;
2164: ELSIF l_return_status ='S' AND l_mesg_token_tbl.COUNT <> 0
2165: THEN
2166: ECO_Error_Handler.Log_Error
2167: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2168: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2169: , p_mesg_token_tbl => l_mesg_token_tbl
2170: , p_error_status => 'W'
2167: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2168: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2169: , p_mesg_token_tbl => l_mesg_token_tbl
2170: , p_error_status => 'W'
2171: , p_error_level => Error_Handler.G_RES_LEVEL
2172: , p_entity_index => I
2173: , x_ECO_rec => l_ECO_rec
2174: , x_eco_revision_tbl => l_eco_revision_tbl
2175: , x_revised_item_tbl => l_revised_item_tbl
2202: , x_mesg_token_tbl => l_mesg_token_tbl
2203: , x_return_status => l_return_status
2204: ) ;
2205:
2206: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2207: ('Query the original op res for rev op res with acd type : change or delete completed with return_status: ' || l_return_status) ;
2208: END IF ;
2209:
2210: IF l_return_status <> Eng_Globals.G_RECORD_FOUND
2208: END IF ;
2209:
2210: IF l_return_status <> Eng_Globals.G_RECORD_FOUND
2211: THEN
2212: l_return_status := Error_Handler.G_STATUS_ERROR ;
2213: l_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2214: l_token_tbl(1).token_value :=
2215: l_rev_op_resource_rec.resource_sequence_number ;
2216: l_token_tbl(2).token_name := 'OP_SEQ_NUMBER';
2216: l_token_tbl(2).token_name := 'OP_SEQ_NUMBER';
2217: l_token_tbl(2).token_value :=
2218: l_rev_op_resource_rec.operation_sequence_number ;
2219:
2220: Error_Handler.Add_Error_Token
2221: ( p_message_name => 'BOM_RES_CREATE_REC_NOT_FOUND'
2222: , p_mesg_token_tbl => l_Mesg_Token_Tbl
2223: , p_token_tbl => l_Token_Tbl
2224: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2228: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2229: l_other_token_tbl(1).token_value :=
2230: l_rev_op_resource_rec.resource_sequence_number ;
2231: RAISE EXC_SEV_SKIP_BRANCH;
2232: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
2233: THEN
2234: l_other_message := 'BOM_RES_QRY_UNEXP_SKIP';
2235: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2236: l_other_token_tbl(1).token_value :=
2252: -- Process flow step 12: Populate NULL columns for Update and Delete
2253: -- Call Bom_Default_Op_Res.Populate_Null_Columns
2254: --
2255:
2256: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populate NULL columns') ;
2257: END IF ;
2258:
2259: Bom_Default_Op_Res.Populate_Null_Columns
2260: ( p_rev_op_resource_rec => l_rev_op_resource_rec
2272: -- Process Flow step 13 : Default missing values for Op Resource (CREATE)
2273: -- Call Bom_Default_Op_Res.Attribute_Defaulting
2274: --
2275:
2276: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting') ;
2277: END IF ;
2278:
2279: Bom_Default_Op_res.Attribute_Defaulting
2280: ( p_rev_op_resource_rec => l_rev_op_resource_rec
2286: , x_return_status => l_return_status
2287: ) ;
2288:
2289:
2290: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2291: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
2292: END IF ;
2293:
2294: IF l_return_status = Error_Handler.G_STATUS_ERROR
2290: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2291: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
2292: END IF ;
2293:
2294: IF l_return_status = Error_Handler.G_STATUS_ERROR
2295: THEN
2296: l_other_message := 'BOM_RES_ATTDEF_CSEV_SKIP';
2297: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2298: l_other_token_tbl(1).token_value :=
2298: l_other_token_tbl(1).token_value :=
2299: l_rev_op_resource_rec.resource_sequence_number ;
2300: RAISE EXC_SEV_SKIP_BRANCH ;
2301:
2302: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
2303: THEN
2304: l_other_message := 'BOM_RES_ATTDEF_UNEXP_SKIP';
2305: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2306: l_other_token_tbl(1).token_value :=
2307: l_rev_op_resource_rec.resource_sequence_number ;
2308: RAISE EXC_UNEXP_SKIP_OBJECT ;
2309: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
2310: THEN
2311: ECO_Error_Handler.Log_Error
2312: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2313: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2314: , p_mesg_token_tbl => l_mesg_token_tbl
2315: , p_error_status => 'W'
2312: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2313: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2314: , p_mesg_token_tbl => l_mesg_token_tbl
2315: , p_error_status => 'W'
2316: , p_error_level => Error_Handler.G_RES_LEVEL
2317: , p_entity_index => I
2318: , x_ECO_rec => l_ECO_rec
2319: , x_eco_revision_tbl => l_eco_revision_tbl
2320: , x_revised_item_tbl => l_revised_item_tbl
2337:
2338: --
2339: -- Process Flow step 18: Entity defaulting for CREATE and UPDATE
2340: --
2341: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting') ;
2342: END IF ;
2343: IF l_rev_op_resource_rec.transaction_type IN ( Bom_Rtg_Globals.G_OPR_CREATE
2344: , Bom_Rtg_Globals.G_OPR_UPDATE )
2345: THEN
2352: , x_mesg_token_tbl => l_mesg_token_tbl
2353: , x_return_status => l_return_status
2354: ) ;
2355:
2356: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2357: ('Entity defaulting completed with return_status: ' || l_return_status) ;
2358: END IF ;
2359:
2360: IF l_return_status = Error_Handler.G_STATUS_ERROR
2356: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2357: ('Entity defaulting completed with return_status: ' || l_return_status) ;
2358: END IF ;
2359:
2360: IF l_return_status = Error_Handler.G_STATUS_ERROR
2361: THEN
2362: IF l_rev_op_resource_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
2363: THEN
2364: l_other_message := 'BOM_RES_ENTDEF_CSEV_SKIP';
2368: RAISE EXC_SEV_SKIP_BRANCH ;
2369: ELSE
2370: RAISE EXC_SEV_QUIT_RECORD ;
2371: END IF;
2372: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
2373: THEN
2374: l_other_message := 'BOM_RES_ENTDEF_UNEXP_SKIP';
2375: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2376: l_other_token_tbl(1).token_value :=
2377: l_rev_op_resource_rec.resource_sequence_number ;
2378: RAISE EXC_UNEXP_SKIP_OBJECT ;
2379: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
2380: THEN
2381: ECO_Error_Handler.Log_Error
2382: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2383: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2384: , p_mesg_token_tbl => l_mesg_token_tbl
2385: , p_error_status => 'W'
2382: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2383: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2384: , p_mesg_token_tbl => l_mesg_token_tbl
2385: , p_error_status => 'W'
2386: , p_error_level => Error_Handler.G_RES_LEVEL
2387: , p_entity_index => I
2388: , x_ECO_rec => l_ECO_rec
2389: , x_eco_revision_tbl => l_eco_revision_tbl
2390: , x_revised_item_tbl => l_revised_item_tbl
2402: -- Process Flow step 16 - Entity Level Validation
2403: -- Call Bom_Validate_Op_Res.Check_Entity
2404: --
2405: IF Bom_Rtg_Globals.Get_Debug = 'Y'
2406: THEN Error_Handler.Write_Debug('Starting with Op Resources entity validation . . . ') ;
2407: END IF ;
2408:
2409: Bom_Validate_Op_Res.Check_Entity
2410: ( p_rev_op_resource_rec => l_rev_op_resource_rec
2418: , x_return_status => l_return_status
2419: ) ;
2420:
2421:
2422: IF l_return_status = Error_Handler.G_STATUS_ERROR
2423: THEN
2424: IF l_rev_op_resource_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
2425: THEN
2426: l_other_message := 'BOM_RES_ENTVAL_CSEV_SKIP';
2430: RAISE EXC_SEV_SKIP_BRANCH ;
2431: ELSE
2432: RAISE EXC_SEV_QUIT_RECORD ;
2433: END IF;
2434: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
2435: THEN
2436: l_other_message := 'BOM_RES_ENTVAL_UNEXP_SKIP';
2437: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2438: l_other_token_tbl(1).token_value :=
2439: l_rev_op_resource_rec.resource_sequence_number ;
2440: RAISE EXC_UNEXP_SKIP_OBJECT ;
2441: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
2442: THEN
2443: ECO_Error_Handler.Log_Error
2444: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2445: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2446: , p_mesg_token_tbl => l_mesg_token_tbl
2447: , p_error_status => 'W'
2444: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2445: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2446: , p_mesg_token_tbl => l_mesg_token_tbl
2447: , p_error_status => 'W'
2448: , p_error_level => Error_Handler.G_RES_LEVEL
2449: , p_entity_index => I
2450: , x_ECO_rec => l_ECO_rec
2451: , x_eco_revision_tbl => l_eco_revision_tbl
2452: , x_revised_item_tbl => l_revised_item_tbl
2458: , x_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2459: ) ;
2460: END IF;
2461:
2462: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation completed with '
2463: || l_return_Status || ' proceeding for database writes . . . ') ;
2464: END IF;
2465:
2466: --
2473: , x_mesg_token_tbl => l_mesg_token_tbl
2474: , x_return_status => l_return_status
2475: ) ;
2476:
2477: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
2478: THEN
2479: l_other_message := 'BOM_RES_WRITES_UNEXP_SKIP';
2480: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2481: l_other_token_tbl(1).token_value :=
2483: RAISE EXC_UNEXP_SKIP_OBJECT ;
2484: ELSIF l_return_status ='S' AND
2485: l_mesg_token_tbl .COUNT <>0
2486: THEN
2487: ECO_Error_Handler.Log_Error
2488: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2489: , p_mesg_token_tbl => l_mesg_token_tbl
2490: , p_error_status => 'W'
2491: , p_error_level => Error_Handler.G_RES_LEVEL
2487: ECO_Error_Handler.Log_Error
2488: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2489: , p_mesg_token_tbl => l_mesg_token_tbl
2490: , p_error_status => 'W'
2491: , p_error_level => Error_Handler.G_RES_LEVEL
2492: , p_entity_index => I
2493: , x_ECO_rec => l_ECO_rec
2494: , x_eco_revision_tbl => l_eco_revision_tbl
2495: , x_revised_item_tbl => l_revised_item_tbl
2501: , x_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
2502: ) ;
2503: END IF;
2504:
2505: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Database writes completed with status: ' || l_return_status);
2506: END IF;
2507:
2508: END IF; -- END IF statement that checks RETURN STATUS
2509:
2514: -- For loop exception handler.
2515:
2516: EXCEPTION
2517: WHEN EXC_SEV_QUIT_RECORD THEN
2518: ECO_Error_Handler.Log_Error
2519: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2520: , p_mesg_token_tbl => l_mesg_token_tbl
2521: , p_error_status => FND_API.G_RET_STS_ERROR
2522: , p_error_scope => Error_Handler.G_SCOPE_RECORD
2518: ECO_Error_Handler.Log_Error
2519: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2520: , p_mesg_token_tbl => l_mesg_token_tbl
2521: , p_error_status => FND_API.G_RET_STS_ERROR
2522: , p_error_scope => Error_Handler.G_SCOPE_RECORD
2523: , p_error_level => Error_Handler.G_RES_LEVEL
2524: , p_entity_index => I
2525: , x_ECO_rec => l_ECO_rec
2526: , x_eco_revision_tbl => l_eco_revision_tbl
2519: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2520: , p_mesg_token_tbl => l_mesg_token_tbl
2521: , p_error_status => FND_API.G_RET_STS_ERROR
2522: , p_error_scope => Error_Handler.G_SCOPE_RECORD
2523: , p_error_level => Error_Handler.G_RES_LEVEL
2524: , p_entity_index => I
2525: , x_ECO_rec => l_ECO_rec
2526: , x_eco_revision_tbl => l_eco_revision_tbl
2527: , x_revised_item_tbl => l_revised_item_tbl
2546:
2547:
2548: WHEN EXC_SEV_QUIT_BRANCH THEN
2549:
2550: ECO_Error_Handler.Log_Error
2551: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2552: , p_mesg_token_tbl => l_mesg_token_tbl
2553: , p_error_status => Error_Handler.G_STATUS_ERROR
2554: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2549:
2550: ECO_Error_Handler.Log_Error
2551: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2552: , p_mesg_token_tbl => l_mesg_token_tbl
2553: , p_error_status => Error_Handler.G_STATUS_ERROR
2554: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2555: , p_other_status => Error_Handler.G_STATUS_ERROR
2556: , p_other_message => l_other_message
2557: , p_other_token_tbl => l_other_token_tbl
2550: ECO_Error_Handler.Log_Error
2551: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2552: , p_mesg_token_tbl => l_mesg_token_tbl
2553: , p_error_status => Error_Handler.G_STATUS_ERROR
2554: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2555: , p_other_status => Error_Handler.G_STATUS_ERROR
2556: , p_other_message => l_other_message
2557: , p_other_token_tbl => l_other_token_tbl
2558: , p_error_level => Error_Handler.G_RES_LEVEL
2551: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2552: , p_mesg_token_tbl => l_mesg_token_tbl
2553: , p_error_status => Error_Handler.G_STATUS_ERROR
2554: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2555: , p_other_status => Error_Handler.G_STATUS_ERROR
2556: , p_other_message => l_other_message
2557: , p_other_token_tbl => l_other_token_tbl
2558: , p_error_level => Error_Handler.G_RES_LEVEL
2559: , p_entity_index => I
2554: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2555: , p_other_status => Error_Handler.G_STATUS_ERROR
2556: , p_other_message => l_other_message
2557: , p_other_token_tbl => l_other_token_tbl
2558: , p_error_level => Error_Handler.G_RES_LEVEL
2559: , p_entity_index => I
2560: , x_ECO_rec => l_ECO_rec
2561: , x_eco_revision_tbl => l_eco_revision_tbl
2562: , x_revised_item_tbl => l_revised_item_tbl
2579: --x_rev_op_resource_tbl := l_rev_op_resource_tbl ;
2580: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
2581:
2582: WHEN EXC_SEV_SKIP_BRANCH THEN
2583: ECO_Error_Handler.Log_Error
2584: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2585: , p_mesg_token_tbl => l_mesg_token_tbl
2586: , p_error_status => Error_Handler.G_STATUS_ERROR
2587: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2582: WHEN EXC_SEV_SKIP_BRANCH THEN
2583: ECO_Error_Handler.Log_Error
2584: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2585: , p_mesg_token_tbl => l_mesg_token_tbl
2586: , p_error_status => Error_Handler.G_STATUS_ERROR
2587: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2588: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
2589: , p_other_message => l_other_message
2590: , p_other_token_tbl => l_other_token_tbl
2583: ECO_Error_Handler.Log_Error
2584: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2585: , p_mesg_token_tbl => l_mesg_token_tbl
2586: , p_error_status => Error_Handler.G_STATUS_ERROR
2587: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2588: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
2589: , p_other_message => l_other_message
2590: , p_other_token_tbl => l_other_token_tbl
2591: , p_error_level => Error_Handler.G_RES_LEVEL
2584: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2585: , p_mesg_token_tbl => l_mesg_token_tbl
2586: , p_error_status => Error_Handler.G_STATUS_ERROR
2587: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2588: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
2589: , p_other_message => l_other_message
2590: , p_other_token_tbl => l_other_token_tbl
2591: , p_error_level => Error_Handler.G_RES_LEVEL
2592: , p_entity_index => I
2587: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2588: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
2589: , p_other_message => l_other_message
2590: , p_other_token_tbl => l_other_token_tbl
2591: , p_error_level => Error_Handler.G_RES_LEVEL
2592: , p_entity_index => I
2593: , x_ECO_rec => l_ECO_rec
2594: , x_eco_revision_tbl => l_eco_revision_tbl
2595: , x_revised_item_tbl => l_revised_item_tbl
2610: --x_rev_op_resource_tbl := l_rev_op_resource_tbl ;
2611: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
2612:
2613: WHEN EXC_SEV_QUIT_SIBLINGS THEN
2614: ECO_Error_Handler.Log_Error
2615: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2616: , p_mesg_token_tbl => l_mesg_token_tbl
2617: , p_error_status => Error_Handler.G_STATUS_ERROR
2618: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
2613: WHEN EXC_SEV_QUIT_SIBLINGS THEN
2614: ECO_Error_Handler.Log_Error
2615: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2616: , p_mesg_token_tbl => l_mesg_token_tbl
2617: , p_error_status => Error_Handler.G_STATUS_ERROR
2618: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
2619: , p_other_status => Error_Handler.G_STATUS_ERROR
2620: , p_other_message => l_other_message
2621: , p_other_token_tbl => l_other_token_tbl
2614: ECO_Error_Handler.Log_Error
2615: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2616: , p_mesg_token_tbl => l_mesg_token_tbl
2617: , p_error_status => Error_Handler.G_STATUS_ERROR
2618: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
2619: , p_other_status => Error_Handler.G_STATUS_ERROR
2620: , p_other_message => l_other_message
2621: , p_other_token_tbl => l_other_token_tbl
2622: , p_error_level => Error_Handler.G_RES_LEVEL
2615: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2616: , p_mesg_token_tbl => l_mesg_token_tbl
2617: , p_error_status => Error_Handler.G_STATUS_ERROR
2618: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
2619: , p_other_status => Error_Handler.G_STATUS_ERROR
2620: , p_other_message => l_other_message
2621: , p_other_token_tbl => l_other_token_tbl
2622: , p_error_level => Error_Handler.G_RES_LEVEL
2623: , p_entity_index => I
2618: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
2619: , p_other_status => Error_Handler.G_STATUS_ERROR
2620: , p_other_message => l_other_message
2621: , p_other_token_tbl => l_other_token_tbl
2622: , p_error_level => Error_Handler.G_RES_LEVEL
2623: , p_entity_index => I
2624: , x_ECO_rec => l_ECO_rec
2625: , x_eco_revision_tbl => l_eco_revision_tbl
2626: , x_revised_item_tbl => l_revised_item_tbl
2642: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
2643:
2644:
2645: WHEN EXC_FAT_QUIT_BRANCH THEN
2646: ECO_Error_Handler.Log_Error
2647: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2648: , p_mesg_token_tbl => l_mesg_token_tbl
2649: , p_error_status => Error_Handler.G_STATUS_FATAL
2650: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2645: WHEN EXC_FAT_QUIT_BRANCH THEN
2646: ECO_Error_Handler.Log_Error
2647: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2648: , p_mesg_token_tbl => l_mesg_token_tbl
2649: , p_error_status => Error_Handler.G_STATUS_FATAL
2650: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2651: , p_other_status => Error_Handler.G_STATUS_FATAL
2652: , p_other_message => l_other_message
2653: , p_other_token_tbl => l_other_token_tbl
2646: ECO_Error_Handler.Log_Error
2647: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2648: , p_mesg_token_tbl => l_mesg_token_tbl
2649: , p_error_status => Error_Handler.G_STATUS_FATAL
2650: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2651: , p_other_status => Error_Handler.G_STATUS_FATAL
2652: , p_other_message => l_other_message
2653: , p_other_token_tbl => l_other_token_tbl
2654: , p_error_level => Error_Handler.G_RES_LEVEL
2647: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2648: , p_mesg_token_tbl => l_mesg_token_tbl
2649: , p_error_status => Error_Handler.G_STATUS_FATAL
2650: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2651: , p_other_status => Error_Handler.G_STATUS_FATAL
2652: , p_other_message => l_other_message
2653: , p_other_token_tbl => l_other_token_tbl
2654: , p_error_level => Error_Handler.G_RES_LEVEL
2655: , p_entity_index => I
2650: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
2651: , p_other_status => Error_Handler.G_STATUS_FATAL
2652: , p_other_message => l_other_message
2653: , p_other_token_tbl => l_other_token_tbl
2654: , p_error_level => Error_Handler.G_RES_LEVEL
2655: , p_entity_index => I
2656: , x_ECO_rec => l_ECO_rec
2657: , x_eco_revision_tbl => l_eco_revision_tbl
2658: , x_revised_item_tbl => l_revised_item_tbl
2663: , x_rev_op_resource_tbl => x_rev_op_resource_tbl
2664: , x_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
2665: ) ;
2666:
2667: x_return_status := Error_Handler.G_STATUS_FATAL;
2668: x_mesg_token_tbl := l_mesg_token_tbl ;
2669: --x_rev_op_resource_tbl := l_rev_op_resource_tbl ;
2670: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
2671:
2670: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
2671:
2672:
2673: WHEN EXC_FAT_QUIT_SIBLINGS THEN
2674: ECO_Error_Handler.Log_Error
2675: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2676: , p_mesg_token_tbl => l_mesg_token_tbl
2677: , p_error_status => Error_Handler.G_STATUS_FATAL
2678: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
2673: WHEN EXC_FAT_QUIT_SIBLINGS THEN
2674: ECO_Error_Handler.Log_Error
2675: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2676: , p_mesg_token_tbl => l_mesg_token_tbl
2677: , p_error_status => Error_Handler.G_STATUS_FATAL
2678: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
2679: , p_other_status => Error_Handler.G_STATUS_FATAL
2680: , p_other_message => l_other_message
2681: , p_other_token_tbl => l_other_token_tbl
2674: ECO_Error_Handler.Log_Error
2675: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2676: , p_mesg_token_tbl => l_mesg_token_tbl
2677: , p_error_status => Error_Handler.G_STATUS_FATAL
2678: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
2679: , p_other_status => Error_Handler.G_STATUS_FATAL
2680: , p_other_message => l_other_message
2681: , p_other_token_tbl => l_other_token_tbl
2682: , p_error_level => Error_Handler.G_RES_LEVEL
2675: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2676: , p_mesg_token_tbl => l_mesg_token_tbl
2677: , p_error_status => Error_Handler.G_STATUS_FATAL
2678: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
2679: , p_other_status => Error_Handler.G_STATUS_FATAL
2680: , p_other_message => l_other_message
2681: , p_other_token_tbl => l_other_token_tbl
2682: , p_error_level => Error_Handler.G_RES_LEVEL
2683: , p_entity_index => I
2678: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
2679: , p_other_status => Error_Handler.G_STATUS_FATAL
2680: , p_other_message => l_other_message
2681: , p_other_token_tbl => l_other_token_tbl
2682: , p_error_level => Error_Handler.G_RES_LEVEL
2683: , p_entity_index => I
2684: , x_ECO_rec => l_ECO_rec
2685: , x_eco_revision_tbl => l_eco_revision_tbl
2686: , x_revised_item_tbl => l_revised_item_tbl
2691: , x_rev_op_resource_tbl => x_rev_op_resource_tbl
2692: , x_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
2693: ) ;
2694:
2695: x_return_status := Error_Handler.G_STATUS_FATAL;
2696: x_mesg_token_tbl := l_mesg_token_tbl ;
2697: --x_rev_op_resource_tbl := l_rev_op_resource_tbl ;
2698: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
2699:
2697: --x_rev_op_resource_tbl := l_rev_op_resource_tbl ;
2698: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
2699:
2700: WHEN EXC_FAT_QUIT_OBJECT THEN
2701: ECO_Error_Handler.Log_Error
2702: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2703: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2704: , p_mesg_token_tbl => l_mesg_token_tbl
2705: , p_error_status => Error_Handler.G_STATUS_FATAL
2701: ECO_Error_Handler.Log_Error
2702: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2703: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2704: , p_mesg_token_tbl => l_mesg_token_tbl
2705: , p_error_status => Error_Handler.G_STATUS_FATAL
2706: , p_error_scope => Error_Handler.G_SCOPE_ALL
2707: , p_other_status => Error_Handler.G_STATUS_FATAL
2708: , p_other_message => l_other_message
2709: , p_other_token_tbl => l_other_token_tbl
2702: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2703: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2704: , p_mesg_token_tbl => l_mesg_token_tbl
2705: , p_error_status => Error_Handler.G_STATUS_FATAL
2706: , p_error_scope => Error_Handler.G_SCOPE_ALL
2707: , p_other_status => Error_Handler.G_STATUS_FATAL
2708: , p_other_message => l_other_message
2709: , p_other_token_tbl => l_other_token_tbl
2710: , p_error_level => Error_Handler.G_RES_LEVEL
2703: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
2704: , p_mesg_token_tbl => l_mesg_token_tbl
2705: , p_error_status => Error_Handler.G_STATUS_FATAL
2706: , p_error_scope => Error_Handler.G_SCOPE_ALL
2707: , p_other_status => Error_Handler.G_STATUS_FATAL
2708: , p_other_message => l_other_message
2709: , p_other_token_tbl => l_other_token_tbl
2710: , p_error_level => Error_Handler.G_RES_LEVEL
2711: , p_entity_index => I
2706: , p_error_scope => Error_Handler.G_SCOPE_ALL
2707: , p_other_status => Error_Handler.G_STATUS_FATAL
2708: , p_other_message => l_other_message
2709: , p_other_token_tbl => l_other_token_tbl
2710: , p_error_level => Error_Handler.G_RES_LEVEL
2711: , p_entity_index => I
2712: , x_ECO_rec => l_ECO_rec
2713: , x_eco_revision_tbl => l_eco_revision_tbl
2714: , x_revised_item_tbl => l_revised_item_tbl
2725: --x_rev_op_resource_tbl := l_rev_op_resource_tbl ;
2726: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
2727:
2728: WHEN EXC_UNEXP_SKIP_OBJECT THEN
2729: ECO_Error_Handler.Log_Error
2730: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2731: , p_mesg_token_tbl => l_mesg_token_tbl
2732: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
2733: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
2728: WHEN EXC_UNEXP_SKIP_OBJECT THEN
2729: ECO_Error_Handler.Log_Error
2730: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2731: , p_mesg_token_tbl => l_mesg_token_tbl
2732: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
2733: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
2734: , p_other_message => l_other_message
2735: , p_other_token_tbl => l_other_token_tbl
2736: , p_error_level => Error_Handler.G_RES_LEVEL
2729: ECO_Error_Handler.Log_Error
2730: ( p_rev_op_resource_tbl => x_rev_op_resource_tbl
2731: , p_mesg_token_tbl => l_mesg_token_tbl
2732: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
2733: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
2734: , p_other_message => l_other_message
2735: , p_other_token_tbl => l_other_token_tbl
2736: , p_error_level => Error_Handler.G_RES_LEVEL
2737: , x_ECO_rec => l_ECO_rec
2732: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
2733: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
2734: , p_other_message => l_other_message
2735: , p_other_token_tbl => l_other_token_tbl
2736: , p_error_level => Error_Handler.G_RES_LEVEL
2737: , x_ECO_rec => l_ECO_rec
2738: , x_eco_revision_tbl => l_eco_revision_tbl
2739: , x_revised_item_tbl => l_revised_item_tbl
2740: , x_rev_component_tbl => l_rev_component_tbl
2789: , p_rev_sub_resource_tbl IN Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type
2790: , x_rev_operation_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Operation_Tbl_Type
2791: , x_rev_op_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type
2792: , x_rev_sub_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type
2793: , x_mesg_token_tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
2794: , x_return_status OUT NOCOPY VARCHAR2
2795: )
2796:
2797: IS
2825: l_valid BOOLEAN := TRUE ;
2826: l_dummy NUMBER ;
2827:
2828: /* Error Handling Variables */
2829: l_token_tbl Error_Handler.Token_Tbl_Type ;
2830: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
2831: l_other_token_tbl Error_Handler.Token_Tbl_Type ;
2832: l_other_message VARCHAR2(2000);
2833: l_err_text VARCHAR2(2000);
2826: l_dummy NUMBER ;
2827:
2828: /* Error Handling Variables */
2829: l_token_tbl Error_Handler.Token_Tbl_Type ;
2830: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
2831: l_other_token_tbl Error_Handler.Token_Tbl_Type ;
2832: l_other_message VARCHAR2(2000);
2833: l_err_text VARCHAR2(2000);
2834:
2827:
2828: /* Error Handling Variables */
2829: l_token_tbl Error_Handler.Token_Tbl_Type ;
2830: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
2831: l_other_token_tbl Error_Handler.Token_Tbl_Type ;
2832: l_other_message VARCHAR2(2000);
2833: l_err_text VARCHAR2(2000);
2834:
2835: EXC_SEV_QUIT_RECORD EXCEPTION ;
2959: , x_mesg_token_tbl => l_mesg_token_tbl
2960: , x_return_status => l_return_status
2961: ) ;
2962:
2963: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2964: ('Convert to User Unique Index to Index1 completed with return_status: ' || l_return_status) ;
2965: END IF;
2966:
2967: IF l_return_status = Error_Handler.G_STATUS_ERROR
2963: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2964: ('Convert to User Unique Index to Index1 completed with return_status: ' || l_return_status) ;
2965: END IF;
2966:
2967: IF l_return_status = Error_Handler.G_STATUS_ERROR
2968: THEN
2969: l_other_message := 'BOM_OP_UUI_SEV_ERROR';
2970: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
2971: l_other_token_tbl(1).token_value :=
2971: l_other_token_tbl(1).token_value :=
2972: l_rev_operation_rec.operation_sequence_number ;
2973: RAISE EXC_SEV_QUIT_BRANCH ;
2974:
2975: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
2976: THEN
2977: l_other_message := 'BOM_OP_UUI_UNEXP_SKIP';
2978: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
2979: l_other_token_tbl(1).token_value :=
3002: , x_other_token_tbl => l_other_token_tbl
3003: , x_Return_Status => l_return_status
3004: ) ;
3005:
3006: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3007: ('Convert to User Unique Index to Index1 for Rtg and Rev Item Seq completed with return_status: ' || l_return_status) ;
3008: END IF;
3009:
3010: IF l_return_status = Error_Handler.G_STATUS_ERROR
3006: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3007: ('Convert to User Unique Index to Index1 for Rtg and Rev Item Seq completed with return_status: ' || l_return_status) ;
3008: END IF;
3009:
3010: IF l_return_status = Error_Handler.G_STATUS_ERROR
3011: THEN
3012: l_other_message := 'BOM_OP_UUI_SEV_ERROR';
3013: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3014: l_other_token_tbl(1).token_value :=
3014: l_other_token_tbl(1).token_value :=
3015: l_rev_operation_rec.operation_sequence_number ;
3016: RAISE EXC_SEV_QUIT_BRANCH ;
3017:
3018: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3019: THEN
3020: l_other_message := 'BOM_OP_UUI_UNEXP_SKIP';
3021: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3022: l_other_token_tbl(1).token_value :=
3040: , x_other_token_tbl => l_other_token_tbl
3041: , x_return_status => l_return_status
3042: ) ;
3043:
3044: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3045: ('Convert to User Unique Index to Index2 completed with return_status: ' || l_return_status) ;
3046: END IF;
3047:
3048: IF l_return_status = Error_Handler.G_STATUS_ERROR
3044: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3045: ('Convert to User Unique Index to Index2 completed with return_status: ' || l_return_status) ;
3046: END IF;
3047:
3048: IF l_return_status = Error_Handler.G_STATUS_ERROR
3049: THEN
3050: RAISE EXC_SEV_QUIT_SIBLINGS ;
3051: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3052: THEN
3047:
3048: IF l_return_status = Error_Handler.G_STATUS_ERROR
3049: THEN
3050: RAISE EXC_SEV_QUIT_SIBLINGS ;
3051: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3052: THEN
3053: l_other_message := 'BOM_OP_UUI_UNEXP_SKIP';
3054: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3055: l_other_token_tbl(1).token_value :=
3063: ( p_inventory_item_id => l_rev_comp_unexp_rec.revised_item_id
3064: , p_organization_id => l_rev_comp_unexp_rec.organization_id
3065: );
3066:
3067: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3068: ('Set unit controlled item flag . . .' ) ;
3069: END IF ;
3070:
3071: --
3079: l_token_tbl(1).token_value := l_rev_operation_rec.operation_sequence_number ;
3080: l_token_tbl(2).token_name := 'REVISED_ITEM_NAME';
3081: l_token_tbl(2).token_value := l_rev_operation_rec.revised_item_name ;
3082:
3083: Error_Handler.Add_Error_Token
3084: ( p_Message_Name => 'BOM_OP_ECO_MDLUNITEFFECT'
3085: , p_mesg_token_tbl => l_mesg_token_tbl
3086: , x_mesg_token_tbl => l_mesg_token_tbl
3087: , p_Token_Tbl => l_token_tbl
3090: l_return_status := 'F';
3091: RAISE EXC_FAT_QUIT_SIBLINGS ; -- RAISE EXC_FAT_QUIT_BRANCH
3092: END IF;
3093:
3094: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3095: ('Check if the parent item is unit controlled item with return_status: ' || l_return_status) ;
3096: END IF ;
3097:
3098: --
3109: , x_return_status => l_return_status
3110: ) ;
3111:
3112:
3113: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3114: ('Check Existence completed with return_status: ' || l_return_status) ;
3115: END IF ;
3116:
3117: IF l_return_status = Error_Handler.G_STATUS_ERROR
3113: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3114: ('Check Existence completed with return_status: ' || l_return_status) ;
3115: END IF ;
3116:
3117: IF l_return_status = Error_Handler.G_STATUS_ERROR
3118: THEN
3119: l_other_message := 'BOM_OP_EXS_SEV_SKIP';
3120: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3121: l_other_token_tbl(1).token_value :=
3123: l_other_token_tbl(2).token_name := 'REVISED_ITEM_NAME';
3124: l_other_token_tbl(2).token_value :=
3125: l_rev_operation_rec.revised_item_name ;
3126: RAISE EXC_SEV_QUIT_BRANCH;
3127: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3128: THEN
3129: l_other_message := 'BOM_OP_EXS_UNEXP_SKIP';
3130: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3131: l_other_token_tbl(1).token_value :=
3138:
3139: --
3140: -- Process Flow step 7: Check lineage
3141: --
3142: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check lineage'); END IF;
3143: IF l_rev_operation_rec.transaction_type IN
3144: (Bom_Rtg_Globals.G_OPR_UPDATE, Bom_Rtg_Globals.G_OPR_DELETE,
3145: Bom_Rtg_Globals.G_OPR_CANCEL)
3146: THEN
3159: , x_mesg_token_tbl => l_mesg_token_tbl
3160: , x_return_status => l_return_status
3161: ) ;
3162:
3163: IF l_return_status = Error_Handler.G_STATUS_ERROR
3164: THEN
3165:
3166: l_Token_Tbl(1).token_name := 'OP_SEQ_NUMBER';
3167: l_Token_Tbl(1).token_value :=
3171: l_rev_operation_rec.revised_item_name ;
3172: l_token_tbl(3).token_name := 'ECO_NAME' ;
3173: l_token_tbl(3).token_value := l_rev_operation_rec.eco_name ;
3174:
3175: Error_Handler.Add_Error_Token
3176: ( p_Message_Name => 'BOM_OP_REV_ITEM_MISMATCH'
3177: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3178: , x_mesg_token_tbl => l_Mesg_Token_Tbl
3179: , p_Token_Tbl => l_Token_Tbl
3184: l_other_token_tbl(1).token_value :=
3185: l_rev_operation_rec.operation_sequence_number ;
3186: RAISE EXC_SEV_QUIT_BRANCH;
3187:
3188: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3189: THEN
3190: l_other_message := 'BOM_OP_LIN_UNEXP_SKIP';
3191: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3192: l_other_token_tbl(1).token_value :=
3205:
3206: --
3207: -- Process Flow step 9(a and b): Is ECO impl/cancl, or in wkflw process ?
3208: --
3209: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('ECO Check access'); END IF;
3210: ENG_Validate_ECO.Check_Access
3211: ( p_change_notice => l_rev_operation_rec.ECO_Name
3212: , p_organization_id => l_rev_op_unexp_rec.organization_id
3213: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3214: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3215: , x_Return_Status => l_return_status
3216: );
3217:
3218: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
3219:
3220: IF l_return_status = Error_Handler.G_STATUS_ERROR
3221: THEN
3222: l_other_message := 'BOM_OP_ECOACC_FAT_FATAL';
3216: );
3217:
3218: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
3219:
3220: IF l_return_status = Error_Handler.G_STATUS_ERROR
3221: THEN
3222: l_other_message := 'BOM_OP_ECOACC_FAT_FATAL';
3223: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3224: l_other_token_tbl(1).token_value :=
3224: l_other_token_tbl(1).token_value :=
3225: l_rev_operation_rec.operation_sequence_number ;
3226: l_return_status := 'F';
3227: RAISE EXC_FAT_QUIT_OBJECT;
3228: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3229: THEN
3230: l_other_message := 'BOM_OP_ECOACC_UNEXP_SKIP';
3231: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3232: l_other_token_tbl(1).token_value :=
3237:
3238: -- Process Flow step 10(a and b): check that user has access to revised item
3239: --
3240:
3241: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Revised Item Check access'); END IF;
3242: ENG_Validate_Revised_Item.Check_Access
3243: ( p_change_notice => l_rev_operation_rec.ECO_Name
3244: , p_organization_id => l_rev_op_unexp_rec.organization_id
3245: , p_revised_item_id => l_rev_op_unexp_rec.revised_item_id
3253: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3254: , x_return_status => l_Return_Status
3255: );
3256:
3257: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
3258:
3259: IF l_return_status = Error_Handler.G_STATUS_ERROR
3260: THEN
3261: l_other_message := 'BOM_OP_RITACC_FAT_FATAL';
3255: );
3256:
3257: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
3258:
3259: IF l_return_status = Error_Handler.G_STATUS_ERROR
3260: THEN
3261: l_other_message := 'BOM_OP_RITACC_FAT_FATAL';
3262: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3263: l_other_token_tbl(1).token_value :=
3263: l_other_token_tbl(1).token_value :=
3264: l_rev_operation_rec.operation_sequence_number;
3265: l_return_status := 'F';
3266: RAISE EXC_FAT_QUIT_SIBLINGS;
3267: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3268: THEN
3269: l_other_message := 'BOM_OP_RITACC_UNEXP_SKIP';
3270: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3271: l_other_token_tbl(1).token_value :=
3276: --
3277: -- Process Flow step : Check Assembly Item Operability for Operation
3278: -- BOM_Validate_Op_Seq.Check_Access
3279: --
3280: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Operation Check access'); END IF;
3281: BOM_Validate_Op_Seq.Check_Access
3282: ( p_change_notice => l_rev_operation_rec.ECO_Name
3283: , p_organization_id => l_rev_op_unexp_rec.organization_id
3284: , p_revised_item_id => l_rev_op_unexp_rec.revised_item_id
3304: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3305: , x_return_status => l_Return_Status
3306: );
3307:
3308: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('In check access of operations, return_status: ' || l_return_status); END IF;
3309:
3310: IF l_return_status = Error_Handler.G_STATUS_ERROR
3311: THEN
3312: l_other_message := 'BOM_OP_ACCESS_FAT_FATAL';
3306: );
3307:
3308: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('In check access of operations, return_status: ' || l_return_status); END IF;
3309:
3310: IF l_return_status = Error_Handler.G_STATUS_ERROR
3311: THEN
3312: l_other_message := 'BOM_OP_ACCESS_FAT_FATAL';
3313: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3314: l_other_token_tbl(1).token_value :=
3314: l_other_token_tbl(1).token_value :=
3315: l_rev_operation_rec.operation_sequence_number ;
3316: l_return_status := 'F' ;
3317: RAISE EXC_FAT_QUIT_SIBLINGS ; -- Check EXC_FAT_QUIT_OBJECT
3318: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3319: THEN
3320: l_other_message := 'BOM_OP_ACCESS_UNEXP_SKIP';
3321: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3322: l_other_token_tbl(1).token_value :=
3335: , x_mesg_token_tbl => l_mesg_token_tbl
3336: , x_return_status => l_return_status
3337: ) ;
3338:
3339: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3340: ('Check the routing non-referenced common completed with return_status: ' || l_return_status) ;
3341: END IF ;
3342:
3343: IF l_return_status = Error_Handler.G_STATUS_ERROR
3339: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3340: ('Check the routing non-referenced common completed with return_status: ' || l_return_status) ;
3341: END IF ;
3342:
3343: IF l_return_status = Error_Handler.G_STATUS_ERROR
3344: THEN
3345: l_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3346: l_token_tbl(1).token_value :=
3347: l_rev_operation_rec.operation_sequence_number ;
3347: l_rev_operation_rec.operation_sequence_number ;
3348: l_token_tbl(2).token_name := 'REVISED_ITEM_NAME';
3349: l_token_tbl(2).token_value :=
3350: l_rev_operation_rec.revised_item_name ;
3351: Error_Handler.Add_Error_Token
3352: ( p_Message_Name => 'BOM_OP_RTG_HAVECOMMON'
3353: , p_mesg_token_tbl => l_mesg_token_tbl
3354: , x_mesg_token_tbl => l_mesg_token_tbl
3355: , p_Token_Tbl => l_token_tbl
3357:
3358: l_return_status := 'F';
3359: RAISE EXC_FAT_QUIT_SIBLINGS ; -- RAISE EXC_FAT_QUIT_BRANCH ;
3360:
3361: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3362: THEN
3363: l_other_message := 'BOM_OP_ACCESS_UNEXP_SKIP';
3364: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3365: l_other_token_tbl(1).token_value :=
3387: , x_mesg_token_tbl => l_mesg_token_tbl
3388: , x_return_status => l_return_status
3389: ) ;
3390:
3391: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3392: ('Check non-operating columns completed with return_status: ' || l_return_status) ;
3393: END IF ;
3394:
3395: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3391: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3392: ('Check non-operating columns completed with return_status: ' || l_return_status) ;
3393: END IF ;
3394:
3395: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3396: THEN
3397: l_other_message := 'BOM_OP_NOPATTR_UNEXP_SKIP';
3398: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3399: l_other_token_tbl(1).token_value :=
3401: RAISE EXC_UNEXP_SKIP_OBJECT;
3402:
3403: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <>0
3404: THEN
3405: ECO_Error_Handler.Log_Error
3406: ( p_rev_operation_tbl => l_rev_operation_tbl
3407: , p_rev_op_resource_tbl => l_rev_op_resource_tbl
3408: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl
3409: , p_mesg_token_tbl => l_mesg_token_tbl
3407: , p_rev_op_resource_tbl => l_rev_op_resource_tbl
3408: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl
3409: , p_mesg_token_tbl => l_mesg_token_tbl
3410: , p_error_status => 'W'
3411: , p_error_level => Error_Handler.G_OP_LEVEL
3412: , p_entity_index => I
3413: , x_ECO_rec => l_ECO_rec
3414: , x_eco_revision_tbl => l_eco_revision_tbl
3415: , x_revised_item_tbl => l_revised_item_tbl
3435: , x_mesg_token_tbl => l_mesg_token_tbl
3436: , x_return_status => l_return_status
3437: );
3438:
3439: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3440: ('Value-id conversions completed with return_status: ' ||
3441: l_return_status) ;
3442: END IF ;
3443:
3440: ('Value-id conversions completed with return_status: ' ||
3441: l_return_status) ;
3442: END IF ;
3443:
3444: IF l_return_status = Error_Handler.G_STATUS_ERROR
3445: THEN
3446: IF l_rev_operation_rec.transaction_type = 'CREATE'
3447: THEN
3448: l_other_message := 'BOM_OP_VID_CSEV_SKIP';
3453: ELSE
3454: RAISE EXC_SEV_QUIT_RECORD ;
3455: END IF ;
3456:
3457: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3458: THEN
3459: l_other_message := 'BOM_OP_VID_UNEXP_SKIP';
3460: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3461: l_other_token_tbl(1).token_value :=
3463: RAISE EXC_UNEXP_SKIP_OBJECT;
3464:
3465: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <>0
3466: THEN
3467: ECO_Error_Handler.Log_Error
3468: ( p_rev_operation_tbl => x_rev_operation_tbl
3469: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3470: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
3471: , p_mesg_token_tbl => l_mesg_token_tbl
3469: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3470: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
3471: , p_mesg_token_tbl => l_mesg_token_tbl
3472: , p_error_status => 'W'
3473: , p_error_level => Error_Handler.G_OP_LEVEL
3474: , p_entity_index => I
3475: , x_ECO_rec => l_ECO_rec
3476: , x_eco_revision_tbl => l_eco_revision_tbl
3477: , x_revised_item_tbl => l_revised_item_tbl
3495: , x_mesg_token_tbl => l_mesg_token_tbl
3496: ) ;
3497:
3498:
3499: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3500: ('Check required completed with return_status: ' || l_return_status) ;
3501: END IF ;
3502:
3503:
3500: ('Check required completed with return_status: ' || l_return_status) ;
3501: END IF ;
3502:
3503:
3504: IF l_return_status = Error_Handler.G_STATUS_ERROR
3505: THEN
3506: IF l_rev_operation_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
3507: THEN
3508: l_other_message := 'BOM_OP_REQ_CSEV_SKIP';
3512: RAISE EXC_SEV_SKIP_BRANCH ;
3513: ELSE
3514: RAISE EXC_SEV_QUIT_RECORD ;
3515: END IF;
3516: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3517: THEN
3518: l_other_message := 'BOM_OP_REQ_UNEXP_SKIP';
3519: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3520: l_other_token_tbl(1).token_value :=
3536: , x_return_status => l_return_status
3537: , x_mesg_token_tbl => l_mesg_token_tbl
3538: ) ;
3539:
3540: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3541: ('Attribute validation completed with return_status: ' || l_return_status) ;
3542: END IF ;
3543:
3544: IF l_return_status = Error_Handler.G_STATUS_ERROR
3540: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3541: ('Attribute validation completed with return_status: ' || l_return_status) ;
3542: END IF ;
3543:
3544: IF l_return_status = Error_Handler.G_STATUS_ERROR
3545: THEN
3546: IF l_rev_operation_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
3547: THEN
3548: l_other_message := 'BOM_OP_ATTVAL_CSEV_SKIP';
3552: RAISE EXC_SEV_SKIP_BRANCH ;
3553: ELSE
3554: RAISE EXC_SEV_QUIT_RECORD ;
3555: END IF;
3556: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3557: THEN
3558: l_other_message := 'BOM_OP_ATTVAL_UNEXP_SKIP';
3559: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3560: l_other_token_tbl(1).token_value :=
3561: l_rev_operation_rec.operation_sequence_number ;
3562: RAISE EXC_UNEXP_SKIP_OBJECT ;
3563: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
3564: THEN
3565: ECO_Error_Handler.Log_Error
3566: ( p_rev_operation_tbl => x_rev_operation_tbl
3567: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3568: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3569: , p_mesg_token_tbl => l_mesg_token_tbl
3567: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3568: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3569: , p_mesg_token_tbl => l_mesg_token_tbl
3570: , p_error_status => 'W'
3571: , p_error_level => Error_Handler.G_OP_LEVEL
3572: , p_entity_index => I
3573: , x_ECO_rec => l_ECO_rec
3574: , x_eco_revision_tbl => l_eco_revision_tbl
3575: , x_revised_item_tbl => l_revised_item_tbl
3615: ) ;
3616:
3617: IF l_return_status <> Eng_Globals.G_RECORD_FOUND
3618: THEN
3619: l_return_status := Error_Handler.G_STATUS_ERROR ;
3620: l_Token_Tbl(1).token_name := 'OP_SEQ_NUMBER';
3621: l_Token_Tbl(1).token_value :=
3622: l_rev_operation_rec.operation_sequence_number ;
3623:
3620: l_Token_Tbl(1).token_name := 'OP_SEQ_NUMBER';
3621: l_Token_Tbl(1).token_value :=
3622: l_rev_operation_rec.operation_sequence_number ;
3623:
3624: Error_Handler.Add_Error_Token
3625: ( p_message_name => 'BOM_OP_CREATE_REC_NOT_FOUND'
3626: , p_mesg_token_tbl => l_Mesg_Token_Tbl
3627: , p_token_tbl => l_Token_Tbl
3628: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3632: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3633: l_other_token_tbl(1).token_value :=
3634: l_rev_operation_rec.operation_sequence_number ;
3635: RAISE EXC_SEV_SKIP_BRANCH;
3636: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3637: THEN
3638: l_other_message := 'BOM_OP_QRY_UNEXP_SKIP';
3639: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3640: l_other_token_tbl(1).token_value :=
3657: -- and Creates with ACD_Type 'Add'.
3658: -- Call Bom_Default_Op_Seq.Populate_Null_Columns
3659: --
3660:
3661: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populate NULL columns') ;
3662: END IF ;
3663:
3664:
3665: Bom_Default_Op_Seq.Populate_Null_Columns
3690: , x_mesg_token_tbl => l_mesg_token_tbl
3691: , x_return_status => l_return_status
3692: ) ;
3693:
3694: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3695: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
3696: END IF ;
3697:
3698:
3695: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
3696: END IF ;
3697:
3698:
3699: IF l_return_status = Error_Handler.G_STATUS_ERROR
3700: THEN
3701: l_other_message := 'BOM_OP_ATTDEF_CSEV_SKIP';
3702: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3703: l_other_token_tbl(1).token_value :=
3703: l_other_token_tbl(1).token_value :=
3704: l_rev_operation_rec.operation_sequence_number ;
3705: RAISE EXC_SEV_SKIP_BRANCH ;
3706:
3707: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3708: THEN
3709: l_other_message := 'BOM_OP_ATTDEF_UNEXP_SKIP';
3710: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3711: l_other_token_tbl(1).token_value :=
3712: l_rev_operation_rec.operation_sequence_number ;
3713: RAISE EXC_UNEXP_SKIP_OBJECT ;
3714: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
3715: THEN
3716: ECO_Error_Handler.Log_Error
3717: ( p_rev_operation_tbl => x_rev_operation_tbl
3718: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3719: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3720: , p_mesg_token_tbl => l_mesg_token_tbl
3718: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3719: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3720: , p_mesg_token_tbl => l_mesg_token_tbl
3721: , p_error_status => 'W'
3722: , p_error_level => Error_Handler.G_OP_LEVEL
3723: , p_entity_index => I
3724: , x_ECO_rec => l_ECO_rec
3725: , x_eco_revision_tbl => l_eco_revision_tbl
3726: , x_revised_item_tbl => l_revised_item_tbl
3748: , x_return_status => l_return_status
3749: , x_mesg_token_tbl => l_mesg_token_tbl
3750: ) ;
3751:
3752: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3753: ('Check Conditionally Required Attr. completed with return_status: ' || l_return_status) ;
3754: END IF ;
3755:
3756: IF l_return_status = Error_Handler.G_STATUS_ERROR
3752: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3753: ('Check Conditionally Required Attr. completed with return_status: ' || l_return_status) ;
3754: END IF ;
3755:
3756: IF l_return_status = Error_Handler.G_STATUS_ERROR
3757: THEN
3758: IF l_rev_operation_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
3759: THEN
3760: l_other_message := 'BOM_OP_CONREQ_CSEV_SKIP';
3764: RAISE EXC_SEV_SKIP_BRANCH ;
3765: ELSE
3766: RAISE EXC_SEV_QUIT_RECORD ;
3767: END IF;
3768: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3769: THEN
3770: l_other_message := 'BOM_OP_CONREQ_UNEXP_SKIP';
3771: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3772: l_other_token_tbl(1).token_value :=
3773: l_rev_operation_rec.operation_sequence_number ;
3774: RAISE EXC_UNEXP_SKIP_OBJECT ;
3775: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
3776: THEN
3777: ECO_Error_Handler.Log_Error
3778: ( p_rev_operation_tbl => x_rev_operation_tbl
3779: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3780: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3781: , p_mesg_token_tbl => l_mesg_token_tbl
3779: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3780: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3781: , p_mesg_token_tbl => l_mesg_token_tbl
3782: , p_error_status => 'W'
3783: , p_error_level => Error_Handler.G_OP_LEVEL
3784: , p_entity_index => I
3785: , x_ECO_rec => l_ECO_rec
3786: , x_eco_revision_tbl => l_eco_revision_tbl
3787: , x_revised_item_tbl => l_revised_item_tbl
3813: , x_mesg_token_tbl => l_mesg_token_tbl
3814: , x_return_status => l_return_status
3815: ) ;
3816:
3817: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3818: ('Entity defaulting completed with return_status: ' || l_return_status) ;
3819: END IF ;
3820:
3821: IF l_return_status = Error_Handler.G_STATUS_ERROR
3817: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3818: ('Entity defaulting completed with return_status: ' || l_return_status) ;
3819: END IF ;
3820:
3821: IF l_return_status = Error_Handler.G_STATUS_ERROR
3822: THEN
3823: IF l_rev_operation_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
3824: THEN
3825: l_other_message := 'BOM_OP_ENTDEF_CSEV_SKIP';
3829: RAISE EXC_SEV_SKIP_BRANCH ;
3830: ELSE
3831: RAISE EXC_SEV_QUIT_RECORD ;
3832: END IF;
3833: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3834: THEN
3835: l_other_message := 'BOM_OP_ENTDEF_UNEXP_SKIP';
3836: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3837: l_other_token_tbl(1).token_value :=
3838: l_rev_operation_rec.operation_sequence_number ;
3839: RAISE EXC_UNEXP_SKIP_OBJECT ;
3840: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
3841: THEN
3842: ECO_Error_Handler.Log_Error
3843: ( p_rev_operation_tbl => x_rev_operation_tbl
3844: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3845: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3846: , p_mesg_token_tbl => l_mesg_token_tbl
3844: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3845: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3846: , p_mesg_token_tbl => l_mesg_token_tbl
3847: , p_error_status => 'W'
3848: , p_error_level => Error_Handler.G_OP_LEVEL
3849: , p_entity_index => I
3850: , x_ECO_rec => l_ECO_rec
3851: , x_eco_revision_tbl => l_eco_revision_tbl
3852: , x_revised_item_tbl => l_revised_item_tbl
3866: -- Call Bom_Validate_Op_Seq.Check_Entity
3867: --
3868:
3869: IF Bom_Rtg_Globals.Get_Debug = 'Y'
3870: THEN Error_Handler.Write_Debug('Starting with Revised Operatin Entity Validation . . . ') ;
3871: END IF ;
3872:
3873: Bom_Validate_Op_Seq.Check_Entity
3874: ( p_rev_operation_rec => l_rev_operation_rec
3882: , x_return_status => l_return_status
3883: ) ;
3884:
3885:
3886: IF l_return_status = Error_Handler.G_STATUS_ERROR
3887: THEN
3888: IF l_rev_operation_rec.transaction_type = Bom_Rtg_Globals.G_OPR_CREATE
3889: THEN
3890: l_other_message := 'BOM_OP_ENTVAL_CSEV_SKIP';
3894: RAISE EXC_SEV_SKIP_BRANCH ;
3895: ELSE
3896: RAISE EXC_SEV_QUIT_RECORD ;
3897: END IF;
3898: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3899: THEN
3900: l_other_message := 'BOM_OP_ENTVAL_UNEXP_SKIP';
3901: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3902: l_other_token_tbl(1).token_value :=
3903: l_rev_operation_rec.operation_sequence_number ;
3904: RAISE EXC_UNEXP_SKIP_OBJECT ;
3905: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
3906: THEN
3907: ECO_Error_Handler.Log_Error
3908: ( p_rev_operation_tbl => x_rev_operation_tbl
3909: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3910: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3911: , p_mesg_token_tbl => l_mesg_token_tbl
3909: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3910: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3911: , p_mesg_token_tbl => l_mesg_token_tbl
3912: , p_error_status => 'W'
3913: , p_error_level => Error_Handler.G_OP_LEVEL
3914: , p_entity_index => I
3915: , x_ECO_rec => l_ECO_rec
3916: , x_eco_revision_tbl => l_eco_revision_tbl
3917: , x_revised_item_tbl => l_revised_item_tbl
3923: , x_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3924: ) ;
3925: END IF;
3926:
3927: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation completed with '
3928: || l_return_Status || ' proceeding for database writes . . . ') ;
3929: END IF;
3930:
3931: --
3933: --
3934: IF l_rev_operation_rec.transaction_type = BOM_Rtg_Globals.G_OPR_CANCEL
3935: THEN
3936:
3937: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3938: ('Operatin Sequence: Perform Cancel Operation . . .') ;
3939: END IF ;
3940:
3941: ENG_Globals.Cancel_Operation
3949: , x_return_status => l_return_status
3950: , x_mesg_token_tbl => l_mesg_token_tbl
3951: ) ;
3952:
3953: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3954: ('Cancel Operation is completed with return status ' || l_return_status ) ;
3955: END IF ;
3956:
3957: ELSE
3961: , x_mesg_token_tbl => l_mesg_token_tbl
3962: , x_return_status => l_return_status
3963: ) ;
3964:
3965: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
3966: THEN
3967: l_other_message := 'BOM_OP_WRITES_UNEXP_SKIP';
3968: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
3969: l_other_token_tbl(1).token_value :=
3971: RAISE EXC_UNEXP_SKIP_OBJECT ;
3972: ELSIF l_return_status ='S' AND
3973: l_mesg_token_tbl .COUNT <>0
3974: THEN
3975: ECO_Error_Handler.Log_Error
3976: ( p_rev_operation_tbl => x_rev_operation_tbl
3977: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3978: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3979: , p_mesg_token_tbl => l_mesg_token_tbl
3977: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
3978: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
3979: , p_mesg_token_tbl => l_mesg_token_tbl
3980: , p_error_status => 'W'
3981: , p_error_level => Error_Handler.G_OP_LEVEL
3982: , p_entity_index => I
3983: , x_ECO_rec => l_ECO_rec
3984: , x_eco_revision_tbl => l_eco_revision_tbl
3985: , x_revised_item_tbl => l_revised_item_tbl
3999: , x_mesg_token_tbl => l_mesg_token_tbl
4000: , x_return_status => l_return_status
4001: ) ;
4002:
4003: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4004: THEN
4005: l_other_message := 'BOM_OP_WRITES_UNEXP_SKIP';
4006: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
4007: l_other_token_tbl(1).token_value :=
4009: RAISE EXC_UNEXP_SKIP_OBJECT ;
4010: ELSIF l_return_status ='S' AND
4011: l_mesg_token_tbl .COUNT <>0
4012: THEN
4013: ECO_Error_Handler.Log_Error
4014: ( p_rev_operation_tbl => x_rev_operation_tbl
4015: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4016: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
4017: , p_mesg_token_tbl => l_mesg_token_tbl
4015: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4016: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl
4017: , p_mesg_token_tbl => l_mesg_token_tbl
4018: , p_error_status => 'W'
4019: , p_error_level => Error_Handler.G_OP_LEVEL
4020: , p_entity_index => I
4021: , x_ECO_rec => l_ECO_rec
4022: , x_eco_revision_tbl => l_eco_revision_tbl
4023: , x_revised_item_tbl => l_revised_item_tbl
4032:
4033: END IF ;
4034:
4035:
4036: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Database writes completed with status ' || l_return_status);
4037: END IF;
4038:
4039: /*Bug 6485168. l_process_children should be set inside the if clause. In the else set it to false
4040: END IF; -- END IF statement that checks RETURN STATUS
4054: -- For loop exception handler.
4055:
4056: EXCEPTION
4057: WHEN EXC_SEV_QUIT_RECORD THEN
4058: ECO_Error_Handler.Log_Error
4059: ( p_rev_operation_tbl => x_rev_operation_tbl
4060: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4061: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4062: , p_mesg_token_tbl => l_mesg_token_tbl
4060: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4061: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4062: , p_mesg_token_tbl => l_mesg_token_tbl
4063: , p_error_status => FND_API.G_RET_STS_ERROR
4064: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4065: , p_error_level => Error_Handler.G_OP_LEVEL
4066: , p_entity_index => I
4067: , x_eco_rec => l_eco_rec
4068: , x_eco_revision_tbl => l_eco_revision_tbl
4061: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4062: , p_mesg_token_tbl => l_mesg_token_tbl
4063: , p_error_status => FND_API.G_RET_STS_ERROR
4064: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4065: , p_error_level => Error_Handler.G_OP_LEVEL
4066: , p_entity_index => I
4067: , x_eco_rec => l_eco_rec
4068: , x_eco_revision_tbl => l_eco_revision_tbl
4069: , x_revised_item_tbl => l_revised_item_tbl
4091:
4092:
4093: WHEN EXC_SEV_QUIT_BRANCH THEN
4094:
4095: ECO_Error_Handler.Log_Error
4096: ( p_rev_operation_tbl => x_rev_operation_tbl
4097: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4098: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4099: , p_mesg_token_tbl => l_mesg_token_tbl
4097: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4098: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4099: , p_mesg_token_tbl => l_mesg_token_tbl
4100: , p_error_status => FND_API.G_RET_STS_ERROR
4101: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4102: , p_error_level => Error_Handler.G_OP_LEVEL
4103: , p_entity_index => I
4104: , x_eco_rec => l_eco_rec
4105: , x_eco_revision_tbl => l_eco_revision_tbl
4098: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4099: , p_mesg_token_tbl => l_mesg_token_tbl
4100: , p_error_status => FND_API.G_RET_STS_ERROR
4101: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4102: , p_error_level => Error_Handler.G_OP_LEVEL
4103: , p_entity_index => I
4104: , x_eco_rec => l_eco_rec
4105: , x_eco_revision_tbl => l_eco_revision_tbl
4106: , x_revised_item_tbl => l_revised_item_tbl
4127: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
4128:
4129:
4130: WHEN EXC_SEV_SKIP_BRANCH THEN
4131: ECO_Error_Handler.Log_Error
4132: ( p_rev_operation_tbl => x_rev_operation_tbl
4133: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4134: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4135: , p_mesg_token_tbl => l_mesg_token_tbl
4133: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4134: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4135: , p_mesg_token_tbl => l_mesg_token_tbl
4136: , p_error_status => FND_API.G_RET_STS_ERROR
4137: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4138: , p_error_level => Error_Handler.G_OP_LEVEL
4139: , p_entity_index => I
4140: , x_eco_rec => l_eco_rec
4141: , x_eco_revision_tbl => l_eco_revision_tbl
4134: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4135: , p_mesg_token_tbl => l_mesg_token_tbl
4136: , p_error_status => FND_API.G_RET_STS_ERROR
4137: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4138: , p_error_level => Error_Handler.G_OP_LEVEL
4139: , p_entity_index => I
4140: , x_eco_rec => l_eco_rec
4141: , x_eco_revision_tbl => l_eco_revision_tbl
4142: , x_revised_item_tbl => l_revised_item_tbl
4162: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
4163:
4164:
4165: WHEN EXC_SEV_QUIT_SIBLINGS THEN
4166: ECO_Error_Handler.Log_Error
4167: ( p_rev_operation_tbl => x_rev_operation_tbl
4168: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4169: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4170: , p_mesg_token_tbl => l_mesg_token_tbl
4168: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4169: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4170: , p_mesg_token_tbl => l_mesg_token_tbl
4171: , p_error_status => FND_API.G_RET_STS_ERROR
4172: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4173: , p_error_level => Error_Handler.G_OP_LEVEL
4174: , p_entity_index => I
4175: , x_eco_rec => l_eco_rec
4176: , x_eco_revision_tbl => l_eco_revision_tbl
4169: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4170: , p_mesg_token_tbl => l_mesg_token_tbl
4171: , p_error_status => FND_API.G_RET_STS_ERROR
4172: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4173: , p_error_level => Error_Handler.G_OP_LEVEL
4174: , p_entity_index => I
4175: , x_eco_rec => l_eco_rec
4176: , x_eco_revision_tbl => l_eco_revision_tbl
4177: , x_revised_item_tbl => l_revised_item_tbl
4199:
4200:
4201:
4202: WHEN EXC_FAT_QUIT_BRANCH THEN
4203: ECO_Error_Handler.Log_Error
4204: ( p_rev_operation_tbl => x_rev_operation_tbl
4205: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4206: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4207: , p_mesg_token_tbl => l_mesg_token_tbl
4205: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4206: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4207: , p_mesg_token_tbl => l_mesg_token_tbl
4208: , p_error_status => FND_API.G_RET_STS_ERROR
4209: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4210: , p_error_level => Error_Handler.G_OP_LEVEL
4211: , p_entity_index => I
4212: , x_eco_rec => l_eco_rec
4213: , x_eco_revision_tbl => l_eco_revision_tbl
4206: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4207: , p_mesg_token_tbl => l_mesg_token_tbl
4208: , p_error_status => FND_API.G_RET_STS_ERROR
4209: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4210: , p_error_level => Error_Handler.G_OP_LEVEL
4211: , p_entity_index => I
4212: , x_eco_rec => l_eco_rec
4213: , x_eco_revision_tbl => l_eco_revision_tbl
4214: , x_revised_item_tbl => l_revised_item_tbl
4220: , x_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4221: ) ;
4222:
4223: l_process_children := FALSE ;
4224: x_return_status := Error_Handler.G_STATUS_FATAL;
4225: x_mesg_token_tbl := l_mesg_token_tbl ;
4226:
4227: --x_rev_operation_tbl := l_rev_operation_tbl ;
4228: --x_rev_op_resource_tbl := l_rev_op_resource_tbl ;
4230:
4231:
4232:
4233: WHEN EXC_FAT_QUIT_SIBLINGS THEN
4234: ECO_Error_Handler.Log_Error
4235: ( p_rev_operation_tbl => x_rev_operation_tbl
4236: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4237: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4238: , p_mesg_token_tbl => l_mesg_token_tbl
4236: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4237: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4238: , p_mesg_token_tbl => l_mesg_token_tbl
4239: , p_error_status => FND_API.G_RET_STS_ERROR
4240: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4241: , p_error_level => Error_Handler.G_OP_LEVEL
4242: , p_entity_index => I
4243: , x_eco_rec => l_eco_rec
4244: , x_eco_revision_tbl => l_eco_revision_tbl
4237: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4238: , p_mesg_token_tbl => l_mesg_token_tbl
4239: , p_error_status => FND_API.G_RET_STS_ERROR
4240: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4241: , p_error_level => Error_Handler.G_OP_LEVEL
4242: , p_entity_index => I
4243: , x_eco_rec => l_eco_rec
4244: , x_eco_revision_tbl => l_eco_revision_tbl
4245: , x_revised_item_tbl => l_revised_item_tbl
4252: ) ;
4253:
4254:
4255: l_process_children := FALSE ;
4256: x_return_status := Error_Handler.G_STATUS_FATAL;
4257: x_mesg_token_tbl := l_mesg_token_tbl ;
4258:
4259: --x_rev_operation_tbl := l_rev_operation_tbl ;
4260: --x_rev_op_resource_tbl := l_rev_op_resource_tbl ;
4261: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
4262:
4263:
4264: WHEN EXC_FAT_QUIT_OBJECT THEN
4265: ECO_Error_Handler.Log_Error
4266: ( p_rev_operation_tbl => x_rev_operation_tbl
4267: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4268: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4269: , p_mesg_token_tbl => l_mesg_token_tbl
4267: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4268: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4269: , p_mesg_token_tbl => l_mesg_token_tbl
4270: , p_error_status => FND_API.G_RET_STS_ERROR
4271: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4272: , p_error_level => Error_Handler.G_OP_LEVEL
4273: , p_entity_index => I
4274: , x_eco_rec => l_eco_rec
4275: , x_eco_revision_tbl => l_eco_revision_tbl
4268: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4269: , p_mesg_token_tbl => l_mesg_token_tbl
4270: , p_error_status => FND_API.G_RET_STS_ERROR
4271: , p_error_scope => Error_Handler.G_SCOPE_RECORD
4272: , p_error_level => Error_Handler.G_OP_LEVEL
4273: , p_entity_index => I
4274: , x_eco_rec => l_eco_rec
4275: , x_eco_revision_tbl => l_eco_revision_tbl
4276: , x_revised_item_tbl => l_revised_item_tbl
4290: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl ;
4291:
4292:
4293: WHEN EXC_UNEXP_SKIP_OBJECT THEN
4294: ECO_Error_Handler.Log_Error
4295: ( p_rev_operation_tbl => x_rev_operation_tbl
4296: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4297: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4298: , p_mesg_token_tbl => l_mesg_token_tbl
4295: ( p_rev_operation_tbl => x_rev_operation_tbl
4296: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4297: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4298: , p_mesg_token_tbl => l_mesg_token_tbl
4299: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
4300: , p_error_level => Error_Handler.G_OP_LEVEL
4301: , p_entity_index => I
4302: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
4303: , p_other_message => l_other_message
4296: , p_rev_op_resource_tbl => x_rev_op_resource_tbl
4297: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl
4298: , p_mesg_token_tbl => l_mesg_token_tbl
4299: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
4300: , p_error_level => Error_Handler.G_OP_LEVEL
4301: , p_entity_index => I
4302: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
4303: , p_other_message => l_other_message
4304: , p_other_token_tbl => l_other_token_tbl
4298: , p_mesg_token_tbl => l_mesg_token_tbl
4299: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
4300: , p_error_level => Error_Handler.G_OP_LEVEL
4301: , p_entity_index => I
4302: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
4303: , p_other_message => l_other_message
4304: , p_other_token_tbl => l_other_token_tbl
4305: , x_eco_rec => l_eco_rec
4306: , x_eco_revision_tbl => l_eco_revision_tbl
4427: , p_component_item_name IN VARCHAR2 := NULL
4428: , p_operation_seq_num IN NUMBER := NULL
4429: , p_sub_component_tbl IN BOM_BO_PUB.Sub_Component_Tbl_Type
4430: , x_sub_component_tbl IN OUT NOCOPY BOM_BO_PUB.Sub_Component_Tbl_Type
4431: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
4432: , x_return_status OUT NOCOPY VARCHAR2
4433: )
4434: IS
4435: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
4431: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
4432: , x_return_status OUT NOCOPY VARCHAR2
4433: )
4434: IS
4435: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
4436: l_other_token_tbl Error_Handler.Token_Tbl_Type;
4437: l_other_message VARCHAR2(2000);
4438: l_err_text VARCHAR2(2000);
4439: l_valid BOOLEAN := TRUE;
4432: , x_return_status OUT NOCOPY VARCHAR2
4433: )
4434: IS
4435: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
4436: l_other_token_tbl Error_Handler.Token_Tbl_Type;
4437: l_other_message VARCHAR2(2000);
4438: l_err_text VARCHAR2(2000);
4439: l_valid BOOLEAN := TRUE;
4440: l_item_parent_exists BOOLEAN := FALSE;
4451: l_old_sub_component_rec BOM_BO_PUB.Sub_Component_Rec_Type;
4452: l_sub_comp_unexp_rec BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
4453: l_old_sub_comp_unexp_rec BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
4454: l_return_value NUMBER;
4455: l_Token_Tbl Error_Handler.Token_Tbl_Type;
4456:
4457: l_rev_operation_tbl Bom_Rtg_Pub.Rev_Operation_Tbl_Type;
4458: l_rev_op_resource_tbl Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type;
4459: l_rev_sub_resource_tbl Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type;
4569: l_return_status := FND_API.G_RET_STS_SUCCESS;
4570:
4571: l_sub_component_rec.return_status := FND_API.G_RET_STS_SUCCESS;
4572:
4573: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing substitite component: ' || l_sub_component_rec.substitute_component_name); END IF;
4574:
4575: -- Bug 6657209
4576: IF (l_comp_parent_exists and ENG_Default_Revised_Item.G_OLD_SCHED_DATE is not null) THEN
4577: l_sub_component_rec.start_effective_date := p_effectivity_date;
4579:
4580: -- Check if transaction_type is valid
4581: --
4582:
4583: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
4584: ENG_GLOBALS.Transaction_Type_Validity
4585: ( p_transaction_type => l_sub_component_rec.transaction_type
4586: , p_entity => 'Sub_Comps'
4587: , p_entity_id => l_sub_component_rec.revised_item_name
4590: );
4591:
4592: IF NOT l_valid
4593: THEN
4594: l_return_status := Error_Handler.G_STATUS_ERROR;
4595: RAISE EXC_SEV_QUIT_RECORD;
4596: END IF;
4597:
4598: -- Process Flow step 4(a): Convert user unique index to unique index I
4597:
4598: -- Process Flow step 4(a): Convert user unique index to unique index I
4599: --
4600:
4601: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index I'); END IF;
4602: Bom_Val_To_Id.Sub_Component_UUI_To_UI
4603: ( p_sub_component_rec => l_sub_component_rec
4604: , p_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4605: , x_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4606: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4607: , x_Return_Status => l_return_status
4608: );
4609:
4610: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4611:
4612: IF l_return_status = Error_Handler.G_STATUS_ERROR
4613: THEN
4614: RAISE EXC_SEV_QUIT_RECORD;
4608: );
4609:
4610: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4611:
4612: IF l_return_status = Error_Handler.G_STATUS_ERROR
4613: THEN
4614: RAISE EXC_SEV_QUIT_RECORD;
4615: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4616: THEN
4611:
4612: IF l_return_status = Error_Handler.G_STATUS_ERROR
4613: THEN
4614: RAISE EXC_SEV_QUIT_RECORD;
4615: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4616: THEN
4617: l_other_message := 'BOM_SBC_UUI_UNEXP_SKIP';
4618: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4619: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4623: -- Process Flow step 4(b): Convert user unique index to unique index II
4624: --
4625:
4626:
4627: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index II'); END IF;
4628: Bom_Val_To_Id.Sub_Component_UUI_To_UI2
4629: ( p_sub_component_rec => l_sub_component_rec
4630: , p_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4631: , x_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4634: , x_other_token_tbl => l_other_token_tbl
4635: , x_Return_Status => l_return_status
4636: );
4637:
4638: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4639:
4640: IF l_return_status = Error_Handler.G_STATUS_ERROR
4641: THEN
4642: RAISE EXC_SEV_QUIT_SIBLINGS;
4636: );
4637:
4638: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4639:
4640: IF l_return_status = Error_Handler.G_STATUS_ERROR
4641: THEN
4642: RAISE EXC_SEV_QUIT_SIBLINGS;
4643: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4644: THEN
4639:
4640: IF l_return_status = Error_Handler.G_STATUS_ERROR
4641: THEN
4642: RAISE EXC_SEV_QUIT_SIBLINGS;
4643: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4644: THEN
4645: l_other_message := 'BOM_SBC_UUI_UNEXP_SKIP';
4646: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4647: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4648: RAISE EXC_UNEXP_SKIP_OBJECT;
4649: END IF;
4650:
4651: IF Bom_Globals.Get_Debug = 'Y' THEN
4652: Error_Handler.Write_Debug('Converting user unique index to unique index II for Bill and Rev Item Seq Id');
4653: END IF;
4654: -- Added by MK on 12/03/00 to resolve ECO dependency
4655: ENG_Val_To_Id.BillAndRevitem_UUI_To_UI
4656: ( p_revised_item_name => l_sub_component_rec.revised_item_name
4676: , x_other_token_tbl => l_other_token_tbl
4677: , x_Return_Status => l_return_status
4678: ) ;
4679:
4680: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4681:
4682: IF l_return_status = Error_Handler.G_STATUS_ERROR
4683: THEN
4684: RAISE EXC_SEV_QUIT_SIBLINGS;
4678: ) ;
4679:
4680: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4681:
4682: IF l_return_status = Error_Handler.G_STATUS_ERROR
4683: THEN
4684: RAISE EXC_SEV_QUIT_SIBLINGS;
4685: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4686: THEN
4681:
4682: IF l_return_status = Error_Handler.G_STATUS_ERROR
4683: THEN
4684: RAISE EXC_SEV_QUIT_SIBLINGS;
4685: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4686: THEN
4687: l_other_message := 'BOM_SBC_UUI_UNEXP_SKIP';
4688: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4689: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4695:
4696: -- Process Flow step 5: Verify Substitute Component's existence
4697: --
4698:
4699: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check existence'); END IF;
4700: Bom_Validate_Sub_Component.Check_Existence
4701: ( p_sub_component_rec => l_sub_component_rec
4702: , p_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4703: , x_old_sub_component_rec => l_old_sub_component_rec
4705: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4706: , x_return_status => l_Return_Status
4707: );
4708:
4709: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4710:
4711: IF l_return_status = Error_Handler.G_STATUS_ERROR
4712: THEN
4713: RAISE EXC_SEV_QUIT_RECORD;
4707: );
4708:
4709: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4710:
4711: IF l_return_status = Error_Handler.G_STATUS_ERROR
4712: THEN
4713: RAISE EXC_SEV_QUIT_RECORD;
4714: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4715: THEN
4710:
4711: IF l_return_status = Error_Handler.G_STATUS_ERROR
4712: THEN
4713: RAISE EXC_SEV_QUIT_RECORD;
4714: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4715: THEN
4716: l_other_message := 'BOM_SBC_EXS_UNEXP_SKIP';
4717: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4718: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4728:
4729: -- Process Flow step 6: Check lineage
4730: --
4731:
4732: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check lineage'); END IF;
4733: Bom_Validate_Sub_Component.Check_Lineage
4734: ( p_sub_component_rec => l_sub_component_rec
4735: , p_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4736: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4736: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4737: , x_return_status => l_Return_Status
4738: );
4739:
4740: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4741:
4742: IF l_return_status = Error_Handler.G_STATUS_ERROR
4743: THEN
4744: RAISE EXC_SEV_QUIT_BRANCH;
4738: );
4739:
4740: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4741:
4742: IF l_return_status = Error_Handler.G_STATUS_ERROR
4743: THEN
4744: RAISE EXC_SEV_QUIT_BRANCH;
4745: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4746: THEN
4741:
4742: IF l_return_status = Error_Handler.G_STATUS_ERROR
4743: THEN
4744: RAISE EXC_SEV_QUIT_BRANCH;
4745: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4746: THEN
4747: l_other_message := 'BOM_SBC_LIN_UNEXP_SKIP';
4748: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4749: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4760: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4761: , x_Return_Status => l_return_status
4762: );
4763:
4764: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4765:
4766: IF l_return_status = Error_Handler.G_STATUS_ERROR
4767: THEN
4768: l_other_message := 'BOM_SBC_ECOACC_FAT_FATAL';
4762: );
4763:
4764: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4765:
4766: IF l_return_status = Error_Handler.G_STATUS_ERROR
4767: THEN
4768: l_other_message := 'BOM_SBC_ECOACC_FAT_FATAL';
4769: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4770: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4769: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4770: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4771: l_return_status := 'F';
4772: RAISE EXC_FAT_QUIT_OBJECT;
4773: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4774: THEN
4775: l_other_message := 'BOM_SBC_ECOACC_UNEXP_SKIP';
4776: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4777: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4780:
4781: -- Process Flow step 9(a and b): check that user has access to revised item
4782: --
4783:
4784: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
4785: ENG_Validate_Revised_Item.Check_Access
4786: ( p_change_notice => l_sub_component_rec.ECO_Name
4787: , p_organization_id => l_sub_comp_unexp_rec.organization_id
4788: , p_revised_item_id => l_sub_comp_unexp_rec.revised_item_id
4797: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4798: , x_return_status => l_Return_Status
4799: );
4800:
4801: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4802:
4803: IF l_return_status = Error_Handler.G_STATUS_ERROR
4804: THEN
4805: l_other_message := 'BOM_SBC_RITACC_FAT_FATAL';
4799: );
4800:
4801: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4802:
4803: IF l_return_status = Error_Handler.G_STATUS_ERROR
4804: THEN
4805: l_other_message := 'BOM_SBC_RITACC_FAT_FATAL';
4806: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4807: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4806: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4807: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4808: l_return_status := 'F';
4809: RAISE EXC_FAT_QUIT_SIBLINGS;
4810: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4811: THEN
4812: l_other_message := 'BOM_SBC_RITACC_UNEXP_SKIP';
4813: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4814: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4817:
4818: -- Process Flow step 10: check that user has access to revised component
4819: --
4820:
4821: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
4822: Bom_Validate_Bom_Component.Check_Access
4823: ( p_change_notice => l_sub_component_rec.ECO_Name
4824: , p_organization_id => l_sub_comp_unexp_rec.organization_id
4825: , p_revised_item_id => l_sub_comp_unexp_rec.revised_item_id
4838: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4839: , x_return_status => l_Return_Status
4840: );
4841:
4842: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4843:
4844: IF l_return_status = Error_Handler.G_STATUS_ERROR
4845: THEN
4846: l_other_message := 'BOM_SBC_CMPACC_FAT_FATAL';
4840: );
4841:
4842: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4843:
4844: IF l_return_status = Error_Handler.G_STATUS_ERROR
4845: THEN
4846: l_other_message := 'BOM_SBC_CMPACC_FAT_FATAL';
4847: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4848: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4849: l_other_token_tbl(2).token_name := 'REVISED_COMPONENT_NAME';
4850: l_other_token_tbl(2).token_value := l_sub_component_rec.component_item_name;
4851: l_return_status := 'F';
4852: RAISE EXC_FAT_QUIT_SIBLINGS;
4853: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4854: THEN
4855: l_other_message := 'BOM_SBC_CMPACC_UNEXP_SKIP';
4856: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4857: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4862:
4863: -- Process Flow step 11: does user have access to substitute component ?
4864: --
4865:
4866: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
4867: Bom_Validate_Sub_Component.Check_Access
4868: ( p_sub_component_rec => l_sub_component_rec
4869: , p_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4870: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4870: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4871: , x_return_status => l_Return_Status
4872: );
4873:
4874: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4875:
4876: IF l_return_status = Error_Handler.G_STATUS_ERROR
4877: THEN
4878: l_other_message := 'BOM_SBC_ACCESS_FAT_FATAL';
4872: );
4873:
4874: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4875:
4876: IF l_return_status = Error_Handler.G_STATUS_ERROR
4877: THEN
4878: l_other_message := 'BOM_SBC_ACCESS_FAT_FATAL';
4879: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4880: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4879: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4880: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4881: l_return_status := 'F';
4882: RAISE EXC_FAT_QUIT_BRANCH;
4883: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4884: THEN
4885: l_other_message := 'BOM_SBC_ACCESS_UNEXP_SKIP';
4886: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4887: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4892:
4893: -- Process Flow step 12: Attribute Validation for CREATE and UPDATE
4894: --
4895:
4896: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
4897: IF l_sub_component_rec.Transaction_Type IN
4898: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
4899: THEN
4900: Bom_Validate_Sub_Component.Check_Attributes
4903: , p_sub_component_rec => l_sub_component_rec
4904: , p_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4905: );
4906:
4907: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4908:
4909: IF l_return_status = Error_Handler.G_STATUS_ERROR
4910: THEN
4911: RAISE EXC_SEV_QUIT_RECORD;
4905: );
4906:
4907: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4908:
4909: IF l_return_status = Error_Handler.G_STATUS_ERROR
4910: THEN
4911: RAISE EXC_SEV_QUIT_RECORD;
4912: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4913: THEN
4908:
4909: IF l_return_status = Error_Handler.G_STATUS_ERROR
4910: THEN
4911: RAISE EXC_SEV_QUIT_RECORD;
4912: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4913: THEN
4914: l_other_message := 'BOM_SBC_ATTVAL_UNEXP_SKIP';
4915: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4916: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4917: RAISE EXC_UNEXP_SKIP_OBJECT;
4918: ELSIF l_return_status = 'S' AND
4919: x_Mesg_Token_Tbl.COUNT <>0
4920: THEN
4921: Eco_Error_Handler.Log_Error
4922: ( p_sub_component_tbl => x_sub_component_tbl
4923: , p_mesg_token_tbl => l_mesg_token_tbl
4924: , p_error_status => 'W'
4925: , p_error_level => 6
4943:
4944: -- Process flow step 13 - Populate NULL columns for Update and
4945: -- Delete.
4946:
4947: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populating NULL Columns'); END IF;
4948: Bom_Default_Sub_Component.Populate_NULL_Columns
4949: ( p_sub_component_rec => l_sub_component_rec
4950: , p_old_sub_component_rec => l_old_sub_component_rec
4951: , p_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4958:
4959: -- Process Flow step 14: Default missing values for Operation CREATE
4960: --
4961:
4962: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting'); END IF;
4963: Bom_Default_Sub_Component.Attribute_Defaulting
4964: ( p_sub_component_rec => l_sub_component_rec
4965: , p_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4966: , x_sub_component_rec => l_sub_component_rec
4968: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4969: , x_return_status => l_return_status
4970: );
4971:
4972: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4973:
4974: IF l_return_status = Error_Handler.G_STATUS_ERROR
4975: THEN
4976: RAISE EXC_SEV_QUIT_RECORD;
4970: );
4971:
4972: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
4973:
4974: IF l_return_status = Error_Handler.G_STATUS_ERROR
4975: THEN
4976: RAISE EXC_SEV_QUIT_RECORD;
4977: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4978: THEN
4973:
4974: IF l_return_status = Error_Handler.G_STATUS_ERROR
4975: THEN
4976: RAISE EXC_SEV_QUIT_RECORD;
4977: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
4978: THEN
4979: l_other_message := 'BOM_SBC_ATTDEF_UNEXP_SKIP';
4980: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
4981: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
4982: RAISE EXC_UNEXP_SKIP_OBJECT;
4983: ELSIF l_return_status ='S' AND
4984: l_Mesg_Token_Tbl.COUNT <>0
4985: THEN
4986: Eco_Error_Handler.Log_Error
4987: ( p_sub_component_tbl => x_sub_component_tbl
4988: , p_mesg_token_tbl => l_mesg_token_tbl
4989: , p_error_status => 'W'
4990: , p_error_level => 6
5004:
5005: -- Process Flow step 15 - Entity Level Validation
5006: --
5007:
5008: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation'); END IF;
5009: Bom_Validate_Sub_Component.Check_Entity
5010: ( p_sub_component_rec => l_sub_component_rec
5011: , p_sub_comp_unexp_rec => l_sub_comp_unexp_rec
5012: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5012: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5013: , x_return_status => l_Return_Status
5014: );
5015:
5016: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5017:
5018: IF l_return_status = Error_Handler.G_STATUS_ERROR
5019: THEN
5020: RAISE EXC_SEV_QUIT_RECORD;
5014: );
5015:
5016: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5017:
5018: IF l_return_status = Error_Handler.G_STATUS_ERROR
5019: THEN
5020: RAISE EXC_SEV_QUIT_RECORD;
5021: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5022: THEN
5017:
5018: IF l_return_status = Error_Handler.G_STATUS_ERROR
5019: THEN
5020: RAISE EXC_SEV_QUIT_RECORD;
5021: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5022: THEN
5023: l_other_message := 'BOM_SBC_ENTVAL_UNEXP_SKIP';
5024: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
5025: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
5026: RAISE EXC_UNEXP_SKIP_OBJECT;
5027: ELSIF l_return_status ='S' AND
5028: l_Mesg_Token_Tbl.COUNT <>0
5029: THEN
5030: Eco_Error_Handler.Log_Error
5031: ( p_sub_component_tbl => x_sub_component_tbl
5032: , p_mesg_token_tbl => l_mesg_token_tbl
5033: , p_error_status => 'W'
5034: , p_error_level => 6
5047:
5048: -- Process Flow step 16 : Database Writes
5049: --
5050:
5051: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Writing to the database'); END IF;
5052: Bom_Sub_Component_Util.Perform_Writes
5053: ( p_sub_component_rec => l_sub_component_rec
5054: , p_sub_comp_unexp_rec => l_sub_comp_unexp_rec
5055: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5055: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5056: , x_return_status => l_return_status
5057: );
5058:
5059: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5060:
5061: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5062: THEN
5063: l_other_message := 'BOM_SBC_WRITES_UNEXP_SKIP';
5057: );
5058:
5059: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5060:
5061: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5062: THEN
5063: l_other_message := 'BOM_SBC_WRITES_UNEXP_SKIP';
5064: l_other_token_tbl(1).token_name := 'SUBSTITUTE_ITEM_NAME';
5065: l_other_token_tbl(1).token_value := l_sub_component_rec.substitute_component_name;
5066: RAISE EXC_UNEXP_SKIP_OBJECT;
5067: ELSIF l_return_status ='S' AND
5068: l_Mesg_Token_Tbl.COUNT <>0
5069: THEN
5070: Eco_Error_Handler.Log_Error
5071: ( p_sub_component_tbl => x_sub_component_tbl
5072: , p_mesg_token_tbl => l_mesg_token_tbl
5073: , p_error_status => 'W'
5074: , p_error_level => 6
5097: EXCEPTION
5098:
5099: WHEN EXC_SEV_QUIT_RECORD THEN
5100:
5101: Eco_Error_Handler.Log_Error
5102: ( p_sub_component_tbl => x_sub_component_tbl
5103: , p_mesg_token_tbl => l_mesg_token_tbl
5104: , p_error_status => Error_Handler.G_STATUS_ERROR
5105: , p_error_scope => Error_Handler.G_SCOPE_RECORD
5100:
5101: Eco_Error_Handler.Log_Error
5102: ( p_sub_component_tbl => x_sub_component_tbl
5103: , p_mesg_token_tbl => l_mesg_token_tbl
5104: , p_error_status => Error_Handler.G_STATUS_ERROR
5105: , p_error_scope => Error_Handler.G_SCOPE_RECORD
5106: , p_error_level => 6
5107: , p_entity_index => I
5108: , x_eco_rec => l_eco_rec
5101: Eco_Error_Handler.Log_Error
5102: ( p_sub_component_tbl => x_sub_component_tbl
5103: , p_mesg_token_tbl => l_mesg_token_tbl
5104: , p_error_status => Error_Handler.G_STATUS_ERROR
5105: , p_error_scope => Error_Handler.G_SCOPE_RECORD
5106: , p_error_level => 6
5107: , p_entity_index => I
5108: , x_eco_rec => l_eco_rec
5109: , x_eco_revision_tbl => l_eco_revision_tbl
5125: --x_sub_component_tbl := l_sub_component_tbl;
5126:
5127: WHEN EXC_SEV_QUIT_BRANCH THEN
5128:
5129: Eco_Error_Handler.Log_Error
5130: ( p_sub_component_tbl => x_sub_component_tbl
5131: , p_mesg_token_tbl => l_mesg_token_tbl
5132: , p_error_status => Error_Handler.G_STATUS_ERROR
5133: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5128:
5129: Eco_Error_Handler.Log_Error
5130: ( p_sub_component_tbl => x_sub_component_tbl
5131: , p_mesg_token_tbl => l_mesg_token_tbl
5132: , p_error_status => Error_Handler.G_STATUS_ERROR
5133: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5134: , p_other_status => Error_Handler.G_STATUS_ERROR
5135: , p_other_message => l_other_message
5136: , p_other_token_tbl => l_other_token_tbl
5129: Eco_Error_Handler.Log_Error
5130: ( p_sub_component_tbl => x_sub_component_tbl
5131: , p_mesg_token_tbl => l_mesg_token_tbl
5132: , p_error_status => Error_Handler.G_STATUS_ERROR
5133: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5134: , p_other_status => Error_Handler.G_STATUS_ERROR
5135: , p_other_message => l_other_message
5136: , p_other_token_tbl => l_other_token_tbl
5137: , p_error_level => 6
5130: ( p_sub_component_tbl => x_sub_component_tbl
5131: , p_mesg_token_tbl => l_mesg_token_tbl
5132: , p_error_status => Error_Handler.G_STATUS_ERROR
5133: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5134: , p_other_status => Error_Handler.G_STATUS_ERROR
5135: , p_other_message => l_other_message
5136: , p_other_token_tbl => l_other_token_tbl
5137: , p_error_level => 6
5138: , p_entity_index => I
5156: --x_sub_component_tbl := l_sub_component_tbl;
5157:
5158: WHEN EXC_SEV_QUIT_SIBLINGS THEN
5159:
5160: Eco_Error_Handler.Log_Error
5161: ( p_sub_component_tbl => x_sub_component_tbl
5162: , p_mesg_token_tbl => l_mesg_token_tbl
5163: , p_error_status => Error_Handler.G_STATUS_ERROR
5164: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
5159:
5160: Eco_Error_Handler.Log_Error
5161: ( p_sub_component_tbl => x_sub_component_tbl
5162: , p_mesg_token_tbl => l_mesg_token_tbl
5163: , p_error_status => Error_Handler.G_STATUS_ERROR
5164: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
5165: , p_other_status => Error_Handler.G_STATUS_ERROR
5166: , p_other_message => l_other_message
5167: , p_other_token_tbl => l_other_token_tbl
5160: Eco_Error_Handler.Log_Error
5161: ( p_sub_component_tbl => x_sub_component_tbl
5162: , p_mesg_token_tbl => l_mesg_token_tbl
5163: , p_error_status => Error_Handler.G_STATUS_ERROR
5164: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
5165: , p_other_status => Error_Handler.G_STATUS_ERROR
5166: , p_other_message => l_other_message
5167: , p_other_token_tbl => l_other_token_tbl
5168: , p_error_level => 6
5161: ( p_sub_component_tbl => x_sub_component_tbl
5162: , p_mesg_token_tbl => l_mesg_token_tbl
5163: , p_error_status => Error_Handler.G_STATUS_ERROR
5164: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
5165: , p_other_status => Error_Handler.G_STATUS_ERROR
5166: , p_other_message => l_other_message
5167: , p_other_token_tbl => l_other_token_tbl
5168: , p_error_level => 6
5169: , p_entity_index => I
5189: RETURN;
5190:
5191: WHEN EXC_FAT_QUIT_SIBLINGS THEN
5192:
5193: Eco_Error_Handler.Log_Error
5194: ( p_sub_component_tbl => x_sub_component_tbl
5195: , p_mesg_token_tbl => l_mesg_token_tbl
5196: , p_error_status => Error_Handler.G_STATUS_FATAL
5197: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
5192:
5193: Eco_Error_Handler.Log_Error
5194: ( p_sub_component_tbl => x_sub_component_tbl
5195: , p_mesg_token_tbl => l_mesg_token_tbl
5196: , p_error_status => Error_Handler.G_STATUS_FATAL
5197: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
5198: , p_other_status => Error_Handler.G_STATUS_FATAL
5199: , p_other_message => l_other_message
5200: , p_other_token_tbl => l_other_token_tbl
5193: Eco_Error_Handler.Log_Error
5194: ( p_sub_component_tbl => x_sub_component_tbl
5195: , p_mesg_token_tbl => l_mesg_token_tbl
5196: , p_error_status => Error_Handler.G_STATUS_FATAL
5197: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
5198: , p_other_status => Error_Handler.G_STATUS_FATAL
5199: , p_other_message => l_other_message
5200: , p_other_token_tbl => l_other_token_tbl
5201: , p_error_level => 6
5194: ( p_sub_component_tbl => x_sub_component_tbl
5195: , p_mesg_token_tbl => l_mesg_token_tbl
5196: , p_error_status => Error_Handler.G_STATUS_FATAL
5197: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
5198: , p_other_status => Error_Handler.G_STATUS_FATAL
5199: , p_other_message => l_other_message
5200: , p_other_token_tbl => l_other_token_tbl
5201: , p_error_level => 6
5202: , p_entity_index => I
5210: , x_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
5211: , x_rev_sub_resource_tbl=> l_rev_sub_resource_tbl--L1
5212: );
5213:
5214: x_return_status := Error_Handler.G_STATUS_FATAL;
5215: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5216: --x_sub_component_tbl := l_sub_component_tbl;
5217:
5218: RETURN;
5218: RETURN;
5219:
5220: WHEN EXC_FAT_QUIT_BRANCH THEN
5221:
5222: Eco_Error_Handler.Log_Error
5223: ( p_sub_component_tbl => x_sub_component_tbl
5224: , p_mesg_token_tbl => l_mesg_token_tbl
5225: , p_error_status => Error_Handler.G_STATUS_FATAL
5226: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5221:
5222: Eco_Error_Handler.Log_Error
5223: ( p_sub_component_tbl => x_sub_component_tbl
5224: , p_mesg_token_tbl => l_mesg_token_tbl
5225: , p_error_status => Error_Handler.G_STATUS_FATAL
5226: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5227: , p_other_status => Error_Handler.G_STATUS_FATAL
5228: , p_other_message => l_other_message
5229: , p_other_token_tbl => l_other_token_tbl
5222: Eco_Error_Handler.Log_Error
5223: ( p_sub_component_tbl => x_sub_component_tbl
5224: , p_mesg_token_tbl => l_mesg_token_tbl
5225: , p_error_status => Error_Handler.G_STATUS_FATAL
5226: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5227: , p_other_status => Error_Handler.G_STATUS_FATAL
5228: , p_other_message => l_other_message
5229: , p_other_token_tbl => l_other_token_tbl
5230: , p_error_level => 6
5223: ( p_sub_component_tbl => x_sub_component_tbl
5224: , p_mesg_token_tbl => l_mesg_token_tbl
5225: , p_error_status => Error_Handler.G_STATUS_FATAL
5226: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5227: , p_other_status => Error_Handler.G_STATUS_FATAL
5228: , p_other_message => l_other_message
5229: , p_other_token_tbl => l_other_token_tbl
5230: , p_error_level => 6
5231: , p_entity_index => I
5239: , x_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
5240: , x_rev_sub_resource_tbl=> l_rev_sub_resource_tbl--L1
5241: );
5242:
5243: x_return_status := Error_Handler.G_STATUS_FATAL;
5244: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5245: --x_sub_component_tbl := l_sub_component_tbl;
5246:
5247: WHEN EXC_FAT_QUIT_OBJECT THEN
5245: --x_sub_component_tbl := l_sub_component_tbl;
5246:
5247: WHEN EXC_FAT_QUIT_OBJECT THEN
5248:
5249: Eco_Error_Handler.Log_Error
5250: ( p_sub_component_tbl => x_sub_component_tbl
5251: , p_mesg_token_tbl => l_mesg_token_tbl
5252: , p_error_status => Error_Handler.G_STATUS_FATAL
5253: , p_error_scope => Error_Handler.G_SCOPE_ALL
5248:
5249: Eco_Error_Handler.Log_Error
5250: ( p_sub_component_tbl => x_sub_component_tbl
5251: , p_mesg_token_tbl => l_mesg_token_tbl
5252: , p_error_status => Error_Handler.G_STATUS_FATAL
5253: , p_error_scope => Error_Handler.G_SCOPE_ALL
5254: , p_other_status => Error_Handler.G_STATUS_FATAL
5255: , p_other_message => l_other_message
5256: , p_other_token_tbl => l_other_token_tbl
5249: Eco_Error_Handler.Log_Error
5250: ( p_sub_component_tbl => x_sub_component_tbl
5251: , p_mesg_token_tbl => l_mesg_token_tbl
5252: , p_error_status => Error_Handler.G_STATUS_FATAL
5253: , p_error_scope => Error_Handler.G_SCOPE_ALL
5254: , p_other_status => Error_Handler.G_STATUS_FATAL
5255: , p_other_message => l_other_message
5256: , p_other_token_tbl => l_other_token_tbl
5257: , p_error_level => 6
5250: ( p_sub_component_tbl => x_sub_component_tbl
5251: , p_mesg_token_tbl => l_mesg_token_tbl
5252: , p_error_status => Error_Handler.G_STATUS_FATAL
5253: , p_error_scope => Error_Handler.G_SCOPE_ALL
5254: , p_other_status => Error_Handler.G_STATUS_FATAL
5255: , p_other_message => l_other_message
5256: , p_other_token_tbl => l_other_token_tbl
5257: , p_error_level => 6
5258: , p_entity_index => I
5266: , x_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
5267: , x_rev_sub_resource_tbl=> l_rev_sub_resource_tbl--L1
5268: );
5269:
5270: x_return_status := Error_Handler.G_STATUS_FATAL;
5271: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5272: --x_sub_component_tbl := l_sub_component_tbl;
5273:
5274: l_return_status := 'Q';
5274: l_return_status := 'Q';
5275:
5276: WHEN EXC_UNEXP_SKIP_OBJECT THEN
5277:
5278: Eco_Error_Handler.Log_Error
5279: ( p_sub_component_tbl => x_sub_component_tbl
5280: , p_mesg_token_tbl => l_mesg_token_tbl
5281: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
5282: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
5277:
5278: Eco_Error_Handler.Log_Error
5279: ( p_sub_component_tbl => x_sub_component_tbl
5280: , p_mesg_token_tbl => l_mesg_token_tbl
5281: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
5282: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
5283: , p_other_message => l_other_message
5284: , p_other_token_tbl => l_other_token_tbl
5285: , p_error_level => 6
5278: Eco_Error_Handler.Log_Error
5279: ( p_sub_component_tbl => x_sub_component_tbl
5280: , p_mesg_token_tbl => l_mesg_token_tbl
5281: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
5282: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
5283: , p_other_message => l_other_message
5284: , p_other_token_tbl => l_other_token_tbl
5285: , p_error_level => 6
5286: , x_ECO_rec => l_ECO_rec
5336: , p_ref_designator_tbl IN BOM_BO_PUB.Ref_Designator_Tbl_Type
5337: , p_sub_component_tbl IN BOM_BO_PUB.Sub_Component_Tbl_Type
5338: , x_ref_designator_tbl IN OUT NOCOPY BOM_BO_PUB.Ref_Designator_Tbl_Type
5339: , x_sub_component_tbl IN OUT NOCOPY BOM_BO_PUB.Sub_Component_Tbl_Type
5340: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
5341: , x_return_status OUT NOCOPY VARCHAR2
5342: )
5343: IS
5344: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
5340: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
5341: , x_return_status OUT NOCOPY VARCHAR2
5342: )
5343: IS
5344: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
5345: l_other_token_tbl Error_Handler.Token_Tbl_Type;
5346: l_other_message VARCHAR2(2000);
5347: l_err_text VARCHAR2(2000);
5348: l_valid BOOLEAN := TRUE;
5341: , x_return_status OUT NOCOPY VARCHAR2
5342: )
5343: IS
5344: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
5345: l_other_token_tbl Error_Handler.Token_Tbl_Type;
5346: l_other_message VARCHAR2(2000);
5347: l_err_text VARCHAR2(2000);
5348: l_valid BOOLEAN := TRUE;
5349: l_item_parent_exists BOOLEAN := FALSE;
5360: l_ref_desg_unexp_rec BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
5361: l_old_ref_desg_unexp_rec BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
5362: --l_sub_component_tbl BOM_BO_PUB.Sub_Component_Tbl_Type := p_sub_component_tbl;
5363: l_return_value NUMBER;
5364: l_Token_Tbl Error_Handler.Token_Tbl_Type;
5365:
5366: l_rev_operation_tbl Bom_Rtg_Pub.Rev_Operation_Tbl_Type;
5367: l_rev_op_resource_tbl Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type;
5368: l_rev_sub_resource_tbl Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type;
5385: x_sub_component_tbl := p_sub_component_tbl;
5386:
5387: l_ref_desg_unexp_rec.organization_id := ENG_GLOBALS.Get_org_id;
5388:
5389: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Within processing Ref Designators . . . '); END IF;
5390:
5391:
5392: FOR I IN 1..x_ref_designator_tbl.COUNT LOOP
5393: IF (x_ref_designator_tbl(I).return_status IS NULL OR
5401:
5402: l_ref_designator_rec.transaction_type :=
5403: UPPER(l_ref_designator_rec.transaction_type);
5404:
5405: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing Ref Designator . . . ' || l_ref_designator_rec.reference_designator_name || 'at count ' || to_char(i)); END IF;
5406:
5407: IF p_component_item_name IS NOT NULL AND
5408: p_operation_seq_num IS NOT NULL AND
5409: p_revised_item_name IS NOT NULL AND
5413: THEN
5414: -- revised comp parent exists
5415:
5416: l_comp_parent_exists := TRUE;
5417: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Called by Rev_Comps . . .'); END IF;
5418:
5419: ELSIF p_revised_item_name IS NOT NULL AND
5420: p_effectivity_date IS NOT NULL AND
5421: --p_item_revision IS NOT NULL AND (Commented for bug 3766816 - Forward porting for bug 3747487)
5425: -- revised item parent exists
5426:
5427: l_item_parent_exists := TRUE;
5428:
5429: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Called by Rev_Items . . .'); END IF;
5430:
5431: END IF;
5432:
5433: -- Process Flow Step 2: Check if record has not yet been processed and
5433: -- Process Flow Step 2: Check if record has not yet been processed and
5434: -- that it is the child of the parent that called this procedure
5435: --
5436:
5437: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
5438: ('ECO Name: ' || p_change_notice ||
5439: ' Org : ' || p_organization_id ||
5440: ' Eff. Dt : ' || to_char(p_effectivity_date) ||
5441: ' Revision: ' || p_item_revision ||
5500:
5501: -- Check if transaction_type is valid
5502: --
5503:
5504: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
5505:
5506:
5507: ENG_GLOBALS.Transaction_Type_Validity
5508: ( p_transaction_type => l_ref_designator_rec.transaction_type
5513: );
5514:
5515: IF NOT l_valid
5516: THEN
5517: l_return_status := Error_Handler.G_STATUS_ERROR;
5518: RAISE EXC_SEV_QUIT_RECORD;
5519: END IF;
5520:
5521: -- Process Flow step 4(a): Convert user unique index to unique index I
5520:
5521: -- Process Flow step 4(a): Convert user unique index to unique index I
5522: --
5523:
5524: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index I'); END IF;
5525: Bom_Val_To_Id.Ref_Designator_UUI_To_UI
5526: ( p_ref_designator_rec => l_ref_designator_rec
5527: , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
5528: , x_ref_desg_unexp_rec => l_ref_desg_unexp_rec
5529: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5530: , x_Return_Status => l_return_status
5531: );
5532:
5533: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5534:
5535: IF l_return_status = Error_Handler.G_STATUS_ERROR
5536: THEN
5537: RAISE EXC_SEV_QUIT_RECORD;
5531: );
5532:
5533: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5534:
5535: IF l_return_status = Error_Handler.G_STATUS_ERROR
5536: THEN
5537: RAISE EXC_SEV_QUIT_RECORD;
5538: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5539: THEN
5534:
5535: IF l_return_status = Error_Handler.G_STATUS_ERROR
5536: THEN
5537: RAISE EXC_SEV_QUIT_RECORD;
5538: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5539: THEN
5540: l_other_message := 'BOM_RFD_UUI_UNEXP_SKIP';
5541: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5542: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5545:
5546: -- Process Flow step 4(b): Convert user unique index to unique index II
5547: --
5548:
5549: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index II'); END IF;
5550: Bom_Val_To_Id.Ref_Designator_UUI_To_UI2
5551: ( p_ref_designator_rec => l_ref_designator_rec
5552: , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
5553: , x_ref_desg_unexp_rec => l_ref_desg_unexp_rec
5556: , x_other_token_tbl => l_other_token_tbl
5557: , x_Return_Status => l_return_status
5558: );
5559:
5560: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5561:
5562: IF l_return_status = Error_Handler.G_STATUS_ERROR
5563: THEN
5564: RAISE EXC_SEV_QUIT_SIBLINGS;
5558: );
5559:
5560: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5561:
5562: IF l_return_status = Error_Handler.G_STATUS_ERROR
5563: THEN
5564: RAISE EXC_SEV_QUIT_SIBLINGS;
5565: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5566: THEN
5561:
5562: IF l_return_status = Error_Handler.G_STATUS_ERROR
5563: THEN
5564: RAISE EXC_SEV_QUIT_SIBLINGS;
5565: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5566: THEN
5567: l_other_message := 'BOM_RFD_UUI_UNEXP_SKIP';
5568: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5569: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5571: END IF;
5572:
5573:
5574: IF Bom_Globals.Get_Debug = 'Y' THEN
5575: Error_Handler.Write_Debug('Converting user unique index to unique index II for Bill and Rev Item Seq Id');
5576: END IF;
5577:
5578: -- Added by MK on 12/03/00 to resolve ECO dependency
5579: ENG_Val_To_Id.BillAndRevitem_UUI_To_UI
5601: , x_Return_Status => l_return_status
5602: ) ;
5603:
5604:
5605: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5606:
5607: IF l_return_status = Error_Handler.G_STATUS_ERROR
5608: THEN
5609: RAISE EXC_SEV_QUIT_SIBLINGS;
5603:
5604:
5605: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5606:
5607: IF l_return_status = Error_Handler.G_STATUS_ERROR
5608: THEN
5609: RAISE EXC_SEV_QUIT_SIBLINGS;
5610: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5611: THEN
5606:
5607: IF l_return_status = Error_Handler.G_STATUS_ERROR
5608: THEN
5609: RAISE EXC_SEV_QUIT_SIBLINGS;
5610: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5611: THEN
5612: l_other_message := 'BOM_RFD_UUI_UNEXP_SKIP';
5613: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5614: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5618:
5619: -- Process Flow step 5: Verify Reference Designator's existence
5620: --
5621:
5622: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check existence'); END IF;
5623: Bom_Validate_Ref_Designator.Check_Existence
5624: ( p_ref_designator_rec => l_ref_designator_rec
5625: , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
5626: , x_old_ref_designator_rec => l_old_ref_designator_rec
5628: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5629: , x_return_status => l_Return_Status
5630: );
5631:
5632: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5633:
5634: IF l_return_status = Error_Handler.G_STATUS_ERROR
5635: THEN
5636: RAISE EXC_SEV_QUIT_RECORD;
5630: );
5631:
5632: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5633:
5634: IF l_return_status = Error_Handler.G_STATUS_ERROR
5635: THEN
5636: RAISE EXC_SEV_QUIT_RECORD;
5637: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5638: THEN
5633:
5634: IF l_return_status = Error_Handler.G_STATUS_ERROR
5635: THEN
5636: RAISE EXC_SEV_QUIT_RECORD;
5637: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5638: THEN
5639: l_other_message := 'BOM_RFD_EXS_UNEXP_SKIP';
5640: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5641: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5651:
5652: -- Process Flow step 7: Check lineage
5653: --
5654:
5655: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check lineage'); END IF;
5656: Bom_Validate_Ref_Designator.Check_Lineage
5657: ( p_ref_designator_rec => l_ref_designator_rec
5658: , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
5659: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5659: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5660: , x_return_status => l_Return_Status
5661: );
5662:
5663: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5664:
5665: IF l_return_status = Error_Handler.G_STATUS_ERROR
5666: THEN
5667: RAISE EXC_SEV_QUIT_BRANCH;
5661: );
5662:
5663: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5664:
5665: IF l_return_status = Error_Handler.G_STATUS_ERROR
5666: THEN
5667: RAISE EXC_SEV_QUIT_BRANCH;
5668: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5669: THEN
5664:
5665: IF l_return_status = Error_Handler.G_STATUS_ERROR
5666: THEN
5667: RAISE EXC_SEV_QUIT_BRANCH;
5668: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5669: THEN
5670: l_other_message := 'BOM_RFD_LIN_UNEXP_SKIP';
5671: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5672: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5675:
5676: -- Process Flow step 8(a and b): Is ECO impl/cancl, or in wkflw process ?
5677: --
5678:
5679: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' Check ECO access'); END IF;
5680:
5681: ENG_Validate_ECO.Check_Access
5682: ( p_change_notice => l_ref_designator_rec.ECO_Name
5683: , p_organization_id => l_ref_desg_unexp_rec.organization_id
5685: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5686: , x_Return_Status => l_return_status
5687: );
5688:
5689: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5690:
5691: IF l_return_status = Error_Handler.G_STATUS_ERROR
5692: THEN
5693: l_other_message := 'BOM_RFD_ECOACC_FAT_FATAL';
5687: );
5688:
5689: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5690:
5691: IF l_return_status = Error_Handler.G_STATUS_ERROR
5692: THEN
5693: l_other_message := 'BOM_RFD_ECOACC_FAT_FATAL';
5694: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5695: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5694: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5695: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5696: l_return_status := 'F';
5697: RAISE EXC_FAT_QUIT_OBJECT;
5698: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5699: THEN
5700: l_other_message := 'BOM_RFD_ECOACC_UNEXP_SKIP';
5701: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5702: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5705:
5706: -- Process Flow step 9(a and b): check that user has access to revised item
5707: --
5708:
5709: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
5710: ENG_Validate_Revised_Item.Check_Access
5711: ( p_change_notice => l_ref_designator_rec.ECO_Name
5712: , p_organization_id => l_ref_desg_unexp_rec.organization_id
5713: , p_revised_item_id => l_ref_desg_unexp_rec.revised_item_id
5722: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5723: , x_return_status => l_Return_Status
5724: );
5725:
5726: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5727:
5728: IF l_return_status = Error_Handler.G_STATUS_ERROR
5729: THEN
5730: l_other_message := 'BOM_RFD_RITACC_FAT_FATAL';
5724: );
5725:
5726: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5727:
5728: IF l_return_status = Error_Handler.G_STATUS_ERROR
5729: THEN
5730: l_other_message := 'BOM_RFD_RITACC_FAT_FATAL';
5731: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5732: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5731: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5732: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5733: l_return_status := 'F';
5734: RAISE EXC_FAT_QUIT_SIBLINGS;
5735: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5736: THEN
5737: l_other_message := 'BOM_RFD_RITACC_UNEXP_SKIP';
5738: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5739: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5742:
5743: -- Process Flow step 10: check that user has access to revised component
5744: --
5745:
5746: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
5747: Bom_Validate_Bom_Component.Check_Access
5748: ( p_change_notice => l_ref_designator_rec.ECO_Name
5749: , p_organization_id => l_ref_desg_unexp_rec.organization_id
5750: , p_revised_item_id => l_ref_desg_unexp_rec.revised_item_id
5763: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5764: , x_return_status => l_Return_Status
5765: );
5766:
5767: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5768:
5769: IF l_return_status = Error_Handler.G_STATUS_ERROR
5770: THEN
5771: l_other_message := 'BOM_RFD_CMPACC_FAT_FATAL';
5765: );
5766:
5767: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5768:
5769: IF l_return_status = Error_Handler.G_STATUS_ERROR
5770: THEN
5771: l_other_message := 'BOM_RFD_CMPACC_FAT_FATAL';
5772: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5773: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5772: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5773: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5774: l_return_status := 'F';
5775: RAISE EXC_FAT_QUIT_SIBLINGS;
5776: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5777: THEN
5778: l_other_message := 'BOM_RFD_CMPACC_UNEXP_SKIP';
5779: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5780: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5783:
5784: -- Process Flow step 8(b): check that user has access to ECO
5785: --
5786:
5787: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
5788: Bom_Validate_Ref_Designator.Check_Access
5789: ( p_ref_designator_rec => l_ref_designator_rec
5790: , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
5791: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5791: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5792: , x_return_status => l_Return_Status
5793: );
5794:
5795: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5796:
5797: IF l_return_status = Error_Handler.G_STATUS_ERROR
5798: THEN
5799: l_return_status := 'F';
5793: );
5794:
5795: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5796:
5797: IF l_return_status = Error_Handler.G_STATUS_ERROR
5798: THEN
5799: l_return_status := 'F';
5800: RAISE EXC_FAT_QUIT_SIBLINGS;
5801: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5797: IF l_return_status = Error_Handler.G_STATUS_ERROR
5798: THEN
5799: l_return_status := 'F';
5800: RAISE EXC_FAT_QUIT_SIBLINGS;
5801: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5802: THEN
5803: RAISE EXC_UNEXP_SKIP_OBJECT;
5804: END IF;
5805:
5811:
5812: -- Process flow step 11 - Populate NULL columns for Update and
5813: -- Delete.
5814:
5815: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populating NULL Columns'); END IF;
5816: Bom_Default_Ref_Designator.Populate_NULL_Columns
5817: ( p_ref_designator_rec => l_ref_designator_rec
5818: , p_old_ref_designator_rec => l_old_ref_designator_rec
5819: , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
5826:
5827: -- Process Flow step 12 - Entity Level Validation
5828: -- Added Check_Entity_Delete by MK on 11/14/00
5829: --
5830: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation'); END IF;
5831:
5832: IF l_ref_designator_rec.transaction_type = 'DELETE'
5833: THEN
5834:
5831:
5832: IF l_ref_designator_rec.transaction_type = 'DELETE'
5833: THEN
5834:
5835: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Calling Entity Delete validation'); END IF;
5836:
5837: Bom_Validate_Ref_Designator.Check_Entity_Delete
5838: ( p_ref_designator_rec => l_ref_designator_rec
5839: , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
5848: , x_return_status => l_Return_Status
5849: );
5850: END IF ;
5851:
5852: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5853:
5854: IF l_return_status = Error_Handler.G_STATUS_ERROR
5855: THEN
5856: RAISE EXC_SEV_QUIT_RECORD;
5850: END IF ;
5851:
5852: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5853:
5854: IF l_return_status = Error_Handler.G_STATUS_ERROR
5855: THEN
5856: RAISE EXC_SEV_QUIT_RECORD;
5857: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5858: THEN
5853:
5854: IF l_return_status = Error_Handler.G_STATUS_ERROR
5855: THEN
5856: RAISE EXC_SEV_QUIT_RECORD;
5857: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5858: THEN
5859: l_other_message := 'BOM_RFD_ENTVAL_UNEXP_SKIP';
5860: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5861: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5862: RAISE EXC_UNEXP_SKIP_OBJECT;
5863: ELSIF l_return_status ='S' AND
5864: l_Mesg_Token_Tbl.COUNT <>0
5865: THEN
5866: Eco_Error_Handler.Log_Error
5867: ( p_ref_designator_tbl => x_ref_designator_tbl
5868: , p_sub_component_tbl => x_sub_component_tbl
5869: , p_mesg_token_tbl => l_mesg_token_tbl
5870: , p_error_status => 'W'
5879: , x_rev_operation_tbl => l_rev_operation_tbl --L1
5880: , x_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
5881: , x_rev_sub_resource_tbl=> l_rev_sub_resource_tbl--L1
5882: );
5883: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Log Error For Warning '); END IF;
5884: END IF;
5885:
5886: -- Process Flow step 14 : Database Writes
5887: --
5885:
5886: -- Process Flow step 14 : Database Writes
5887: --
5888:
5889: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Writing to the database'); END IF;
5890: Bom_Ref_Designator_Util.Perform_Writes
5891: ( p_ref_designator_rec => l_ref_designator_rec
5892: , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
5893: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5893: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5894: , x_return_status => l_return_status
5895: );
5896:
5897: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5898:
5899: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5900: THEN
5901: l_other_message := 'BOM_RFD_WRITES_UNEXP_SKIP';
5895: );
5896:
5897: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
5898:
5899: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
5900: THEN
5901: l_other_message := 'BOM_RFD_WRITES_UNEXP_SKIP';
5902: l_other_token_tbl(1).token_name := 'REFERENCE_DESIGNATOR_NAME';
5903: l_other_token_tbl(1).token_value := l_ref_designator_rec.reference_designator_name;
5904: RAISE EXC_UNEXP_SKIP_OBJECT;
5905: ELSIF l_return_status ='S' AND
5906: l_Mesg_Token_Tbl.COUNT <>0
5907: THEN
5908: Eco_Error_Handler.Log_Error
5909: ( p_ref_designator_tbl => x_ref_designator_tbl
5910: , p_sub_component_tbl => x_sub_component_tbl
5911: , p_mesg_token_tbl => l_mesg_token_tbl
5912: , p_error_status => 'W'
5936: EXCEPTION
5937:
5938: WHEN EXC_SEV_QUIT_RECORD THEN
5939:
5940: Eco_Error_Handler.Log_Error
5941: ( p_ref_designator_tbl => x_ref_designator_tbl
5942: , p_sub_component_tbl => x_sub_component_tbl
5943: , p_mesg_token_tbl => l_mesg_token_tbl
5944: , p_error_status => Error_Handler.G_STATUS_ERROR
5940: Eco_Error_Handler.Log_Error
5941: ( p_ref_designator_tbl => x_ref_designator_tbl
5942: , p_sub_component_tbl => x_sub_component_tbl
5943: , p_mesg_token_tbl => l_mesg_token_tbl
5944: , p_error_status => Error_Handler.G_STATUS_ERROR
5945: , p_error_scope => Error_Handler.G_SCOPE_RECORD
5946: , p_error_level => 5
5947: , p_entity_index => I
5948: , x_eco_rec => l_eco_rec
5941: ( p_ref_designator_tbl => x_ref_designator_tbl
5942: , p_sub_component_tbl => x_sub_component_tbl
5943: , p_mesg_token_tbl => l_mesg_token_tbl
5944: , p_error_status => Error_Handler.G_STATUS_ERROR
5945: , p_error_scope => Error_Handler.G_SCOPE_RECORD
5946: , p_error_level => 5
5947: , p_entity_index => I
5948: , x_eco_rec => l_eco_rec
5949: , x_eco_revision_tbl => l_eco_revision_tbl
5966: --x_sub_component_tbl := l_sub_component_tbl;
5967:
5968: WHEN EXC_SEV_QUIT_BRANCH THEN
5969:
5970: Eco_Error_Handler.Log_Error
5971: ( p_ref_designator_tbl => x_ref_designator_tbl
5972: , p_sub_component_tbl => x_sub_component_tbl
5973: , p_mesg_token_tbl => l_mesg_token_tbl
5974: , p_error_status => Error_Handler.G_STATUS_ERROR
5970: Eco_Error_Handler.Log_Error
5971: ( p_ref_designator_tbl => x_ref_designator_tbl
5972: , p_sub_component_tbl => x_sub_component_tbl
5973: , p_mesg_token_tbl => l_mesg_token_tbl
5974: , p_error_status => Error_Handler.G_STATUS_ERROR
5975: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5976: , p_other_status => Error_Handler.G_STATUS_ERROR
5977: , p_other_message => l_other_message
5978: , p_other_token_tbl => l_other_token_tbl
5971: ( p_ref_designator_tbl => x_ref_designator_tbl
5972: , p_sub_component_tbl => x_sub_component_tbl
5973: , p_mesg_token_tbl => l_mesg_token_tbl
5974: , p_error_status => Error_Handler.G_STATUS_ERROR
5975: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5976: , p_other_status => Error_Handler.G_STATUS_ERROR
5977: , p_other_message => l_other_message
5978: , p_other_token_tbl => l_other_token_tbl
5979: , p_error_level => 5
5972: , p_sub_component_tbl => x_sub_component_tbl
5973: , p_mesg_token_tbl => l_mesg_token_tbl
5974: , p_error_status => Error_Handler.G_STATUS_ERROR
5975: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
5976: , p_other_status => Error_Handler.G_STATUS_ERROR
5977: , p_other_message => l_other_message
5978: , p_other_token_tbl => l_other_token_tbl
5979: , p_error_level => 5
5980: , p_entity_index => I
5999: --x_sub_component_tbl := l_sub_component_tbl;
6000:
6001: WHEN EXC_SEV_QUIT_SIBLINGS THEN
6002:
6003: Eco_Error_Handler.Log_Error
6004: ( p_ref_designator_tbl => x_ref_designator_tbl
6005: , p_sub_component_tbl => x_sub_component_tbl
6006: , p_mesg_token_tbl => l_mesg_token_tbl
6007: , p_error_status => Error_Handler.G_STATUS_ERROR
6003: Eco_Error_Handler.Log_Error
6004: ( p_ref_designator_tbl => x_ref_designator_tbl
6005: , p_sub_component_tbl => x_sub_component_tbl
6006: , p_mesg_token_tbl => l_mesg_token_tbl
6007: , p_error_status => Error_Handler.G_STATUS_ERROR
6008: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
6009: , p_other_status => Error_Handler.G_STATUS_ERROR
6010: , p_other_message => l_other_message
6011: , p_other_token_tbl => l_other_token_tbl
6004: ( p_ref_designator_tbl => x_ref_designator_tbl
6005: , p_sub_component_tbl => x_sub_component_tbl
6006: , p_mesg_token_tbl => l_mesg_token_tbl
6007: , p_error_status => Error_Handler.G_STATUS_ERROR
6008: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
6009: , p_other_status => Error_Handler.G_STATUS_ERROR
6010: , p_other_message => l_other_message
6011: , p_other_token_tbl => l_other_token_tbl
6012: , p_error_level => 5
6005: , p_sub_component_tbl => x_sub_component_tbl
6006: , p_mesg_token_tbl => l_mesg_token_tbl
6007: , p_error_status => Error_Handler.G_STATUS_ERROR
6008: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
6009: , p_other_status => Error_Handler.G_STATUS_ERROR
6010: , p_other_message => l_other_message
6011: , p_other_token_tbl => l_other_token_tbl
6012: , p_error_level => 5
6013: , p_entity_index => I
6034: RETURN;
6035:
6036: WHEN EXC_FAT_QUIT_SIBLINGS THEN
6037:
6038: Eco_Error_Handler.Log_Error
6039: ( p_ref_designator_tbl => x_ref_designator_tbl
6040: , p_sub_component_tbl => x_sub_component_tbl
6041: , p_mesg_token_tbl => l_mesg_token_tbl
6042: , p_error_status => Error_Handler.G_STATUS_FATAL
6038: Eco_Error_Handler.Log_Error
6039: ( p_ref_designator_tbl => x_ref_designator_tbl
6040: , p_sub_component_tbl => x_sub_component_tbl
6041: , p_mesg_token_tbl => l_mesg_token_tbl
6042: , p_error_status => Error_Handler.G_STATUS_FATAL
6043: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
6044: , p_other_status => Error_Handler.G_STATUS_FATAL
6045: , p_other_message => l_other_message
6046: , p_other_token_tbl => l_other_token_tbl
6039: ( p_ref_designator_tbl => x_ref_designator_tbl
6040: , p_sub_component_tbl => x_sub_component_tbl
6041: , p_mesg_token_tbl => l_mesg_token_tbl
6042: , p_error_status => Error_Handler.G_STATUS_FATAL
6043: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
6044: , p_other_status => Error_Handler.G_STATUS_FATAL
6045: , p_other_message => l_other_message
6046: , p_other_token_tbl => l_other_token_tbl
6047: , p_error_level => 5
6040: , p_sub_component_tbl => x_sub_component_tbl
6041: , p_mesg_token_tbl => l_mesg_token_tbl
6042: , p_error_status => Error_Handler.G_STATUS_FATAL
6043: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
6044: , p_other_status => Error_Handler.G_STATUS_FATAL
6045: , p_other_message => l_other_message
6046: , p_other_token_tbl => l_other_token_tbl
6047: , p_error_level => 5
6048: , p_entity_index => I
6056: , x_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
6057: , x_rev_sub_resource_tbl=> l_rev_sub_resource_tbl--L1
6058: );
6059:
6060: x_return_status := Error_Handler.G_STATUS_FATAL;
6061: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
6062: --x_ref_designator_tbl := l_ref_designator_tbl;
6063: --x_sub_component_tbl := l_sub_component_tbl;
6064:
6065: RETURN;
6066:
6067: WHEN EXC_FAT_QUIT_OBJECT THEN
6068:
6069: Eco_Error_Handler.Log_Error
6070: ( p_ref_designator_tbl => x_ref_designator_tbl
6071: , p_sub_component_tbl => x_sub_component_tbl
6072: , p_mesg_token_tbl => l_mesg_token_tbl
6073: , p_error_status => Error_Handler.G_STATUS_FATAL
6069: Eco_Error_Handler.Log_Error
6070: ( p_ref_designator_tbl => x_ref_designator_tbl
6071: , p_sub_component_tbl => x_sub_component_tbl
6072: , p_mesg_token_tbl => l_mesg_token_tbl
6073: , p_error_status => Error_Handler.G_STATUS_FATAL
6074: , p_error_scope => Error_Handler.G_SCOPE_ALL
6075: , p_other_status => Error_Handler.G_STATUS_FATAL
6076: , p_other_message => l_other_message
6077: , p_other_token_tbl => l_other_token_tbl
6070: ( p_ref_designator_tbl => x_ref_designator_tbl
6071: , p_sub_component_tbl => x_sub_component_tbl
6072: , p_mesg_token_tbl => l_mesg_token_tbl
6073: , p_error_status => Error_Handler.G_STATUS_FATAL
6074: , p_error_scope => Error_Handler.G_SCOPE_ALL
6075: , p_other_status => Error_Handler.G_STATUS_FATAL
6076: , p_other_message => l_other_message
6077: , p_other_token_tbl => l_other_token_tbl
6078: , p_error_level => 5
6071: , p_sub_component_tbl => x_sub_component_tbl
6072: , p_mesg_token_tbl => l_mesg_token_tbl
6073: , p_error_status => Error_Handler.G_STATUS_FATAL
6074: , p_error_scope => Error_Handler.G_SCOPE_ALL
6075: , p_other_status => Error_Handler.G_STATUS_FATAL
6076: , p_other_message => l_other_message
6077: , p_other_token_tbl => l_other_token_tbl
6078: , p_error_level => 5
6079: , p_entity_index => I
6095: l_return_status := 'Q';
6096:
6097: WHEN EXC_UNEXP_SKIP_OBJECT THEN
6098:
6099: Eco_Error_Handler.Log_Error
6100: ( p_ref_designator_tbl => x_ref_designator_tbl
6101: , p_sub_component_tbl => x_sub_component_tbl
6102: , p_mesg_token_tbl => l_mesg_token_tbl
6103: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
6099: Eco_Error_Handler.Log_Error
6100: ( p_ref_designator_tbl => x_ref_designator_tbl
6101: , p_sub_component_tbl => x_sub_component_tbl
6102: , p_mesg_token_tbl => l_mesg_token_tbl
6103: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
6104: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
6105: , p_other_message => l_other_message
6106: , p_other_token_tbl => l_other_token_tbl
6107: , p_error_level => 5
6100: ( p_ref_designator_tbl => x_ref_designator_tbl
6101: , p_sub_component_tbl => x_sub_component_tbl
6102: , p_mesg_token_tbl => l_mesg_token_tbl
6103: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
6104: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
6105: , p_other_message => l_other_message
6106: , p_other_token_tbl => l_other_token_tbl
6107: , p_error_level => 5
6108: , x_ECO_rec => l_ECO_rec
6159: , x_rev_component_tbl IN OUT NOCOPY BOM_BO_PUB.Rev_Component_Tbl_Type
6160: , x_ref_designator_tbl IN OUT NOCOPY BOM_BO_PUB.Ref_Designator_Tbl_Type
6161: , x_sub_component_tbl IN OUT NOCOPY BOM_BO_PUB.Sub_Component_Tbl_Type
6162: , x_rev_comp_unexp_rec OUT NOCOPY BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type
6163: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
6164: , x_return_status OUT NOCOPY VARCHAR2
6165: -- Bug 2941096 // kamohan
6166: , x_bill_sequence_id IN NUMBER := NULL
6167: )
6165: -- Bug 2941096 // kamohan
6166: , x_bill_sequence_id IN NUMBER := NULL
6167: )
6168: IS
6169: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
6170: l_other_token_tbl Error_Handler.Token_Tbl_Type;
6171: l_other_message VARCHAR2(2000);
6172: l_err_text VARCHAR2(2000);
6173: l_valid BOOLEAN := TRUE;
6166: , x_bill_sequence_id IN NUMBER := NULL
6167: )
6168: IS
6169: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
6170: l_other_token_tbl Error_Handler.Token_Tbl_Type;
6171: l_other_message VARCHAR2(2000);
6172: l_err_text VARCHAR2(2000);
6173: l_valid BOOLEAN := TRUE;
6174: l_item_parent_exists BOOLEAN := FALSE;
6186: --l_sub_component_tbl BOM_BO_PUB.Sub_Component_Tbl_Type := p_sub_component_tbl;
6187: l_return_value NUMBER;
6188: l_process_children BOOLEAN := TRUE;
6189: l_dummy NUMBER ;
6190: l_Token_Tbl Error_Handler.Token_Tbl_Type;
6191: l_structure_type_id NUMBER ;
6192: l_strc_cp_not_allowed NUMBER ;
6193:
6194: l_rev_operation_tbl Bom_Rtg_Pub.Rev_Operation_Tbl_Type;
6297: l_return_status := FND_API.G_RET_STS_SUCCESS;
6298:
6299: l_rev_component_rec.return_status := FND_API.G_RET_STS_SUCCESS;
6300:
6301: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing component: ' || l_rev_component_rec.component_item_name); END IF;
6302: -- Check if transaction_type is valid
6303: --
6304: -- Bug 6657209
6305: IF (l_item_parent_exists and ENG_Default_Revised_Item.G_OLD_SCHED_DATE is not null ) THEN
6305: IF (l_item_parent_exists and ENG_Default_Revised_Item.G_OLD_SCHED_DATE is not null ) THEN
6306: l_rev_component_rec.start_effective_date := p_effectivity_date;
6307: END IF;
6308:
6309: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
6310: ENG_GLOBALS.Transaction_Type_Validity
6311: ( p_transaction_type => l_rev_component_rec.transaction_type
6312: , p_entity => 'Rev_Comps'
6313: , p_entity_id => l_rev_component_rec.revised_item_name
6322:
6323: -- Process Flow step 4(a): Convert user unique index to unique index I
6324: --
6325:
6326: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index I'); END IF;
6327: Bom_Val_To_Id.Rev_Component_UUI_To_UI
6328: ( p_rev_component_rec => l_rev_component_rec
6329: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6330: , x_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6331: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6332: , x_Return_Status => l_return_status
6333: );
6334:
6335: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6336:
6337: IF l_return_status = Error_Handler.G_STATUS_ERROR
6338: THEN
6339: l_other_message := 'BOM_CMP_UUI_SEV_ERROR';
6333: );
6334:
6335: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6336:
6337: IF l_return_status = Error_Handler.G_STATUS_ERROR
6338: THEN
6339: l_other_message := 'BOM_CMP_UUI_SEV_ERROR';
6340: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6341: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6339: l_other_message := 'BOM_CMP_UUI_SEV_ERROR';
6340: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6341: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6342: RAISE EXC_SEV_QUIT_BRANCH;
6343: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6344: THEN
6345: l_other_message := 'BOM_CMP_UUI_UNEXP_SKIP';
6346: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6347: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6350:
6351: -- Process Flow step 4(b): Convert user unique index to unique index II
6352: --
6353:
6354: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index II'); END IF;
6355: Bom_Val_To_Id.Rev_Component_UUI_To_UI2
6356: ( p_rev_component_rec => l_rev_component_rec
6357: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6358: , x_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6361: , x_other_token_tbl => l_other_token_tbl
6362: , x_Return_Status => l_return_status
6363: );
6364:
6365: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6366:
6367: IF l_return_status = Error_Handler.G_STATUS_ERROR
6368: THEN
6369: RAISE EXC_SEV_QUIT_SIBLINGS;
6363: );
6364:
6365: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6366:
6367: IF l_return_status = Error_Handler.G_STATUS_ERROR
6368: THEN
6369: RAISE EXC_SEV_QUIT_SIBLINGS;
6370: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6371: THEN
6366:
6367: IF l_return_status = Error_Handler.G_STATUS_ERROR
6368: THEN
6369: RAISE EXC_SEV_QUIT_SIBLINGS;
6370: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6371: THEN
6372: l_other_message := 'ENG_CMP_UUI_UNEXP_SKIP';
6373: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6374: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6375: RAISE EXC_UNEXP_SKIP_OBJECT;
6376: END IF;
6377:
6378: IF Bom_Globals.Get_Debug = 'Y' THEN
6379: Error_Handler.Write_Debug('Converting user unique index to unique index II for Bill And Rev Seq Id');
6380: END IF;
6381:
6382: ENG_Val_To_Id.BillAndRevitem_UUI_To_UI
6383: ( p_revised_item_name => l_rev_component_rec.revised_item_name
6400: , x_other_token_tbl => l_other_token_tbl
6401: , x_Return_Status => l_return_status
6402: ) ;
6403:
6404: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status) ;
6405: END IF;
6406:
6407: IF l_return_status = Error_Handler.G_STATUS_ERROR
6408: THEN
6403:
6404: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status) ;
6405: END IF;
6406:
6407: IF l_return_status = Error_Handler.G_STATUS_ERROR
6408: THEN
6409: RAISE EXC_SEV_QUIT_SIBLINGS;
6410: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6411: THEN
6406:
6407: IF l_return_status = Error_Handler.G_STATUS_ERROR
6408: THEN
6409: RAISE EXC_SEV_QUIT_SIBLINGS;
6410: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6411: THEN
6412: l_other_message := 'ENG_CMP_UUI_UNEXP_SKIP';
6413: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6414: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6428:
6429: -- Process Flow step 5: Verify Revised Component's existence
6430: --
6431:
6432: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check existence'); END IF;
6433: Bom_Validate_Bom_Component.Check_Existence
6434: ( p_rev_component_rec => l_rev_component_rec
6435: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6436: , x_old_rev_component_rec => l_old_rev_component_rec
6438: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6439: , x_return_status => l_Return_Status
6440: );
6441:
6442: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6443:
6444: IF l_return_status = Error_Handler.G_STATUS_ERROR
6445: THEN
6446: l_other_message := 'BOM_CMP_EXS_SEV_ERROR';
6440: );
6441:
6442: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6443:
6444: IF l_return_status = Error_Handler.G_STATUS_ERROR
6445: THEN
6446: l_other_message := 'BOM_CMP_EXS_SEV_ERROR';
6447: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6448: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6448: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6449: l_other_token_tbl(2).token_name := 'REVISED_ITEM_NAME';
6450: l_other_token_tbl(2).token_value := l_rev_component_rec.revised_item_name;
6451: RAISE EXC_SEV_QUIT_BRANCH;
6452: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6453: THEN
6454: l_other_message := 'BOM_CMP_EXS_UNEXP_SKIP';
6455: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6456: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6462:
6463: -- Process Flow step 6: Check lineage
6464: --
6465:
6466: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check lineage'); END IF;
6467: Bom_Validate_Bom_Component.Check_Lineage
6468: ( p_rev_component_rec => l_rev_component_rec
6469: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6470: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6470: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6471: , x_return_status => l_Return_Status
6472: );
6473:
6474: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6475:
6476: IF l_return_status = Error_Handler.G_STATUS_ERROR
6477: THEN
6478: l_other_message := 'BOM_CMP_LIN_SEV_SKIP';
6472: );
6473:
6474: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6475:
6476: IF l_return_status = Error_Handler.G_STATUS_ERROR
6477: THEN
6478: l_other_message := 'BOM_CMP_LIN_SEV_SKIP';
6479: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6480: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6478: l_other_message := 'BOM_CMP_LIN_SEV_SKIP';
6479: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6480: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6481: RAISE EXC_SEV_QUIT_BRANCH;
6482: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6483: THEN
6484: l_other_message := 'ENG_CMP_LIN_UNEXP_SKIP';
6485: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6486: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6502: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6503: , x_Return_Status => l_return_status
6504: );
6505:
6506: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6507:
6508: IF l_return_status = Error_Handler.G_STATUS_ERROR
6509: THEN
6510: l_other_message := 'BOM_CMP_ECOACC_FAT_FATAL';
6504: );
6505:
6506: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6507:
6508: IF l_return_status = Error_Handler.G_STATUS_ERROR
6509: THEN
6510: l_other_message := 'BOM_CMP_ECOACC_FAT_FATAL';
6511: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6512: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6511: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6512: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6513: l_return_status := 'F';
6514: RAISE EXC_FAT_QUIT_OBJECT;
6515: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6516: THEN
6517: l_other_message := 'BOM_CMP_ECOACC_UNEXP_SKIP';
6518: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6519: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6522:
6523: -- Process Flow step 9(a and b): check that user has access to revised item
6524: --
6525:
6526: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
6527: ENG_Validate_Revised_Item.Check_Access
6528: ( p_change_notice => l_rev_component_rec.ECO_Name
6529: , p_organization_id => l_rev_comp_unexp_rec.organization_id
6530: , p_revised_item_id => l_rev_comp_unexp_rec.revised_item_id
6539: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6540: , x_return_status => l_Return_Status
6541: );
6542:
6543: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6544: IF l_return_status = Error_Handler.G_STATUS_ERROR
6545: THEN
6546: l_other_message := 'BOM_CMP_RITACC_FAT_FATAL';
6547: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6540: , x_return_status => l_Return_Status
6541: );
6542:
6543: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6544: IF l_return_status = Error_Handler.G_STATUS_ERROR
6545: THEN
6546: l_other_message := 'BOM_CMP_RITACC_FAT_FATAL';
6547: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6548: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6547: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6548: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6549: l_return_status := 'F';
6550: RAISE EXC_FAT_QUIT_SIBLINGS;
6551: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6552: THEN
6553: l_other_message := 'BOM_CMP_RITACC_UNEXP_SKIP';
6554: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6555: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6558:
6559: -- Process Flow step 10: check that user has access to revised component
6560: --
6561:
6562: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
6563: Bom_Validate_Bom_Component.Check_Access
6564: ( p_change_notice => l_rev_component_rec.ECO_Name
6565: , p_organization_id => l_rev_comp_unexp_rec.organization_id
6566: , p_revised_item_id => l_rev_comp_unexp_rec.revised_item_id
6577: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6578: , x_return_status => l_Return_Status
6579: );
6580:
6581: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6582:
6583: IF l_return_status = Error_Handler.G_STATUS_ERROR
6584: THEN
6585: l_other_message := 'BOM_CMP_ACCESS_FAT_FATAL';
6579: );
6580:
6581: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6582:
6583: IF l_return_status = Error_Handler.G_STATUS_ERROR
6584: THEN
6585: l_other_message := 'BOM_CMP_ACCESS_FAT_FATAL';
6586: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6587: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6586: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6587: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6588: l_return_status := 'F';
6589: RAISE EXC_FAT_QUIT_BRANCH;
6590: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6591: THEN
6592: l_other_message := 'BOM_CMP_ACCESS_UNEXP_SKIP';
6593: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6594: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6609: , x_strc_cp_not_allowed => l_strc_cp_not_allowed
6610: );
6611: IF l_strc_cp_not_allowed = 1
6612: THEN
6613: l_return_status := Error_Handler.G_STATUS_ERROR ;
6614: l_Token_Tbl.DELETE;
6615: l_Token_Tbl(1).token_name := 'STRUCTURE_NAME';
6616: l_Token_Tbl(1).token_value := l_rev_component_rec.alternate_bom_code;
6617:
6614: l_Token_Tbl.DELETE;
6615: l_Token_Tbl(1).token_name := 'STRUCTURE_NAME';
6616: l_Token_Tbl(1).token_value := l_rev_component_rec.alternate_bom_code;
6617:
6618: Error_Handler.Add_Error_Token
6619: ( p_message_name => 'ENG_BILL_CHANGES_NOT_ALLOWED'
6620: , p_mesg_token_tbl => l_Mesg_Token_Tbl
6621: , p_token_tbl => l_Token_Tbl
6622: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6633:
6634: -- Process Flow step 11: Value to Id conversions
6635: --
6636:
6637: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Value-id conversions'); END IF;
6638: Bom_Val_To_Id.Rev_Component_VID
6639: ( x_Return_Status => l_return_status
6640: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6641: , p_rev_comp_unexp_Rec => l_rev_comp_unexp_rec
6642: , x_rev_comp_unexp_Rec => l_rev_comp_unexp_rec
6643: , p_rev_component_Rec => l_rev_component_rec
6644: );
6645:
6646: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6647:
6648: IF l_return_status = Error_Handler.G_STATUS_ERROR
6649: THEN
6650: IF l_rev_component_rec.transaction_type = 'CREATE'
6644: );
6645:
6646: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6647:
6648: IF l_return_status = Error_Handler.G_STATUS_ERROR
6649: THEN
6650: IF l_rev_component_rec.transaction_type = 'CREATE'
6651: THEN
6652: l_other_message := 'BOM_CMP_VID_CSEV_SKIP';
6655: RAISE EXC_SEV_SKIP_BRANCH;
6656: ELSE
6657: RAISE EXC_SEV_QUIT_RECORD;
6658: END IF;
6659: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6660: THEN
6661: l_other_message := 'BOM_CMP_VID_UNEXP_SKIP';
6662: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6663: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6664: RAISE EXC_UNEXP_SKIP_OBJECT;
6665: ELSIF l_return_status ='S' AND
6666: l_Mesg_Token_Tbl.COUNT <>0
6667: THEN
6668: Eco_Error_Handler.Log_Error
6669: ( p_rev_component_tbl => x_rev_component_tbl
6670: , p_ref_designator_tbl => x_ref_designator_tbl
6671: , p_sub_component_tbl => x_sub_component_tbl
6672: , p_mesg_token_tbl => l_mesg_token_tbl
6688: -- Process Flow step 12: Check required fields exist
6689: -- (also includes conditionally required fields)
6690: --
6691:
6692: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check required fields'); END IF;
6693: Bom_Validate_Bom_Component.Check_Required
6694: ( x_return_status => l_return_status
6695: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6696: , p_rev_component_rec => l_rev_component_rec
6695: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6696: , p_rev_component_rec => l_rev_component_rec
6697: );
6698:
6699: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6700:
6701: IF l_return_status = Error_Handler.G_STATUS_ERROR
6702: THEN
6703: IF l_rev_component_rec.transaction_type = 'CREATE'
6697: );
6698:
6699: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6700:
6701: IF l_return_status = Error_Handler.G_STATUS_ERROR
6702: THEN
6703: IF l_rev_component_rec.transaction_type = 'CREATE'
6704: THEN
6705: l_other_message := 'BOM_CMP_REQ_CSEV_SKIP';
6708: RAISE EXC_SEV_SKIP_BRANCH;
6709: ELSE
6710: RAISE EXC_SEV_QUIT_RECORD;
6711: END IF;
6712: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6713: THEN
6714: l_other_message := 'BOM_CMP_REQ_UNEXP_SKIP';
6715: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6716: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6717: RAISE EXC_UNEXP_SKIP_OBJECT;
6718: ELSIF l_return_status ='S' AND
6719: l_Mesg_Token_Tbl.COUNT <>0
6720: THEN
6721: Eco_Error_Handler.Log_Error
6722: ( p_rev_component_tbl => x_rev_component_tbl
6723: , p_ref_designator_tbl => x_ref_designator_tbl
6724: , p_sub_component_tbl => x_sub_component_tbl
6725: , p_mesg_token_tbl => l_mesg_token_tbl
6740:
6741: -- Process Flow step 13: Attribute Validation for CREATE and UPDATE
6742: --
6743:
6744: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
6745: IF l_rev_component_rec.Transaction_Type IN
6746: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
6747: THEN
6748: Bom_Validate_Bom_Component.Check_Attributes
6751: , p_rev_component_rec => l_rev_component_rec
6752: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6753: );
6754:
6755: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6756:
6757: IF l_return_status = Error_Handler.G_STATUS_ERROR
6758: THEN
6759: IF l_rev_component_rec.transaction_type = 'CREATE'
6753: );
6754:
6755: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6756:
6757: IF l_return_status = Error_Handler.G_STATUS_ERROR
6758: THEN
6759: IF l_rev_component_rec.transaction_type = 'CREATE'
6760: THEN
6761: l_other_message := 'BOM_CMP_ATTVAL_CSEV_SKIP';
6764: RAISE EXC_SEV_QUIT_BRANCH;
6765: ELSE
6766: RAISE EXC_SEV_QUIT_RECORD;
6767: END IF;
6768: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6769: THEN
6770: l_other_message := 'BOM_CMP_ATTVAL_UNEXP_SKIP';
6771: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6772: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6773: RAISE EXC_UNEXP_SKIP_OBJECT;
6774: ELSIF l_return_status ='S' AND
6775: l_Mesg_Token_Tbl.COUNT <>0
6776: THEN
6777: Eco_Error_Handler.Log_Error
6778: ( p_rev_component_tbl => x_rev_component_tbl
6779: , p_ref_designator_tbl => x_ref_designator_tbl
6780: , p_sub_component_tbl => x_sub_component_tbl
6781: , p_mesg_token_tbl => l_mesg_token_tbl
6822: );
6823:
6824: IF l_return_status <> Eng_Globals.G_RECORD_FOUND
6825: THEN
6826: l_return_status := Error_Handler.G_STATUS_ERROR ;
6827: l_Token_Tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6828: l_Token_Tbl(1).token_value := l_rev_component_rec.component_item_name;
6829:
6830: Error_Handler.Add_Error_Token
6826: l_return_status := Error_Handler.G_STATUS_ERROR ;
6827: l_Token_Tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6828: l_Token_Tbl(1).token_value := l_rev_component_rec.component_item_name;
6829:
6830: Error_Handler.Add_Error_Token
6831: ( p_message_name => 'ENG_CMP_CREATE_REC_NOT_FOUND' --'BOM_CMP_CREATE_REC_NOT_FOUND' -- Bug 3612008 :Modified incorrect message_name
6832: , p_mesg_token_tbl => l_Mesg_Token_Tbl
6833: , p_token_tbl => l_Token_Tbl
6834: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6837: l_other_message := 'BOM_CMP_QRY_CSEV_SKIP';
6838: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6839: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6840: RAISE EXC_SEV_SKIP_BRANCH;
6841: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6842: THEN
6843: l_other_message := 'BOM_CMP_QRY_UNEXP_SKIP';
6844: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6845: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6855: OR
6856: l_rev_component_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE,
6857: ENG_GLOBALS.G_OPR_DELETE)
6858: THEN
6859: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populate NULL columns'); END IF;
6860: Bom_Default_Bom_Component.Populate_Null_Columns
6861: ( p_rev_component_rec => l_rev_Component_Rec
6862: , p_old_rev_Component_Rec => l_old_rev_Component_Rec
6863: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6870:
6871: -- Process Flow step 16: Default missing values for Operation CREATE
6872: --
6873:
6874: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting'); END IF;
6875: Bom_Default_Bom_Component.Attribute_Defaulting
6876: ( p_rev_component_rec => l_rev_component_rec
6877: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6878: , x_rev_component_rec => l_rev_component_rec
6880: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6881: , x_return_status => l_return_status
6882: );
6883:
6884: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6885:
6886: IF l_return_status = Error_Handler.G_STATUS_ERROR
6887: THEN
6888: l_other_message := 'BOM_CMP_ATTDEF_CSEV_SKIP';
6882: );
6883:
6884: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6885:
6886: IF l_return_status = Error_Handler.G_STATUS_ERROR
6887: THEN
6888: l_other_message := 'BOM_CMP_ATTDEF_CSEV_SKIP';
6889: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6890: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6888: l_other_message := 'BOM_CMP_ATTDEF_CSEV_SKIP';
6889: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6890: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6891: RAISE EXC_SEV_SKIP_BRANCH;
6892: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6893: THEN
6894: l_other_message := 'BOM_CMP_ATTDEF_UNEXP_SKIP';
6895: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6896: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6897: RAISE EXC_UNEXP_SKIP_OBJECT;
6898: ELSIF l_return_status ='S' AND
6899: l_Mesg_Token_Tbl.COUNT <>0
6900: THEN
6901: Eco_Error_Handler.Log_Error
6902: ( p_rev_component_tbl => x_rev_component_tbl
6903: , p_ref_designator_tbl => x_ref_designator_tbl
6904: , p_sub_component_tbl => x_sub_component_tbl
6905: , p_mesg_token_tbl => l_mesg_token_tbl
6921:
6922: -- Process Flow step 17: Entity defaulting for CREATE and UPDATE
6923: --
6924:
6925: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting'); END IF;
6926: IF l_rev_component_rec.Transaction_Type IN
6927: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
6928: THEN
6929: Bom_Default_Bom_Component.Entity_Defaulting
6931: , p_old_rev_component_rec => l_old_rev_component_rec
6932: , x_rev_component_rec => l_rev_component_rec
6933: );
6934:
6935: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6936:
6937: IF l_return_status = Error_Handler.G_STATUS_ERROR
6938: THEN
6939: IF l_rev_component_rec.transaction_type = 'CREATE'
6933: );
6934:
6935: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6936:
6937: IF l_return_status = Error_Handler.G_STATUS_ERROR
6938: THEN
6939: IF l_rev_component_rec.transaction_type = 'CREATE'
6940: THEN
6941: l_other_message := 'BOM_CMP_ENTDEF_CSEV_SKIP';
6944: RAISE EXC_SEV_SKIP_BRANCH;
6945: ELSE
6946: RAISE EXC_SEV_QUIT_RECORD;
6947: END IF;
6948: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
6949: THEN
6950: l_other_message := 'BOM_CMP_ENTDEF_UNEXP_SKIP';
6951: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6952: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
6953: RAISE EXC_UNEXP_SKIP_OBJECT;
6954: ELSIF l_return_status ='S' AND
6955: l_Mesg_Token_Tbl.COUNT <>0
6956: THEN
6957: Eco_Error_Handler.Log_Error
6958: ( p_rev_component_tbl => x_rev_component_tbl
6959: , p_ref_designator_tbl => x_ref_designator_tbl
6960: , p_sub_component_tbl => x_sub_component_tbl
6961: , p_mesg_token_tbl => l_mesg_token_tbl
6977:
6978: -- Process Flow step 18 - Entity Level Validation
6979: --
6980:
6981: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation'); END IF;
6982: Bom_Validate_Bom_Component.Check_Entity
6983: ( p_rev_component_rec => l_rev_component_rec
6984: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6985: , p_old_rev_component_rec => l_old_rev_component_rec
6987: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6988: , x_return_status => l_Return_Status
6989: );
6990:
6991: --IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6992:
6993: IF l_return_status = Error_Handler.G_STATUS_ERROR
6994: THEN
6995: IF l_rev_component_rec.transaction_type = 'CREATE'
6989: );
6990:
6991: --IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
6992:
6993: IF l_return_status = Error_Handler.G_STATUS_ERROR
6994: THEN
6995: IF l_rev_component_rec.transaction_type = 'CREATE'
6996: THEN
6997: l_other_message := 'BOM_CMP_ENTVAL_CSEV_SKIP';
7000: RAISE EXC_SEV_QUIT_BRANCH;
7001: ELSE
7002: RAISE EXC_SEV_QUIT_RECORD;
7003: END IF;
7004: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7005: THEN
7006: l_other_message := 'BOM_CMP_ENTVAL_UNEXP_SKIP';
7007: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7008: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7009: RAISE EXC_UNEXP_SKIP_OBJECT;
7010: ELSIF l_return_status ='S' AND
7011: l_Mesg_Token_Tbl.COUNT <>0
7012: THEN
7013: Eco_Error_Handler.Log_Error
7014: ( p_rev_component_tbl => x_rev_component_tbl
7015: , p_ref_designator_tbl => x_ref_designator_tbl
7016: , p_sub_component_tbl => x_sub_component_tbl
7017: , p_mesg_token_tbl => l_mesg_token_tbl
7032:
7033: -- Process Flow step 16 : Database Writes
7034: --
7035:
7036: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Writing to the database'); END IF;
7037: Bom_Bom_Component_Util.Perform_Writes
7038: ( p_rev_component_rec => l_rev_component_rec
7039: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
7040: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7040: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7041: , x_return_status => l_return_status
7042: );
7043:
7044: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7045:
7046: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7047: THEN
7048: l_other_message := 'BOM_CMP_WRITES_UNEXP_SKIP';
7042: );
7043:
7044: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7045:
7046: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7047: THEN
7048: l_other_message := 'BOM_CMP_WRITES_UNEXP_SKIP';
7049: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7050: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7051: RAISE EXC_UNEXP_SKIP_OBJECT;
7052: ELSIF l_return_status ='S' AND
7053: l_Mesg_Token_Tbl.COUNT <>0
7054: THEN
7055: Eco_Error_Handler.Log_Error
7056: ( p_rev_component_tbl => x_rev_component_tbl
7057: , p_ref_designator_tbl => x_ref_designator_tbl
7058: , p_sub_component_tbl => x_sub_component_tbl
7059: , p_mesg_token_tbl => l_mesg_token_tbl
7088: ELSE
7089:
7090:
7091: IF Bom_Globals.Get_Debug = 'Y' THEN
7092: Error_Handler.Write_Debug('This record does not patch with the parent that called it . . . ') ;
7093: Error_Handler.Write_Debug('so may be this is an comp in another branch . . . '
7094: || l_rev_component_rec.component_item_name ) ;
7095: END IF ;
7096:
7089:
7090:
7091: IF Bom_Globals.Get_Debug = 'Y' THEN
7092: Error_Handler.Write_Debug('This record does not patch with the parent that called it . . . ') ;
7093: Error_Handler.Write_Debug('so may be this is an comp in another branch . . . '
7094: || l_rev_component_rec.component_item_name ) ;
7095: END IF ;
7096:
7097: l_process_children := FALSE;
7105: EXCEPTION
7106:
7107: WHEN EXC_SEV_QUIT_RECORD THEN
7108:
7109: Eco_Error_Handler.Log_Error
7110: ( p_rev_component_tbl => x_rev_component_tbl
7111: , p_ref_designator_tbl => x_ref_designator_tbl
7112: , p_sub_component_tbl => x_sub_component_tbl
7113: , p_mesg_token_tbl => l_mesg_token_tbl
7111: , p_ref_designator_tbl => x_ref_designator_tbl
7112: , p_sub_component_tbl => x_sub_component_tbl
7113: , p_mesg_token_tbl => l_mesg_token_tbl
7114: , p_error_status => FND_API.G_RET_STS_ERROR
7115: , p_error_scope => Error_Handler.G_SCOPE_RECORD
7116: , p_error_level => 4
7117: , p_entity_index => I
7118: , x_eco_rec => l_eco_rec
7119: , x_eco_revision_tbl => l_eco_revision_tbl
7140: --x_sub_component_tbl := l_sub_component_tbl;
7141:
7142: WHEN EXC_SEV_QUIT_BRANCH THEN
7143:
7144: Eco_Error_Handler.Log_Error
7145: ( p_rev_component_tbl => x_rev_component_tbl
7146: , p_ref_designator_tbl => x_ref_designator_tbl
7147: , p_sub_component_tbl => x_sub_component_tbl
7148: , p_mesg_token_tbl => l_mesg_token_tbl
7145: ( p_rev_component_tbl => x_rev_component_tbl
7146: , p_ref_designator_tbl => x_ref_designator_tbl
7147: , p_sub_component_tbl => x_sub_component_tbl
7148: , p_mesg_token_tbl => l_mesg_token_tbl
7149: , p_error_status => Error_Handler.G_STATUS_ERROR
7150: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
7151: , p_other_status => Error_Handler.G_STATUS_ERROR
7152: , p_other_message => l_other_message
7153: , p_other_token_tbl => l_other_token_tbl
7146: , p_ref_designator_tbl => x_ref_designator_tbl
7147: , p_sub_component_tbl => x_sub_component_tbl
7148: , p_mesg_token_tbl => l_mesg_token_tbl
7149: , p_error_status => Error_Handler.G_STATUS_ERROR
7150: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
7151: , p_other_status => Error_Handler.G_STATUS_ERROR
7152: , p_other_message => l_other_message
7153: , p_other_token_tbl => l_other_token_tbl
7154: , p_error_level => 4
7147: , p_sub_component_tbl => x_sub_component_tbl
7148: , p_mesg_token_tbl => l_mesg_token_tbl
7149: , p_error_status => Error_Handler.G_STATUS_ERROR
7150: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
7151: , p_other_status => Error_Handler.G_STATUS_ERROR
7152: , p_other_message => l_other_message
7153: , p_other_token_tbl => l_other_token_tbl
7154: , p_error_level => 4
7155: , p_entity_index => I
7178: --x_sub_component_tbl := l_sub_component_tbl;
7179:
7180: WHEN EXC_SEV_SKIP_BRANCH THEN
7181:
7182: Eco_Error_Handler.Log_Error
7183: ( p_rev_component_tbl => x_rev_component_tbl
7184: , p_ref_designator_tbl => x_ref_designator_tbl
7185: , p_sub_component_tbl => x_sub_component_tbl
7186: , p_mesg_token_tbl => l_mesg_token_tbl
7183: ( p_rev_component_tbl => x_rev_component_tbl
7184: , p_ref_designator_tbl => x_ref_designator_tbl
7185: , p_sub_component_tbl => x_sub_component_tbl
7186: , p_mesg_token_tbl => l_mesg_token_tbl
7187: , p_error_status => Error_Handler.G_STATUS_ERROR
7188: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
7189: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
7190: , p_other_message => l_other_message
7191: , p_other_token_tbl => l_other_token_tbl
7184: , p_ref_designator_tbl => x_ref_designator_tbl
7185: , p_sub_component_tbl => x_sub_component_tbl
7186: , p_mesg_token_tbl => l_mesg_token_tbl
7187: , p_error_status => Error_Handler.G_STATUS_ERROR
7188: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
7189: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
7190: , p_other_message => l_other_message
7191: , p_other_token_tbl => l_other_token_tbl
7192: , p_error_level => 4
7185: , p_sub_component_tbl => x_sub_component_tbl
7186: , p_mesg_token_tbl => l_mesg_token_tbl
7187: , p_error_status => Error_Handler.G_STATUS_ERROR
7188: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
7189: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
7190: , p_other_message => l_other_message
7191: , p_other_token_tbl => l_other_token_tbl
7192: , p_error_level => 4
7193: , p_entity_index => I
7216: --x_sub_component_tbl := l_sub_component_tbl;
7217:
7218: WHEN EXC_SEV_QUIT_SIBLINGS THEN
7219:
7220: Eco_Error_Handler.Log_Error
7221: ( p_rev_component_tbl => x_rev_component_tbl
7222: , p_ref_designator_tbl => x_ref_designator_tbl
7223: , p_sub_component_tbl => x_sub_component_tbl
7224: , p_mesg_token_tbl => l_mesg_token_tbl
7221: ( p_rev_component_tbl => x_rev_component_tbl
7222: , p_ref_designator_tbl => x_ref_designator_tbl
7223: , p_sub_component_tbl => x_sub_component_tbl
7224: , p_mesg_token_tbl => l_mesg_token_tbl
7225: , p_error_status => Error_Handler.G_STATUS_ERROR
7226: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
7227: , p_other_status => Error_Handler.G_STATUS_ERROR
7228: , p_other_message => l_other_message
7229: , p_other_token_tbl => l_other_token_tbl
7222: , p_ref_designator_tbl => x_ref_designator_tbl
7223: , p_sub_component_tbl => x_sub_component_tbl
7224: , p_mesg_token_tbl => l_mesg_token_tbl
7225: , p_error_status => Error_Handler.G_STATUS_ERROR
7226: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
7227: , p_other_status => Error_Handler.G_STATUS_ERROR
7228: , p_other_message => l_other_message
7229: , p_other_token_tbl => l_other_token_tbl
7230: , p_error_level => 4
7223: , p_sub_component_tbl => x_sub_component_tbl
7224: , p_mesg_token_tbl => l_mesg_token_tbl
7225: , p_error_status => Error_Handler.G_STATUS_ERROR
7226: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
7227: , p_other_status => Error_Handler.G_STATUS_ERROR
7228: , p_other_message => l_other_message
7229: , p_other_token_tbl => l_other_token_tbl
7230: , p_error_level => 4
7231: , p_entity_index => I
7254: --x_sub_component_tbl := l_sub_component_tbl;
7255:
7256: WHEN EXC_FAT_QUIT_BRANCH THEN
7257:
7258: Eco_Error_Handler.Log_Error
7259: ( p_rev_component_tbl => x_rev_component_tbl
7260: , p_ref_designator_tbl => x_ref_designator_tbl
7261: , p_sub_component_tbl => x_sub_component_tbl
7262: , p_mesg_token_tbl => l_mesg_token_tbl
7259: ( p_rev_component_tbl => x_rev_component_tbl
7260: , p_ref_designator_tbl => x_ref_designator_tbl
7261: , p_sub_component_tbl => x_sub_component_tbl
7262: , p_mesg_token_tbl => l_mesg_token_tbl
7263: , p_error_status => Error_Handler.G_STATUS_FATAL
7264: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
7265: , p_other_status => Error_Handler.G_STATUS_FATAL
7266: , p_other_message => l_other_message
7267: , p_other_token_tbl => l_other_token_tbl
7260: , p_ref_designator_tbl => x_ref_designator_tbl
7261: , p_sub_component_tbl => x_sub_component_tbl
7262: , p_mesg_token_tbl => l_mesg_token_tbl
7263: , p_error_status => Error_Handler.G_STATUS_FATAL
7264: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
7265: , p_other_status => Error_Handler.G_STATUS_FATAL
7266: , p_other_message => l_other_message
7267: , p_other_token_tbl => l_other_token_tbl
7268: , p_error_level => 4
7261: , p_sub_component_tbl => x_sub_component_tbl
7262: , p_mesg_token_tbl => l_mesg_token_tbl
7263: , p_error_status => Error_Handler.G_STATUS_FATAL
7264: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
7265: , p_other_status => Error_Handler.G_STATUS_FATAL
7266: , p_other_message => l_other_message
7267: , p_other_token_tbl => l_other_token_tbl
7268: , p_error_level => 4
7269: , p_entity_index => I
7279: );
7280:
7281: l_process_children := FALSE;
7282:
7283: x_return_status := Error_Handler.G_STATUS_FATAL;
7284: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
7285: x_rev_comp_unexp_rec := l_rev_comp_unexp_rec;
7286: --x_rev_component_tbl := l_rev_component_tbl;
7287: --x_ref_designator_tbl := l_ref_designator_tbl;
7288: --x_sub_component_tbl := l_sub_component_tbl;
7289:
7290: WHEN EXC_FAT_QUIT_SIBLINGS THEN
7291:
7292: Eco_Error_Handler.Log_Error
7293: ( p_rev_component_tbl => x_rev_component_tbl
7294: , p_ref_designator_tbl => x_ref_designator_tbl
7295: , p_sub_component_tbl => x_sub_component_tbl
7296: , p_mesg_token_tbl => l_mesg_token_tbl
7293: ( p_rev_component_tbl => x_rev_component_tbl
7294: , p_ref_designator_tbl => x_ref_designator_tbl
7295: , p_sub_component_tbl => x_sub_component_tbl
7296: , p_mesg_token_tbl => l_mesg_token_tbl
7297: , p_error_status => Error_Handler.G_STATUS_FATAL
7298: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
7299: , p_other_status => Error_Handler.G_STATUS_FATAL
7300: , p_other_message => l_other_message
7301: , p_other_token_tbl => l_other_token_tbl
7294: , p_ref_designator_tbl => x_ref_designator_tbl
7295: , p_sub_component_tbl => x_sub_component_tbl
7296: , p_mesg_token_tbl => l_mesg_token_tbl
7297: , p_error_status => Error_Handler.G_STATUS_FATAL
7298: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
7299: , p_other_status => Error_Handler.G_STATUS_FATAL
7300: , p_other_message => l_other_message
7301: , p_other_token_tbl => l_other_token_tbl
7302: , p_error_level => 4
7295: , p_sub_component_tbl => x_sub_component_tbl
7296: , p_mesg_token_tbl => l_mesg_token_tbl
7297: , p_error_status => Error_Handler.G_STATUS_FATAL
7298: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
7299: , p_other_status => Error_Handler.G_STATUS_FATAL
7300: , p_other_message => l_other_message
7301: , p_other_token_tbl => l_other_token_tbl
7302: , p_error_level => 4
7303: , p_entity_index => I
7317: IF l_bo_return_status = 'S'
7318: THEN
7319: l_bo_return_status := l_return_status;
7320: END IF;
7321: x_return_status := Error_Handler.G_STATUS_FATAL;
7322: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
7323: x_rev_comp_unexp_rec := l_rev_comp_unexp_rec;
7324: --x_rev_component_tbl := l_rev_component_tbl;
7325: --x_ref_designator_tbl := l_ref_designator_tbl;
7325: --x_ref_designator_tbl := l_ref_designator_tbl;
7326: --x_sub_component_tbl := l_sub_component_tbl;
7327: WHEN EXC_FAT_QUIT_OBJECT THEN
7328:
7329: Eco_Error_Handler.Log_Error
7330: ( p_rev_component_tbl => x_rev_component_tbl
7331: , p_ref_designator_tbl => x_ref_designator_tbl
7332: , p_sub_component_tbl => x_sub_component_tbl
7333: , p_mesg_token_tbl => l_mesg_token_tbl
7330: ( p_rev_component_tbl => x_rev_component_tbl
7331: , p_ref_designator_tbl => x_ref_designator_tbl
7332: , p_sub_component_tbl => x_sub_component_tbl
7333: , p_mesg_token_tbl => l_mesg_token_tbl
7334: , p_error_status => Error_Handler.G_STATUS_FATAL
7335: , p_error_scope => Error_Handler.G_SCOPE_ALL
7336: , p_other_status => Error_Handler.G_STATUS_FATAL
7337: , p_other_message => l_other_message
7338: , p_other_token_tbl => l_other_token_tbl
7331: , p_ref_designator_tbl => x_ref_designator_tbl
7332: , p_sub_component_tbl => x_sub_component_tbl
7333: , p_mesg_token_tbl => l_mesg_token_tbl
7334: , p_error_status => Error_Handler.G_STATUS_FATAL
7335: , p_error_scope => Error_Handler.G_SCOPE_ALL
7336: , p_other_status => Error_Handler.G_STATUS_FATAL
7337: , p_other_message => l_other_message
7338: , p_other_token_tbl => l_other_token_tbl
7339: , p_error_level => 4
7332: , p_sub_component_tbl => x_sub_component_tbl
7333: , p_mesg_token_tbl => l_mesg_token_tbl
7334: , p_error_status => Error_Handler.G_STATUS_FATAL
7335: , p_error_scope => Error_Handler.G_SCOPE_ALL
7336: , p_other_status => Error_Handler.G_STATUS_FATAL
7337: , p_other_message => l_other_message
7338: , p_other_token_tbl => l_other_token_tbl
7339: , p_error_level => 4
7340: , p_entity_index => I
7357: l_return_status := 'Q';
7358:
7359: WHEN EXC_UNEXP_SKIP_OBJECT THEN
7360:
7361: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Unexpected error caught in Rev Comps . . . '); END IF;
7362:
7363: Eco_Error_Handler.Log_Error
7364: ( p_rev_component_tbl => x_rev_component_tbl
7365: , p_ref_designator_tbl => x_ref_designator_tbl
7359: WHEN EXC_UNEXP_SKIP_OBJECT THEN
7360:
7361: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Unexpected error caught in Rev Comps . . . '); END IF;
7362:
7363: Eco_Error_Handler.Log_Error
7364: ( p_rev_component_tbl => x_rev_component_tbl
7365: , p_ref_designator_tbl => x_ref_designator_tbl
7366: , p_sub_component_tbl => x_sub_component_tbl
7367: , p_mesg_token_tbl => l_mesg_token_tbl
7364: ( p_rev_component_tbl => x_rev_component_tbl
7365: , p_ref_designator_tbl => x_ref_designator_tbl
7366: , p_sub_component_tbl => x_sub_component_tbl
7367: , p_mesg_token_tbl => l_mesg_token_tbl
7368: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
7369: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
7370: , p_other_message => l_other_message
7371: , p_other_token_tbl => l_other_token_tbl
7372: , p_error_level => 4
7365: , p_ref_designator_tbl => x_ref_designator_tbl
7366: , p_sub_component_tbl => x_sub_component_tbl
7367: , p_mesg_token_tbl => l_mesg_token_tbl
7368: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
7369: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
7370: , p_other_message => l_other_message
7371: , p_other_token_tbl => l_other_token_tbl
7372: , p_error_level => 4
7373: , p_entity_index => I
7388: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
7389:
7390: l_return_status := 'U';
7391:
7392: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Unexpected error in Rev Comps . . .'); END IF;
7393:
7394: END; -- END block
7395:
7396: IF l_return_status in ('Q', 'U')
7396: IF l_return_status in ('Q', 'U')
7397: THEN
7398: x_return_status := l_return_status;
7399:
7400: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Rev Comps returning with status ' || l_return_status ); END IF;
7401:
7402: RETURN;
7403: END IF;
7404:
7407: -- Process Reference Designators that are direct children of this
7408: -- component
7409:
7410: IF Bom_Globals.Get_Debug = 'Y' THEN
7411: Error_Handler.Write_Debug('***********************************************************') ;
7412: Error_Handler.Write_Debug('Now processing direct children for the Rev Comp '
7413: || l_rev_component_rec.component_item_name || '. . .' );
7414: Error_Handler.Write_Debug('Now processing Ref Desig as direct children for the Rev Comp ') ;
7415: END IF;
7408: -- component
7409:
7410: IF Bom_Globals.Get_Debug = 'Y' THEN
7411: Error_Handler.Write_Debug('***********************************************************') ;
7412: Error_Handler.Write_Debug('Now processing direct children for the Rev Comp '
7413: || l_rev_component_rec.component_item_name || '. . .' );
7414: Error_Handler.Write_Debug('Now processing Ref Desig as direct children for the Rev Comp ') ;
7415: END IF;
7416:
7410: IF Bom_Globals.Get_Debug = 'Y' THEN
7411: Error_Handler.Write_Debug('***********************************************************') ;
7412: Error_Handler.Write_Debug('Now processing direct children for the Rev Comp '
7413: || l_rev_component_rec.component_item_name || '. . .' );
7414: Error_Handler.Write_Debug('Now processing Ref Desig as direct children for the Rev Comp ') ;
7415: END IF;
7416:
7417:
7418: Ref_Desgs
7443: -- Process Substitute Components that are direct children of this
7444: -- component
7445:
7446: IF Bom_Globals.Get_Debug = 'Y' THEN
7447: Error_Handler.Write_Debug('***********************************************************') ;
7448: Error_Handler.Write_Debug('Now processing Ref Desig as direct children for the Rev Comp ') ;
7449: END IF ;
7450:
7451: Sub_Comps
7444: -- component
7445:
7446: IF Bom_Globals.Get_Debug = 'Y' THEN
7447: Error_Handler.Write_Debug('***********************************************************') ;
7448: Error_Handler.Write_Debug('Now processing Ref Desig as direct children for the Rev Comp ') ;
7449: END IF ;
7450:
7451: Sub_Comps
7452: ( p_validation_level => p_validation_level
7470: THEN
7471: l_bo_return_status := l_return_status;
7472: END IF;
7473:
7474: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Finished processing children for ' || l_rev_component_rec.component_item_name || ' . . . ' || l_return_status ); END IF;
7475:
7476: END IF; -- Process children
7477: x_return_status := l_bo_return_status;
7478: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
7498: , p_sub_component_tbl IN BOM_BO_PUB.Sub_Component_Tbl_Type
7499: , x_rev_component_tbl IN OUT NOCOPY BOM_BO_PUB.Rev_Component_Tbl_Type
7500: , x_ref_designator_tbl IN OUT NOCOPY BOM_BO_PUB.Ref_Designator_Tbl_Type
7501: , x_sub_component_tbl IN OUT NOCOPY BOM_BO_PUB.Sub_Component_Tbl_Type
7502: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
7503: , x_return_status OUT NOCOPY VARCHAR2
7504: -- Bug 2941096 // kamohan
7505: , x_bill_sequence_id IN NUMBER := NULL
7506: )
7504: -- Bug 2941096 // kamohan
7505: , x_bill_sequence_id IN NUMBER := NULL
7506: )
7507: IS
7508: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
7509: l_other_token_tbl Error_Handler.Token_Tbl_Type;
7510: l_other_message VARCHAR2(2000);
7511: l_err_text VARCHAR2(2000);
7512: l_valid BOOLEAN := TRUE;
7505: , x_bill_sequence_id IN NUMBER := NULL
7506: )
7507: IS
7508: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
7509: l_other_token_tbl Error_Handler.Token_Tbl_Type;
7510: l_other_message VARCHAR2(2000);
7511: l_err_text VARCHAR2(2000);
7512: l_valid BOOLEAN := TRUE;
7513: l_item_parent_exists BOOLEAN := FALSE;
7525: --l_sub_component_tbl BOM_BO_PUB.Sub_Component_Tbl_Type := p_sub_component_tbl;
7526: l_return_value NUMBER;
7527: l_process_children BOOLEAN := TRUE;
7528: l_dummy NUMBER ;
7529: l_Token_Tbl Error_Handler.Token_Tbl_Type;
7530: l_structure_type_id NUMBER ;
7531: l_strc_cp_not_allowed NUMBER ;
7532:
7533: l_rev_operation_tbl Bom_Rtg_Pub.Rev_Operation_Tbl_Type;
7647: l_return_status := FND_API.G_RET_STS_SUCCESS;
7648:
7649: l_rev_component_rec.return_status := FND_API.G_RET_STS_SUCCESS;
7650:
7651: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing component: ' || l_rev_component_rec.component_item_name); END IF;
7652: -- Check if transaction_type is valid
7653: --
7654: -- Bug 6657209
7655: IF (l_item_parent_exists and ENG_Default_Revised_Item.G_OLD_SCHED_DATE is not null ) THEN
7655: IF (l_item_parent_exists and ENG_Default_Revised_Item.G_OLD_SCHED_DATE is not null ) THEN
7656: l_rev_component_rec.start_effective_date := p_effectivity_date;
7657: END IF;
7658:
7659: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
7660: ENG_GLOBALS.Transaction_Type_Validity
7661: ( p_transaction_type => l_rev_component_rec.transaction_type
7662: , p_entity => 'Rev_Comps'
7663: , p_entity_id => l_rev_component_rec.revised_item_name
7672:
7673: -- Process Flow step 4(a): Convert user unique index to unique index I
7674: --
7675:
7676: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index I'); END IF;
7677: Bom_Val_To_Id.Rev_Component_UUI_To_UI
7678: ( p_rev_component_rec => l_rev_component_rec
7679: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
7680: , x_rev_comp_unexp_rec => l_rev_comp_unexp_rec
7681: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7682: , x_Return_Status => l_return_status
7683: );
7684:
7685: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7686:
7687: IF l_return_status = Error_Handler.G_STATUS_ERROR
7688: THEN
7689: l_other_message := 'BOM_CMP_UUI_SEV_ERROR';
7683: );
7684:
7685: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7686:
7687: IF l_return_status = Error_Handler.G_STATUS_ERROR
7688: THEN
7689: l_other_message := 'BOM_CMP_UUI_SEV_ERROR';
7690: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7691: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7689: l_other_message := 'BOM_CMP_UUI_SEV_ERROR';
7690: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7691: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7692: RAISE EXC_SEV_QUIT_BRANCH;
7693: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7694: THEN
7695: l_other_message := 'BOM_CMP_UUI_UNEXP_SKIP';
7696: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7697: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7700:
7701: -- Process Flow step 4(b): Convert user unique index to unique index II
7702: --
7703:
7704: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index II'); END IF;
7705: Bom_Val_To_Id.Rev_Component_UUI_To_UI2
7706: ( p_rev_component_rec => l_rev_component_rec
7707: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
7708: , x_rev_comp_unexp_rec => l_rev_comp_unexp_rec
7711: , x_other_token_tbl => l_other_token_tbl
7712: , x_Return_Status => l_return_status
7713: );
7714:
7715: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7716:
7717: IF l_return_status = Error_Handler.G_STATUS_ERROR
7718: THEN
7719: RAISE EXC_SEV_QUIT_SIBLINGS;
7713: );
7714:
7715: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7716:
7717: IF l_return_status = Error_Handler.G_STATUS_ERROR
7718: THEN
7719: RAISE EXC_SEV_QUIT_SIBLINGS;
7720: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7721: THEN
7716:
7717: IF l_return_status = Error_Handler.G_STATUS_ERROR
7718: THEN
7719: RAISE EXC_SEV_QUIT_SIBLINGS;
7720: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7721: THEN
7722: l_other_message := 'ENG_CMP_UUI_UNEXP_SKIP';
7723: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7724: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7725: RAISE EXC_UNEXP_SKIP_OBJECT;
7726: END IF;
7727:
7728: IF Bom_Globals.Get_Debug = 'Y' THEN
7729: Error_Handler.Write_Debug('Converting user unique index to unique index II for Bill And Rev Seq Id');
7730: END IF;
7731:
7732: ENG_Val_To_Id.BillAndRevitem_UUI_To_UI
7733: ( p_revised_item_name => l_rev_component_rec.revised_item_name
7750: , x_other_token_tbl => l_other_token_tbl
7751: , x_Return_Status => l_return_status
7752: ) ;
7753:
7754: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status) ;
7755: END IF;
7756:
7757: IF l_return_status = Error_Handler.G_STATUS_ERROR
7758: THEN
7753:
7754: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status) ;
7755: END IF;
7756:
7757: IF l_return_status = Error_Handler.G_STATUS_ERROR
7758: THEN
7759: RAISE EXC_SEV_QUIT_SIBLINGS;
7760: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7761: THEN
7756:
7757: IF l_return_status = Error_Handler.G_STATUS_ERROR
7758: THEN
7759: RAISE EXC_SEV_QUIT_SIBLINGS;
7760: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7761: THEN
7762: l_other_message := 'ENG_CMP_UUI_UNEXP_SKIP';
7763: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7764: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7778:
7779: -- Process Flow step 5: Verify Revised Component's existence
7780: --
7781:
7782: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check existence'); END IF;
7783: Bom_Validate_Bom_Component.Check_Existence
7784: ( p_rev_component_rec => l_rev_component_rec
7785: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
7786: , x_old_rev_component_rec => l_old_rev_component_rec
7788: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7789: , x_return_status => l_Return_Status
7790: );
7791:
7792: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7793:
7794: IF l_return_status = Error_Handler.G_STATUS_ERROR
7795: THEN
7796: l_other_message := 'BOM_CMP_EXS_SEV_ERROR';
7790: );
7791:
7792: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7793:
7794: IF l_return_status = Error_Handler.G_STATUS_ERROR
7795: THEN
7796: l_other_message := 'BOM_CMP_EXS_SEV_ERROR';
7797: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7798: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7798: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7799: l_other_token_tbl(2).token_name := 'REVISED_ITEM_NAME';
7800: l_other_token_tbl(2).token_value := l_rev_component_rec.revised_item_name;
7801: RAISE EXC_SEV_QUIT_BRANCH;
7802: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7803: THEN
7804: l_other_message := 'BOM_CMP_EXS_UNEXP_SKIP';
7805: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7806: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7812:
7813: -- Process Flow step 6: Check lineage
7814: --
7815:
7816: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check lineage'); END IF;
7817: Bom_Validate_Bom_Component.Check_Lineage
7818: ( p_rev_component_rec => l_rev_component_rec
7819: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
7820: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7820: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7821: , x_return_status => l_Return_Status
7822: );
7823:
7824: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7825:
7826: IF l_return_status = Error_Handler.G_STATUS_ERROR
7827: THEN
7828: l_other_message := 'BOM_CMP_LIN_SEV_SKIP';
7822: );
7823:
7824: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7825:
7826: IF l_return_status = Error_Handler.G_STATUS_ERROR
7827: THEN
7828: l_other_message := 'BOM_CMP_LIN_SEV_SKIP';
7829: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7830: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7828: l_other_message := 'BOM_CMP_LIN_SEV_SKIP';
7829: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7830: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7831: RAISE EXC_SEV_QUIT_BRANCH;
7832: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7833: THEN
7834: l_other_message := 'ENG_CMP_LIN_UNEXP_SKIP';
7835: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7836: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7852: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7853: , x_Return_Status => l_return_status
7854: );
7855:
7856: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7857:
7858: IF l_return_status = Error_Handler.G_STATUS_ERROR
7859: THEN
7860: l_other_message := 'BOM_CMP_ECOACC_FAT_FATAL';
7854: );
7855:
7856: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7857:
7858: IF l_return_status = Error_Handler.G_STATUS_ERROR
7859: THEN
7860: l_other_message := 'BOM_CMP_ECOACC_FAT_FATAL';
7861: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7862: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7861: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7862: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7863: l_return_status := 'F';
7864: RAISE EXC_FAT_QUIT_OBJECT;
7865: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7866: THEN
7867: l_other_message := 'BOM_CMP_ECOACC_UNEXP_SKIP';
7868: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7869: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7872:
7873: -- Process Flow step 9(a and b): check that user has access to revised item
7874: --
7875:
7876: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
7877: ENG_Validate_Revised_Item.Check_Access
7878: ( p_change_notice => l_rev_component_rec.ECO_Name
7879: , p_organization_id => l_rev_comp_unexp_rec.organization_id
7880: , p_revised_item_id => l_rev_comp_unexp_rec.revised_item_id
7889: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7890: , x_return_status => l_Return_Status
7891: );
7892:
7893: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7894: IF l_return_status = Error_Handler.G_STATUS_ERROR
7895: THEN
7896: l_other_message := 'BOM_CMP_RITACC_FAT_FATAL';
7897: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7890: , x_return_status => l_Return_Status
7891: );
7892:
7893: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7894: IF l_return_status = Error_Handler.G_STATUS_ERROR
7895: THEN
7896: l_other_message := 'BOM_CMP_RITACC_FAT_FATAL';
7897: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7898: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7897: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7898: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7899: l_return_status := 'F';
7900: RAISE EXC_FAT_QUIT_SIBLINGS;
7901: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7902: THEN
7903: l_other_message := 'BOM_CMP_RITACC_UNEXP_SKIP';
7904: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7905: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7908:
7909: -- Process Flow step 10: check that user has access to revised component
7910: --
7911:
7912: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
7913: Bom_Validate_Bom_Component.Check_Access
7914: ( p_change_notice => l_rev_component_rec.ECO_Name
7915: , p_organization_id => l_rev_comp_unexp_rec.organization_id
7916: , p_revised_item_id => l_rev_comp_unexp_rec.revised_item_id
7927: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7928: , x_return_status => l_Return_Status
7929: );
7930:
7931: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7932:
7933: IF l_return_status = Error_Handler.G_STATUS_ERROR
7934: THEN
7935: l_other_message := 'BOM_CMP_ACCESS_FAT_FATAL';
7929: );
7930:
7931: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7932:
7933: IF l_return_status = Error_Handler.G_STATUS_ERROR
7934: THEN
7935: l_other_message := 'BOM_CMP_ACCESS_FAT_FATAL';
7936: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7937: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7936: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7937: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7938: l_return_status := 'F';
7939: RAISE EXC_FAT_QUIT_BRANCH;
7940: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
7941: THEN
7942: l_other_message := 'BOM_CMP_ACCESS_UNEXP_SKIP';
7943: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
7944: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
7959: , x_strc_cp_not_allowed => l_strc_cp_not_allowed
7960: );
7961: IF l_strc_cp_not_allowed = 1
7962: THEN
7963: l_return_status := Error_Handler.G_STATUS_ERROR ;
7964: l_Token_Tbl.DELETE;
7965: l_Token_Tbl(1).token_name := 'STRUCTURE_NAME';
7966: l_Token_Tbl(1).token_value := l_rev_component_rec.alternate_bom_code;
7967:
7964: l_Token_Tbl.DELETE;
7965: l_Token_Tbl(1).token_name := 'STRUCTURE_NAME';
7966: l_Token_Tbl(1).token_value := l_rev_component_rec.alternate_bom_code;
7967:
7968: Error_Handler.Add_Error_Token
7969: ( p_message_name => 'ENG_BILL_CHANGES_NOT_ALLOWED'
7970: , p_mesg_token_tbl => l_Mesg_Token_Tbl
7971: , p_token_tbl => l_Token_Tbl
7972: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7981:
7982: -- Process Flow step 11: Value to Id conversions
7983: --
7984:
7985: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Value-id conversions'); END IF;
7986: Bom_Val_To_Id.Rev_Component_VID
7987: ( x_Return_Status => l_return_status
7988: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7989: , p_rev_comp_unexp_Rec => l_rev_comp_unexp_rec
7990: , x_rev_comp_unexp_Rec => l_rev_comp_unexp_rec
7991: , p_rev_component_Rec => l_rev_component_rec
7992: );
7993:
7994: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7995:
7996: IF l_return_status = Error_Handler.G_STATUS_ERROR
7997: THEN
7998: IF l_rev_component_rec.transaction_type = 'CREATE'
7992: );
7993:
7994: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
7995:
7996: IF l_return_status = Error_Handler.G_STATUS_ERROR
7997: THEN
7998: IF l_rev_component_rec.transaction_type = 'CREATE'
7999: THEN
8000: l_other_message := 'BOM_CMP_VID_CSEV_SKIP';
8003: RAISE EXC_SEV_SKIP_BRANCH;
8004: ELSE
8005: RAISE EXC_SEV_QUIT_RECORD;
8006: END IF;
8007: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
8008: THEN
8009: l_other_message := 'BOM_CMP_VID_UNEXP_SKIP';
8010: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8011: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8012: RAISE EXC_UNEXP_SKIP_OBJECT;
8013: ELSIF l_return_status ='S' AND
8014: l_Mesg_Token_Tbl.COUNT <>0
8015: THEN
8016: Eco_Error_Handler.Log_Error
8017: ( p_rev_component_tbl => x_rev_component_tbl
8018: , p_ref_designator_tbl => x_ref_designator_tbl
8019: , p_sub_component_tbl => x_sub_component_tbl
8020: , p_mesg_token_tbl => l_mesg_token_tbl
8036: -- Process Flow step 12: Check required fields exist
8037: -- (also includes conditionally required fields)
8038: --
8039:
8040: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check required fields'); END IF;
8041: Bom_Validate_Bom_Component.Check_Required
8042: ( x_return_status => l_return_status
8043: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8044: , p_rev_component_rec => l_rev_component_rec
8043: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8044: , p_rev_component_rec => l_rev_component_rec
8045: );
8046:
8047: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8048:
8049: IF l_return_status = Error_Handler.G_STATUS_ERROR
8050: THEN
8051: IF l_rev_component_rec.transaction_type = 'CREATE'
8045: );
8046:
8047: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8048:
8049: IF l_return_status = Error_Handler.G_STATUS_ERROR
8050: THEN
8051: IF l_rev_component_rec.transaction_type = 'CREATE'
8052: THEN
8053: l_other_message := 'BOM_CMP_REQ_CSEV_SKIP';
8056: RAISE EXC_SEV_SKIP_BRANCH;
8057: ELSE
8058: RAISE EXC_SEV_QUIT_RECORD;
8059: END IF;
8060: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
8061: THEN
8062: l_other_message := 'BOM_CMP_REQ_UNEXP_SKIP';
8063: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8064: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8065: RAISE EXC_UNEXP_SKIP_OBJECT;
8066: ELSIF l_return_status ='S' AND
8067: l_Mesg_Token_Tbl.COUNT <>0
8068: THEN
8069: Eco_Error_Handler.Log_Error
8070: ( p_rev_component_tbl => x_rev_component_tbl
8071: , p_ref_designator_tbl => x_ref_designator_tbl
8072: , p_sub_component_tbl => x_sub_component_tbl
8073: , p_mesg_token_tbl => l_mesg_token_tbl
8088:
8089: -- Process Flow step 13: Attribute Validation for CREATE and UPDATE
8090: --
8091:
8092: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
8093: IF l_rev_component_rec.Transaction_Type IN
8094: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
8095: THEN
8096: Bom_Validate_Bom_Component.Check_Attributes
8099: , p_rev_component_rec => l_rev_component_rec
8100: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
8101: );
8102:
8103: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8104:
8105: IF l_return_status = Error_Handler.G_STATUS_ERROR
8106: THEN
8107: IF l_rev_component_rec.transaction_type = 'CREATE'
8101: );
8102:
8103: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8104:
8105: IF l_return_status = Error_Handler.G_STATUS_ERROR
8106: THEN
8107: IF l_rev_component_rec.transaction_type = 'CREATE'
8108: THEN
8109: l_other_message := 'BOM_CMP_ATTVAL_CSEV_SKIP';
8112: RAISE EXC_SEV_QUIT_BRANCH;
8113: ELSE
8114: RAISE EXC_SEV_QUIT_RECORD;
8115: END IF;
8116: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
8117: THEN
8118: l_other_message := 'BOM_CMP_ATTVAL_UNEXP_SKIP';
8119: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8120: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8121: RAISE EXC_UNEXP_SKIP_OBJECT;
8122: ELSIF l_return_status ='S' AND
8123: l_Mesg_Token_Tbl.COUNT <>0
8124: THEN
8125: Eco_Error_Handler.Log_Error
8126: ( p_rev_component_tbl => x_rev_component_tbl
8127: , p_ref_designator_tbl => x_ref_designator_tbl
8128: , p_sub_component_tbl => x_sub_component_tbl
8129: , p_mesg_token_tbl => l_mesg_token_tbl
8170: );
8171:
8172: IF l_return_status <> Eng_Globals.G_RECORD_FOUND
8173: THEN
8174: l_return_status := Error_Handler.G_STATUS_ERROR ;
8175: l_Token_Tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8176: l_Token_Tbl(1).token_value := l_rev_component_rec.component_item_name;
8177:
8178: Error_Handler.Add_Error_Token
8174: l_return_status := Error_Handler.G_STATUS_ERROR ;
8175: l_Token_Tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8176: l_Token_Tbl(1).token_value := l_rev_component_rec.component_item_name;
8177:
8178: Error_Handler.Add_Error_Token
8179: ( p_message_name => 'ENG_CMP_CREATE_REC_NOT_FOUND' --'BOM_CMP_CREATE_REC_NOT_FOUND' -- Bug 3612008 :Modified incorrect message_name
8180: , p_mesg_token_tbl => l_Mesg_Token_Tbl
8181: , p_token_tbl => l_Token_Tbl
8182: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8185: l_other_message := 'BOM_CMP_QRY_CSEV_SKIP';
8186: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8187: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8188: RAISE EXC_SEV_SKIP_BRANCH;
8189: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
8190: THEN
8191: l_other_message := 'BOM_CMP_QRY_UNEXP_SKIP';
8192: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8193: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8203: OR
8204: l_rev_component_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE,
8205: ENG_GLOBALS.G_OPR_DELETE)
8206: THEN
8207: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populate NULL columns'); END IF;
8208: Bom_Default_Bom_Component.Populate_Null_Columns
8209: ( p_rev_component_rec => l_rev_Component_Rec
8210: , p_old_rev_Component_Rec => l_old_rev_Component_Rec
8211: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
8218:
8219: -- Process Flow step 16: Default missing values for Operation CREATE
8220: --
8221:
8222: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting'); END IF;
8223: Bom_Default_Bom_Component.Attribute_Defaulting
8224: ( p_rev_component_rec => l_rev_component_rec
8225: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
8226: , x_rev_component_rec => l_rev_component_rec
8228: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8229: , x_return_status => l_return_status
8230: );
8231:
8232: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8233:
8234: IF l_return_status = Error_Handler.G_STATUS_ERROR
8235: THEN
8236: l_other_message := 'BOM_CMP_ATTDEF_CSEV_SKIP';
8230: );
8231:
8232: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8233:
8234: IF l_return_status = Error_Handler.G_STATUS_ERROR
8235: THEN
8236: l_other_message := 'BOM_CMP_ATTDEF_CSEV_SKIP';
8237: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8238: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8236: l_other_message := 'BOM_CMP_ATTDEF_CSEV_SKIP';
8237: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8238: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8239: RAISE EXC_SEV_SKIP_BRANCH;
8240: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
8241: THEN
8242: l_other_message := 'BOM_CMP_ATTDEF_UNEXP_SKIP';
8243: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8244: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8245: RAISE EXC_UNEXP_SKIP_OBJECT;
8246: ELSIF l_return_status ='S' AND
8247: l_Mesg_Token_Tbl.COUNT <>0
8248: THEN
8249: Eco_Error_Handler.Log_Error
8250: ( p_rev_component_tbl => x_rev_component_tbl
8251: , p_ref_designator_tbl => x_ref_designator_tbl
8252: , p_sub_component_tbl => x_sub_component_tbl
8253: , p_mesg_token_tbl => l_mesg_token_tbl
8269:
8270: -- Process Flow step 17: Entity defaulting for CREATE and UPDATE
8271: --
8272:
8273: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting'); END IF;
8274: IF l_rev_component_rec.Transaction_Type IN
8275: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
8276: THEN
8277: Bom_Default_Bom_Component.Entity_Defaulting
8279: , p_old_rev_component_rec => l_old_rev_component_rec
8280: , x_rev_component_rec => l_rev_component_rec
8281: );
8282:
8283: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8284:
8285: IF l_return_status = Error_Handler.G_STATUS_ERROR
8286: THEN
8287: IF l_rev_component_rec.transaction_type = 'CREATE'
8281: );
8282:
8283: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8284:
8285: IF l_return_status = Error_Handler.G_STATUS_ERROR
8286: THEN
8287: IF l_rev_component_rec.transaction_type = 'CREATE'
8288: THEN
8289: l_other_message := 'BOM_CMP_ENTDEF_CSEV_SKIP';
8292: RAISE EXC_SEV_SKIP_BRANCH;
8293: ELSE
8294: RAISE EXC_SEV_QUIT_RECORD;
8295: END IF;
8296: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
8297: THEN
8298: l_other_message := 'BOM_CMP_ENTDEF_UNEXP_SKIP';
8299: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8300: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8301: RAISE EXC_UNEXP_SKIP_OBJECT;
8302: ELSIF l_return_status ='S' AND
8303: l_Mesg_Token_Tbl.COUNT <>0
8304: THEN
8305: Eco_Error_Handler.Log_Error
8306: ( p_rev_component_tbl => x_rev_component_tbl
8307: , p_ref_designator_tbl => x_ref_designator_tbl
8308: , p_sub_component_tbl => x_sub_component_tbl
8309: , p_mesg_token_tbl => l_mesg_token_tbl
8325:
8326: -- Process Flow step 18 - Entity Level Validation
8327: --
8328:
8329: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation'); END IF;
8330: Bom_Validate_Bom_Component.Check_Entity
8331: ( p_rev_component_rec => l_rev_component_rec
8332: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
8333: , p_old_rev_component_rec => l_old_rev_component_rec
8335: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8336: , x_return_status => l_Return_Status
8337: );
8338:
8339: --IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8340:
8341: IF l_return_status = Error_Handler.G_STATUS_ERROR
8342: THEN
8343: IF l_rev_component_rec.transaction_type = 'CREATE'
8337: );
8338:
8339: --IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8340:
8341: IF l_return_status = Error_Handler.G_STATUS_ERROR
8342: THEN
8343: IF l_rev_component_rec.transaction_type = 'CREATE'
8344: THEN
8345: l_other_message := 'BOM_CMP_ENTVAL_CSEV_SKIP';
8348: RAISE EXC_SEV_QUIT_BRANCH;
8349: ELSE
8350: RAISE EXC_SEV_QUIT_RECORD;
8351: END IF;
8352: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
8353: THEN
8354: l_other_message := 'BOM_CMP_ENTVAL_UNEXP_SKIP';
8355: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8356: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8357: RAISE EXC_UNEXP_SKIP_OBJECT;
8358: ELSIF l_return_status ='S' AND
8359: l_Mesg_Token_Tbl.COUNT <>0
8360: THEN
8361: Eco_Error_Handler.Log_Error
8362: ( p_rev_component_tbl => x_rev_component_tbl
8363: , p_ref_designator_tbl => x_ref_designator_tbl
8364: , p_sub_component_tbl => x_sub_component_tbl
8365: , p_mesg_token_tbl => l_mesg_token_tbl
8380:
8381: -- Process Flow step 16 : Database Writes
8382: --
8383:
8384: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Writing to the database'); END IF;
8385: Bom_Bom_Component_Util.Perform_Writes
8386: ( p_rev_component_rec => l_rev_component_rec
8387: , p_rev_comp_unexp_rec => l_rev_comp_unexp_rec
8388: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8388: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8389: , x_return_status => l_return_status
8390: );
8391:
8392: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8393:
8394: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
8395: THEN
8396: l_other_message := 'BOM_CMP_WRITES_UNEXP_SKIP';
8390: );
8391:
8392: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8393:
8394: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
8395: THEN
8396: l_other_message := 'BOM_CMP_WRITES_UNEXP_SKIP';
8397: l_other_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8398: l_other_token_tbl(1).token_value := l_rev_component_rec.component_item_name;
8399: RAISE EXC_UNEXP_SKIP_OBJECT;
8400: ELSIF l_return_status ='S' AND
8401: l_Mesg_Token_Tbl.COUNT <>0
8402: THEN
8403: Eco_Error_Handler.Log_Error
8404: ( p_rev_component_tbl => x_rev_component_tbl
8405: , p_ref_designator_tbl => x_ref_designator_tbl
8406: , p_sub_component_tbl => x_sub_component_tbl
8407: , p_mesg_token_tbl => l_mesg_token_tbl
8436: ELSE
8437:
8438:
8439: IF Bom_Globals.Get_Debug = 'Y' THEN
8440: Error_Handler.Write_Debug('This record does not patch with the parent that called it . . . ') ;
8441: Error_Handler.Write_Debug('so may be this is an comp in another branch . . . '
8442: || l_rev_component_rec.component_item_name ) ;
8443: END IF ;
8444:
8437:
8438:
8439: IF Bom_Globals.Get_Debug = 'Y' THEN
8440: Error_Handler.Write_Debug('This record does not patch with the parent that called it . . . ') ;
8441: Error_Handler.Write_Debug('so may be this is an comp in another branch . . . '
8442: || l_rev_component_rec.component_item_name ) ;
8443: END IF ;
8444:
8445: l_process_children := FALSE;
8453: EXCEPTION
8454:
8455: WHEN EXC_SEV_QUIT_RECORD THEN
8456:
8457: Eco_Error_Handler.Log_Error
8458: ( p_rev_component_tbl => x_rev_component_tbl
8459: , p_ref_designator_tbl => x_ref_designator_tbl
8460: , p_sub_component_tbl => x_sub_component_tbl
8461: , p_mesg_token_tbl => l_mesg_token_tbl
8459: , p_ref_designator_tbl => x_ref_designator_tbl
8460: , p_sub_component_tbl => x_sub_component_tbl
8461: , p_mesg_token_tbl => l_mesg_token_tbl
8462: , p_error_status => FND_API.G_RET_STS_ERROR
8463: , p_error_scope => Error_Handler.G_SCOPE_RECORD
8464: , p_error_level => 4
8465: , p_entity_index => I
8466: , x_eco_rec => l_eco_rec
8467: , x_eco_revision_tbl => l_eco_revision_tbl
8487: --x_sub_component_tbl := l_sub_component_tbl;
8488:
8489: WHEN EXC_SEV_QUIT_BRANCH THEN
8490:
8491: Eco_Error_Handler.Log_Error
8492: ( p_rev_component_tbl => x_rev_component_tbl
8493: , p_ref_designator_tbl => x_ref_designator_tbl
8494: , p_sub_component_tbl => x_sub_component_tbl
8495: , p_mesg_token_tbl => l_mesg_token_tbl
8492: ( p_rev_component_tbl => x_rev_component_tbl
8493: , p_ref_designator_tbl => x_ref_designator_tbl
8494: , p_sub_component_tbl => x_sub_component_tbl
8495: , p_mesg_token_tbl => l_mesg_token_tbl
8496: , p_error_status => Error_Handler.G_STATUS_ERROR
8497: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
8498: , p_other_status => Error_Handler.G_STATUS_ERROR
8499: , p_other_message => l_other_message
8500: , p_other_token_tbl => l_other_token_tbl
8493: , p_ref_designator_tbl => x_ref_designator_tbl
8494: , p_sub_component_tbl => x_sub_component_tbl
8495: , p_mesg_token_tbl => l_mesg_token_tbl
8496: , p_error_status => Error_Handler.G_STATUS_ERROR
8497: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
8498: , p_other_status => Error_Handler.G_STATUS_ERROR
8499: , p_other_message => l_other_message
8500: , p_other_token_tbl => l_other_token_tbl
8501: , p_error_level => 4
8494: , p_sub_component_tbl => x_sub_component_tbl
8495: , p_mesg_token_tbl => l_mesg_token_tbl
8496: , p_error_status => Error_Handler.G_STATUS_ERROR
8497: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
8498: , p_other_status => Error_Handler.G_STATUS_ERROR
8499: , p_other_message => l_other_message
8500: , p_other_token_tbl => l_other_token_tbl
8501: , p_error_level => 4
8502: , p_entity_index => I
8524: --x_sub_component_tbl := l_sub_component_tbl;
8525:
8526: WHEN EXC_SEV_SKIP_BRANCH THEN
8527:
8528: Eco_Error_Handler.Log_Error
8529: ( p_rev_component_tbl => x_rev_component_tbl
8530: , p_ref_designator_tbl => x_ref_designator_tbl
8531: , p_sub_component_tbl => x_sub_component_tbl
8532: , p_mesg_token_tbl => l_mesg_token_tbl
8529: ( p_rev_component_tbl => x_rev_component_tbl
8530: , p_ref_designator_tbl => x_ref_designator_tbl
8531: , p_sub_component_tbl => x_sub_component_tbl
8532: , p_mesg_token_tbl => l_mesg_token_tbl
8533: , p_error_status => Error_Handler.G_STATUS_ERROR
8534: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
8535: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
8536: , p_other_message => l_other_message
8537: , p_other_token_tbl => l_other_token_tbl
8530: , p_ref_designator_tbl => x_ref_designator_tbl
8531: , p_sub_component_tbl => x_sub_component_tbl
8532: , p_mesg_token_tbl => l_mesg_token_tbl
8533: , p_error_status => Error_Handler.G_STATUS_ERROR
8534: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
8535: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
8536: , p_other_message => l_other_message
8537: , p_other_token_tbl => l_other_token_tbl
8538: , p_error_level => 4
8531: , p_sub_component_tbl => x_sub_component_tbl
8532: , p_mesg_token_tbl => l_mesg_token_tbl
8533: , p_error_status => Error_Handler.G_STATUS_ERROR
8534: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
8535: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
8536: , p_other_message => l_other_message
8537: , p_other_token_tbl => l_other_token_tbl
8538: , p_error_level => 4
8539: , p_entity_index => I
8561: --x_sub_component_tbl := l_sub_component_tbl;
8562:
8563: WHEN EXC_SEV_QUIT_SIBLINGS THEN
8564:
8565: Eco_Error_Handler.Log_Error
8566: ( p_rev_component_tbl => x_rev_component_tbl
8567: , p_ref_designator_tbl => x_ref_designator_tbl
8568: , p_sub_component_tbl => x_sub_component_tbl
8569: , p_mesg_token_tbl => l_mesg_token_tbl
8566: ( p_rev_component_tbl => x_rev_component_tbl
8567: , p_ref_designator_tbl => x_ref_designator_tbl
8568: , p_sub_component_tbl => x_sub_component_tbl
8569: , p_mesg_token_tbl => l_mesg_token_tbl
8570: , p_error_status => Error_Handler.G_STATUS_ERROR
8571: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
8572: , p_other_status => Error_Handler.G_STATUS_ERROR
8573: , p_other_message => l_other_message
8574: , p_other_token_tbl => l_other_token_tbl
8567: , p_ref_designator_tbl => x_ref_designator_tbl
8568: , p_sub_component_tbl => x_sub_component_tbl
8569: , p_mesg_token_tbl => l_mesg_token_tbl
8570: , p_error_status => Error_Handler.G_STATUS_ERROR
8571: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
8572: , p_other_status => Error_Handler.G_STATUS_ERROR
8573: , p_other_message => l_other_message
8574: , p_other_token_tbl => l_other_token_tbl
8575: , p_error_level => 4
8568: , p_sub_component_tbl => x_sub_component_tbl
8569: , p_mesg_token_tbl => l_mesg_token_tbl
8570: , p_error_status => Error_Handler.G_STATUS_ERROR
8571: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
8572: , p_other_status => Error_Handler.G_STATUS_ERROR
8573: , p_other_message => l_other_message
8574: , p_other_token_tbl => l_other_token_tbl
8575: , p_error_level => 4
8576: , p_entity_index => I
8598: --x_sub_component_tbl := l_sub_component_tbl;
8599:
8600: WHEN EXC_FAT_QUIT_BRANCH THEN
8601:
8602: Eco_Error_Handler.Log_Error
8603: ( p_rev_component_tbl => x_rev_component_tbl
8604: , p_ref_designator_tbl => x_ref_designator_tbl
8605: , p_sub_component_tbl => x_sub_component_tbl
8606: , p_mesg_token_tbl => l_mesg_token_tbl
8603: ( p_rev_component_tbl => x_rev_component_tbl
8604: , p_ref_designator_tbl => x_ref_designator_tbl
8605: , p_sub_component_tbl => x_sub_component_tbl
8606: , p_mesg_token_tbl => l_mesg_token_tbl
8607: , p_error_status => Error_Handler.G_STATUS_FATAL
8608: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
8609: , p_other_status => Error_Handler.G_STATUS_FATAL
8610: , p_other_message => l_other_message
8611: , p_other_token_tbl => l_other_token_tbl
8604: , p_ref_designator_tbl => x_ref_designator_tbl
8605: , p_sub_component_tbl => x_sub_component_tbl
8606: , p_mesg_token_tbl => l_mesg_token_tbl
8607: , p_error_status => Error_Handler.G_STATUS_FATAL
8608: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
8609: , p_other_status => Error_Handler.G_STATUS_FATAL
8610: , p_other_message => l_other_message
8611: , p_other_token_tbl => l_other_token_tbl
8612: , p_error_level => 4
8605: , p_sub_component_tbl => x_sub_component_tbl
8606: , p_mesg_token_tbl => l_mesg_token_tbl
8607: , p_error_status => Error_Handler.G_STATUS_FATAL
8608: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
8609: , p_other_status => Error_Handler.G_STATUS_FATAL
8610: , p_other_message => l_other_message
8611: , p_other_token_tbl => l_other_token_tbl
8612: , p_error_level => 4
8613: , p_entity_index => I
8623: );
8624:
8625: l_process_children := FALSE;
8626:
8627: x_return_status := Error_Handler.G_STATUS_FATAL;
8628: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
8629: --x_rev_component_tbl := l_rev_component_tbl;
8630: --x_ref_designator_tbl := l_ref_designator_tbl;
8631: --x_sub_component_tbl := l_sub_component_tbl;
8631: --x_sub_component_tbl := l_sub_component_tbl;
8632:
8633: WHEN EXC_FAT_QUIT_SIBLINGS THEN
8634:
8635: Eco_Error_Handler.Log_Error
8636: ( p_rev_component_tbl => x_rev_component_tbl
8637: , p_ref_designator_tbl => x_ref_designator_tbl
8638: , p_sub_component_tbl => x_sub_component_tbl
8639: , p_mesg_token_tbl => l_mesg_token_tbl
8636: ( p_rev_component_tbl => x_rev_component_tbl
8637: , p_ref_designator_tbl => x_ref_designator_tbl
8638: , p_sub_component_tbl => x_sub_component_tbl
8639: , p_mesg_token_tbl => l_mesg_token_tbl
8640: , p_error_status => Error_Handler.G_STATUS_FATAL
8641: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
8642: , p_other_status => Error_Handler.G_STATUS_FATAL
8643: , p_other_message => l_other_message
8644: , p_other_token_tbl => l_other_token_tbl
8637: , p_ref_designator_tbl => x_ref_designator_tbl
8638: , p_sub_component_tbl => x_sub_component_tbl
8639: , p_mesg_token_tbl => l_mesg_token_tbl
8640: , p_error_status => Error_Handler.G_STATUS_FATAL
8641: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
8642: , p_other_status => Error_Handler.G_STATUS_FATAL
8643: , p_other_message => l_other_message
8644: , p_other_token_tbl => l_other_token_tbl
8645: , p_error_level => 4
8638: , p_sub_component_tbl => x_sub_component_tbl
8639: , p_mesg_token_tbl => l_mesg_token_tbl
8640: , p_error_status => Error_Handler.G_STATUS_FATAL
8641: , p_error_scope => Error_Handler.G_SCOPE_SIBLINGS
8642: , p_other_status => Error_Handler.G_STATUS_FATAL
8643: , p_other_message => l_other_message
8644: , p_other_token_tbl => l_other_token_tbl
8645: , p_error_level => 4
8646: , p_entity_index => I
8656: );
8657:
8658: l_process_children := FALSE;
8659:
8660: x_return_status := Error_Handler.G_STATUS_FATAL;
8661: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
8662: --x_rev_component_tbl := l_rev_component_tbl;
8663: --x_ref_designator_tbl := l_ref_designator_tbl;
8664: --x_sub_component_tbl := l_sub_component_tbl;
8664: --x_sub_component_tbl := l_sub_component_tbl;
8665:
8666: WHEN EXC_FAT_QUIT_OBJECT THEN
8667:
8668: Eco_Error_Handler.Log_Error
8669: ( p_rev_component_tbl => x_rev_component_tbl
8670: , p_ref_designator_tbl => x_ref_designator_tbl
8671: , p_sub_component_tbl => x_sub_component_tbl
8672: , p_mesg_token_tbl => l_mesg_token_tbl
8669: ( p_rev_component_tbl => x_rev_component_tbl
8670: , p_ref_designator_tbl => x_ref_designator_tbl
8671: , p_sub_component_tbl => x_sub_component_tbl
8672: , p_mesg_token_tbl => l_mesg_token_tbl
8673: , p_error_status => Error_Handler.G_STATUS_FATAL
8674: , p_error_scope => Error_Handler.G_SCOPE_ALL
8675: , p_other_status => Error_Handler.G_STATUS_FATAL
8676: , p_other_message => l_other_message
8677: , p_other_token_tbl => l_other_token_tbl
8670: , p_ref_designator_tbl => x_ref_designator_tbl
8671: , p_sub_component_tbl => x_sub_component_tbl
8672: , p_mesg_token_tbl => l_mesg_token_tbl
8673: , p_error_status => Error_Handler.G_STATUS_FATAL
8674: , p_error_scope => Error_Handler.G_SCOPE_ALL
8675: , p_other_status => Error_Handler.G_STATUS_FATAL
8676: , p_other_message => l_other_message
8677: , p_other_token_tbl => l_other_token_tbl
8678: , p_error_level => 4
8671: , p_sub_component_tbl => x_sub_component_tbl
8672: , p_mesg_token_tbl => l_mesg_token_tbl
8673: , p_error_status => Error_Handler.G_STATUS_FATAL
8674: , p_error_scope => Error_Handler.G_SCOPE_ALL
8675: , p_other_status => Error_Handler.G_STATUS_FATAL
8676: , p_other_message => l_other_message
8677: , p_other_token_tbl => l_other_token_tbl
8678: , p_error_level => 4
8679: , p_entity_index => I
8696: l_return_status := 'Q';
8697:
8698: WHEN EXC_UNEXP_SKIP_OBJECT THEN
8699:
8700: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Unexpected error caught in Rev Comps . . . '); END IF;
8701:
8702: Eco_Error_Handler.Log_Error
8703: ( p_rev_component_tbl => x_rev_component_tbl
8704: , p_ref_designator_tbl => x_ref_designator_tbl
8698: WHEN EXC_UNEXP_SKIP_OBJECT THEN
8699:
8700: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Unexpected error caught in Rev Comps . . . '); END IF;
8701:
8702: Eco_Error_Handler.Log_Error
8703: ( p_rev_component_tbl => x_rev_component_tbl
8704: , p_ref_designator_tbl => x_ref_designator_tbl
8705: , p_sub_component_tbl => x_sub_component_tbl
8706: , p_mesg_token_tbl => l_mesg_token_tbl
8703: ( p_rev_component_tbl => x_rev_component_tbl
8704: , p_ref_designator_tbl => x_ref_designator_tbl
8705: , p_sub_component_tbl => x_sub_component_tbl
8706: , p_mesg_token_tbl => l_mesg_token_tbl
8707: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
8708: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
8709: , p_other_message => l_other_message
8710: , p_other_token_tbl => l_other_token_tbl
8711: , p_error_level => 4
8704: , p_ref_designator_tbl => x_ref_designator_tbl
8705: , p_sub_component_tbl => x_sub_component_tbl
8706: , p_mesg_token_tbl => l_mesg_token_tbl
8707: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
8708: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
8709: , p_other_message => l_other_message
8710: , p_other_token_tbl => l_other_token_tbl
8711: , p_error_level => 4
8712: , p_entity_index => I
8727: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
8728:
8729: l_return_status := 'U';
8730:
8731: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Unexpected error in Rev Comps . . .'); END IF;
8732:
8733: END; -- END block
8734:
8735: IF l_return_status in ('Q', 'U')
8735: IF l_return_status in ('Q', 'U')
8736: THEN
8737: x_return_status := l_return_status;
8738:
8739: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Rev Comps returning with status ' || l_return_status ); END IF;
8740:
8741: RETURN;
8742: END IF;
8743:
8746: -- Process Reference Designators that are direct children of this
8747: -- component
8748:
8749: IF Bom_Globals.Get_Debug = 'Y' THEN
8750: Error_Handler.Write_Debug('***********************************************************') ;
8751: Error_Handler.Write_Debug('Now processing direct children for the Rev Comp '
8752: || l_rev_component_rec.component_item_name || '. . .' );
8753: Error_Handler.Write_Debug('Now processing Ref Desig as direct children for the Rev Comp ') ;
8754: END IF;
8747: -- component
8748:
8749: IF Bom_Globals.Get_Debug = 'Y' THEN
8750: Error_Handler.Write_Debug('***********************************************************') ;
8751: Error_Handler.Write_Debug('Now processing direct children for the Rev Comp '
8752: || l_rev_component_rec.component_item_name || '. . .' );
8753: Error_Handler.Write_Debug('Now processing Ref Desig as direct children for the Rev Comp ') ;
8754: END IF;
8755:
8749: IF Bom_Globals.Get_Debug = 'Y' THEN
8750: Error_Handler.Write_Debug('***********************************************************') ;
8751: Error_Handler.Write_Debug('Now processing direct children for the Rev Comp '
8752: || l_rev_component_rec.component_item_name || '. . .' );
8753: Error_Handler.Write_Debug('Now processing Ref Desig as direct children for the Rev Comp ') ;
8754: END IF;
8755:
8756:
8757: Ref_Desgs
8782: -- Process Substitute Components that are direct children of this
8783: -- component
8784:
8785: IF Bom_Globals.Get_Debug = 'Y' THEN
8786: Error_Handler.Write_Debug('***********************************************************') ;
8787: Error_Handler.Write_Debug('Now processing Ref Desig as direct children for the Rev Comp ') ;
8788: END IF ;
8789:
8790: Sub_Comps
8783: -- component
8784:
8785: IF Bom_Globals.Get_Debug = 'Y' THEN
8786: Error_Handler.Write_Debug('***********************************************************') ;
8787: Error_Handler.Write_Debug('Now processing Ref Desig as direct children for the Rev Comp ') ;
8788: END IF ;
8789:
8790: Sub_Comps
8791: ( p_validation_level => p_validation_level
8809: THEN
8810: l_bo_return_status := l_return_status;
8811: END IF;
8812:
8813: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Finished processing children for ' || l_rev_component_rec.component_item_name || ' . . . ' || l_return_status ); END IF;
8814:
8815: END IF; -- Process children
8816: END IF; -- End of processing records for which the return status is null
8817: END LOOP; -- END Revised Components processing loop
8820:
8821: IF NVL(l_bo_return_status, 'S') <> 'S'
8822: THEN
8823: IF Bom_Globals.Get_Debug = 'Y' THEN
8824: Error_Handler.write_Debug('Return status before returning from Rev Comps: ' || l_bo_return_status);
8825: END IF;
8826: x_return_status := l_bo_return_status;
8827:
8828: END IF;
8854: , x_rev_operation_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Operation_Tbl_Type --L1
8855: , x_rev_op_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type --L1
8856: , x_rev_sub_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type--L1
8857: , x_revised_item_unexp_rec OUT NOCOPY ENG_Eco_PUB.Rev_Item_Unexposed_Rec_Type
8858: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
8859: , x_return_status OUT NOCOPY VARCHAR2
8860: , x_disable_revision OUT NOCOPY NUMBER --Bug no:3034642
8861: )
8862: IS
8859: , x_return_status OUT NOCOPY VARCHAR2
8860: , x_disable_revision OUT NOCOPY NUMBER --Bug no:3034642
8861: )
8862: IS
8863: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
8864: l_other_token_tbl Error_Handler.Token_Tbl_Type;
8865: l_other_message VARCHAR2(2000);
8866: l_err_text VARCHAR2(2000);
8867: l_valid BOOLEAN := TRUE;
8860: , x_disable_revision OUT NOCOPY NUMBER --Bug no:3034642
8861: )
8862: IS
8863: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
8864: l_other_token_tbl Error_Handler.Token_Tbl_Type;
8865: l_other_message VARCHAR2(2000);
8866: l_err_text VARCHAR2(2000);
8867: l_valid BOOLEAN := TRUE;
8868: l_eco_parent_exists BOOLEAN := FALSE;
8884: --l_rev_operation_tbl Bom_Rtg_Pub.Rev_Operation_Tbl_Type := p_rev_operation_tbl; --L1
8885: --l_rev_op_resource_tbl Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type :=p_rev_op_resource_tbl; --L1
8886: --l_rev_sub_resource_tbl Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type :=p_rev_sub_resource_tbl; --L1
8887: l_return_value NUMBER;
8888: l_Token_Tbl Error_Handler.Token_Tbl_Type;
8889:
8890: l_process_children BOOLEAN := TRUE;
8891:
8892: EXC_SEV_QUIT_RECORD EXCEPTION;
8948: -- Process Flow Step 2: Check if record has not yet been processed and
8949: -- that it is the child of the parent that called this procedure
8950: --
8951:
8952: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing Revised Item . . . ' || l_revised_item_rec.revised_item_name); END IF;
8953:
8954: IF --(l_revised_item_rec.return_status IS NULL OR
8955: --l_revised_item_rec.return_status = FND_API.G_MISS_CHAR)
8956: --AND
8967:
8968: -- Check if transaction_type is valid
8969: --
8970:
8971: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
8972: ENG_GLOBALS.Transaction_Type_Validity
8973: ( p_transaction_type => l_revised_item_rec.transaction_type
8974: , p_entity => 'Rev_Items'
8975: , p_entity_id => l_revised_item_rec.revised_item_name
8978: );
8979:
8980: IF NOT l_valid
8981: THEN
8982: l_return_status := Error_Handler.G_STATUS_ERROR;
8983: RAISE EXC_SEV_QUIT_RECORD;
8984: END IF;
8985:
8986: -- Process Flow step 4: Convert user unique index to unique index
8985:
8986: -- Process Flow step 4: Convert user unique index to unique index
8987: --
8988:
8989: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index'); END IF;
8990: ENG_Val_To_Id.Revised_Item_UUI_To_UI
8991: ( p_revised_item_rec => l_revised_item_rec
8992: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
8993: , x_rev_item_unexp_rec => l_rev_item_unexp_rec
8994: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8995: , x_Return_Status => l_return_status
8996: );
8997:
8998: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8999:
9000: IF l_return_status = Error_Handler.G_STATUS_ERROR
9001: THEN
9002: l_other_message := 'ENG_RIT_UUI_SEV_ERROR';
8996: );
8997:
8998: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
8999:
9000: IF l_return_status = Error_Handler.G_STATUS_ERROR
9001: THEN
9002: l_other_message := 'ENG_RIT_UUI_SEV_ERROR';
9003: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9004: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9002: l_other_message := 'ENG_RIT_UUI_SEV_ERROR';
9003: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9004: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9005: RAISE EXC_SEV_QUIT_BRANCH;
9006: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9007: THEN
9008: l_other_message := 'ENG_RIT_UUI_UNEXP_SKIP';
9009: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9010: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9019: -- Process Flow step 5: Verify ECO's existence in database, if
9020: -- the revised item is being created on an ECO and the business
9021: -- object does not carry the ECO header
9022:
9023: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check parent existence'); END IF;
9024:
9025: IF l_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
9026: AND
9027: NOT l_eco_parent_exists
9037: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9038: , x_return_status => l_Return_Status
9039: );
9040:
9041: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9042:
9043: IF l_return_status = Error_Handler.G_STATUS_ERROR
9044: THEN
9045: l_other_message := 'ENG_PARENTECO_NOT_EXIST';
9039: );
9040:
9041: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9042:
9043: IF l_return_status = Error_Handler.G_STATUS_ERROR
9044: THEN
9045: l_other_message := 'ENG_PARENTECO_NOT_EXIST';
9046: l_other_token_tbl(1).token_name := 'ECO_NAME';
9047: l_other_token_tbl(1).token_value := l_revised_item_rec.ECO_Name;
9047: l_other_token_tbl(1).token_value := l_revised_item_rec.ECO_Name;
9048: l_other_token_tbl(2).token_name := 'ORGANIZATION_CODE';
9049: l_other_token_tbl(2).token_value := l_revised_item_rec.organization_code;
9050: RAISE EXC_SEV_QUIT_OBJECT;
9051: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9052: THEN
9053: l_other_message := 'ENG_RIT_LIN_UNEXP_SKIP';
9054: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9055: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9069: l_chk_co_sch := ret_co_status ( l_revised_item_rec.eco_name, l_rev_item_unexp_rec.organization_id);
9070: END IF;
9071:
9072: IF l_chk_co_sch = 4 THEN
9073: l_return_status := error_handler.g_status_error;
9074: error_handler.add_error_token (p_message_name => 'ENG_REV_ITM_NOT_UPD',
9075: p_mesg_token_tbl => l_mesg_token_tbl,
9076: x_mesg_token_tbl => l_mesg_token_tbl,
9077: p_token_tbl => l_token_tbl
9070: END IF;
9071:
9072: IF l_chk_co_sch = 4 THEN
9073: l_return_status := error_handler.g_status_error;
9074: error_handler.add_error_token (p_message_name => 'ENG_REV_ITM_NOT_UPD',
9075: p_mesg_token_tbl => l_mesg_token_tbl,
9076: x_mesg_token_tbl => l_mesg_token_tbl,
9077: p_token_tbl => l_token_tbl
9078: );
9094: END IF;
9095: -- Process Flow step 5: Verify Revised Item's existence
9096: --
9097:
9098: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check existence'); END IF;
9099: ENG_Validate_Revised_Item.Check_Existence
9100: ( p_revised_item_rec => l_revised_item_rec
9101: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
9102: , x_old_revised_item_rec => l_old_revised_item_rec
9105: , x_return_status => l_Return_Status
9106: , x_disable_revision => x_disable_revision --BUG 3034642
9107: );
9108:
9109: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9110:
9111: IF l_return_status = Error_Handler.G_STATUS_ERROR
9112: THEN
9113: l_other_message := 'ENG_RIT_EXS_SEV_ERROR';
9107: );
9108:
9109: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9110:
9111: IF l_return_status = Error_Handler.G_STATUS_ERROR
9112: THEN
9113: l_other_message := 'ENG_RIT_EXS_SEV_ERROR';
9114: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9115: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9115: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9116: l_other_token_tbl(2).token_name := 'ECO_NAME';
9117: l_other_token_tbl(2).token_value := l_revised_item_rec.eco_name;
9118: RAISE EXC_SEV_QUIT_BRANCH;
9119: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9120: THEN
9121: l_other_message := 'ENG_RIT_EXS_UNEXP_SKIP';
9122: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9123: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9142: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9143: , x_Return_Status => l_return_status
9144: );
9145:
9146: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9147:
9148: IF l_return_status = Error_Handler.G_STATUS_ERROR
9149: THEN
9150: l_other_message := 'ENG_RIT_ECOACC_FAT_FATAL';
9144: );
9145:
9146: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9147:
9148: IF l_return_status = Error_Handler.G_STATUS_ERROR
9149: THEN
9150: l_other_message := 'ENG_RIT_ECOACC_FAT_FATAL';
9151: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9152: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9151: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9152: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9153: l_return_status := 'F';
9154: RAISE EXC_FAT_QUIT_OBJECT;
9155: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9156: THEN
9157: l_other_message := 'ENG_RIT_ECOACC_UNEXP_SKIP';
9158: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9159: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9162:
9163: -- Process Flow step 7(b): check that user has access to revised item
9164: --
9165:
9166: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
9167: ENG_Validate_Revised_Item.Check_Access
9168: ( p_change_notice => l_revised_item_rec.ECO_Name
9169: , p_organization_id => l_rev_item_unexp_rec.organization_id
9170: , p_revised_item_id => l_rev_item_unexp_rec.revised_item_id
9177: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9178: , x_return_status => l_Return_Status
9179: );
9180:
9181: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9182:
9183: IF l_return_status = Error_Handler.G_STATUS_ERROR
9184: THEN
9185: l_other_message := 'ENG_RIT_ACCESS_FAT_FATAL';
9179: );
9180:
9181: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9182:
9183: IF l_return_status = Error_Handler.G_STATUS_ERROR
9184: THEN
9185: l_other_message := 'ENG_RIT_ACCESS_FAT_FATAL';
9186: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9187: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9186: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9187: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9188: l_return_status := 'F';
9189: RAISE EXC_FAT_QUIT_BRANCH;
9190: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9191: THEN
9192: l_other_message := 'ENG_RIT_ACCESS_UNEXP_SKIP';
9193: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9194: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9203: -- (for future release, flow routing is not supported in current release
9204: -- Added by MK on 08/24/2000
9205: --
9206: /* Comment out for current release
9207: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check Non-Flow Routing'); END IF;
9208:
9209: Bom_Validate_Rtg_Header.Check_flow_routing_operability ;
9210: ( p_assembly_item_name => l_revised_item_rec.revised_item_name
9211: , p_cfm_routing_flag => l_rev_item_unexp_rec.cfm_routing_flag
9214: , x_mesg_token_tbl => l_mesg_token_tbl
9215: , x_return_status => l_return_status
9216: );
9217:
9218: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9219:
9220:
9221: IF l_return_status = Error_Handler.G_STATUS_ERROR
9222: THEN
9217:
9218: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9219:
9220:
9221: IF l_return_status = Error_Handler.G_STATUS_ERROR
9222: THEN
9223: l_other_message := 'BOM_RTG_FRACC_ERROR';
9224: l_other_token_tbl(1).token_name := 'ASSEMBLY_ITEM_NAME';
9225: l_other_token_tbl(1).token_value :=
9224: l_other_token_tbl(1).token_name := 'ASSEMBLY_ITEM_NAME';
9225: l_other_token_tbl(1).token_value :=
9226: l_revised_item_rec.revised_item_name;
9227: RAISE EXC_SEV_QUIT_BRANCH;
9228: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9229: THEN
9230: l_other_message := 'BOM_RTG_FRACC_UNEXP_SKIP';
9231: l_other_token_tbl(1).token_name := 'ASSEMBLY_ITEM_NAME';
9232: l_other_token_tbl(1).token_value :=
9239:
9240: -- Process Flow step 9: Value to Id conversions
9241: --
9242:
9243: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Value-id conversions'); END IF;
9244: ENG_Val_To_Id.Revised_Item_VID
9245: ( x_Return_Status => l_return_status
9246: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9247: , p_rev_item_unexp_Rec => l_rev_item_unexp_rec
9248: , x_rev_item_unexp_Rec => l_rev_item_unexp_rec
9249: , p_revised_item_Rec => l_revised_item_rec
9250: );
9251:
9252: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9253:
9254: IF l_return_status = Error_Handler.G_STATUS_ERROR
9255: THEN
9256: IF l_revised_item_rec.transaction_type = 'CREATE'
9250: );
9251:
9252: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9253:
9254: IF l_return_status = Error_Handler.G_STATUS_ERROR
9255: THEN
9256: IF l_revised_item_rec.transaction_type = 'CREATE'
9257: THEN
9258: l_other_message := 'ENG_RIT_VID_CSEV_SKIP';
9261: RAISE EXC_SEV_SKIP_BRANCH;
9262: ELSE
9263: RAISE EXC_SEV_QUIT_RECORD;
9264: END IF;
9265: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9266: THEN
9267: RAISE EXC_UNEXP_SKIP_OBJECT;
9268: ELSIF l_return_status ='S' AND
9269: l_Mesg_Token_Tbl.COUNT <>0
9267: RAISE EXC_UNEXP_SKIP_OBJECT;
9268: ELSIF l_return_status ='S' AND
9269: l_Mesg_Token_Tbl.COUNT <>0
9270: THEN
9271: Eco_Error_Handler.Log_Error
9272: ( p_revised_item_tbl => x_revised_item_tbl
9273: , p_rev_component_tbl => x_rev_component_tbl
9274: , p_ref_designator_tbl => x_ref_designator_tbl
9275: , p_sub_component_tbl => x_sub_component_tbl
9295: -- Process Flow step 10: Attribute Validation for CREATE and UPDATE
9296: --
9297:
9298:
9299: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
9300: IF l_revised_item_rec.Transaction_Type IN
9301: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
9302: THEN
9303: ENG_Validate_Revised_Item.Check_Attributes
9308: , p_old_revised_item_rec => l_old_revised_item_rec
9309: , p_old_rev_item_unexp_rec => l_old_rev_item_unexp_rec
9310: );
9311:
9312: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9313:
9314: IF l_return_status = Error_Handler.G_STATUS_ERROR
9315: THEN
9316: IF l_revised_item_rec.transaction_type = 'CREATE'
9310: );
9311:
9312: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9313:
9314: IF l_return_status = Error_Handler.G_STATUS_ERROR
9315: THEN
9316: IF l_revised_item_rec.transaction_type = 'CREATE'
9317: THEN
9318: l_other_message := 'ENG_RIT_ATTVAL_CSEV_SKIP';
9321: RAISE EXC_SEV_SKIP_BRANCH;
9322: ELSE
9323: RAISE EXC_SEV_QUIT_RECORD;
9324: END IF;
9325: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9326: THEN
9327: l_other_message := 'ENG_RIT_ATTVAL_UNEXP_SKIP';
9328: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9329: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9330: RAISE EXC_UNEXP_SKIP_OBJECT;
9331: ELSIF l_return_status ='S' AND
9332: l_Mesg_Token_Tbl.COUNT <>0
9333: THEN
9334: Eco_Error_Handler.Log_Error
9335: ( p_revised_item_tbl => x_revised_item_tbl
9336: , p_rev_component_tbl => x_rev_component_tbl
9337: , p_ref_designator_tbl => x_ref_designator_tbl
9338: , p_sub_component_tbl => x_sub_component_tbl
9362:
9363: -- Process flow step 11 - Populate NULL columns for Update and
9364: -- Delete.
9365:
9366: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populating NULL Columns'); END IF;
9367: Eng_Default_Revised_Item.Populate_NULL_Columns
9368: ( p_revised_item_rec => l_revised_item_rec
9369: , p_old_revised_item_rec => l_old_revised_item_rec
9370: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
9377:
9378: -- Process Flow step 12: Default missing values for Operation CREATE
9379: --
9380:
9381: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting'); END IF;
9382: Eng_Default_Revised_Item.Attribute_Defaulting
9383: ( p_revised_item_rec => l_revised_item_rec
9384: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
9385: , x_revised_item_rec => l_revised_item_rec
9387: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9388: , x_return_status => l_return_status
9389: );
9390:
9391: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9392:
9393: IF l_return_status = Error_Handler.G_STATUS_ERROR
9394: THEN
9395: l_other_message := 'ENG_RIT_ATTDEF_SEV_SKIP';
9389: );
9390:
9391: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9392:
9393: IF l_return_status = Error_Handler.G_STATUS_ERROR
9394: THEN
9395: l_other_message := 'ENG_RIT_ATTDEF_SEV_SKIP';
9396: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9397: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9395: l_other_message := 'ENG_RIT_ATTDEF_SEV_SKIP';
9396: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9397: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9398: RAISE EXC_SEV_SKIP_BRANCH;
9399: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9400: THEN
9401: l_other_message := 'ENG_RIT_ATTDEF_UNEXP_SKIP';
9402: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9403: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9404: RAISE EXC_UNEXP_SKIP_OBJECT;
9405: ELSIF l_return_status ='S' AND
9406: l_Mesg_Token_Tbl.COUNT <>0
9407: THEN
9408: Eco_Error_Handler.Log_Error
9409: ( p_revised_item_tbl => x_revised_item_tbl
9410: , p_rev_component_tbl => x_rev_component_tbl
9411: , p_ref_designator_tbl => x_ref_designator_tbl
9412: , p_sub_component_tbl => x_sub_component_tbl
9432:
9433: -- Process Flow step 13 - Conditionally required attributes check
9434: --
9435:
9436: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Conditionally required attributes check'); END IF;
9437:
9438: --
9439: -- Put conditionally required check procedure here
9440: --
9438: --
9439: -- Put conditionally required check procedure here
9440: --
9441:
9442: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9443:
9444: ENG_Validate_Revised_Item.Check_Required
9445: ( x_return_status => l_return_status
9446: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9446: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9447: , p_revised_item_rec => l_revised_item_rec
9448: );
9449:
9450: IF l_return_status = Error_Handler.G_STATUS_ERROR
9451: THEN
9452: IF l_revised_item_rec.transaction_type = 'CREATE'
9453: THEN
9454: l_other_message := 'ENG_RIT_CONREQ_CSEV_SKIP';
9457: RAISE EXC_SEV_SKIP_BRANCH;
9458: ELSE
9459: RAISE EXC_SEV_QUIT_RECORD;
9460: END IF;
9461: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9462: THEN
9463: l_other_message := 'ENG_RIT_CONREQ_UNEXP_SKIP';
9464: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9465: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9466: RAISE EXC_UNEXP_SKIP_OBJECT;
9467: ELSIF l_return_status ='S' AND
9468: l_Mesg_Token_Tbl.COUNT <>0
9469: THEN
9470: Eco_Error_Handler.Log_Error
9471: ( p_revised_item_tbl => x_revised_item_tbl
9472: , p_rev_component_tbl => x_rev_component_tbl
9473: , p_ref_designator_tbl => x_ref_designator_tbl
9474: , p_sub_component_tbl => x_sub_component_tbl
9493:
9494: -- Process Flow step 14: Entity defaulting for CREATE and UPDATE
9495: --
9496:
9497: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting'); END IF;
9498: IF l_revised_item_rec.Transaction_Type IN
9499: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
9500: THEN
9501: ENG_Default_Revised_Item.Entity_Defaulting
9508: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9509: , x_return_status => l_return_status
9510: );
9511:
9512: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9513:
9514: IF l_return_status = Error_Handler.G_STATUS_ERROR
9515: THEN
9516: IF l_revised_item_rec.transaction_type = 'CREATE'
9510: );
9511:
9512: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9513:
9514: IF l_return_status = Error_Handler.G_STATUS_ERROR
9515: THEN
9516: IF l_revised_item_rec.transaction_type = 'CREATE'
9517: THEN
9518: l_other_message := 'ENG_RIT_ENTDEF_CSEV_SKIP';
9521: RAISE EXC_SEV_SKIP_BRANCH;
9522: ELSE
9523: RAISE EXC_SEV_QUIT_RECORD;
9524: END IF;
9525: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9526: THEN
9527: l_other_message := 'ENG_RIT_ENTDEF_UNEXP_SKIP';
9528: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9529: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9530: RAISE EXC_UNEXP_SKIP_OBJECT;
9531: ELSIF l_return_status ='S' AND
9532: l_Mesg_Token_Tbl.COUNT <>0
9533: THEN
9534: Eco_Error_Handler.Log_Error
9535: ( p_revised_item_tbl => x_revised_item_tbl
9536: , p_rev_component_tbl => x_rev_component_tbl
9537: , p_ref_designator_tbl => x_ref_designator_tbl
9538: , p_sub_component_tbl => x_sub_component_tbl
9558:
9559: -- Process Flow step 15 - Entity Level Validation
9560: --
9561:
9562: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation'); END IF;
9563:
9564: IF l_revised_item_rec.transaction_type = 'DELETE'
9565: THEN
9566: Eng_Validate_Revised_Item.Check_Entity_Delete
9579: , x_return_status => l_Return_Status
9580: );
9581: END IF;
9582:
9583: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9584:
9585: IF l_return_status = Error_Handler.G_STATUS_ERROR
9586: THEN
9587: IF l_revised_item_rec.transaction_type = 'CREATE'
9581: END IF;
9582:
9583: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9584:
9585: IF l_return_status = Error_Handler.G_STATUS_ERROR
9586: THEN
9587: IF l_revised_item_rec.transaction_type = 'CREATE'
9588: THEN
9589: l_other_message := 'ENG_RIT_ENTVAL_CSEV_SKIP';
9592: RAISE EXC_SEV_SKIP_BRANCH;
9593: ELSE
9594: RAISE EXC_SEV_QUIT_RECORD;
9595: END IF;
9596: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9597: THEN
9598: l_other_message := 'ENG_RIT_ENTVAL_UNEXP_SKIP';
9599: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9600: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9601: RAISE EXC_UNEXP_SKIP_OBJECT;
9602: ELSIF l_return_status ='S' AND
9603: l_Mesg_Token_Tbl.COUNT <>0
9604: THEN
9605: Eco_Error_Handler.Log_Error
9606: ( p_revised_item_tbl => x_revised_item_tbl
9607: , p_rev_component_tbl => x_rev_component_tbl
9608: , p_ref_designator_tbl => x_ref_designator_tbl
9609: , p_sub_component_tbl => x_sub_component_tbl
9628:
9629: -- Process Flow step 16 : Database Writes
9630: --
9631:
9632: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Writing to the database'); END IF;
9633: ENG_Revised_Item_Util.Perform_Writes
9634: ( p_revised_item_rec => l_revised_item_rec
9635: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
9636: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9636: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9637: , x_return_status => l_return_status
9638: );
9639:
9640: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9641:
9642: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9643: THEN
9644: l_other_message := 'ENG_RIT_WRITES_UNEXP_SKIP';
9638: );
9639:
9640: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
9641:
9642: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
9643: THEN
9644: l_other_message := 'ENG_RIT_WRITES_UNEXP_SKIP';
9645: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
9646: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
9647: RAISE EXC_UNEXP_SKIP_OBJECT;
9648: ELSIF l_return_status ='S' AND
9649: l_Mesg_Token_Tbl.COUNT <>0
9650: THEN
9651: Eco_Error_Handler.Log_Error
9652: ( p_revised_item_tbl => x_revised_item_tbl
9653: , p_rev_component_tbl => x_rev_component_tbl
9654: , p_ref_designator_tbl => x_ref_designator_tbl
9655: , p_sub_component_tbl => x_sub_component_tbl
9672: );
9673: END IF;
9674:
9675: IF Bom_Globals.Get_Debug = 'Y' THEN
9676: Error_Handler.Write_Debug('Writing to the database for Rev Item is completed with '||l_return_status );
9677: END IF;
9678:
9679: END IF; -- END IF statement that checks RETURN STATUS
9680:
9700: EXCEPTION
9701:
9702: WHEN EXC_SEV_QUIT_RECORD THEN
9703:
9704: Eco_Error_Handler.Log_Error
9705: ( p_revised_item_tbl => x_revised_item_tbl
9706: , p_rev_component_tbl => x_rev_component_tbl
9707: , p_ref_designator_tbl => x_ref_designator_tbl
9708: , p_sub_component_tbl => x_sub_component_tbl
9710: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9711: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
9712: , p_mesg_token_tbl => l_mesg_token_tbl
9713: , p_error_status => FND_API.G_RET_STS_ERROR
9714: , p_error_scope => Error_Handler.G_SCOPE_RECORD
9715: , p_error_level => 3
9716: , p_entity_index => I
9717: , x_eco_rec => l_eco_rec
9718: , x_eco_revision_tbl => l_eco_revision_tbl
9749: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9750:
9751: WHEN EXC_SEV_QUIT_BRANCH THEN
9752:
9753: Eco_Error_Handler.Log_Error
9754: ( p_revised_item_tbl => x_revised_item_tbl
9755: , p_rev_component_tbl => x_rev_component_tbl
9756: , p_ref_designator_tbl => x_ref_designator_tbl
9757: , p_sub_component_tbl => x_sub_component_tbl
9758: , p_rev_operation_tbl => x_rev_operation_tbl --L1
9759: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9760: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9761: , p_mesg_token_tbl => l_mesg_token_tbl
9762: , p_error_status => Error_Handler.G_STATUS_ERROR
9763: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
9764: , p_other_status => Error_Handler.G_STATUS_ERROR
9765: , p_other_message => l_other_message
9766: , p_other_token_tbl => l_other_token_tbl
9759: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9760: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9761: , p_mesg_token_tbl => l_mesg_token_tbl
9762: , p_error_status => Error_Handler.G_STATUS_ERROR
9763: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
9764: , p_other_status => Error_Handler.G_STATUS_ERROR
9765: , p_other_message => l_other_message
9766: , p_other_token_tbl => l_other_token_tbl
9767: , p_error_level => 3
9760: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9761: , p_mesg_token_tbl => l_mesg_token_tbl
9762: , p_error_status => Error_Handler.G_STATUS_ERROR
9763: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
9764: , p_other_status => Error_Handler.G_STATUS_ERROR
9765: , p_other_message => l_other_message
9766: , p_other_token_tbl => l_other_token_tbl
9767: , p_error_level => 3
9768: , p_entity_index => I
9801: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9802:
9803: WHEN EXC_SEV_SKIP_BRANCH THEN
9804:
9805: Eco_Error_Handler.Log_Error
9806: ( p_revised_item_tbl => x_revised_item_tbl
9807: , p_rev_component_tbl => x_rev_component_tbl
9808: , p_ref_designator_tbl => x_ref_designator_tbl
9809: , p_sub_component_tbl => x_sub_component_tbl
9810: , p_rev_operation_tbl => x_rev_operation_tbl --L1
9811: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9812: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9813: , p_mesg_token_tbl => l_mesg_token_tbl
9814: , p_error_status => Error_Handler.G_STATUS_ERROR
9815: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
9816: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
9817: , p_other_message => l_other_message
9818: , p_other_token_tbl => l_other_token_tbl
9811: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9812: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9813: , p_mesg_token_tbl => l_mesg_token_tbl
9814: , p_error_status => Error_Handler.G_STATUS_ERROR
9815: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
9816: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
9817: , p_other_message => l_other_message
9818: , p_other_token_tbl => l_other_token_tbl
9819: , p_error_level => 3
9812: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9813: , p_mesg_token_tbl => l_mesg_token_tbl
9814: , p_error_status => Error_Handler.G_STATUS_ERROR
9815: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
9816: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
9817: , p_other_message => l_other_message
9818: , p_other_token_tbl => l_other_token_tbl
9819: , p_error_level => 3
9820: , p_entity_index => I
9853: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9854:
9855: WHEN EXC_SEV_QUIT_OBJECT THEN
9856:
9857: Eco_Error_Handler.Log_Error
9858: ( p_revised_item_tbl => x_revised_item_tbl
9859: , p_rev_component_tbl => x_rev_component_tbl
9860: , p_ref_designator_tbl => x_ref_designator_tbl
9861: , p_sub_component_tbl => x_sub_component_tbl
9861: , p_sub_component_tbl => x_sub_component_tbl
9862: , p_rev_operation_tbl => x_rev_operation_tbl --L1
9863: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9864: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
9865: , p_error_status => Error_Handler.G_STATUS_ERROR
9866: , p_error_scope => Error_Handler.G_SCOPE_ALL
9867: , p_error_level => Error_Handler.G_BO_LEVEL
9868: , p_other_message => l_other_message
9869: , p_other_status => Error_Handler.G_STATUS_ERROR
9862: , p_rev_operation_tbl => x_rev_operation_tbl --L1
9863: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9864: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
9865: , p_error_status => Error_Handler.G_STATUS_ERROR
9866: , p_error_scope => Error_Handler.G_SCOPE_ALL
9867: , p_error_level => Error_Handler.G_BO_LEVEL
9868: , p_other_message => l_other_message
9869: , p_other_status => Error_Handler.G_STATUS_ERROR
9870: , p_other_token_tbl => l_other_token_tbl
9863: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9864: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
9865: , p_error_status => Error_Handler.G_STATUS_ERROR
9866: , p_error_scope => Error_Handler.G_SCOPE_ALL
9867: , p_error_level => Error_Handler.G_BO_LEVEL
9868: , p_other_message => l_other_message
9869: , p_other_status => Error_Handler.G_STATUS_ERROR
9870: , p_other_token_tbl => l_other_token_tbl
9871: , x_eco_rec => l_eco_rec
9865: , p_error_status => Error_Handler.G_STATUS_ERROR
9866: , p_error_scope => Error_Handler.G_SCOPE_ALL
9867: , p_error_level => Error_Handler.G_BO_LEVEL
9868: , p_other_message => l_other_message
9869: , p_other_status => Error_Handler.G_STATUS_ERROR
9870: , p_other_token_tbl => l_other_token_tbl
9871: , x_eco_rec => l_eco_rec
9872: , x_eco_revision_tbl => l_eco_revision_tbl
9873: , x_revised_item_tbl => x_revised_item_tbl
9901: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9902:
9903: WHEN EXC_FAT_QUIT_BRANCH THEN
9904:
9905: Eco_Error_Handler.Log_Error
9906: ( p_revised_item_tbl => x_revised_item_tbl
9907: , p_rev_component_tbl => x_rev_component_tbl
9908: , p_ref_designator_tbl => x_ref_designator_tbl
9909: , p_sub_component_tbl => x_sub_component_tbl
9910: , p_rev_operation_tbl => x_rev_operation_tbl --L1
9911: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9912: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9913: , p_mesg_token_tbl => l_mesg_token_tbl
9914: , p_error_status => Error_Handler.G_STATUS_FATAL
9915: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
9916: , p_other_status => Error_Handler.G_STATUS_FATAL
9917: , p_other_message => l_other_message
9918: , p_other_token_tbl => l_other_token_tbl
9911: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9912: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9913: , p_mesg_token_tbl => l_mesg_token_tbl
9914: , p_error_status => Error_Handler.G_STATUS_FATAL
9915: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
9916: , p_other_status => Error_Handler.G_STATUS_FATAL
9917: , p_other_message => l_other_message
9918: , p_other_token_tbl => l_other_token_tbl
9919: , p_error_level => 3
9912: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9913: , p_mesg_token_tbl => l_mesg_token_tbl
9914: , p_error_status => Error_Handler.G_STATUS_FATAL
9915: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
9916: , p_other_status => Error_Handler.G_STATUS_FATAL
9917: , p_other_message => l_other_message
9918: , p_other_token_tbl => l_other_token_tbl
9919: , p_error_level => 3
9920: , p_entity_index => I
9930: );
9931:
9932: l_process_children := FALSE;
9933:
9934: x_return_status := Error_Handler.G_STATUS_FATAL;
9935: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
9936: --x_revised_item_tbl := l_revised_item_tbl;
9937: --x_rev_component_tbl := l_rev_component_tbl;
9938: --x_ref_designator_tbl := l_ref_designator_tbl;
9949: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9950:
9951: WHEN EXC_FAT_QUIT_OBJECT THEN
9952:
9953: Eco_Error_Handler.Log_Error
9954: ( p_revised_item_tbl => x_revised_item_tbl
9955: , p_rev_component_tbl => x_rev_component_tbl
9956: , p_ref_designator_tbl => x_ref_designator_tbl
9957: , p_sub_component_tbl => x_sub_component_tbl
9958: , p_rev_operation_tbl => x_rev_operation_tbl --L1
9959: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9960: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9961: , p_mesg_token_tbl => l_mesg_token_tbl
9962: , p_error_status => Error_Handler.G_STATUS_FATAL
9963: , p_error_scope => Error_Handler.G_SCOPE_ALL
9964: , p_other_status => Error_Handler.G_STATUS_FATAL
9965: , p_other_message => l_other_message
9966: , p_other_token_tbl => l_other_token_tbl
9959: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
9960: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9961: , p_mesg_token_tbl => l_mesg_token_tbl
9962: , p_error_status => Error_Handler.G_STATUS_FATAL
9963: , p_error_scope => Error_Handler.G_SCOPE_ALL
9964: , p_other_status => Error_Handler.G_STATUS_FATAL
9965: , p_other_message => l_other_message
9966: , p_other_token_tbl => l_other_token_tbl
9967: , p_error_level => 3
9960: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
9961: , p_mesg_token_tbl => l_mesg_token_tbl
9962: , p_error_status => Error_Handler.G_STATUS_FATAL
9963: , p_error_scope => Error_Handler.G_SCOPE_ALL
9964: , p_other_status => Error_Handler.G_STATUS_FATAL
9965: , p_other_message => l_other_message
9966: , p_other_token_tbl => l_other_token_tbl
9967: , p_error_level => 3
9968: , p_entity_index => I
9996: l_return_status := 'Q';
9997:
9998: WHEN EXC_UNEXP_SKIP_OBJECT THEN
9999:
10000: Eco_Error_Handler.Log_Error
10001: ( p_revised_item_tbl => x_revised_item_tbl
10002: , p_rev_component_tbl => x_rev_component_tbl
10003: , p_ref_designator_tbl => x_ref_designator_tbl
10004: , p_sub_component_tbl => x_sub_component_tbl
10005: , p_rev_operation_tbl => x_rev_operation_tbl --L1
10006: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
10007: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
10008: , p_mesg_token_tbl => l_mesg_token_tbl
10009: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
10010: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
10011: , p_other_message => l_other_message
10012: , p_other_token_tbl => l_other_token_tbl
10013: , p_error_level => 3
10006: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
10007: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
10008: , p_mesg_token_tbl => l_mesg_token_tbl
10009: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
10010: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
10011: , p_other_message => l_other_message
10012: , p_other_token_tbl => l_other_token_tbl
10013: , p_error_level => 3
10014: , x_ECO_rec => l_ECO_rec
10059: --
10060: -- Modified by MK on 11/30/00 Moved eco for routing procedure before BOMs.
10061: --
10062:
10063: -- IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing Rev Op children of Revised item . . . ' || l_revised_item_rec.revised_item_name); END IF;
10064:
10065: Rev_Operation_Sequences
10066: ( p_validation_level => p_validation_level
10067: , p_change_notice => l_revised_item_rec.ECO_Name
10091: -- Process resource that are orphans
10092: -- (without immediate revised component parents) but are
10093: -- indirect children of this item
10094:
10095: -- IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing Rev Op Res children of Revised item . . . ' || l_revised_item_rec.revised_item_name); END IF;
10096:
10097:
10098: Rev_Operation_Resources
10099: ( p_validation_level => p_validation_level
10119: -- Process substitute resources that are orphans
10120: -- (without immediate revised component parents) but are
10121: -- indirect children of this item
10122:
10123: -- IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing Rev Sub Op Res children of Revised item . . . ' || l_revised_item_rec.revised_item_name); END IF;
10124:
10125:
10126: Rev_Sub_Operation_Resources
10127: ( p_validation_level => p_validation_level
10147:
10148: -- Process Revised Components that are direct children of this item
10149:
10150: IF Bom_Globals.Get_Debug = 'Y' THEN
10151: Error_Handler.Write_Debug('***********************************************************') ;
10152: Error_Handler.Write_Debug('Now processing direct children for the Rev Item '
10153: || l_revised_item_rec.revised_item_name || '. . .' );
10154: Error_Handler.Write_Debug('Processing Rev Comp as children of Revised item ' || l_revised_item_rec.revised_item_name);
10155: END IF;
10148: -- Process Revised Components that are direct children of this item
10149:
10150: IF Bom_Globals.Get_Debug = 'Y' THEN
10151: Error_Handler.Write_Debug('***********************************************************') ;
10152: Error_Handler.Write_Debug('Now processing direct children for the Rev Item '
10153: || l_revised_item_rec.revised_item_name || '. . .' );
10154: Error_Handler.Write_Debug('Processing Rev Comp as children of Revised item ' || l_revised_item_rec.revised_item_name);
10155: END IF;
10156:
10150: IF Bom_Globals.Get_Debug = 'Y' THEN
10151: Error_Handler.Write_Debug('***********************************************************') ;
10152: Error_Handler.Write_Debug('Now processing direct children for the Rev Item '
10153: || l_revised_item_rec.revised_item_name || '. . .' );
10154: Error_Handler.Write_Debug('Processing Rev Comp as children of Revised item ' || l_revised_item_rec.revised_item_name);
10155: END IF;
10156:
10157: Rev_Comps
10158: ( p_validation_level => p_validation_level
10174: , x_return_status => l_return_status
10175: , x_bill_sequence_id => l_rev_item_unexp_rec.bill_sequence_id
10176: );
10177:
10178: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Rev_Comps return status ' || l_return_status); END IF;
10179:
10180: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
10181: THEN
10182:
10180: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
10181: THEN
10182:
10183: IF Bom_Globals.Get_Debug = 'Y' THEN
10184: Error_Handler.Write_Debug('Rev_Comps returned in Rev_Items . . .BO Status: ' || l_return_status);
10185: END IF;
10186:
10187: l_bo_return_status := l_return_status;
10188: END IF;
10191: -- (without immediate revised component parents) but are
10192: -- indirect children of this item
10193:
10194: IF Bom_Globals.Get_Debug = 'Y' THEN
10195: Error_Handler.Write_Debug('***********************************************************') ;
10196: Error_Handler.Write_Debug('Processing Ref Desgs as children of Revised item ' || l_revised_item_rec.revised_item_name);
10197: END IF;
10198:
10199:
10192: -- indirect children of this item
10193:
10194: IF Bom_Globals.Get_Debug = 'Y' THEN
10195: Error_Handler.Write_Debug('***********************************************************') ;
10196: Error_Handler.Write_Debug('Processing Ref Desgs as children of Revised item ' || l_revised_item_rec.revised_item_name);
10197: END IF;
10198:
10199:
10200: Ref_Desgs
10224: l_bo_return_status := l_return_status;
10225: END IF;
10226:
10227: IF Bom_Globals.Get_Debug = 'Y' THEN
10228: Error_Handler.Write_Debug('***********************************************************') ;
10229: Error_Handler.Write_Debug('Processing Sub Comps children of Revised item ' || l_revised_item_rec.revised_item_name);
10230: END IF;
10231:
10232: Sub_Comps
10225: END IF;
10226:
10227: IF Bom_Globals.Get_Debug = 'Y' THEN
10228: Error_Handler.Write_Debug('***********************************************************') ;
10229: Error_Handler.Write_Debug('Processing Sub Comps children of Revised item ' || l_revised_item_rec.revised_item_name);
10230: END IF;
10231:
10232: Sub_Comps
10233: ( p_validation_level => p_validation_level
10277: , x_sub_component_tbl IN OUT NOCOPY BOM_BO_PUB.Sub_Component_Tbl_Type
10278: , x_rev_operation_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Operation_Tbl_Type --L1
10279: , x_rev_op_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type --L1
10280: , x_rev_sub_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type--L1
10281: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
10282: , x_return_status OUT NOCOPY VARCHAR2
10283: , x_disable_revision OUT NOCOPY NUMBER --Bug no:3034642
10284: )
10285: IS
10282: , x_return_status OUT NOCOPY VARCHAR2
10283: , x_disable_revision OUT NOCOPY NUMBER --Bug no:3034642
10284: )
10285: IS
10286: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
10287: l_other_token_tbl Error_Handler.Token_Tbl_Type;
10288: l_other_message VARCHAR2(2000);
10289: l_err_text VARCHAR2(2000);
10290: l_valid BOOLEAN := TRUE;
10283: , x_disable_revision OUT NOCOPY NUMBER --Bug no:3034642
10284: )
10285: IS
10286: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
10287: l_other_token_tbl Error_Handler.Token_Tbl_Type;
10288: l_other_message VARCHAR2(2000);
10289: l_err_text VARCHAR2(2000);
10290: l_valid BOOLEAN := TRUE;
10291: l_eco_parent_exists BOOLEAN := FALSE;
10307: --l_rev_operation_tbl Bom_Rtg_Pub.Rev_Operation_Tbl_Type := p_rev_operation_tbl; --L1
10308: --l_rev_op_resource_tbl Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type :=p_rev_op_resource_tbl; --L1
10309: --l_rev_sub_resource_tbl Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type :=p_rev_sub_resource_tbl; --L1
10310: l_return_value NUMBER;
10311: l_Token_Tbl Error_Handler.Token_Tbl_Type;
10312:
10313: l_process_children BOOLEAN := TRUE;
10314:
10315: EXC_SEV_QUIT_RECORD EXCEPTION;
10383: -- Process Flow Step 2: Check if record has not yet been processed and
10384: -- that it is the child of the parent that called this procedure
10385: --
10386:
10387: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing Revised Item . . . ' || l_revised_item_rec.revised_item_name); END IF;
10388:
10389: IF --(l_revised_item_rec.return_status IS NULL OR
10390: --l_revised_item_rec.return_status = FND_API.G_MISS_CHAR)
10391: --AND
10402:
10403: -- Check if transaction_type is valid
10404: --
10405:
10406: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
10407: ENG_GLOBALS.Transaction_Type_Validity
10408: ( p_transaction_type => l_revised_item_rec.transaction_type
10409: , p_entity => 'Rev_Items'
10410: , p_entity_id => l_revised_item_rec.revised_item_name
10413: );
10414:
10415: IF NOT l_valid
10416: THEN
10417: l_return_status := Error_Handler.G_STATUS_ERROR;
10418: RAISE EXC_SEV_QUIT_RECORD;
10419: END IF;
10420:
10421: -- Process Flow step 4: Convert user unique index to unique index
10420:
10421: -- Process Flow step 4: Convert user unique index to unique index
10422: --
10423:
10424: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index'); END IF;
10425: ENG_Val_To_Id.Revised_Item_UUI_To_UI
10426: ( p_revised_item_rec => l_revised_item_rec
10427: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
10428: , x_rev_item_unexp_rec => l_rev_item_unexp_rec
10429: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10430: , x_Return_Status => l_return_status
10431: );
10432:
10433: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10434:
10435: IF l_return_status = Error_Handler.G_STATUS_ERROR
10436: THEN
10437: l_other_message := 'ENG_RIT_UUI_SEV_ERROR';
10431: );
10432:
10433: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10434:
10435: IF l_return_status = Error_Handler.G_STATUS_ERROR
10436: THEN
10437: l_other_message := 'ENG_RIT_UUI_SEV_ERROR';
10438: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10439: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10437: l_other_message := 'ENG_RIT_UUI_SEV_ERROR';
10438: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10439: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10440: RAISE EXC_SEV_QUIT_BRANCH;
10441: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10442: THEN
10443: l_other_message := 'ENG_RIT_UUI_UNEXP_SKIP';
10444: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10445: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10454: -- Process Flow step 5: Verify ECO's existence in database, if
10455: -- the revised item is being created on an ECO and the business
10456: -- object does not carry the ECO header
10457:
10458: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check parent existence'); END IF;
10459:
10460: IF l_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
10461: AND
10462: NOT l_eco_parent_exists
10472: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10473: , x_return_status => l_Return_Status
10474: );
10475:
10476: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10477:
10478: IF l_return_status = Error_Handler.G_STATUS_ERROR
10479: THEN
10480: l_other_message := 'ENG_PARENTECO_NOT_EXIST';
10474: );
10475:
10476: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10477:
10478: IF l_return_status = Error_Handler.G_STATUS_ERROR
10479: THEN
10480: l_other_message := 'ENG_PARENTECO_NOT_EXIST';
10481: l_other_token_tbl(1).token_name := 'ECO_NAME';
10482: l_other_token_tbl(1).token_value := l_revised_item_rec.ECO_Name;
10482: l_other_token_tbl(1).token_value := l_revised_item_rec.ECO_Name;
10483: l_other_token_tbl(2).token_name := 'ORGANIZATION_CODE';
10484: l_other_token_tbl(2).token_value := l_revised_item_rec.organization_code;
10485: RAISE EXC_SEV_QUIT_OBJECT;
10486: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10487: THEN
10488: l_other_message := 'ENG_RIT_LIN_UNEXP_SKIP';
10489: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10490: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10507: -- Added for bug 5756870
10508: -- The update case when the CO is in scheduled status is handled saperately
10509: IF (l_revised_item_rec.Transaction_Type <> ENG_GLOBALS.G_OPR_UPDATE )
10510: AND (l_chk_co_sch = 4) THEN
10511: l_return_status := error_handler.g_status_error;
10512: error_handler.add_error_token (p_message_name => 'ENG_REV_ITM_NOT_UPD',
10513: p_mesg_token_tbl => l_mesg_token_tbl,
10514: x_mesg_token_tbl => l_mesg_token_tbl,
10515: p_token_tbl => l_token_tbl
10508: -- The update case when the CO is in scheduled status is handled saperately
10509: IF (l_revised_item_rec.Transaction_Type <> ENG_GLOBALS.G_OPR_UPDATE )
10510: AND (l_chk_co_sch = 4) THEN
10511: l_return_status := error_handler.g_status_error;
10512: error_handler.add_error_token (p_message_name => 'ENG_REV_ITM_NOT_UPD',
10513: p_mesg_token_tbl => l_mesg_token_tbl,
10514: x_mesg_token_tbl => l_mesg_token_tbl,
10515: p_token_tbl => l_token_tbl
10516: );
10532: END IF;
10533: -- Process Flow step 5: Verify Revised Item's existence
10534: --
10535:
10536: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check existence'); END IF;
10537: ENG_Validate_Revised_Item.Check_Existence
10538: ( p_revised_item_rec => l_revised_item_rec
10539: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
10540: , x_old_revised_item_rec => l_old_revised_item_rec
10543: , x_return_status => l_Return_Status
10544: , x_disable_revision => x_disable_revision --BUG 3034642
10545: );
10546:
10547: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10548:
10549: IF l_return_status = Error_Handler.G_STATUS_ERROR
10550: THEN
10551: l_other_message := 'ENG_RIT_EXS_SEV_ERROR';
10545: );
10546:
10547: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10548:
10549: IF l_return_status = Error_Handler.G_STATUS_ERROR
10550: THEN
10551: l_other_message := 'ENG_RIT_EXS_SEV_ERROR';
10552: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10553: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10553: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10554: l_other_token_tbl(2).token_name := 'ECO_NAME';
10555: l_other_token_tbl(2).token_value := l_revised_item_rec.eco_name;
10556: RAISE EXC_SEV_QUIT_BRANCH;
10557: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10558: THEN
10559: l_other_message := 'ENG_RIT_EXS_UNEXP_SKIP';
10560: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10561: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10595: , p_check_scheduled_status => TRUE -- bug 5756870
10596: );
10597: END IF;
10598:
10599: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10600:
10601: IF l_return_status = Error_Handler.G_STATUS_ERROR
10602: THEN
10603: l_other_message := 'ENG_RIT_ECOACC_FAT_FATAL';
10597: END IF;
10598:
10599: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10600:
10601: IF l_return_status = Error_Handler.G_STATUS_ERROR
10602: THEN
10603: l_other_message := 'ENG_RIT_ECOACC_FAT_FATAL';
10604: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10605: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10604: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10605: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10606: l_return_status := 'F';
10607: RAISE EXC_FAT_QUIT_OBJECT;
10608: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10609: THEN
10610: l_other_message := 'ENG_RIT_ECOACC_UNEXP_SKIP';
10611: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10612: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10618: --
10619: -- Bug No: 5246049
10620: -- Moved validation outside 'IF NOT l_eco_parent_exists' as validation should happen in all cases
10621:
10622: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
10623: IF (l_revised_item_rec.Transaction_Type = ENG_GLOBALS.G_OPR_UPDATE ) THEN
10624: ENG_Validate_Revised_Item.Check_Access
10625: ( p_change_notice => l_revised_item_rec.ECO_Name
10626: , p_organization_id => l_rev_item_unexp_rec.organization_id
10653:
10654: END IF;
10655:
10656:
10657: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10658:
10659: IF l_return_status = Error_Handler.G_STATUS_ERROR
10660: THEN
10661: l_other_message := 'ENG_RIT_ACCESS_FAT_FATAL';
10655:
10656:
10657: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10658:
10659: IF l_return_status = Error_Handler.G_STATUS_ERROR
10660: THEN
10661: l_other_message := 'ENG_RIT_ACCESS_FAT_FATAL';
10662: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10663: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10662: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10663: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10664: l_return_status := 'F';
10665: RAISE EXC_FAT_QUIT_BRANCH;
10666: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10667: THEN
10668: l_other_message := 'ENG_RIT_ACCESS_UNEXP_SKIP';
10669: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10670: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10679: -- (for future release, flow routing is not supported in current release
10680: -- Added by MK on 08/24/2000
10681: --
10682: /* Comment out for current release
10683: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check Non-Flow Routing'); END IF;
10684:
10685: Bom_Validate_Rtg_Header.Check_flow_routing_operability ;
10686: ( p_assembly_item_name => l_revised_item_rec.revised_item_name
10687: , p_cfm_routing_flag => l_rev_item_unexp_rec.cfm_routing_flag
10690: , x_mesg_token_tbl => l_mesg_token_tbl
10691: , x_return_status => l_return_status
10692: );
10693:
10694: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10695:
10696:
10697: IF l_return_status = Error_Handler.G_STATUS_ERROR
10698: THEN
10693:
10694: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10695:
10696:
10697: IF l_return_status = Error_Handler.G_STATUS_ERROR
10698: THEN
10699: l_other_message := 'BOM_RTG_FRACC_ERROR';
10700: l_other_token_tbl(1).token_name := 'ASSEMBLY_ITEM_NAME';
10701: l_other_token_tbl(1).token_value :=
10700: l_other_token_tbl(1).token_name := 'ASSEMBLY_ITEM_NAME';
10701: l_other_token_tbl(1).token_value :=
10702: l_revised_item_rec.revised_item_name;
10703: RAISE EXC_SEV_QUIT_BRANCH;
10704: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10705: THEN
10706: l_other_message := 'BOM_RTG_FRACC_UNEXP_SKIP';
10707: l_other_token_tbl(1).token_name := 'ASSEMBLY_ITEM_NAME';
10708: l_other_token_tbl(1).token_value :=
10715:
10716: -- Process Flow step 9: Value to Id conversions
10717: --
10718:
10719: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Value-id conversions'); END IF;
10720: ENG_Val_To_Id.Revised_Item_VID
10721: ( x_Return_Status => l_return_status
10722: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10723: , p_rev_item_unexp_Rec => l_rev_item_unexp_rec
10724: , x_rev_item_unexp_Rec => l_rev_item_unexp_rec
10725: , p_revised_item_Rec => l_revised_item_rec
10726: );
10727:
10728: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10729:
10730: IF l_return_status = Error_Handler.G_STATUS_ERROR
10731: THEN
10732: IF l_revised_item_rec.transaction_type = 'CREATE'
10726: );
10727:
10728: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10729:
10730: IF l_return_status = Error_Handler.G_STATUS_ERROR
10731: THEN
10732: IF l_revised_item_rec.transaction_type = 'CREATE'
10733: THEN
10734: l_other_message := 'ENG_RIT_VID_CSEV_SKIP';
10737: RAISE EXC_SEV_SKIP_BRANCH;
10738: ELSE
10739: RAISE EXC_SEV_QUIT_RECORD;
10740: END IF;
10741: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10742: THEN
10743: RAISE EXC_UNEXP_SKIP_OBJECT;
10744: ELSIF l_return_status ='S' AND
10745: l_Mesg_Token_Tbl.COUNT <>0
10743: RAISE EXC_UNEXP_SKIP_OBJECT;
10744: ELSIF l_return_status ='S' AND
10745: l_Mesg_Token_Tbl.COUNT <>0
10746: THEN
10747: Eco_Error_Handler.Log_Error
10748: ( p_revised_item_tbl => x_revised_item_tbl
10749: , p_rev_component_tbl => x_rev_component_tbl
10750: , p_ref_designator_tbl => x_ref_designator_tbl
10751: , p_sub_component_tbl => x_sub_component_tbl
10781: , p_revised_item_Rec => l_revised_item_rec
10782: );
10783:
10784:
10785: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10786:
10787: IF l_return_status = Error_Handler.G_STATUS_ERROR
10788: THEN
10789:
10783:
10784:
10785: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10786:
10787: IF l_return_status = Error_Handler.G_STATUS_ERROR
10788: THEN
10789:
10790: l_other_message := 'ENG_RIT_SCHEDULE_ACCESS_FATAL';
10791: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10791: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10792: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10793: l_return_status := 'F';
10794: RAISE EXC_FAT_QUIT_BRANCH;
10795: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10796: THEN
10797:
10798: l_other_message := 'ENG_RIT_SCHEDULE_ACCESS_UNEXP';
10799: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10821: -- Process Flow step 10: Attribute Validation for CREATE and UPDATE
10822: --
10823:
10824:
10825: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
10826: IF l_revised_item_rec.Transaction_Type IN
10827: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
10828: THEN
10829: ENG_Validate_Revised_Item.Check_Attributes
10834: , p_old_revised_item_rec => l_old_revised_item_rec
10835: , p_old_rev_item_unexp_rec => l_old_rev_item_unexp_rec
10836: );
10837:
10838: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10839:
10840: IF l_return_status = Error_Handler.G_STATUS_ERROR
10841: THEN
10842: IF l_revised_item_rec.transaction_type = 'CREATE'
10836: );
10837:
10838: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10839:
10840: IF l_return_status = Error_Handler.G_STATUS_ERROR
10841: THEN
10842: IF l_revised_item_rec.transaction_type = 'CREATE'
10843: THEN
10844: l_other_message := 'ENG_RIT_ATTVAL_CSEV_SKIP';
10847: RAISE EXC_SEV_SKIP_BRANCH;
10848: ELSE
10849: RAISE EXC_SEV_QUIT_RECORD;
10850: END IF;
10851: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10852: THEN
10853: l_other_message := 'ENG_RIT_ATTVAL_UNEXP_SKIP';
10854: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10855: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10856: RAISE EXC_UNEXP_SKIP_OBJECT;
10857: ELSIF l_return_status ='S' AND
10858: l_Mesg_Token_Tbl.COUNT <>0
10859: THEN
10860: Eco_Error_Handler.Log_Error
10861: ( p_revised_item_tbl => x_revised_item_tbl
10862: , p_rev_component_tbl => x_rev_component_tbl
10863: , p_ref_designator_tbl => x_ref_designator_tbl
10864: , p_sub_component_tbl => x_sub_component_tbl
10888:
10889: -- Process flow step 11 - Populate NULL columns for Update and
10890: -- Delete.
10891:
10892: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populating NULL Columns'); END IF;
10893: Eng_Default_Revised_Item.Populate_NULL_Columns
10894: ( p_revised_item_rec => l_revised_item_rec
10895: , p_old_revised_item_rec => l_old_revised_item_rec
10896: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
10903:
10904: -- Process Flow step 12: Default missing values for Operation CREATE
10905: --
10906:
10907: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting'); END IF;
10908: Eng_Default_Revised_Item.Attribute_Defaulting
10909: ( p_revised_item_rec => l_revised_item_rec
10910: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
10911: , x_revised_item_rec => l_revised_item_rec
10913: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10914: , x_return_status => l_return_status
10915: );
10916:
10917: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10918:
10919: IF l_return_status = Error_Handler.G_STATUS_ERROR
10920: THEN
10921: l_other_message := 'ENG_RIT_ATTDEF_SEV_SKIP';
10915: );
10916:
10917: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10918:
10919: IF l_return_status = Error_Handler.G_STATUS_ERROR
10920: THEN
10921: l_other_message := 'ENG_RIT_ATTDEF_SEV_SKIP';
10922: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10923: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10921: l_other_message := 'ENG_RIT_ATTDEF_SEV_SKIP';
10922: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10923: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10924: RAISE EXC_SEV_SKIP_BRANCH;
10925: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10926: THEN
10927: l_other_message := 'ENG_RIT_ATTDEF_UNEXP_SKIP';
10928: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10929: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10930: RAISE EXC_UNEXP_SKIP_OBJECT;
10931: ELSIF l_return_status ='S' AND
10932: l_Mesg_Token_Tbl.COUNT <>0
10933: THEN
10934: Eco_Error_Handler.Log_Error
10935: ( p_revised_item_tbl => x_revised_item_tbl
10936: , p_rev_component_tbl => x_rev_component_tbl
10937: , p_ref_designator_tbl => x_ref_designator_tbl
10938: , p_sub_component_tbl => x_sub_component_tbl
10958:
10959: -- Process Flow step 13 - Conditionally required attributes check
10960: --
10961:
10962: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Conditionally required attributes check'); END IF;
10963:
10964: --
10965: -- Put conditionally required check procedure here
10966: --
10964: --
10965: -- Put conditionally required check procedure here
10966: --
10967:
10968: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
10969:
10970: ENG_Validate_Revised_Item.Check_Required
10971: ( x_return_status => l_return_status
10972: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10972: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10973: , p_revised_item_rec => l_revised_item_rec
10974: );
10975:
10976: IF l_return_status = Error_Handler.G_STATUS_ERROR
10977: THEN
10978: IF l_revised_item_rec.transaction_type = 'CREATE'
10979: THEN
10980: l_other_message := 'ENG_RIT_CONREQ_CSEV_SKIP';
10983: RAISE EXC_SEV_SKIP_BRANCH;
10984: ELSE
10985: RAISE EXC_SEV_QUIT_RECORD;
10986: END IF;
10987: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
10988: THEN
10989: l_other_message := 'ENG_RIT_CONREQ_UNEXP_SKIP';
10990: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
10991: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
10992: RAISE EXC_UNEXP_SKIP_OBJECT;
10993: ELSIF l_return_status ='S' AND
10994: l_Mesg_Token_Tbl.COUNT <>0
10995: THEN
10996: Eco_Error_Handler.Log_Error
10997: ( p_revised_item_tbl => x_revised_item_tbl
10998: , p_rev_component_tbl => x_rev_component_tbl
10999: , p_ref_designator_tbl => x_ref_designator_tbl
11000: , p_sub_component_tbl => x_sub_component_tbl
11019:
11020: -- Process Flow step 14: Entity defaulting for CREATE and UPDATE
11021: --
11022:
11023: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting'); END IF;
11024: IF l_revised_item_rec.Transaction_Type IN
11025: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
11026: THEN
11027: ENG_Default_Revised_Item.Entity_Defaulting
11034: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
11035: , x_return_status => l_return_status
11036: );
11037:
11038: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
11039:
11040: IF l_return_status = Error_Handler.G_STATUS_ERROR
11041: THEN
11042: IF l_revised_item_rec.transaction_type = 'CREATE'
11036: );
11037:
11038: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
11039:
11040: IF l_return_status = Error_Handler.G_STATUS_ERROR
11041: THEN
11042: IF l_revised_item_rec.transaction_type = 'CREATE'
11043: THEN
11044: l_other_message := 'ENG_RIT_ENTDEF_CSEV_SKIP';
11047: RAISE EXC_SEV_SKIP_BRANCH;
11048: ELSE
11049: RAISE EXC_SEV_QUIT_RECORD;
11050: END IF;
11051: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
11052: THEN
11053: l_other_message := 'ENG_RIT_ENTDEF_UNEXP_SKIP';
11054: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
11055: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
11056: RAISE EXC_UNEXP_SKIP_OBJECT;
11057: ELSIF l_return_status ='S' AND
11058: l_Mesg_Token_Tbl.COUNT <>0
11059: THEN
11060: Eco_Error_Handler.Log_Error
11061: ( p_revised_item_tbl => x_revised_item_tbl
11062: , p_rev_component_tbl => x_rev_component_tbl
11063: , p_ref_designator_tbl => x_ref_designator_tbl
11064: , p_sub_component_tbl => x_sub_component_tbl
11084:
11085: -- Process Flow step 15 - Entity Level Validation
11086: --
11087:
11088: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation'); END IF;
11089:
11090: IF l_revised_item_rec.transaction_type = 'DELETE'
11091: THEN
11092: Eng_Validate_Revised_Item.Check_Entity_Delete
11105: , x_return_status => l_Return_Status
11106: );
11107: END IF;
11108:
11109: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
11110:
11111: IF l_return_status = Error_Handler.G_STATUS_ERROR
11112: THEN
11113: IF l_revised_item_rec.transaction_type = 'CREATE'
11107: END IF;
11108:
11109: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
11110:
11111: IF l_return_status = Error_Handler.G_STATUS_ERROR
11112: THEN
11113: IF l_revised_item_rec.transaction_type = 'CREATE'
11114: THEN
11115: l_other_message := 'ENG_RIT_ENTVAL_CSEV_SKIP';
11118: RAISE EXC_SEV_SKIP_BRANCH;
11119: ELSE
11120: RAISE EXC_SEV_QUIT_RECORD;
11121: END IF;
11122: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
11123: THEN
11124: l_other_message := 'ENG_RIT_ENTVAL_UNEXP_SKIP';
11125: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
11126: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
11127: RAISE EXC_UNEXP_SKIP_OBJECT;
11128: ELSIF l_return_status ='S' AND
11129: l_Mesg_Token_Tbl.COUNT <>0
11130: THEN
11131: Eco_Error_Handler.Log_Error
11132: ( p_revised_item_tbl => x_revised_item_tbl
11133: , p_rev_component_tbl => x_rev_component_tbl
11134: , p_ref_designator_tbl => x_ref_designator_tbl
11135: , p_sub_component_tbl => x_sub_component_tbl
11154:
11155: -- Process Flow step 16 : Database Writes
11156: --
11157:
11158: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Writing to the database'); END IF;
11159: ENG_Revised_Item_Util.Perform_Writes
11160: ( p_revised_item_rec => l_revised_item_rec
11161: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
11162: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
11162: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
11163: , x_return_status => l_return_status
11164: );
11165:
11166: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
11167:
11168: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
11169: THEN
11170: l_other_message := 'ENG_RIT_WRITES_UNEXP_SKIP';
11164: );
11165:
11166: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
11167:
11168: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
11169: THEN
11170: l_other_message := 'ENG_RIT_WRITES_UNEXP_SKIP';
11171: l_other_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
11172: l_other_token_tbl(1).token_value := l_revised_item_rec.revised_item_name;
11173: RAISE EXC_UNEXP_SKIP_OBJECT;
11174: ELSIF l_return_status ='S' AND
11175: l_Mesg_Token_Tbl.COUNT <>0
11176: THEN
11177: Eco_Error_Handler.Log_Error
11178: ( p_revised_item_tbl => x_revised_item_tbl
11179: , p_rev_component_tbl => x_rev_component_tbl
11180: , p_ref_designator_tbl => x_ref_designator_tbl
11181: , p_sub_component_tbl => x_sub_component_tbl
11198: );
11199: END IF;
11200:
11201: IF Bom_Globals.Get_Debug = 'Y' THEN
11202: Error_Handler.Write_Debug('Writing to the database for Rev Item is completed with '||l_return_status );
11203: END IF;
11204:
11205: END IF; -- END IF statement that checks RETURN STATUS
11206:
11226: EXCEPTION
11227:
11228: WHEN EXC_SEV_QUIT_RECORD THEN
11229:
11230: Eco_Error_Handler.Log_Error
11231: ( p_revised_item_tbl => x_revised_item_tbl
11232: , p_rev_component_tbl => x_rev_component_tbl
11233: , p_ref_designator_tbl => x_ref_designator_tbl
11234: , p_sub_component_tbl => x_sub_component_tbl
11236: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11237: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
11238: , p_mesg_token_tbl => l_mesg_token_tbl
11239: , p_error_status => FND_API.G_RET_STS_ERROR
11240: , p_error_scope => Error_Handler.G_SCOPE_RECORD
11241: , p_error_level => 3
11242: , p_entity_index => I
11243: , x_eco_rec => l_eco_rec
11244: , x_eco_revision_tbl => l_eco_revision_tbl
11275: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11276:
11277: WHEN EXC_SEV_QUIT_BRANCH THEN
11278:
11279: Eco_Error_Handler.Log_Error
11280: ( p_revised_item_tbl => x_revised_item_tbl
11281: , p_rev_component_tbl => x_rev_component_tbl
11282: , p_ref_designator_tbl => x_ref_designator_tbl
11283: , p_sub_component_tbl => x_sub_component_tbl
11284: , p_rev_operation_tbl => x_rev_operation_tbl --L1
11285: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11286: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11287: , p_mesg_token_tbl => l_mesg_token_tbl
11288: , p_error_status => Error_Handler.G_STATUS_ERROR
11289: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
11290: , p_other_status => Error_Handler.G_STATUS_ERROR
11291: , p_other_message => l_other_message
11292: , p_other_token_tbl => l_other_token_tbl
11285: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11286: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11287: , p_mesg_token_tbl => l_mesg_token_tbl
11288: , p_error_status => Error_Handler.G_STATUS_ERROR
11289: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
11290: , p_other_status => Error_Handler.G_STATUS_ERROR
11291: , p_other_message => l_other_message
11292: , p_other_token_tbl => l_other_token_tbl
11293: , p_error_level => 3
11286: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11287: , p_mesg_token_tbl => l_mesg_token_tbl
11288: , p_error_status => Error_Handler.G_STATUS_ERROR
11289: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
11290: , p_other_status => Error_Handler.G_STATUS_ERROR
11291: , p_other_message => l_other_message
11292: , p_other_token_tbl => l_other_token_tbl
11293: , p_error_level => 3
11294: , p_entity_index => I
11327: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11328:
11329: WHEN EXC_SEV_SKIP_BRANCH THEN
11330:
11331: Eco_Error_Handler.Log_Error
11332: ( p_revised_item_tbl => x_revised_item_tbl
11333: , p_rev_component_tbl => x_rev_component_tbl
11334: , p_ref_designator_tbl => x_ref_designator_tbl
11335: , p_sub_component_tbl => x_sub_component_tbl
11336: , p_rev_operation_tbl => x_rev_operation_tbl --L1
11337: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11338: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11339: , p_mesg_token_tbl => l_mesg_token_tbl
11340: , p_error_status => Error_Handler.G_STATUS_ERROR
11341: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
11342: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
11343: , p_other_message => l_other_message
11344: , p_other_token_tbl => l_other_token_tbl
11337: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11338: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11339: , p_mesg_token_tbl => l_mesg_token_tbl
11340: , p_error_status => Error_Handler.G_STATUS_ERROR
11341: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
11342: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
11343: , p_other_message => l_other_message
11344: , p_other_token_tbl => l_other_token_tbl
11345: , p_error_level => 3
11338: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11339: , p_mesg_token_tbl => l_mesg_token_tbl
11340: , p_error_status => Error_Handler.G_STATUS_ERROR
11341: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
11342: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
11343: , p_other_message => l_other_message
11344: , p_other_token_tbl => l_other_token_tbl
11345: , p_error_level => 3
11346: , p_entity_index => I
11379: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11380:
11381: WHEN EXC_SEV_QUIT_OBJECT THEN
11382:
11383: Eco_Error_Handler.Log_Error
11384: ( p_revised_item_tbl => x_revised_item_tbl
11385: , p_rev_component_tbl => x_rev_component_tbl
11386: , p_ref_designator_tbl => x_ref_designator_tbl
11387: , p_sub_component_tbl => x_sub_component_tbl
11387: , p_sub_component_tbl => x_sub_component_tbl
11388: , p_rev_operation_tbl => x_rev_operation_tbl --L1
11389: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11390: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
11391: , p_error_status => Error_Handler.G_STATUS_ERROR
11392: , p_error_scope => Error_Handler.G_SCOPE_ALL
11393: , p_error_level => Error_Handler.G_BO_LEVEL
11394: , p_other_message => l_other_message
11395: , p_other_status => Error_Handler.G_STATUS_ERROR
11388: , p_rev_operation_tbl => x_rev_operation_tbl --L1
11389: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11390: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
11391: , p_error_status => Error_Handler.G_STATUS_ERROR
11392: , p_error_scope => Error_Handler.G_SCOPE_ALL
11393: , p_error_level => Error_Handler.G_BO_LEVEL
11394: , p_other_message => l_other_message
11395: , p_other_status => Error_Handler.G_STATUS_ERROR
11396: , p_other_token_tbl => l_other_token_tbl
11389: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11390: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
11391: , p_error_status => Error_Handler.G_STATUS_ERROR
11392: , p_error_scope => Error_Handler.G_SCOPE_ALL
11393: , p_error_level => Error_Handler.G_BO_LEVEL
11394: , p_other_message => l_other_message
11395: , p_other_status => Error_Handler.G_STATUS_ERROR
11396: , p_other_token_tbl => l_other_token_tbl
11397: , x_eco_rec => l_eco_rec
11391: , p_error_status => Error_Handler.G_STATUS_ERROR
11392: , p_error_scope => Error_Handler.G_SCOPE_ALL
11393: , p_error_level => Error_Handler.G_BO_LEVEL
11394: , p_other_message => l_other_message
11395: , p_other_status => Error_Handler.G_STATUS_ERROR
11396: , p_other_token_tbl => l_other_token_tbl
11397: , x_eco_rec => l_eco_rec
11398: , x_eco_revision_tbl => l_eco_revision_tbl
11399: , x_revised_item_tbl => x_revised_item_tbl
11427: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11428:
11429: WHEN EXC_FAT_QUIT_BRANCH THEN
11430:
11431: Eco_Error_Handler.Log_Error
11432: ( p_revised_item_tbl => x_revised_item_tbl
11433: , p_rev_component_tbl => x_rev_component_tbl
11434: , p_ref_designator_tbl => x_ref_designator_tbl
11435: , p_sub_component_tbl => x_sub_component_tbl
11436: , p_rev_operation_tbl => x_rev_operation_tbl --L1
11437: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11438: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11439: , p_mesg_token_tbl => l_mesg_token_tbl
11440: , p_error_status => Error_Handler.G_STATUS_FATAL
11441: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
11442: , p_other_status => Error_Handler.G_STATUS_FATAL
11443: , p_other_message => l_other_message
11444: , p_other_token_tbl => l_other_token_tbl
11437: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11438: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11439: , p_mesg_token_tbl => l_mesg_token_tbl
11440: , p_error_status => Error_Handler.G_STATUS_FATAL
11441: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
11442: , p_other_status => Error_Handler.G_STATUS_FATAL
11443: , p_other_message => l_other_message
11444: , p_other_token_tbl => l_other_token_tbl
11445: , p_error_level => 3
11438: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11439: , p_mesg_token_tbl => l_mesg_token_tbl
11440: , p_error_status => Error_Handler.G_STATUS_FATAL
11441: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
11442: , p_other_status => Error_Handler.G_STATUS_FATAL
11443: , p_other_message => l_other_message
11444: , p_other_token_tbl => l_other_token_tbl
11445: , p_error_level => 3
11446: , p_entity_index => I
11456: );
11457:
11458: l_process_children := FALSE;
11459:
11460: x_return_status := Error_Handler.G_STATUS_FATAL;
11461: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
11462: --x_revised_item_tbl := l_revised_item_tbl;
11463: --x_rev_component_tbl := l_rev_component_tbl;
11464: --x_ref_designator_tbl := l_ref_designator_tbl;
11475: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11476:
11477: WHEN EXC_FAT_QUIT_OBJECT THEN
11478:
11479: Eco_Error_Handler.Log_Error
11480: ( p_revised_item_tbl => x_revised_item_tbl
11481: , p_rev_component_tbl => x_rev_component_tbl
11482: , p_ref_designator_tbl => x_ref_designator_tbl
11483: , p_sub_component_tbl => x_sub_component_tbl
11484: , p_rev_operation_tbl => x_rev_operation_tbl --L1
11485: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11486: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11487: , p_mesg_token_tbl => l_mesg_token_tbl
11488: , p_error_status => Error_Handler.G_STATUS_FATAL
11489: , p_error_scope => Error_Handler.G_SCOPE_ALL
11490: , p_other_status => Error_Handler.G_STATUS_FATAL
11491: , p_other_message => l_other_message
11492: , p_other_token_tbl => l_other_token_tbl
11485: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11486: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11487: , p_mesg_token_tbl => l_mesg_token_tbl
11488: , p_error_status => Error_Handler.G_STATUS_FATAL
11489: , p_error_scope => Error_Handler.G_SCOPE_ALL
11490: , p_other_status => Error_Handler.G_STATUS_FATAL
11491: , p_other_message => l_other_message
11492: , p_other_token_tbl => l_other_token_tbl
11493: , p_error_level => 3
11486: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11487: , p_mesg_token_tbl => l_mesg_token_tbl
11488: , p_error_status => Error_Handler.G_STATUS_FATAL
11489: , p_error_scope => Error_Handler.G_SCOPE_ALL
11490: , p_other_status => Error_Handler.G_STATUS_FATAL
11491: , p_other_message => l_other_message
11492: , p_other_token_tbl => l_other_token_tbl
11493: , p_error_level => 3
11494: , p_entity_index => I
11522: l_return_status := 'Q';
11523:
11524: WHEN EXC_UNEXP_SKIP_OBJECT THEN
11525:
11526: Eco_Error_Handler.Log_Error
11527: ( p_revised_item_tbl => x_revised_item_tbl
11528: , p_rev_component_tbl => x_rev_component_tbl
11529: , p_ref_designator_tbl => x_ref_designator_tbl
11530: , p_sub_component_tbl => x_sub_component_tbl
11531: , p_rev_operation_tbl => x_rev_operation_tbl --L1
11532: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11533: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11534: , p_mesg_token_tbl => l_mesg_token_tbl
11535: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
11536: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
11537: , p_other_message => l_other_message
11538: , p_other_token_tbl => l_other_token_tbl
11539: , p_error_level => 3
11532: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
11533: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
11534: , p_mesg_token_tbl => l_mesg_token_tbl
11535: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
11536: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
11537: , p_other_message => l_other_message
11538: , p_other_token_tbl => l_other_token_tbl
11539: , p_error_level => 3
11540: , x_ECO_rec => l_ECO_rec
11585: --
11586: -- Modified by MK on 11/30/00 Moved eco for routing procedure before BOMs.
11587: --
11588:
11589: -- IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing Rev Op children of Revised item . . . ' || l_revised_item_rec.revised_item_name); END IF;
11590:
11591: Rev_Operation_Sequences
11592: ( p_validation_level => p_validation_level
11593: , p_change_notice => l_revised_item_rec.ECO_Name
11617: -- Process resource that are orphans
11618: -- (without immediate revised component parents) but are
11619: -- indirect children of this item
11620:
11621: -- IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing Rev Op Res children of Revised item . . . ' || l_revised_item_rec.revised_item_name); END IF;
11622:
11623:
11624: Rev_Operation_Resources
11625: ( p_validation_level => p_validation_level
11645: -- Process substitute resources that are orphans
11646: -- (without immediate revised component parents) but are
11647: -- indirect children of this item
11648:
11649: -- IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing Rev Sub Op Res children of Revised item . . . ' || l_revised_item_rec.revised_item_name); END IF;
11650:
11651:
11652: Rev_Sub_Operation_Resources
11653: ( p_validation_level => p_validation_level
11673:
11674: -- Process Revised Components that are direct children of this item
11675:
11676: IF Bom_Globals.Get_Debug = 'Y' THEN
11677: Error_Handler.Write_Debug('***********************************************************') ;
11678: Error_Handler.Write_Debug('Now processing direct children for the Rev Item '
11679: || l_revised_item_rec.revised_item_name || '. . .' );
11680: Error_Handler.Write_Debug('Processing Rev Comp as children of Revised item ' || l_revised_item_rec.revised_item_name);
11681: END IF;
11674: -- Process Revised Components that are direct children of this item
11675:
11676: IF Bom_Globals.Get_Debug = 'Y' THEN
11677: Error_Handler.Write_Debug('***********************************************************') ;
11678: Error_Handler.Write_Debug('Now processing direct children for the Rev Item '
11679: || l_revised_item_rec.revised_item_name || '. . .' );
11680: Error_Handler.Write_Debug('Processing Rev Comp as children of Revised item ' || l_revised_item_rec.revised_item_name);
11681: END IF;
11682:
11676: IF Bom_Globals.Get_Debug = 'Y' THEN
11677: Error_Handler.Write_Debug('***********************************************************') ;
11678: Error_Handler.Write_Debug('Now processing direct children for the Rev Item '
11679: || l_revised_item_rec.revised_item_name || '. . .' );
11680: Error_Handler.Write_Debug('Processing Rev Comp as children of Revised item ' || l_revised_item_rec.revised_item_name);
11681: END IF;
11682:
11683: Rev_Comps
11684: ( p_validation_level => p_validation_level
11700: , x_return_status => l_return_status
11701: , x_bill_sequence_id => l_rev_item_unexp_rec.bill_sequence_id
11702: );
11703:
11704: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Rev_Comps return status ' || l_return_status); END IF;
11705:
11706: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
11707: THEN
11708:
11706: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
11707: THEN
11708:
11709: IF Bom_Globals.Get_Debug = 'Y' THEN
11710: Error_Handler.Write_Debug('Rev_Comps returned in Rev_Items . . .BO Status: ' || l_return_status);
11711: END IF;
11712:
11713: l_bo_return_status := l_return_status;
11714: END IF;
11717: -- (without immediate revised component parents) but are
11718: -- indirect children of this item
11719:
11720: IF Bom_Globals.Get_Debug = 'Y' THEN
11721: Error_Handler.Write_Debug('***********************************************************') ;
11722: Error_Handler.Write_Debug('Processing Ref Desgs as children of Revised item ' || l_revised_item_rec.revised_item_name);
11723: END IF;
11724:
11725:
11718: -- indirect children of this item
11719:
11720: IF Bom_Globals.Get_Debug = 'Y' THEN
11721: Error_Handler.Write_Debug('***********************************************************') ;
11722: Error_Handler.Write_Debug('Processing Ref Desgs as children of Revised item ' || l_revised_item_rec.revised_item_name);
11723: END IF;
11724:
11725:
11726: Ref_Desgs
11750: l_bo_return_status := l_return_status;
11751: END IF;
11752:
11753: IF Bom_Globals.Get_Debug = 'Y' THEN
11754: Error_Handler.Write_Debug('***********************************************************') ;
11755: Error_Handler.Write_Debug('Processing Sub Comps children of Revised item ' || l_revised_item_rec.revised_item_name);
11756: END IF;
11757:
11758: Sub_Comps
11751: END IF;
11752:
11753: IF Bom_Globals.Get_Debug = 'Y' THEN
11754: Error_Handler.Write_Debug('***********************************************************') ;
11755: Error_Handler.Write_Debug('Processing Sub Comps children of Revised item ' || l_revised_item_rec.revised_item_name);
11756: END IF;
11757:
11758: Sub_Comps
11759: ( p_validation_level => p_validation_level
11786: IF NVL(l_bo_return_status, 'S') <> 'S'
11787: THEN
11788: x_return_status := l_bo_return_status;
11789:
11790: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Rev Items returning with ' || l_bo_return_status); END IF;
11791:
11792: END IF;
11793: --x_revised_item_tbl := l_revised_item_tbl;
11794: --x_rev_component_tbl := l_rev_component_tbl;
11828: , x_sub_component_tbl IN OUT NOCOPY BOM_BO_PUB.Sub_Component_Tbl_Type
11829: , x_rev_operation_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Operation_Tbl_Type --L1--
11830: , x_rev_op_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type --L1--
11831: , x_rev_sub_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type --L1--
11832: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
11833: , x_return_status OUT NOCOPY VARCHAR2
11834: )
11835: IS
11836:
11843: l_old_change_line_rec Eng_Eco_Pub.Change_Line_Rec_Type ;
11844: l_old_change_line_unexp_rec Eng_Eco_Pub.Change_Line_Unexposed_Rec_Type;
11845:
11846: /* Error Handling Variables */
11847: l_token_tbl Error_Handler.Token_Tbl_Type ;
11848: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
11849: l_other_token_tbl Error_Handler.Token_Tbl_Type;
11850: l_other_message VARCHAR2(2000);
11851: l_err_text VARCHAR2(2000);
11844: l_old_change_line_unexp_rec Eng_Eco_Pub.Change_Line_Unexposed_Rec_Type;
11845:
11846: /* Error Handling Variables */
11847: l_token_tbl Error_Handler.Token_Tbl_Type ;
11848: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
11849: l_other_token_tbl Error_Handler.Token_Tbl_Type;
11850: l_other_message VARCHAR2(2000);
11851: l_err_text VARCHAR2(2000);
11852:
11845:
11846: /* Error Handling Variables */
11847: l_token_tbl Error_Handler.Token_Tbl_Type ;
11848: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
11849: l_other_token_tbl Error_Handler.Token_Tbl_Type;
11850: l_other_message VARCHAR2(2000);
11851: l_err_text VARCHAR2(2000);
11852:
11853: /* Others */
11859: l_eco_parent_exists BOOLEAN := FALSE;
11860: l_process_children BOOLEAN := TRUE;
11861: l_valid BOOLEAN := TRUE;
11862:
11863: /* Error handler definations */
11864: EXC_SEV_QUIT_RECORD EXCEPTION ;
11865: EXC_SEV_QUIT_BRANCH EXCEPTION ;
11866: EXC_SEV_SKIP_BRANCH EXCEPTION ;
11867: EXC_FAT_QUIT_OBJECT EXCEPTION ;
11940: -- Process Flow Step 2: Check if record has not yet been processed and
11941: -- that it is the child of the parent that called this procedure
11942: --
11943:
11944: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Processing Change Line . . . ' || l_change_line_rec.name); END IF;
11945:
11946: --IF (l_change_line_rec.return_status IS NULL OR
11947: --l_change_line_rec.return_status = FND_API.G_MISS_CHAR)
11948: --THEN
11952:
11953: -- Check if transaction_type is valid
11954: --
11955:
11956: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
11957:
11958: ENG_GLOBALS.Transaction_Type_Validity
11959: ( p_transaction_type => l_change_line_rec.transaction_type
11960: , p_entity => 'Change_Lines'
11964: );
11965:
11966: IF NOT l_valid
11967: THEN
11968: l_return_status := Error_Handler.G_STATUS_ERROR;
11969: RAISE EXC_SEV_QUIT_RECORD;
11970: END IF;
11971:
11972: --
11972: --
11973: -- Process Flow step 4: Convert user unique index to unique index
11974: --
11975:
11976: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Converting user unique index to unique index'); END IF;
11977:
11978: ENG_Val_To_Id.Change_Line_UUI_To_UI
11979: ( p_change_line_rec => l_change_line_rec
11980: , p_change_line_unexp_rec => l_change_line_unexp_rec
11983: , x_Return_Status => l_return_status
11984: );
11985:
11986:
11987: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
11988:
11989: IF l_return_status = Error_Handler.G_STATUS_ERROR
11990: THEN
11991:
11985:
11986:
11987: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
11988:
11989: IF l_return_status = Error_Handler.G_STATUS_ERROR
11990: THEN
11991:
11992: l_other_message := 'ENG_CL_UUI_SEV_ERROR';
11993: l_other_token_tbl(1).token_name := 'LINE_NAME';
11993: l_other_token_tbl(1).token_name := 'LINE_NAME';
11994: l_other_token_tbl(1).token_value := l_change_line_rec.name ;
11995: RAISE EXC_SEV_QUIT_BRANCH;
11996:
11997: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
11998: THEN
11999: l_other_message := 'ENG_CL_UUI_UNEXP_SKIP';
12000: l_other_token_tbl(1).token_name := 'LINE_NAME';
12001: l_other_token_tbl(1).token_value := l_change_line_rec.name ;
12005:
12006: --
12007: -- Process Flow step 4(b): Check required fields exist
12008: --
12009: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check Required'); END IF;
12010: ENG_Validate_Change_Line.Check_Required
12011: ( x_return_status => l_return_status
12012: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12013: , p_change_line_rec => l_change_line_rec
12012: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12013: , p_change_line_rec => l_change_line_rec
12014: );
12015:
12016: IF l_return_status = Error_Handler.G_STATUS_ERROR
12017: THEN
12018: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12019: THEN
12020: l_other_message := 'ENG_CL_REQ_CSEV_SKIP';
12023: RAISE EXC_SEV_SKIP_BRANCH;
12024: ELSE
12025: RAISE EXC_SEV_QUIT_RECORD;
12026: END IF;
12027: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12028: THEN
12029: l_other_message := 'ENG_CL_REQ_UNEXP_SKIP';
12030: l_other_token_tbl(1).token_name := 'LINE_NAME';
12031: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12033:
12034: ELSIF l_return_status ='S' AND
12035: l_Mesg_Token_Tbl.COUNT <>0
12036: THEN
12037: Eco_Error_Handler.Log_Error
12038: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12039: , p_revised_item_tbl => x_revised_item_tbl
12040: , p_rev_component_tbl => x_rev_component_tbl
12041: , p_ref_designator_tbl => x_ref_designator_tbl
12044: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12045: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12046: , p_mesg_token_tbl => l_mesg_token_tbl
12047: , p_error_status => 'W'
12048: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12049: , p_entity_index => I
12050: , x_ECO_rec => l_eco_rec
12051: , x_eco_revision_tbl => l_eco_revision_tbl
12052: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12060: );
12061:
12062: END IF;
12063:
12064: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12065:
12066:
12067: -- Process Flow step 5: Verify ECO's existence in database, if
12068: -- the revised item is being created on an ECO and the business
12067: -- Process Flow step 5: Verify ECO's existence in database, if
12068: -- the revised item is being created on an ECO and the business
12069: -- object does not carry the ECO header
12070:
12071: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check parent existence'); END IF;
12072:
12073: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12074: AND NOT l_eco_parent_exists
12075: THEN
12084: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12085: , x_return_status => l_Return_Status
12086: );
12087:
12088: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12089:
12090: IF l_return_status = Error_Handler.G_STATUS_ERROR
12091: THEN
12092: l_other_message := 'ENG_PARENTECO_NOT_EXIST';
12086: );
12087:
12088: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12089:
12090: IF l_return_status = Error_Handler.G_STATUS_ERROR
12091: THEN
12092: l_other_message := 'ENG_PARENTECO_NOT_EXIST';
12093: l_other_token_tbl(1).token_name := 'ECO_NAME';
12094: l_other_token_tbl(1).token_value := l_change_line_rec.ECO_Name;
12094: l_other_token_tbl(1).token_value := l_change_line_rec.ECO_Name;
12095: l_other_token_tbl(2).token_name := 'ORGANIZATION_CODE';
12096: l_other_token_tbl(2).token_value := l_change_line_rec.organization_code;
12097: RAISE EXC_SEV_QUIT_OBJECT;
12098: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12099: THEN
12100: l_other_message := 'ENG_CL_LIN_UNEXP_SKIP';
12101: l_other_token_tbl(1).token_name := 'LINE_NAME';
12102: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12117: l_chk_co_sch := ret_co_status (l_change_line_rec.eco_name, l_change_line_unexp_rec.organization_id);
12118: END IF;
12119:
12120: IF l_chk_co_sch = 4 THEN
12121: l_return_status := error_handler.g_status_error;
12122: error_handler.add_error_token (p_message_name => 'ENG_CHG_LN_NOT_UPD',
12123: p_mesg_token_tbl => l_mesg_token_tbl,
12124: x_mesg_token_tbl => l_mesg_token_tbl,
12125: p_token_tbl => l_token_tbl
12118: END IF;
12119:
12120: IF l_chk_co_sch = 4 THEN
12121: l_return_status := error_handler.g_status_error;
12122: error_handler.add_error_token (p_message_name => 'ENG_CHG_LN_NOT_UPD',
12123: p_mesg_token_tbl => l_mesg_token_tbl,
12124: x_mesg_token_tbl => l_mesg_token_tbl,
12125: p_token_tbl => l_token_tbl
12126: );
12130: -- End Changes
12131:
12132: -- Process Flow step 5: Verify Revised Item's existence
12133: --
12134: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check existence'); END IF;
12135:
12136: ENG_Validate_Change_Line.Check_Existence
12137: ( p_change_line_rec => l_change_line_rec
12138: , p_change_line_unexp_rec => l_change_line_unexp_rec
12141: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12142: , x_return_status => l_Return_Status
12143: );
12144:
12145: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12146:
12147: IF l_return_status = Error_Handler.G_STATUS_ERROR
12148: THEN
12149: l_other_message := 'ENG_CL_EXS_SEV_ERROR';
12143: );
12144:
12145: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12146:
12147: IF l_return_status = Error_Handler.G_STATUS_ERROR
12148: THEN
12149: l_other_message := 'ENG_CL_EXS_SEV_ERROR';
12150: l_other_token_tbl(1).token_name := 'LINE_NAME';
12151: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12151: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12152: l_other_token_tbl(2).token_name := 'ECO_NAME';
12153: l_other_token_tbl(2).token_value := l_change_line_rec.eco_name;
12154: RAISE EXC_SEV_QUIT_BRANCH;
12155: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12156: THEN
12157: l_other_message := 'ENG_CL_EXS_UNEXP_SKIP';
12158: l_other_token_tbl(1).token_name := 'LINE_NAME';
12159: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12178: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12179: , x_Return_Status => l_return_status
12180: );
12181:
12182: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12183:
12184: IF l_return_status = Error_Handler.G_STATUS_ERROR
12185: THEN
12186: l_other_message := 'ENG_CL_ECOACC_FAT_FATAL';
12180: );
12181:
12182: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12183:
12184: IF l_return_status = Error_Handler.G_STATUS_ERROR
12185: THEN
12186: l_other_message := 'ENG_CL_ECOACC_FAT_FATAL';
12187: l_other_token_tbl(1).token_name := 'LINE_NAME';
12188: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12187: l_other_token_tbl(1).token_name := 'LINE_NAME';
12188: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12189: l_return_status := 'F';
12190: RAISE EXC_FAT_QUIT_OBJECT;
12191: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12192: THEN
12193: l_other_message := 'ENG_RIT_ECOACC_UNEXP_SKIP';
12194: l_other_token_tbl(1).token_name := 'LINE_NAME';
12195: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12200:
12201:
12202: -- Process Flow step 7: Value to Id conversions
12203: --
12204: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Value-id conversions'); END IF;
12205:
12206: ENG_Val_To_Id.Change_Line_VID
12207: ( p_change_line_rec => l_change_line_rec
12208: , p_change_line_unexp_rec => l_change_line_unexp_rec
12211: , x_Return_Status => l_return_status
12212: );
12213:
12214:
12215: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12216:
12217: IF l_return_status = Error_Handler.G_STATUS_ERROR
12218: THEN
12219: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12213:
12214:
12215: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12216:
12217: IF l_return_status = Error_Handler.G_STATUS_ERROR
12218: THEN
12219: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12220: THEN
12221: l_other_message := 'ENG_RIT_VID_CSEV_SKIP';
12224: RAISE EXC_SEV_SKIP_BRANCH;
12225: ELSE
12226: RAISE EXC_SEV_QUIT_RECORD;
12227: END IF;
12228: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12229: THEN
12230: RAISE EXC_UNEXP_SKIP_OBJECT;
12231: ELSIF l_return_status ='S' AND
12232: l_Mesg_Token_Tbl.COUNT <>0
12230: RAISE EXC_UNEXP_SKIP_OBJECT;
12231: ELSIF l_return_status ='S' AND
12232: l_Mesg_Token_Tbl.COUNT <>0
12233: THEN
12234: Eco_Error_Handler.Log_Error
12235: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12236: , p_revised_item_tbl => x_revised_item_tbl
12237: , p_rev_component_tbl => x_rev_component_tbl
12238: , p_ref_designator_tbl => x_ref_designator_tbl
12241: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12242: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12243: , p_mesg_token_tbl => l_mesg_token_tbl
12244: , p_error_status => 'W'
12245: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12246: , p_entity_index => I
12247: , x_ECO_rec => l_eco_rec
12248: , x_eco_revision_tbl => l_eco_revision_tbl
12249: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12260:
12261:
12262: -- Process Flow step8: check that user has access to item associated to change line
12263: --
12264: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
12265: IF l_change_line_unexp_rec.pk1_value IS NOT NULL THEN
12266:
12267: ENG_Validate_Change_Line.Check_Access
12268: ( p_change_line_rec => l_change_line_rec
12271: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12272: , x_return_status => l_Return_Status
12273: );
12274:
12275: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12276:
12277: IF l_return_status = Error_Handler.G_STATUS_ERROR
12278: THEN
12279: l_other_message := 'ENG_CL_ACCESS_FAT_FATAL';
12273: );
12274:
12275: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12276:
12277: IF l_return_status = Error_Handler.G_STATUS_ERROR
12278: THEN
12279: l_other_message := 'ENG_CL_ACCESS_FAT_FATAL';
12280: l_other_token_tbl(1).token_name := 'OBJECT_NAME';
12281: l_other_token_tbl(1).token_value := l_change_line_rec.pk1_name;
12282: l_other_token_tbl(2).token_name := 'LINE_NAME';
12283: l_other_token_tbl(2).token_value := l_change_line_rec.name;
12284: l_return_status := 'F';
12285: RAISE EXC_FAT_QUIT_BRANCH;
12286: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12287: THEN
12288: l_other_message := 'ENG_CL_ACCESS_UNEXP_SKIP';
12289: l_other_token_tbl(1).token_name := 'OBJECT_NAME';
12290: l_other_token_tbl(1).token_value := l_change_line_rec.pk1_name;
12298: --
12299: -- Process Flow step 10: Attribute Validation for CREATE and UPDATE
12300: --
12301:
12302: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
12303: IF l_change_line_rec.Transaction_Type IN
12304: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
12305: THEN
12306: ENG_Validate_Change_Line.Check_Attributes
12311: , p_old_change_line_rec => l_old_change_line_rec
12312: , p_old_change_line_unexp_rec => l_old_change_line_unexp_rec
12313: );
12314:
12315: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12316:
12317: IF l_return_status = Error_Handler.G_STATUS_ERROR
12318: THEN
12319: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12313: );
12314:
12315: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12316:
12317: IF l_return_status = Error_Handler.G_STATUS_ERROR
12318: THEN
12319: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12320: THEN
12321: l_other_message := 'ENG_RIT_ATTVAL_CSEV_SKIP';
12325: RAISE EXC_SEV_SKIP_BRANCH;
12326: ELSE
12327: RAISE EXC_SEV_QUIT_RECORD;
12328: END IF;
12329: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12330: THEN
12331:
12332: l_other_message := 'ENG_RIT_ATTVAL_UNEXP_SKIP';
12333: l_other_token_tbl(1).token_name := 'LINE_NAME';
12338: ELSIF l_return_status ='S' AND
12339: l_Mesg_Token_Tbl.COUNT <>0
12340: THEN
12341:
12342: Eco_Error_Handler.Log_Error
12343: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12344: , p_revised_item_tbl => x_revised_item_tbl
12345: , p_rev_component_tbl => x_rev_component_tbl
12346: , p_ref_designator_tbl => x_ref_designator_tbl
12349: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12350: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12351: , p_mesg_token_tbl => l_mesg_token_tbl
12352: , p_error_status => 'W'
12353: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12354: , p_entity_index => I
12355: , x_ECO_rec => l_eco_rec
12356: , x_eco_revision_tbl => l_eco_revision_tbl
12357: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12374:
12375: -- Process flow step 11 - Populate NULL columns for Update and
12376: -- Delete.
12377:
12378: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populating NULL Columns'); END IF;
12379:
12380: Eng_Default_Change_Line.Populate_NULL_Columns
12381: ( p_change_line_rec => l_change_line_rec
12382: , p_change_line_unexp_rec => l_change_line_unexp_rec
12390:
12391: -- Process Flow step 12: Default missing values for Operation CREATE
12392: --
12393:
12394: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting'); END IF;
12395: Eng_Default_Change_Line.Attribute_Defaulting
12396: ( p_change_line_rec => l_change_line_rec
12397: , p_change_line_unexp_rec => l_change_line_unexp_rec
12398: , x_change_line_rec => l_change_line_rec
12400: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12401: , x_return_status => l_return_status
12402: );
12403:
12404: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12405:
12406: IF l_return_status = Error_Handler.G_STATUS_ERROR
12407: THEN
12408: l_other_message := 'ENG_CL_ATTDEF_SEV_SKIP';
12402: );
12403:
12404: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12405:
12406: IF l_return_status = Error_Handler.G_STATUS_ERROR
12407: THEN
12408: l_other_message := 'ENG_CL_ATTDEF_SEV_SKIP';
12409: l_other_token_tbl(1).token_name := 'LINE_NAME';
12410: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12408: l_other_message := 'ENG_CL_ATTDEF_SEV_SKIP';
12409: l_other_token_tbl(1).token_name := 'LINE_NAME';
12410: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12411: RAISE EXC_SEV_SKIP_BRANCH;
12412: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12413: THEN
12414: l_other_message := 'ENG_CL_ATTDEF_UNEXP_SKIP';
12415: l_other_token_tbl(1).token_name := 'LINE_NAME';
12416: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12418: RAISE EXC_UNEXP_SKIP_OBJECT;
12419: ELSIF l_return_status ='S' AND
12420: l_Mesg_Token_Tbl.COUNT <>0
12421: THEN
12422: Eco_Error_Handler.Log_Error
12423: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12424: , p_revised_item_tbl => x_revised_item_tbl
12425: , p_rev_component_tbl => x_rev_component_tbl
12426: , p_ref_designator_tbl => x_ref_designator_tbl
12429: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12430: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12431: , p_mesg_token_tbl => l_mesg_token_tbl
12432: , p_error_status => 'W'
12433: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12434: , p_entity_index => I
12435: , x_ECO_rec => l_eco_rec
12436: , x_eco_revision_tbl => l_eco_revision_tbl
12437: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12449:
12450: -- Process Flow step 13 - Conditionally required attributes check
12451: --
12452:
12453: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Conditionally required attributes check'); END IF;
12454:
12455: --
12456: -- Put conditionally required check procedure here
12457: --
12455: --
12456: -- Put conditionally required check procedure here
12457: --
12458:
12459: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12460:
12461: ENG_Validate_Change_Line.Check_Conditionally_Required
12462: ( p_change_line_rec => l_change_line_rec
12463: , p_change_line_unexp_rec => l_change_line_unexp_rec
12464: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12465: , x_return_status => l_return_status
12466: );
12467:
12468: IF l_return_status = Error_Handler.G_STATUS_ERROR
12469: THEN
12470: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12471: THEN
12472: l_other_message := 'ENG_CL_CONREQ_CSEV_SKIP';
12475: RAISE EXC_SEV_SKIP_BRANCH;
12476: ELSE
12477: RAISE EXC_SEV_QUIT_RECORD;
12478: END IF;
12479: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12480: THEN
12481: l_other_message := 'ENG_CL_CONREQ_UNEXP_SKIP';
12482: l_other_token_tbl(1).token_name := 'LINE_NAME';
12483: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12485:
12486: ELSIF l_return_status ='S' AND
12487: l_Mesg_Token_Tbl.COUNT <>0
12488: THEN
12489: Eco_Error_Handler.Log_Error
12490: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12491: , p_revised_item_tbl => x_revised_item_tbl
12492: , p_rev_component_tbl => x_rev_component_tbl
12493: , p_ref_designator_tbl => x_ref_designator_tbl
12496: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12497: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12498: , p_mesg_token_tbl => l_mesg_token_tbl
12499: , p_error_status => 'W'
12500: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12501: , p_entity_index => I
12502: , x_ECO_rec => l_eco_rec
12503: , x_eco_revision_tbl => l_eco_revision_tbl
12504: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12515:
12516: -- Process Flow step 14: Entity defaulting for CREATE and UPDATE
12517: --
12518:
12519: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting'); END IF;
12520:
12521: IF l_change_line_rec.Transaction_Type IN
12522: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
12523: THEN
12532: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12533: , x_return_status => l_return_status
12534: );
12535:
12536: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12537:
12538: IF l_return_status = Error_Handler.G_STATUS_ERROR
12539: THEN
12540: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12534: );
12535:
12536: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12537:
12538: IF l_return_status = Error_Handler.G_STATUS_ERROR
12539: THEN
12540: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12541: THEN
12542: l_other_message := 'ENG_CL_ENTDEF_CSEV_SKIP';
12545: RAISE EXC_SEV_SKIP_BRANCH;
12546: ELSE
12547: RAISE EXC_SEV_QUIT_RECORD;
12548: END IF;
12549: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12550: THEN
12551: l_other_message := 'ENG_CL_ENTDEF_UNEXP_SKIP';
12552: l_other_token_tbl(1).token_name := 'LINE_NAME';
12553: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12554: RAISE EXC_UNEXP_SKIP_OBJECT;
12555: ELSIF l_return_status ='S' AND
12556: l_Mesg_Token_Tbl.COUNT <>0
12557: THEN
12558: Eco_Error_Handler.Log_Error
12559: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12560: , p_revised_item_tbl => x_revised_item_tbl
12561: , p_rev_component_tbl => x_rev_component_tbl
12562: , p_ref_designator_tbl => x_ref_designator_tbl
12565: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12566: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12567: , p_mesg_token_tbl => l_mesg_token_tbl
12568: , p_error_status => 'W'
12569: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12570: , p_entity_index => I
12571: , x_ECO_rec => l_eco_rec
12572: , x_eco_revision_tbl => l_eco_revision_tbl
12573: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12585:
12586: -- Process Flow step 15 - Entity Level Validation
12587: --
12588:
12589: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation'); END IF;
12590:
12591: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_DELETE
12592: THEN
12593: ENG_Validate_Change_Line.Check_Entity_Delete
12606: , x_return_status => l_Return_Status
12607: );
12608: END IF;
12609:
12610: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12611:
12612: IF l_return_status = Error_Handler.G_STATUS_ERROR
12613: THEN
12614: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12608: END IF;
12609:
12610: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12611:
12612: IF l_return_status = Error_Handler.G_STATUS_ERROR
12613: THEN
12614: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12615: THEN
12616: l_other_message := 'ENG_CL_ENTVAL_CSEV_SKIP';
12619: RAISE EXC_SEV_SKIP_BRANCH;
12620: ELSE
12621: RAISE EXC_SEV_QUIT_RECORD;
12622: END IF;
12623: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12624: THEN
12625: l_other_message := 'ENG_CL_ENTVAL_UNEXP_SKIP';
12626: l_other_token_tbl(1).token_name := 'LINE_NAME';
12627: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12628: RAISE EXC_UNEXP_SKIP_OBJECT;
12629: ELSIF l_return_status ='S' AND
12630: l_Mesg_Token_Tbl.COUNT <>0
12631: THEN
12632: Eco_Error_Handler.Log_Error
12633: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12634: , p_revised_item_tbl => x_revised_item_tbl
12635: , p_rev_component_tbl => x_rev_component_tbl
12636: , p_ref_designator_tbl => x_ref_designator_tbl
12639: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12640: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12641: , p_mesg_token_tbl => l_mesg_token_tbl
12642: , p_error_status => 'W'
12643: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12644: , p_entity_index => I
12645: , x_ECO_rec => l_eco_rec
12646: , x_eco_revision_tbl => l_eco_revision_tbl
12647: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12658:
12659: -- Process Flow step 16 : Database Writes
12660: --
12661:
12662: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Writing to the database'); END IF;
12663:
12664: ENG_Change_Line_Util.Perform_Writes
12665: ( p_change_line_rec => l_change_line_rec
12666: , p_change_line_unexp_rec => l_change_line_unexp_rec
12676: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12677: , x_return_status => l_Return_Status);
12678: --11.5.10
12679: END IF;
12680: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12681: -- Bug 4033384: Added error handling for subject validation for l_return_status G_STATUS_ERROR
12682: IF l_return_status = Error_Handler.G_STATUS_ERROR
12683: THEN
12684: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12678: --11.5.10
12679: END IF;
12680: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12681: -- Bug 4033384: Added error handling for subject validation for l_return_status G_STATUS_ERROR
12682: IF l_return_status = Error_Handler.G_STATUS_ERROR
12683: THEN
12684: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12685: THEN
12686: l_other_message := 'ENG_CL_ENTVAL_CSEV_SKIP';
12689: RAISE EXC_SEV_SKIP_BRANCH;
12690: ELSE
12691: RAISE EXC_SEV_QUIT_RECORD;
12692: END IF;
12693: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
12694: THEN
12695: l_other_message := 'ENG_CL_WRITES_UNEXP_SKIP';
12696: l_other_token_tbl(1).token_name := 'LINE_NAME';
12697: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12698: RAISE EXC_UNEXP_SKIP_OBJECT;
12699: ELSIF l_return_status ='S' AND
12700: l_Mesg_Token_Tbl.COUNT <>0
12701: THEN
12702: Eco_Error_Handler.Log_Error
12703: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12704: , p_revised_item_tbl => x_revised_item_tbl
12705: , p_rev_component_tbl => x_rev_component_tbl
12706: , p_ref_designator_tbl => x_ref_designator_tbl
12709: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12710: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12711: , p_mesg_token_tbl => l_mesg_token_tbl
12712: , p_error_status => 'W'
12713: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12714: , p_entity_index => I
12715: , x_ECO_rec => l_eco_rec
12716: , x_eco_revision_tbl => l_eco_revision_tbl
12717: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12726:
12727: END IF;
12728:
12729: IF Bom_Globals.Get_Debug = 'Y' THEN
12730: Error_Handler.Write_Debug('Writing to the database for Change Line is completed with '||l_return_status );
12731: END IF;
12732:
12733: --END IF; -- END IF statement that checks RETURN STATUS
12734:
12741: EXCEPTION
12742:
12743: WHEN EXC_SEV_QUIT_RECORD THEN
12744:
12745: Eco_Error_Handler.Log_Error
12746: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12747: , p_revised_item_tbl => x_revised_item_tbl
12748: , p_rev_component_tbl => x_rev_component_tbl
12749: , p_ref_designator_tbl => x_ref_designator_tbl
12752: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12753: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12754: , p_mesg_token_tbl => l_mesg_token_tbl
12755: , p_error_status => FND_API.G_RET_STS_ERROR
12756: , p_error_scope => Error_Handler.G_SCOPE_RECORD
12757: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12758: , p_entity_index => I
12759: , x_ECO_rec => l_ECO_rec
12760: , x_eco_revision_tbl => l_eco_revision_tbl
12753: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12754: , p_mesg_token_tbl => l_mesg_token_tbl
12755: , p_error_status => FND_API.G_RET_STS_ERROR
12756: , p_error_scope => Error_Handler.G_SCOPE_RECORD
12757: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12758: , p_entity_index => I
12759: , x_ECO_rec => l_ECO_rec
12760: , x_eco_revision_tbl => l_eco_revision_tbl
12761: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12787: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
12788:
12789: WHEN EXC_SEV_QUIT_BRANCH THEN
12790:
12791: Eco_Error_Handler.Log_Error
12792: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12793: , p_revised_item_tbl => x_revised_item_tbl
12794: , p_rev_component_tbl => x_rev_component_tbl
12795: , p_ref_designator_tbl => x_ref_designator_tbl
12797: , p_rev_operation_tbl => x_rev_operation_tbl --L1
12798: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12799: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12800: , p_mesg_token_tbl => l_mesg_token_tbl
12801: , p_error_status => Error_Handler.G_STATUS_ERROR
12802: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
12803: , p_other_status => Error_Handler.G_STATUS_ERROR
12804: , p_other_message => l_other_message
12805: , p_other_token_tbl => l_other_token_tbl
12798: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12799: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12800: , p_mesg_token_tbl => l_mesg_token_tbl
12801: , p_error_status => Error_Handler.G_STATUS_ERROR
12802: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
12803: , p_other_status => Error_Handler.G_STATUS_ERROR
12804: , p_other_message => l_other_message
12805: , p_other_token_tbl => l_other_token_tbl
12806: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12799: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12800: , p_mesg_token_tbl => l_mesg_token_tbl
12801: , p_error_status => Error_Handler.G_STATUS_ERROR
12802: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
12803: , p_other_status => Error_Handler.G_STATUS_ERROR
12804: , p_other_message => l_other_message
12805: , p_other_token_tbl => l_other_token_tbl
12806: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12807: , p_entity_index => I
12802: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
12803: , p_other_status => Error_Handler.G_STATUS_ERROR
12804: , p_other_message => l_other_message
12805: , p_other_token_tbl => l_other_token_tbl
12806: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12807: , p_entity_index => I
12808: , x_eco_rec => l_eco_rec
12809: , x_eco_revision_tbl => l_eco_revision_tbl
12810: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12838: RETURN;
12839:
12840: WHEN EXC_SEV_SKIP_BRANCH THEN
12841:
12842: Eco_Error_Handler.Log_Error
12843: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12844: , p_revised_item_tbl => x_revised_item_tbl
12845: , p_rev_component_tbl => x_rev_component_tbl
12846: , p_ref_designator_tbl => x_ref_designator_tbl
12848: , p_rev_operation_tbl => x_rev_operation_tbl --L1
12849: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12850: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12851: , p_mesg_token_tbl => l_mesg_token_tbl
12852: , p_error_status => Error_Handler.G_STATUS_ERROR
12853: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
12854: , p_other_message => l_other_message
12855: , p_other_token_tbl => l_other_token_tbl
12856: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
12849: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12850: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12851: , p_mesg_token_tbl => l_mesg_token_tbl
12852: , p_error_status => Error_Handler.G_STATUS_ERROR
12853: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
12854: , p_other_message => l_other_message
12855: , p_other_token_tbl => l_other_token_tbl
12856: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
12857: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12852: , p_error_status => Error_Handler.G_STATUS_ERROR
12853: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
12854: , p_other_message => l_other_message
12855: , p_other_token_tbl => l_other_token_tbl
12856: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
12857: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12858: , p_entity_index => I
12859: , x_ECO_rec => l_ECO_rec
12860: , x_eco_revision_tbl => l_eco_revision_tbl
12853: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
12854: , p_other_message => l_other_message
12855: , p_other_token_tbl => l_other_token_tbl
12856: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
12857: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12858: , p_entity_index => I
12859: , x_ECO_rec => l_ECO_rec
12860: , x_eco_revision_tbl => l_eco_revision_tbl
12861: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12888: RETURN;
12889:
12890: WHEN EXC_FAT_QUIT_OBJECT THEN
12891:
12892: Eco_Error_Handler.Log_Error
12893: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12894: , p_revised_item_tbl => x_revised_item_tbl
12895: , p_rev_component_tbl => x_rev_component_tbl
12896: , p_ref_designator_tbl => x_ref_designator_tbl
12898: , p_mesg_token_tbl => l_mesg_token_tbl
12899: , p_rev_operation_tbl => x_rev_operation_tbl --L1
12900: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12901: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12902: , p_error_status => Error_Handler.G_STATUS_FATAL
12903: , p_error_scope => Error_Handler.G_SCOPE_ALL
12904: , p_other_message => l_other_message
12905: , p_other_status => Error_Handler.G_STATUS_FATAL
12906: , p_other_token_tbl => l_other_token_tbl
12899: , p_rev_operation_tbl => x_rev_operation_tbl --L1
12900: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12901: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12902: , p_error_status => Error_Handler.G_STATUS_FATAL
12903: , p_error_scope => Error_Handler.G_SCOPE_ALL
12904: , p_other_message => l_other_message
12905: , p_other_status => Error_Handler.G_STATUS_FATAL
12906: , p_other_token_tbl => l_other_token_tbl
12907: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12901: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12902: , p_error_status => Error_Handler.G_STATUS_FATAL
12903: , p_error_scope => Error_Handler.G_SCOPE_ALL
12904: , p_other_message => l_other_message
12905: , p_other_status => Error_Handler.G_STATUS_FATAL
12906: , p_other_token_tbl => l_other_token_tbl
12907: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12908: , p_entity_index => I
12909: , x_ECO_rec => l_ECO_rec
12903: , p_error_scope => Error_Handler.G_SCOPE_ALL
12904: , p_other_message => l_other_message
12905: , p_other_status => Error_Handler.G_STATUS_FATAL
12906: , p_other_token_tbl => l_other_token_tbl
12907: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12908: , p_entity_index => I
12909: , x_ECO_rec => l_ECO_rec
12910: , x_eco_revision_tbl => l_eco_revision_tbl
12911: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12934:
12935:
12936: WHEN EXC_UNEXP_SKIP_OBJECT THEN
12937:
12938: Eco_Error_Handler.Log_Error
12939: ( p_change_line_tbl => x_change_line_tbl -- Eng Change
12940: , p_revised_item_tbl => x_revised_item_tbl
12941: , p_rev_component_tbl => x_rev_component_tbl
12942: , p_ref_designator_tbl => x_ref_designator_tbl
12944: , p_rev_operation_tbl => x_rev_operation_tbl --L1
12945: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12946: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12947: , p_mesg_token_tbl => l_mesg_token_tbl
12948: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
12949: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
12950: , p_other_message => l_other_message
12951: , p_other_token_tbl => l_other_token_tbl
12952: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12945: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
12946: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
12947: , p_mesg_token_tbl => l_mesg_token_tbl
12948: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
12949: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
12950: , p_other_message => l_other_message
12951: , p_other_token_tbl => l_other_token_tbl
12952: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12953: , x_ECO_rec => l_ECO_rec
12948: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
12949: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
12950: , p_other_message => l_other_message
12951: , p_other_token_tbl => l_other_token_tbl
12952: , p_error_level => ECO_Error_Handler.G_CL_LEVEL
12953: , x_ECO_rec => l_ECO_rec
12954: , x_eco_revision_tbl => l_eco_revision_tbl
12955: , x_change_line_tbl => x_change_line_tbl -- Eng Change
12956: , x_revised_item_tbl => x_revised_item_tbl
12986: RETURN;
12987: END IF;
12988:
12989:
12990: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Change Line returning with ' || l_bo_return_status); END IF;
12991:
12992: IF NVL(l_bo_return_status, 'S') <> 'S'
12993: THEN
12994: x_return_status := l_bo_return_status;
13032: , x_sub_component_tbl IN OUT NOCOPY BOM_BO_PUB.Sub_Component_Tbl_Type
13033: , x_rev_operation_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Operation_Tbl_Type --L1
13034: , x_rev_op_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type --L1
13035: , x_rev_sub_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type--L1
13036: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
13037: , x_return_status OUT NOCOPY VARCHAR2
13038: )
13039: IS
13040: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
13036: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
13037: , x_return_status OUT NOCOPY VARCHAR2
13038: )
13039: IS
13040: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
13041: l_other_token_tbl Error_Handler.Token_Tbl_Type;
13042: l_other_message VARCHAR2(2000);
13043: l_err_text VARCHAR2(2000);
13044: l_valid BOOLEAN := TRUE;
13037: , x_return_status OUT NOCOPY VARCHAR2
13038: )
13039: IS
13040: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
13041: l_other_token_tbl Error_Handler.Token_Tbl_Type;
13042: l_other_message VARCHAR2(2000);
13043: l_err_text VARCHAR2(2000);
13044: l_valid BOOLEAN := TRUE;
13045: l_Return_Status VARCHAR2(1);
13063: --l_change_line_tbl Eng_Eco_Pub.Change_Line_Tbl_Type := p_change_line_tbl; -- Eng Change
13064:
13065:
13066: l_return_value NUMBER;
13067: l_Token_Tbl Error_Handler.Token_Tbl_Type;
13068:
13069: EXC_SEV_QUIT_RECORD EXCEPTION;
13070: EXC_SEV_QUIT_OBJECT EXCEPTION;
13071: EXC_FAT_QUIT_OBJECT EXCEPTION;
13138:
13139: -- Check if transaction_type is valid
13140: --
13141:
13142: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Transaction Type validity'); END IF;
13143: ENG_GLOBALS.Transaction_Type_Validity
13144: ( p_transaction_type => l_eco_revision_rec.transaction_type
13145: , p_entity => 'ECO_Rev'
13146: , p_entity_id => l_eco_revision_rec.revision
13149: );
13150:
13151: IF NOT l_valid
13152: THEN
13153: l_return_status := Error_Handler.G_STATUS_ERROR;
13154: RAISE EXC_SEV_QUIT_RECORD;
13155: END IF;
13156:
13157: -- Process Flow step 3: Value-to-ID conversions
13167:
13168: -- Process Flow step 4: Verify that Revision is not NULL or MISSING
13169: --
13170:
13171: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check if Revision is missing or null'); END IF;
13172: ENG_Validate_Eco_Revision.Check_Required
13173: ( x_return_status => l_return_status
13174: , p_eco_revision_rec => l_eco_revision_rec
13175: , x_mesg_token_tbl => l_Mesg_Token_Tbl
13174: , p_eco_revision_rec => l_eco_revision_rec
13175: , x_mesg_token_tbl => l_Mesg_Token_Tbl
13176: );
13177:
13178: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13179:
13180: IF l_return_status = Error_Handler.G_STATUS_ERROR
13181: THEN
13182: RAISE EXC_SEV_QUIT_RECORD;
13176: );
13177:
13178: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13179:
13180: IF l_return_status = Error_Handler.G_STATUS_ERROR
13181: THEN
13182: RAISE EXC_SEV_QUIT_RECORD;
13183: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13184: THEN
13179:
13180: IF l_return_status = Error_Handler.G_STATUS_ERROR
13181: THEN
13182: RAISE EXC_SEV_QUIT_RECORD;
13183: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13184: THEN
13185: l_other_message := 'ENG_REV_KEYCOL_UNEXP_SKIP';
13186: l_other_token_tbl(1).token_name := 'REVISION';
13187: l_other_token_tbl(1).token_value := l_eco_revision_rec.revision;
13191: -- Process Flow step 5: Verify ECO's existence in database, if
13192: -- the revised item is being created on an ECO and the business
13193: -- object does not carry the ECO header
13194:
13195: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check parent existence'); END IF;
13196:
13197: IF l_eco_revision_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
13198: AND
13199: NOT l_eco_parent_exists
13209: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
13210: , x_return_status => l_Return_Status
13211: );
13212:
13213: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13214:
13215: IF l_return_status = Error_Handler.G_STATUS_ERROR
13216: THEN
13217: l_other_message := 'ENG_PARENTECO_NOT_EXIST';
13211: );
13212:
13213: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13214:
13215: IF l_return_status = Error_Handler.G_STATUS_ERROR
13216: THEN
13217: l_other_message := 'ENG_PARENTECO_NOT_EXIST';
13218: l_other_token_tbl(1).token_name := 'ECO_NAME';
13219: l_other_token_tbl(1).token_value := l_eco_revision_rec.ECO_Name;
13219: l_other_token_tbl(1).token_value := l_eco_revision_rec.ECO_Name;
13220: l_other_token_tbl(2).token_name := 'ORGANIZATION_CODE';
13221: l_other_token_tbl(2).token_value := l_eco_revision_rec.organization_code;
13222: RAISE EXC_SEV_QUIT_OBJECT;
13223: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13224: THEN
13225: l_other_message := 'ENG_REV_LIN_UNEXP_SKIP';
13226: l_other_token_tbl(1).token_name := 'REVISION';
13227: l_other_token_tbl(1).token_value := l_eco_revision_rec.revision;
13241: l_chk_co_sch := ret_co_status (l_eco_revision_rec.eco_name, l_eco_rev_unexp_rec.organization_id);
13242: END IF;
13243:
13244: IF l_chk_co_sch = 4 THEN
13245: l_return_status := error_handler.g_status_error;
13246: error_handler.add_error_token (p_message_name => 'ENG_ECO_REV_NOT_UPD',
13247: p_mesg_token_tbl => l_mesg_token_tbl,
13248: x_mesg_token_tbl => l_mesg_token_tbl,
13249: p_token_tbl => l_token_tbl
13242: END IF;
13243:
13244: IF l_chk_co_sch = 4 THEN
13245: l_return_status := error_handler.g_status_error;
13246: error_handler.add_error_token (p_message_name => 'ENG_ECO_REV_NOT_UPD',
13247: p_mesg_token_tbl => l_mesg_token_tbl,
13248: x_mesg_token_tbl => l_mesg_token_tbl,
13249: p_token_tbl => l_token_tbl
13250: );
13255:
13256: -- Process Flow step 4: Verify Revision's existence
13257: --
13258:
13259: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check Existence'); END IF;
13260: ENG_Validate_ECO_Revision.Check_Existence
13261: ( p_eco_revision_rec => l_eco_revision_rec
13262: , p_eco_rev_unexp_rec => l_eco_rev_unexp_rec
13263: , x_old_eco_revision_rec => l_old_eco_rev_rec
13265: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
13266: , x_return_status => l_Return_Status
13267: );
13268:
13269: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13270:
13271: IF l_return_status = Error_Handler.G_STATUS_ERROR
13272: THEN
13273: RAISE EXC_SEV_QUIT_RECORD;
13267: );
13268:
13269: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13270:
13271: IF l_return_status = Error_Handler.G_STATUS_ERROR
13272: THEN
13273: RAISE EXC_SEV_QUIT_RECORD;
13274: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13275: THEN
13270:
13271: IF l_return_status = Error_Handler.G_STATUS_ERROR
13272: THEN
13273: RAISE EXC_SEV_QUIT_RECORD;
13274: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13275: THEN
13276: l_other_message := 'ENG_REV_EXS_UNEXP_SKIP';
13277: l_other_token_tbl(1).token_name := 'REVISION';
13278: l_other_token_tbl(1).token_value := l_eco_revision_rec.revision;
13296: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
13297: , x_Return_Status => l_return_status
13298: );
13299:
13300: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13301:
13302: IF l_return_status = Error_Handler.G_STATUS_ERROR
13303: THEN
13304: l_other_message := 'ENG_REV_ACCESS_FAT_FATAL';
13298: );
13299:
13300: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13301:
13302: IF l_return_status = Error_Handler.G_STATUS_ERROR
13303: THEN
13304: l_other_message := 'ENG_REV_ACCESS_FAT_FATAL';
13305: l_other_token_tbl(1).token_name := 'REVISION';
13306: l_other_token_tbl(1).token_value := l_eco_revision_rec.revision;
13305: l_other_token_tbl(1).token_name := 'REVISION';
13306: l_other_token_tbl(1).token_value := l_eco_revision_rec.revision;
13307: l_return_status := 'F';
13308: RAISE EXC_FAT_QUIT_OBJECT;
13309: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13310: THEN
13311: l_other_message := 'ENG_REV_ACCESS_UNEXP_ERROR';
13312: l_other_token_tbl(1).token_name := 'REVISION';
13313: l_other_token_tbl(1).token_value := l_eco_revision_rec.revision;
13322:
13323: -- Process flow step 7 - Populate NULL columns for Update and
13324: -- Delete.
13325:
13326: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populating NULL Columns'); END IF;
13327: Eng_Default_ECO_Revision.Populate_NULL_Columns
13328: ( p_eco_revision_rec => l_eco_revision_rec
13329: , p_eco_rev_unexp_rec => l_eco_rev_unexp_rec
13330: , p_old_eco_revision_rec => l_old_eco_rev_rec
13337: ELSIF l_eco_revision_rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE THEN
13338:
13339: -- Process Flow step 8: Default missing values for Operation CREATE
13340:
13341: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting'); END IF;
13342: Eng_Default_ECO_revision.Attribute_Defaulting
13343: ( p_eco_revision_rec => l_eco_revision_rec
13344: , p_eco_rev_unexp_rec => l_eco_rev_unexp_rec
13345: , x_eco_revision_rec => l_eco_revision_rec
13347: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
13348: , x_return_status => l_Return_Status
13349: );
13350:
13351: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13352:
13353: IF l_return_status = Error_Handler.G_STATUS_ERROR
13354: THEN
13355: RAISE EXC_SEV_QUIT_RECORD;
13349: );
13350:
13351: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13352:
13353: IF l_return_status = Error_Handler.G_STATUS_ERROR
13354: THEN
13355: RAISE EXC_SEV_QUIT_RECORD;
13356: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13357: THEN
13352:
13353: IF l_return_status = Error_Handler.G_STATUS_ERROR
13354: THEN
13355: RAISE EXC_SEV_QUIT_RECORD;
13356: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13357: THEN
13358: l_other_message := 'ENG_REV_ATTDEF_UNEXP_SKIP';
13359: l_other_token_tbl(1).token_name := 'REVISION';
13360: l_other_token_tbl(1).token_value :=
13362: RAISE EXC_UNEXP_SKIP_OBJECT;
13363: ELSIF l_return_status ='S' AND
13364: l_Mesg_Token_Tbl.COUNT <>0
13365: THEN
13366: Eco_Error_Handler.Log_Error
13367: ( p_eco_revision_tbl => x_eco_revision_tbl
13368: , p_change_line_tbl => x_change_line_tbl -- Eng Change
13369: , p_revised_item_tbl => x_revised_item_tbl
13370: , p_rev_component_tbl => x_rev_component_tbl
13392: END IF;
13393:
13394: -- Process Flow step 10 - Entity Level Validation
13395:
13396: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation'); END IF;
13397: Eng_Validate_ECO_Revision.Check_Entity
13398: ( x_return_status => l_Return_Status
13399: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
13400: , p_eco_revision_rec => l_eco_revision_rec
13400: , p_eco_revision_rec => l_eco_revision_rec
13401: , p_eco_rev_unexp_rec => l_eco_rev_unexp_rec
13402: );
13403:
13404: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13405:
13406: IF l_return_status = Error_Handler.G_STATUS_ERROR
13407: THEN
13408: RAISE EXC_SEV_QUIT_RECORD;
13402: );
13403:
13404: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13405:
13406: IF l_return_status = Error_Handler.G_STATUS_ERROR
13407: THEN
13408: RAISE EXC_SEV_QUIT_RECORD;
13409: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13410: THEN
13405:
13406: IF l_return_status = Error_Handler.G_STATUS_ERROR
13407: THEN
13408: RAISE EXC_SEV_QUIT_RECORD;
13409: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13410: THEN
13411: l_other_message := 'ENG_REV_ENTVAL_UNEXP_ERROR';
13412: l_other_token_tbl(1).token_name := 'REVISION';
13413: l_other_token_tbl(1).token_value := l_eco_revision_rec.revision;
13414: RAISE EXC_UNEXP_SKIP_OBJECT;
13415: ELSIF l_return_status ='S' AND
13416: l_Mesg_Token_Tbl.COUNT <>0
13417: THEN
13418: Eco_Error_Handler.Log_Error
13419: ( p_eco_revision_tbl => x_eco_revision_tbl
13420: , p_change_line_tbl => x_change_line_tbl -- Eng Change
13421: , p_revised_item_tbl => x_revised_item_tbl
13422: , p_rev_component_tbl => x_rev_component_tbl
13443: END IF;
13444:
13445: -- Process Flow step 11 : Database Writes
13446:
13447: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Writing to the database'); END IF;
13448: ENG_ECO_Revision_Util.Perform_Writes
13449: ( p_eco_revision_rec => l_eco_revision_rec
13450: , p_eco_rev_unexp_rec => l_eco_rev_unexp_rec
13451: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
13451: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
13452: , x_return_status => l_return_status
13453: );
13454:
13455: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13456:
13457: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13458: THEN
13459: l_other_message := 'ENG_REV_WRITES_UNEXP_ERROR';
13453: );
13454:
13455: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
13456:
13457: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
13458: THEN
13459: l_other_message := 'ENG_REV_WRITES_UNEXP_ERROR';
13460: l_other_token_tbl(1).token_name := 'REVISION';
13461: l_other_token_tbl(1).token_value := l_eco_revision_rec.revision;
13462: RAISE EXC_UNEXP_SKIP_OBJECT;
13463: ELSIF l_return_status ='S' AND
13464: l_Mesg_Token_Tbl.COUNT <>0
13465: THEN
13466: Eco_Error_Handler.Log_Error
13467: ( p_eco_revision_tbl => x_eco_revision_tbl
13468: , p_change_line_tbl => x_change_line_tbl -- Eng Change
13469: , p_revised_item_tbl => x_revised_item_tbl
13470: , p_rev_component_tbl => x_rev_component_tbl
13501: EXCEPTION
13502:
13503: WHEN EXC_SEV_QUIT_RECORD THEN
13504:
13505: Eco_Error_Handler.Log_Error
13506: ( p_eco_revision_tbl => x_eco_revision_tbl
13507: , p_change_line_tbl => x_change_line_tbl -- Eng Change
13508: , p_revised_item_tbl => x_revised_item_tbl
13509: , p_rev_component_tbl => x_rev_component_tbl
13513: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
13514: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
13515: , p_mesg_token_tbl => l_mesg_token_tbl
13516: , p_error_status => FND_API.G_RET_STS_ERROR
13517: , p_error_scope => Error_Handler.G_SCOPE_RECORD
13518: , p_error_level => 2
13519: , p_entity_index => I
13520: , x_eco_rec => l_eco_rec
13521: , x_eco_revision_tbl => x_eco_revision_tbl
13547: --x_change_line_tbl := l_change_line_tbl ; -- Eng Change
13548:
13549: WHEN EXC_SEV_QUIT_OBJECT THEN
13550:
13551: Eco_Error_Handler.Log_Error
13552: ( p_eco_revision_tbl => x_eco_revision_tbl
13553: , p_change_line_tbl => x_change_line_tbl -- Eng Change
13554: , p_revised_item_tbl => x_revised_item_tbl
13555: , p_rev_component_tbl => x_rev_component_tbl
13557: , p_sub_component_tbl => x_sub_component_tbl
13558: , p_rev_operation_tbl => x_rev_operation_tbl --L1
13559: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
13560: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
13561: , p_error_status => Error_Handler.G_STATUS_ERROR
13562: , p_error_scope => Error_Handler.G_SCOPE_ALL
13563: , p_error_level => Error_Handler.G_BO_LEVEL
13564: , p_other_message => l_other_message
13565: , p_other_status => Error_Handler.G_STATUS_ERROR
13558: , p_rev_operation_tbl => x_rev_operation_tbl --L1
13559: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
13560: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
13561: , p_error_status => Error_Handler.G_STATUS_ERROR
13562: , p_error_scope => Error_Handler.G_SCOPE_ALL
13563: , p_error_level => Error_Handler.G_BO_LEVEL
13564: , p_other_message => l_other_message
13565: , p_other_status => Error_Handler.G_STATUS_ERROR
13566: , p_other_token_tbl => l_other_token_tbl
13559: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
13560: , p_rev_sub_resource_tbl => x_rev_sub_resource_tbl --L1
13561: , p_error_status => Error_Handler.G_STATUS_ERROR
13562: , p_error_scope => Error_Handler.G_SCOPE_ALL
13563: , p_error_level => Error_Handler.G_BO_LEVEL
13564: , p_other_message => l_other_message
13565: , p_other_status => Error_Handler.G_STATUS_ERROR
13566: , p_other_token_tbl => l_other_token_tbl
13567: , x_eco_rec => l_eco_rec
13561: , p_error_status => Error_Handler.G_STATUS_ERROR
13562: , p_error_scope => Error_Handler.G_SCOPE_ALL
13563: , p_error_level => Error_Handler.G_BO_LEVEL
13564: , p_other_message => l_other_message
13565: , p_other_status => Error_Handler.G_STATUS_ERROR
13566: , p_other_token_tbl => l_other_token_tbl
13567: , x_eco_rec => l_eco_rec
13568: , x_eco_revision_tbl => x_eco_revision_tbl
13569: , x_change_line_tbl => x_change_line_tbl -- Eng Change
13594: --x_change_line_tbl := l_change_line_tbl ; -- Eng Change
13595:
13596: WHEN EXC_FAT_QUIT_OBJECT THEN
13597:
13598: Eco_Error_Handler.Log_Error
13599: ( p_eco_revision_tbl => x_eco_revision_tbl
13600: , p_change_line_tbl => x_change_line_tbl -- Eng Change
13601: , p_revised_item_tbl => x_revised_item_tbl
13602: , p_rev_component_tbl => x_rev_component_tbl
13605: , p_rev_operation_tbl => x_rev_operation_tbl --L1
13606: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
13607: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
13608: , p_mesg_token_tbl => l_mesg_token_tbl
13609: , p_error_status => Error_Handler.G_STATUS_FATAL
13610: , p_error_scope => Error_Handler.G_SCOPE_ALL
13611: , p_other_status => Error_Handler.G_STATUS_FATAL
13612: , p_other_message => l_other_message
13613: , p_other_token_tbl => l_other_token_tbl
13606: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
13607: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
13608: , p_mesg_token_tbl => l_mesg_token_tbl
13609: , p_error_status => Error_Handler.G_STATUS_FATAL
13610: , p_error_scope => Error_Handler.G_SCOPE_ALL
13611: , p_other_status => Error_Handler.G_STATUS_FATAL
13612: , p_other_message => l_other_message
13613: , p_other_token_tbl => l_other_token_tbl
13614: , p_error_level => 2
13607: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
13608: , p_mesg_token_tbl => l_mesg_token_tbl
13609: , p_error_status => Error_Handler.G_STATUS_FATAL
13610: , p_error_scope => Error_Handler.G_SCOPE_ALL
13611: , p_other_status => Error_Handler.G_STATUS_FATAL
13612: , p_other_message => l_other_message
13613: , p_other_token_tbl => l_other_token_tbl
13614: , p_error_level => 2
13615: , p_entity_index => I
13639: l_return_status := 'Q';
13640:
13641: WHEN EXC_UNEXP_SKIP_OBJECT THEN
13642:
13643: Eco_Error_Handler.Log_Error
13644: ( p_eco_revision_tbl => x_eco_revision_tbl
13645: , p_change_line_tbl => x_change_line_tbl -- Eng Change
13646: , p_revised_item_tbl => x_revised_item_tbl
13647: , p_rev_component_tbl => x_rev_component_tbl
13650: , p_rev_operation_tbl => x_rev_operation_tbl --L1
13651: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
13652: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
13653: , p_mesg_token_tbl => l_mesg_token_tbl
13654: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
13655: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
13656: , p_other_message => l_other_message
13657: , p_other_token_tbl => l_other_token_tbl
13658: , p_error_level => 2
13651: , p_rev_op_resource_tbl => x_rev_op_resource_tbl --L1
13652: , p_rev_sub_resource_tbl=> x_rev_sub_resource_tbl --L1
13653: , p_mesg_token_tbl => l_mesg_token_tbl
13654: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
13655: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
13656: , p_other_message => l_other_message
13657: , p_other_token_tbl => l_other_token_tbl
13658: , p_error_level => 2
13659: , x_ECO_rec => l_ECO_rec
13718: p_change_id IN NUMBER,
13719: p_change_type_id IN NUMBER,
13720: p_user_id IN NUMBER,
13721: p_login_id IN NUMBER,
13722: x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type,
13723: x_return_status IN OUT NOCOPY VARCHAR2 )
13724: IS
13725:
13726: l_lifecycle_status_id NUMBER;
13725:
13726: l_lifecycle_status_id NUMBER;
13727: l_return_status VARCHAR2(1);
13728: l_err_text VARCHAR2(2000) ;
13729: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type ;
13730:
13731: /* Cursor to Fetch all the life cycle Statuses for corresponding Type. */
13732: CURSOR c_lifecycle_statuses IS
13733: SELECT *
13816: WHEN OTHERS THEN
13817:
13818: IF BOM_Globals.Get_Debug = 'Y'
13819: THEN
13820: Error_Handler.Write_Debug('Unexpected Error occured in Insert in Create_Change_Lifecycle . . .' || SQLERRM);
13821: END IF;
13822:
13823: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13824: THEN
13823: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13824: THEN
13825: l_err_text := G_PKG_NAME||' : Utility (Create_Change_Lifecycle Lifecycle Insert) '||SUBSTR(SQLERRM, 1, 200);
13826:
13827: Error_Handler.Add_Error_Token
13828: ( p_message_name => NULL
13829: , p_message_text => l_err_text
13830: , p_mesg_token_tbl => l_mesg_token_tbl
13831: , x_mesg_token_tbl => l_mesg_token_tbl
13832: );
13833: END IF ;
13834:
13835: -- Return the status and message table.
13836: x_return_status := Error_Handler.G_STATUS_UNEXPECTED;
13837: x_mesg_token_tbl := l_mesg_token_tbl ;
13838:
13839: END Create_Change_Lifecycle;
13840:
13843: , p_change_type_id IN NUMBER
13844: , p_organization_id IN NUMBER
13845: , p_transaction_type IN VARCHAR2
13846: , p_approval_status_type IN NUMBER -- Bug 3436684
13847: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
13848: , x_return_status OUT NOCOPY VARCHAR2
13849: )
13850: IS
13851:
13904: v_assignee_type VARCHAR2(80);
13905: l_change_line_rec Eng_Eco_Pub.Change_Line_Rec_Type;
13906: l_change_line_unexp_rec Eng_Eco_Pub.Change_Line_Unexposed_Rec_Type;
13907: l_dest_change_id NUMBER;
13908: l_msg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
13909: l_Return_Status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
13910: l_sql_stmt VARCHAR2(1000);
13911:
13912: BEGIN
13957: l_change_line_unexp_rec.assignee_id := NULL;
13958: WHEN OTHERS THEN
13959: IF BOM_Globals.Get_Debug = 'Y'
13960: THEN
13961: Error_Handler.Write_Debug('Unexpected Error occured in Insert . . .' || SQLERRM);
13962: END IF;
13963: END;*/
13964: /*OPEN c_grp_assignee(change_line.default_assignee_id);
13965: FETCH c_grp_assignee INTO v_assignee_id;
13996:
13997: PROCEDURE Create_Relation(
13998: p_change_id IN NUMBER
13999: , p_organization_id IN NUMBER
14000: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
14001: , x_return_status OUT NOCOPY VARCHAR2
14002: )
14003: is
14004: -- Error Handlig Variables
14003: is
14004: -- Error Handlig Variables
14005: l_return_status VARCHAR2(1);
14006: l_err_text VARCHAR2(2000) ;
14007: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type ;
14008: l_new_prop_relation NUMBER;
14009: begin
14010:
14011: select ENG_CHANGE_OBJ_RELATIONSHIPS_S.nextval
14047:
14048: EXCEPTION
14049:
14050: WHEN OTHERS THEN
14051: IF BOM_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
14052: ('Unexpected Error occured in Insert . . .' || SQLERRM);
14053: END IF;
14054:
14055:
14058: THEN
14059: l_err_text := G_PKG_NAME || ' : Utility (Relationship Insert) ' ||
14060: SUBSTR(SQLERRM, 1, 200);
14061:
14062: Error_Handler.Add_Error_Token
14063: ( p_message_name => NULL
14064: , p_message_text => l_err_text
14065: , p_mesg_token_tbl => l_mesg_token_tbl
14066: , x_mesg_token_tbl => l_mesg_token_tbl
14106: , x_sub_component_tbl IN OUT NOCOPY BOM_BO_PUB.Sub_Component_Tbl_Type
14107: , x_rev_operation_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Operation_Tbl_Type --L1--
14108: , x_rev_op_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Op_Resource_Tbl_Type --L1--
14109: , x_rev_sub_resource_tbl IN OUT NOCOPY Bom_Rtg_Pub.Rev_Sub_Resource_Tbl_Type --L1--
14110: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
14111: , x_return_status OUT NOCOPY VARCHAR2
14112: , x_disable_revision OUT NOCOPY NUMBER --Bug no:3034642
14113: )
14114: IS
14112: , x_disable_revision OUT NOCOPY NUMBER --Bug no:3034642
14113: )
14114: IS
14115:
14116: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
14117: l_other_token_tbl Error_Handler.Token_Tbl_Type;
14118: l_other_message VARCHAR2(50);
14119: l_err_text VARCHAR2(2000);
14120: l_valid BOOLEAN := TRUE;
14113: )
14114: IS
14115:
14116: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
14117: l_other_token_tbl Error_Handler.Token_Tbl_Type;
14118: l_other_message VARCHAR2(50);
14119: l_err_text VARCHAR2(2000);
14120: l_valid BOOLEAN := TRUE;
14121: l_Return_Status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
14156: -- Bug 2916558 // kamohan
14157: -- End Changes
14158:
14159: l_return_value NUMBER;
14160: l_Token_Tbl Error_Handler.Token_Tbl_Type;
14161:
14162: EXC_SEV_QUIT_RECORD EXCEPTION;
14163: EXC_SEV_QUIT_BRANCH EXCEPTION;
14164: EXC_SEV_SKIP_BRANCH EXCEPTION;
14226: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14227: );
14228: IF NOT l_valid
14229: THEN
14230: l_return_status := Error_Handler.G_STATUS_ERROR;
14231: RAISE EXC_SEV_QUIT_RECORD;
14232: END IF;
14233:
14234:
14244: , x_eco_unexp_rec => l_old_eco_unexp_rec
14245: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14246: , x_return_status => l_Return_Status
14247: );
14248: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14249:
14250: IF l_return_status = Error_Handler.G_STATUS_ERROR
14251: THEN
14252: l_other_message := 'ENG_ECO_EXS_SEV_ERROR';
14246: , x_return_status => l_Return_Status
14247: );
14248: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14249:
14250: IF l_return_status = Error_Handler.G_STATUS_ERROR
14251: THEN
14252: l_other_message := 'ENG_ECO_EXS_SEV_ERROR';
14253: l_other_token_tbl(1).token_name := 'ECO_NAME';
14254: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14252: l_other_message := 'ENG_ECO_EXS_SEV_ERROR';
14253: l_other_token_tbl(1).token_name := 'ECO_NAME';
14254: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14255: RAISE EXC_SEV_QUIT_BRANCH;
14256: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14257: THEN
14258: l_other_message := 'ENG_ECO_EXS_UNEXP_SKIP';
14259: l_other_token_tbl(1).token_name := 'ECO_NAME';
14260: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14279: ,P_eco_unexp_rec => l_eco_unexp_rec
14280: ,x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14281: ,x_return_status => l_return_status
14282: );
14283: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14284:
14285: IF l_return_status = Error_Handler.G_STATUS_ERROR
14286: THEN
14287: IF l_ECO_rec.transaction_type = 'CREATE'
14281: ,x_return_status => l_return_status
14282: );
14283: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14284:
14285: IF l_return_status = Error_Handler.G_STATUS_ERROR
14286: THEN
14287: IF l_ECO_rec.transaction_type = 'CREATE'
14288: THEN
14289: l_other_message := 'ENG_ECO_CHGVID_CSEV_SKIP';
14292: RAISE EXC_SEV_SKIP_BRANCH;
14293: ELSE
14294: RAISE EXC_SEV_QUIT_RECORD;
14295: END IF;
14296: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14297: THEN
14298: l_other_message := 'ENG_ECO_CHGVID_UNEXP_SKIP';
14299: l_other_token_tbl(1).token_name := 'ECO_NAME';
14300: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14340:
14341: -- If it is PLM CO and when the user tries to change the change order type
14342: -- raise an error and stop processing the record
14343: IF ( NVL(chk_co_type.change_order_type, '***') <> l_eco_rec.change_type_code AND chk_co_type.assignee_id IS NOT NULL) THEN
14344: l_return_status := error_handler.g_status_error;
14345: error_handler.add_error_token (p_message_name => 'ENG_CHG_ORD_TYP_CNUPD',
14346: p_mesg_token_tbl => l_mesg_token_tbl,
14347: x_mesg_token_tbl => l_mesg_token_tbl,
14348: p_token_tbl => l_token_tbl
14341: -- If it is PLM CO and when the user tries to change the change order type
14342: -- raise an error and stop processing the record
14343: IF ( NVL(chk_co_type.change_order_type, '***') <> l_eco_rec.change_type_code AND chk_co_type.assignee_id IS NOT NULL) THEN
14344: l_return_status := error_handler.g_status_error;
14345: error_handler.add_error_token (p_message_name => 'ENG_CHG_ORD_TYP_CNUPD',
14346: p_mesg_token_tbl => l_mesg_token_tbl,
14347: x_mesg_token_tbl => l_mesg_token_tbl,
14348: p_token_tbl => l_token_tbl
14349: );
14352: END IF;
14353: -- Bug 2916558 // kamohan
14354: -- End Changes
14355:
14356: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14357:
14358: IF l_return_status = Error_Handler.G_STATUS_ERROR
14359: THEN
14360: l_other_message := 'ENG_ECO_ACCESS_FAT_FATAL';
14354: -- End Changes
14355:
14356: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14357:
14358: IF l_return_status = Error_Handler.G_STATUS_ERROR
14359: THEN
14360: l_other_message := 'ENG_ECO_ACCESS_FAT_FATAL';
14361: l_other_token_tbl(1).token_name := 'ECO_NAME';
14362: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14361: l_other_token_tbl(1).token_name := 'ECO_NAME';
14362: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14363: l_return_status := 'F';
14364: RAISE EXC_FAT_QUIT_OBJECT;
14365: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14366: THEN
14367: l_other_message := 'ENG_ECO_ACCESS_UNEXP_SKIP';
14368: l_other_token_tbl(1).token_name := 'ECO_NAME';
14369: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14372:
14373: -- Process Flow step 6: Value-to-ID conversions
14374: --
14375:
14376: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Value-Id conversions'); END IF;
14377:
14378: ENG_Val_To_Id.ECO_Header_VID
14379: ( x_Return_Status => l_return_status
14380: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14381: , p_ECO_Rec => l_ECO_Rec
14382: , p_ECO_Unexp_Rec => l_ECO_Unexp_Rec
14383: , x_ECO_Unexp_Rec => l_ECO_Unexp_Rec
14384: );
14385: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14386:
14387: IF l_return_status = Error_Handler.G_STATUS_ERROR
14388: THEN
14389: IF l_ECO_rec.transaction_type = 'CREATE'
14383: , x_ECO_Unexp_Rec => l_ECO_Unexp_Rec
14384: );
14385: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14386:
14387: IF l_return_status = Error_Handler.G_STATUS_ERROR
14388: THEN
14389: IF l_ECO_rec.transaction_type = 'CREATE'
14390: THEN
14391: l_other_message := 'ENG_ECO_VID_CSEV_SKIP';
14394: RAISE EXC_SEV_SKIP_BRANCH;
14395: ELSE
14396: RAISE EXC_SEV_QUIT_RECORD;
14397: END IF;
14398: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14399: THEN
14400: l_other_message := 'ENG_ECO_VID_UNEXP_SKIP';
14401: l_other_token_tbl(1).token_name := 'ECO_NAME';
14402: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14403: RAISE EXC_UNEXP_SKIP_OBJECT;
14404: ELSIF l_return_status ='S' AND
14405: l_Mesg_Token_Tbl.COUNT <>0
14406: THEN
14407: Eco_Error_Handler.Log_Error
14408: ( p_ECO_rec => l_ECO_rec
14409: , p_eco_revision_tbl => l_eco_revision_tbl
14410: , p_change_line_tbl => l_change_line_tbl -- Eng Change
14411: , p_revised_item_tbl => l_revised_item_tbl
14436:
14437: IF l_ECO_rec.transaction_type IN
14438: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_CREATE)
14439: THEN
14440: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute validation'); END IF;
14441:
14442: ENG_Validate_ECO.Check_Attributes
14443: ( x_return_status => l_return_status
14444: , x_err_text => l_err_text
14449: , p_old_Unexp_ECO_rec => l_Old_ECO_Unexp_Rec
14450: , p_change_line_tbl => l_change_line_tbl --Bug no:2908248
14451: , p_revised_item_tbl => l_revised_item_tbl --Bug 2908248
14452: );
14453: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14454:
14455: IF l_return_status = Error_Handler.G_STATUS_ERROR
14456: THEN
14457: IF l_ECO_rec.transaction_type = 'CREATE'
14451: , p_revised_item_tbl => l_revised_item_tbl --Bug 2908248
14452: );
14453: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14454:
14455: IF l_return_status = Error_Handler.G_STATUS_ERROR
14456: THEN
14457: IF l_ECO_rec.transaction_type = 'CREATE'
14458: THEN
14459: l_other_message := 'ENG_ECO_ATTVAL_CSEV_SKIP';
14462: RAISE EXC_SEV_SKIP_BRANCH;
14463: ELSE
14464: RAISE EXC_SEV_QUIT_RECORD;
14465: END IF;
14466: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14467: THEN
14468: l_other_message := 'ENG_ECO_ATTVAL_UNEXP_SKIP';
14469: l_other_token_tbl(1).token_name := 'ECO_NAME';
14470: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14472: RAISE EXC_UNEXP_SKIP_OBJECT;
14473: ELSIF l_return_status ='S' AND
14474: l_Mesg_Token_Tbl.COUNT <>0
14475: THEN
14476: Eco_Error_Handler.Log_Error
14477: ( p_ECO_rec => l_ECO_rec
14478: , p_eco_revision_tbl => l_eco_revision_tbl
14479: , p_change_line_tbl => l_change_line_tbl -- Eng Change
14480: , p_revised_item_tbl => l_revised_item_tbl
14507:
14508: -- Process flow step 8 - Populate NULL columns for Update and
14509: -- Delete.
14510:
14511: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populating NULL Columns'); END IF;
14512: Eng_Default_ECO.Populate_NULL_Columns
14513: ( p_ECO_rec => l_ECO_Rec
14514: , p_Unexp_ECO_rec => l_ECO_Unexp_Rec
14515: , p_Old_ECO_rec => l_Old_ECO_Rec
14521: ELSIF l_ECO_Rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE THEN
14522:
14523: -- Process Flow step 9: Default missing values for Operation CREATE
14524:
14525: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting'); END IF;
14526: Eng_Default_ECO.Attribute_Defaulting
14527: ( p_ECO_rec => l_ECO_Rec
14528: , p_Unexp_ECO_Rec => l_ECO_Unexp_Rec
14529: , x_ECO_rec => l_ECO_Rec
14531: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14532: , x_return_status => l_Return_Status
14533: );
14534:
14535: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14536:
14537: IF l_return_status = Error_Handler.G_STATUS_ERROR
14538: THEN
14539: IF l_ECO_rec.transaction_type = 'CREATE'
14533: );
14534:
14535: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14536:
14537: IF l_return_status = Error_Handler.G_STATUS_ERROR
14538: THEN
14539: IF l_ECO_rec.transaction_type = 'CREATE'
14540: THEN
14541: l_other_message := 'ENG_ECO_ATTDEF_CSEV_SKIP';
14544: RAISE EXC_SEV_SKIP_BRANCH;
14545: ELSE
14546: RAISE EXC_SEV_QUIT_RECORD;
14547: END IF;
14548: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14549: THEN
14550: l_other_message := 'ENG_ECO_ATTDEF_UNEXP_SKIP';
14551: l_other_token_tbl(1).token_name := 'ECO_NAME';
14552: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14553: RAISE EXC_UNEXP_SKIP_OBJECT;
14554: ELSIF l_return_status ='S' AND
14555: l_Mesg_Token_Tbl.COUNT <>0
14556: THEN
14557: Eco_Error_Handler.Log_Error
14558: ( p_ECO_rec => l_ECO_rec
14559: , p_eco_revision_tbl => l_eco_revision_tbl
14560: , p_change_line_tbl => l_change_line_tbl -- Eng Change
14561: , p_revised_item_tbl => l_revised_item_tbl
14582: END IF;
14583: END IF;
14584:
14585: -- Process Flow step 10 - Check Conditionally Required Fields
14586: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check conditionally required attributes'); END IF;
14587: ENG_Validate_ECO.Conditionally_Required
14588: ( x_return_status => l_return_status
14589: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14590: , p_ECO_rec => l_ECO_rec
14591: , p_Unexp_ECO_rec => l_ECO_Unexp_Rec
14592: , p_old_ECO_rec => l_old_ECO_rec
14593: , p_old_Unexp_ECO_rec => l_old_ECO_unexp_rec
14594: );
14595: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14596:
14597: IF l_return_status = Error_Handler.G_STATUS_ERROR
14598: THEN
14599: IF l_ECO_rec.transaction_type = 'CREATE'
14593: , p_old_Unexp_ECO_rec => l_old_ECO_unexp_rec
14594: );
14595: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14596:
14597: IF l_return_status = Error_Handler.G_STATUS_ERROR
14598: THEN
14599: IF l_ECO_rec.transaction_type = 'CREATE'
14600: THEN
14601: l_other_message := 'ENG_ECO_CONREQ_CSEV_SKIP';
14604: RAISE EXC_SEV_SKIP_BRANCH;
14605: ELSE
14606: RAISE EXC_SEV_QUIT_RECORD;
14607: END IF;
14608: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14609: THEN
14610: l_other_message := 'ENG_ECO_CONREQ_UNEXP_SKIP';
14611: l_other_token_tbl(1).token_name := 'ECO_NAME';
14612: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14613: RAISE EXC_UNEXP_SKIP_OBJECT;
14614: ELSIF l_return_status ='S' AND
14615: l_Mesg_Token_Tbl.COUNT <>0
14616: THEN
14617: Eco_Error_Handler.Log_Error
14618: ( p_ECO_rec => l_ECO_rec
14619: , p_eco_revision_tbl => l_eco_revision_tbl
14620: , p_change_line_tbl => l_change_line_tbl -- Eng Change
14621: , p_revised_item_tbl => l_revised_item_tbl
14641: );
14642: END IF;
14643:
14644: -- Process Flow step 11 - Entity Level Defaulting
14645: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity Defaulting'); END IF;
14646: ENG_Default_ECO.Entity_Defaulting
14647: ( p_ECO_rec => l_ECO_rec
14648: , p_Unexp_ECO_rec => l_ECO_unexp_rec
14649: , p_Old_ECO_rec => l_old_ECO_rec
14652: , x_Unexp_ECO_rec => l_ECO_unexp_rec
14653: , x_return_status => l_return_status
14654: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14655: );
14656: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14657:
14658: IF l_return_status = Error_Handler.G_STATUS_ERROR
14659: THEN
14660: IF l_ECO_rec.transaction_type = 'CREATE'
14654: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14655: );
14656: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14657:
14658: IF l_return_status = Error_Handler.G_STATUS_ERROR
14659: THEN
14660: IF l_ECO_rec.transaction_type = 'CREATE'
14661: THEN
14662: l_other_message := 'ENG_ECO_ENTDEF_CSEV_SKIP';
14665: RAISE EXC_SEV_SKIP_BRANCH;
14666: ELSE
14667: RAISE EXC_SEV_QUIT_RECORD;
14668: END IF;
14669: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14670: THEN
14671: l_other_message := 'ENG_ECO_ENTDEF_UNEXP_SKIP';
14672: l_other_token_tbl(1).token_name := 'ECO_NAME';
14673: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14674: RAISE EXC_UNEXP_SKIP_OBJECT;
14675: ELSIF l_return_status ='S' AND
14676: l_Mesg_Token_Tbl.COUNT <>0
14677: THEN
14678: Eco_Error_Handler.Log_Error
14679: ( p_ECO_rec => l_ECO_rec
14680: , p_eco_revision_tbl => l_eco_revision_tbl
14681: , p_change_line_tbl => l_change_line_tbl -- Eng Change
14682: , p_revised_item_tbl => l_revised_item_tbl
14705: -- Process Flow step 12 - Entity Level Validation
14706:
14707: IF l_eco_rec.transaction_type = 'DELETE'
14708: THEN
14709: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Calling Check_Delete...'); END IF;
14710: ENG_Validate_ECO.Check_Delete
14711: ( p_eco_rec => l_eco_rec
14712: , p_Unexp_ECO_rec => l_ECO_Unexp_Rec
14713: , x_return_status => l_return_status
14715: );
14716: END IF;
14717:
14718:
14719: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation'); END IF;
14720: Eng_Validate_ECO.Check_Entity
14721: ( x_return_status => l_Return_Status
14722: , x_err_text => l_err_text
14723: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14726: , p_old_ECO_rec => l_old_ECO_rec
14727: , p_old_unexp_ECO_rec => l_old_ECO_unexp_rec
14728: );
14729:
14730: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14731:
14732: IF l_return_status = Error_Handler.G_STATUS_ERROR
14733: THEN
14734: IF l_ECO_rec.transaction_type = 'CREATE'
14728: );
14729:
14730: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14731:
14732: IF l_return_status = Error_Handler.G_STATUS_ERROR
14733: THEN
14734: IF l_ECO_rec.transaction_type = 'CREATE'
14735: THEN
14736: l_other_message := 'ENG_ECO_ENTVAL_CSEV_SKIP';
14739: RAISE EXC_SEV_SKIP_BRANCH;
14740: ELSE
14741: RAISE EXC_SEV_QUIT_RECORD;
14742: END IF;
14743: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14744: THEN
14745: l_other_message := 'ENG_ECO_ENTVAL_UNEXP_SKIP';
14746: l_other_token_tbl(1).token_name := 'ECO_NAME';
14747: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14748: RAISE EXC_UNEXP_SKIP_OBJECT;
14749: ELSIF l_return_status ='S' AND
14750: l_Mesg_Token_Tbl.COUNT <>0
14751: THEN
14752: Eco_Error_Handler.Log_Error
14753: ( p_ECO_rec => l_ECO_rec
14754: , p_eco_revision_tbl => l_eco_revision_tbl
14755: , p_change_line_tbl => l_change_line_tbl -- Eng Change
14756: , p_revised_item_tbl => l_revised_item_tbl
14777: END IF;
14778:
14779: -- Process Flow step 13 : Database Writes
14780: SAVEPOINT EngEcoPvt_Eco_Header; -- bug 3572721
14781: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Writing to the database'); END IF;
14782: ENG_ECO_Util.Perform_Writes
14783: ( p_ECO_rec => l_ECO_rec
14784: , p_Unexp_ECO_rec => l_ECO_unexp_rec
14785: , p_old_ECO_rec => l_old_ECO_rec
14786: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14787: , x_return_status => l_return_status
14788: );
14789:
14790: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14791:
14792: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14793: THEN
14794: l_other_message := 'ENG_ECO_WRITES_UNEXP_SKIP';
14788: );
14789:
14790: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
14791:
14792: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14793: THEN
14794: l_other_message := 'ENG_ECO_WRITES_UNEXP_SKIP';
14795: l_other_token_tbl(1).token_name := 'ECO_NAME';
14796: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14797: RAISE EXC_UNEXP_SKIP_OBJECT;
14798: ELSIF l_return_status ='S' AND
14799: l_Mesg_Token_Tbl.COUNT <>0
14800: THEN
14801: Eco_Error_Handler.Log_Error
14802: ( p_ECO_rec => l_ECO_rec
14803: , p_eco_revision_tbl => l_eco_revision_tbl
14804: , p_change_line_tbl => l_change_line_tbl -- Eng Change
14805: , p_revised_item_tbl => l_revised_item_tbl
14837: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl --bug 3572721
14838: , x_return_status => l_return_status);
14839:
14840: -- Added subjects error Handling for bug 3572721
14841: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Subjects created with status ' || l_return_status);
14842: END IF;
14843: IF l_return_status = Error_Handler.G_STATUS_ERROR
14844: THEN
14845: Rollback TO EngEcoPvt_Eco_Header; -- bug 3572721
14839:
14840: -- Added subjects error Handling for bug 3572721
14841: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Subjects created with status ' || l_return_status);
14842: END IF;
14843: IF l_return_status = Error_Handler.G_STATUS_ERROR
14844: THEN
14845: Rollback TO EngEcoPvt_Eco_Header; -- bug 3572721
14846: RAISE EXC_SEV_SKIP_BRANCH;
14847: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14843: IF l_return_status = Error_Handler.G_STATUS_ERROR
14844: THEN
14845: Rollback TO EngEcoPvt_Eco_Header; -- bug 3572721
14846: RAISE EXC_SEV_SKIP_BRANCH;
14847: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14848: THEN
14849: l_other_message := 'ENG_ECO_WRITES_UNEXP_SKIP';
14850: l_other_token_tbl(1).token_name := 'ECO_NAME';
14851: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14879: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl --bug 3572721
14880: , x_return_status => l_return_status);
14881:
14882: -- Added subjects error Handling for bug 3572721
14883: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Subjects created with status ' || l_return_status);
14884: END IF;
14885: IF l_return_status = Error_Handler.G_STATUS_ERROR
14886: THEN
14887: Rollback TO EngEcoPvt_Eco_Header; -- bug 3572721
14881:
14882: -- Added subjects error Handling for bug 3572721
14883: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Subjects created with status ' || l_return_status);
14884: END IF;
14885: IF l_return_status = Error_Handler.G_STATUS_ERROR
14886: THEN
14887: Rollback TO EngEcoPvt_Eco_Header; -- bug 3572721
14888: RAISE EXC_SEV_SKIP_BRANCH;
14889: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14885: IF l_return_status = Error_Handler.G_STATUS_ERROR
14886: THEN
14887: Rollback TO EngEcoPvt_Eco_Header; -- bug 3572721
14888: RAISE EXC_SEV_SKIP_BRANCH;
14889: ELSIF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14890: THEN
14891: l_other_message := 'ENG_ECO_WRITES_UNEXP_SKIP';
14892: l_other_token_tbl(1).token_name := 'ECO_NAME';
14893: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14927: , p_login_id => l_login_id
14928: , x_Mesg_Token_Tbl => l_mesg_token_tbl
14929: , x_return_status => l_return_status);
14930:
14931: IF (l_return_status = Error_Handler.G_STATUS_UNEXPECTED)
14932: THEN
14933: l_other_message := 'ENG_ECO_WRITES_UNEXP_SKIP';
14934: l_other_token_tbl(1).token_name := 'ECO_NAME';
14935: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14954: || '); END;';
14955: EXECUTE IMMEDIATE l_plsql_block USING IN 1.0, IN l_eco_unexp_rec.change_id,
14956: OUT l_return_status, OUT l_pls_msg_count, OUT l_pls_msg_data, IN 'CP';
14957:
14958: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
14959: THEN
14960: l_other_message := 'ENG_ECO_WRITES_UNEXP_SKIP';
14961: l_other_token_tbl(1).token_name := 'ECO_NAME';
14962: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
14965: THEN
14966:
14967: FOR I IN 1..l_pls_msg_count
14968: LOOP
14969: Error_Handler.Add_Error_Token
14970: ( p_Message_Text => FND_MSG_PUB.get(I, 'F')
14971: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14972: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14973: );
14972: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
14973: );
14974:
14975: END LOOP;
14976: Eco_Error_Handler.Log_Error
14977: ( p_ECO_rec => l_ECO_rec
14978: , p_eco_revision_tbl => l_eco_revision_tbl
14979: , p_change_line_tbl => l_change_line_tbl -- Eng Change
14980: , p_revised_item_tbl => l_revised_item_tbl
15002: EXCEPTION
15003: WHEN OTHERS THEN
15004: IF Bom_Globals.Get_Debug = 'Y'
15005: THEN
15006: Error_Handler.Write_Debug('Lifecycle initialized with status ' || l_return_status);
15007: END IF;
15008: l_other_message := 'ENG_ECO_WRITES_UNEXP_SKIP';
15009: l_other_token_tbl(1).token_name := 'ECO_NAME';
15010: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
15039: end if;
15040:
15041:
15042:
15043: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Tasks created with status ' || l_return_status);
15044: END IF;
15045:
15046: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
15047: THEN
15042:
15043: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Tasks created with status ' || l_return_status);
15044: END IF;
15045:
15046: IF l_return_status = Error_Handler.G_STATUS_UNEXPECTED
15047: THEN
15048: l_other_message := 'ENG_ECO_WRITES_UNEXP_SKIP';
15049: l_other_token_tbl(1).token_name := 'ECO_NAME';
15050: l_other_token_tbl(1).token_value := l_ECO_rec.ECO_Name;
15051: RAISE EXC_UNEXP_SKIP_OBJECT;
15052: ELSIF l_return_status ='S' AND
15053: l_Mesg_Token_Tbl.COUNT <>0
15054: THEN
15055: Eco_Error_Handler.Log_Error
15056: ( p_ECO_rec => l_ECO_rec
15057: , p_eco_revision_tbl => l_eco_revision_tbl
15058: , p_change_line_tbl => l_change_line_tbl -- Eng Change
15059: , p_revised_item_tbl => l_revised_item_tbl
15082: EXCEPTION
15083:
15084: WHEN EXC_SEV_QUIT_RECORD THEN
15085:
15086: Eco_Error_Handler.Log_Error
15087: ( p_ECO_rec => l_ECO_rec
15088: , p_eco_revision_tbl => l_eco_revision_tbl
15089: , p_change_line_tbl => l_change_line_tbl -- Eng Change
15090: , p_revised_item_tbl => l_revised_item_tbl
15095: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
15096: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15097: , p_mesg_token_tbl => l_mesg_token_tbl
15098: , p_error_status => FND_API.G_RET_STS_ERROR
15099: , p_error_scope => Error_Handler.G_SCOPE_RECORD
15100: , p_error_level => 1
15101: , x_ECO_rec => l_ECO_rec
15102: , x_eco_revision_tbl => l_eco_revision_tbl
15103: , x_change_line_tbl => l_change_line_tbl -- Eng Change
15124: x_change_line_tbl := l_change_line_tbl ; -- Eng Change
15125:
15126: WHEN EXC_SEV_QUIT_BRANCH THEN
15127:
15128: Eco_Error_Handler.Log_Error
15129: ( p_ECO_rec => l_ECO_rec
15130: , p_eco_revision_tbl => l_eco_revision_tbl
15131: , p_change_line_tbl => l_change_line_tbl -- Eng Change
15132: , p_revised_item_tbl => l_revised_item_tbl
15136: , p_rev_operation_tbl => l_rev_operation_tbl --L1
15137: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
15138: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15139: , p_mesg_token_tbl => l_mesg_token_tbl
15140: , p_error_status => Error_Handler.G_STATUS_ERROR
15141: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
15142: , p_other_status => Error_Handler.G_STATUS_ERROR
15143: , p_other_message => l_other_message
15144: , p_other_token_tbl => l_other_token_tbl
15137: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
15138: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15139: , p_mesg_token_tbl => l_mesg_token_tbl
15140: , p_error_status => Error_Handler.G_STATUS_ERROR
15141: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
15142: , p_other_status => Error_Handler.G_STATUS_ERROR
15143: , p_other_message => l_other_message
15144: , p_other_token_tbl => l_other_token_tbl
15145: , p_error_level => 1
15138: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15139: , p_mesg_token_tbl => l_mesg_token_tbl
15140: , p_error_status => Error_Handler.G_STATUS_ERROR
15141: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
15142: , p_other_status => Error_Handler.G_STATUS_ERROR
15143: , p_other_message => l_other_message
15144: , p_other_token_tbl => l_other_token_tbl
15145: , p_error_level => 1
15146: , x_eco_rec => l_eco_rec
15171: RETURN;
15172:
15173: WHEN EXC_SEV_SKIP_BRANCH THEN
15174:
15175: Eco_Error_Handler.Log_Error
15176: ( p_ECO_rec => l_ECO_rec
15177: , p_eco_revision_tbl => l_eco_revision_tbl
15178: , p_change_line_tbl => l_change_line_tbl -- Eng Change
15179: , p_revised_item_tbl => l_revised_item_tbl
15183: , p_rev_operation_tbl => l_rev_operation_tbl --L1
15184: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
15185: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15186: , p_mesg_token_tbl => l_mesg_token_tbl
15187: , p_error_status => Error_Handler.G_STATUS_ERROR
15188: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
15189: , p_other_message => l_other_message
15190: , p_other_token_tbl => l_other_token_tbl
15191: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
15184: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
15185: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15186: , p_mesg_token_tbl => l_mesg_token_tbl
15187: , p_error_status => Error_Handler.G_STATUS_ERROR
15188: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
15189: , p_other_message => l_other_message
15190: , p_other_token_tbl => l_other_token_tbl
15191: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
15192: , p_error_level => 1
15187: , p_error_status => Error_Handler.G_STATUS_ERROR
15188: , p_error_scope => Error_Handler.G_SCOPE_CHILDREN
15189: , p_other_message => l_other_message
15190: , p_other_token_tbl => l_other_token_tbl
15191: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
15192: , p_error_level => 1
15193: , x_ECO_rec => l_ECO_rec
15194: , x_eco_revision_tbl => l_eco_revision_tbl
15195: , x_change_line_tbl => l_change_line_tbl -- Eng Change
15218: RETURN;
15219:
15220: WHEN EXC_FAT_QUIT_OBJECT THEN
15221:
15222: Eco_Error_Handler.Log_Error
15223: ( p_ECO_rec => l_ECO_rec
15224: , p_eco_revision_tbl => l_eco_revision_tbl
15225: , p_change_line_tbl => l_change_line_tbl -- Eng Change
15226: , p_revised_item_tbl => l_revised_item_tbl
15230: , p_mesg_token_tbl => l_mesg_token_tbl
15231: , p_rev_operation_tbl => l_rev_operation_tbl --L1
15232: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
15233: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15234: , p_error_status => Error_Handler.G_STATUS_FATAL
15235: , p_error_scope => Error_Handler.G_SCOPE_ALL
15236: , p_other_message => l_other_message
15237: , p_other_status => Error_Handler.G_STATUS_FATAL
15238: , p_other_token_tbl => l_other_token_tbl
15231: , p_rev_operation_tbl => l_rev_operation_tbl --L1
15232: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
15233: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15234: , p_error_status => Error_Handler.G_STATUS_FATAL
15235: , p_error_scope => Error_Handler.G_SCOPE_ALL
15236: , p_other_message => l_other_message
15237: , p_other_status => Error_Handler.G_STATUS_FATAL
15238: , p_other_token_tbl => l_other_token_tbl
15239: , p_error_level => 1
15233: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15234: , p_error_status => Error_Handler.G_STATUS_FATAL
15235: , p_error_scope => Error_Handler.G_SCOPE_ALL
15236: , p_other_message => l_other_message
15237: , p_other_status => Error_Handler.G_STATUS_FATAL
15238: , p_other_token_tbl => l_other_token_tbl
15239: , p_error_level => 1
15240: , x_ECO_rec => l_ECO_rec
15241: , x_eco_revision_tbl => l_eco_revision_tbl
15263: l_return_status := 'Q';
15264:
15265: WHEN EXC_UNEXP_SKIP_OBJECT THEN
15266:
15267: Eco_Error_Handler.Log_Error
15268: ( p_ECO_rec => l_ECO_rec
15269: , p_eco_revision_tbl => l_eco_revision_tbl
15270: , p_change_line_tbl => l_change_line_tbl -- Eng Change
15271: , p_revised_item_tbl => l_revised_item_tbl
15275: , p_rev_operation_tbl => l_rev_operation_tbl --L1
15276: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
15277: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15278: , p_mesg_token_tbl => l_mesg_token_tbl
15279: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
15280: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
15281: , p_other_message => l_other_message
15282: , p_other_token_tbl => l_other_token_tbl
15283: , p_error_level => 1
15276: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
15277: , p_rev_sub_resource_tbl=> l_rev_sub_resource_tbl --L1
15278: , p_mesg_token_tbl => l_mesg_token_tbl
15279: , p_error_status => Error_Handler.G_STATUS_UNEXPECTED
15280: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
15281: , p_other_message => l_other_message
15282: , p_other_token_tbl => l_other_token_tbl
15283: , p_error_level => 1
15284: , x_ECO_rec => l_ECO_rec
15636: l_rev_sub_resource_rec Bom_Rtg_Pub.Rev_Sub_Resource_Rec_Type; -- L1--
15637: l_change_line_rec ENG_Eco_PUB.Change_Line_Rec_Type ; -- Eng Change
15638: l_change_line_tbl ENG_Eco_PUB.Change_Line_Tbl_Type ; -- Eng Change
15639:
15640: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
15641: l_other_message VARCHAR2(2000);
15642: l_other_token_tbl Error_Handler.Token_Tbl_Type;
15643:
15644: EXC_ERR_PVT_API_MAIN EXCEPTION;
15638: l_change_line_tbl ENG_Eco_PUB.Change_Line_Tbl_Type ; -- Eng Change
15639:
15640: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
15641: l_other_message VARCHAR2(2000);
15642: l_other_token_tbl Error_Handler.Token_Tbl_Type;
15643:
15644: EXC_ERR_PVT_API_MAIN EXCEPTION;
15645:
15646: BEGIN
15649:
15650:
15651: -- Standard call to check for call compatibility
15652:
15653: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('The following objects will be processed as part of the same business object'); END IF;
15654: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO : ' || l_ECO_rec.eco_name); END IF;
15655: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO REVISIONS : ' || to_char(p_eco_revision_tbl.COUNT)); END IF;
15656: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| CHANGE LINES : ' || to_char(p_change_line_tbl.COUNT)); END IF;
15657: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED ITEMS : ' || to_char(p_revised_item_tbl.COUNT)); END IF;
15650:
15651: -- Standard call to check for call compatibility
15652:
15653: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('The following objects will be processed as part of the same business object'); END IF;
15654: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO : ' || l_ECO_rec.eco_name); END IF;
15655: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO REVISIONS : ' || to_char(p_eco_revision_tbl.COUNT)); END IF;
15656: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| CHANGE LINES : ' || to_char(p_change_line_tbl.COUNT)); END IF;
15657: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED ITEMS : ' || to_char(p_revised_item_tbl.COUNT)); END IF;
15658: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED COMPS : ' || to_char(p_rev_component_tbl.COUNT)); END IF;
15651: -- Standard call to check for call compatibility
15652:
15653: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('The following objects will be processed as part of the same business object'); END IF;
15654: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO : ' || l_ECO_rec.eco_name); END IF;
15655: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO REVISIONS : ' || to_char(p_eco_revision_tbl.COUNT)); END IF;
15656: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| CHANGE LINES : ' || to_char(p_change_line_tbl.COUNT)); END IF;
15657: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED ITEMS : ' || to_char(p_revised_item_tbl.COUNT)); END IF;
15658: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED COMPS : ' || to_char(p_rev_component_tbl.COUNT)); END IF;
15659: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUBS. COMPS : ' || to_Char(p_sub_component_tbl.COUNT)); END IF;
15652:
15653: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('The following objects will be processed as part of the same business object'); END IF;
15654: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO : ' || l_ECO_rec.eco_name); END IF;
15655: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO REVISIONS : ' || to_char(p_eco_revision_tbl.COUNT)); END IF;
15656: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| CHANGE LINES : ' || to_char(p_change_line_tbl.COUNT)); END IF;
15657: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED ITEMS : ' || to_char(p_revised_item_tbl.COUNT)); END IF;
15658: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED COMPS : ' || to_char(p_rev_component_tbl.COUNT)); END IF;
15659: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUBS. COMPS : ' || to_Char(p_sub_component_tbl.COUNT)); END IF;
15660: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REFD. DESGS : ' || to_char(p_ref_designator_tbl.COUNT)); END IF;
15653: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('The following objects will be processed as part of the same business object'); END IF;
15654: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO : ' || l_ECO_rec.eco_name); END IF;
15655: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO REVISIONS : ' || to_char(p_eco_revision_tbl.COUNT)); END IF;
15656: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| CHANGE LINES : ' || to_char(p_change_line_tbl.COUNT)); END IF;
15657: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED ITEMS : ' || to_char(p_revised_item_tbl.COUNT)); END IF;
15658: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED COMPS : ' || to_char(p_rev_component_tbl.COUNT)); END IF;
15659: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUBS. COMPS : ' || to_Char(p_sub_component_tbl.COUNT)); END IF;
15660: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REFD. DESGS : ' || to_char(p_ref_designator_tbl.COUNT)); END IF;
15661:
15654: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO : ' || l_ECO_rec.eco_name); END IF;
15655: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO REVISIONS : ' || to_char(p_eco_revision_tbl.COUNT)); END IF;
15656: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| CHANGE LINES : ' || to_char(p_change_line_tbl.COUNT)); END IF;
15657: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED ITEMS : ' || to_char(p_revised_item_tbl.COUNT)); END IF;
15658: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED COMPS : ' || to_char(p_rev_component_tbl.COUNT)); END IF;
15659: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUBS. COMPS : ' || to_Char(p_sub_component_tbl.COUNT)); END IF;
15660: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REFD. DESGS : ' || to_char(p_ref_designator_tbl.COUNT)); END IF;
15661:
15662: --L1--
15655: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| ECO REVISIONS : ' || to_char(p_eco_revision_tbl.COUNT)); END IF;
15656: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| CHANGE LINES : ' || to_char(p_change_line_tbl.COUNT)); END IF;
15657: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED ITEMS : ' || to_char(p_revised_item_tbl.COUNT)); END IF;
15658: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED COMPS : ' || to_char(p_rev_component_tbl.COUNT)); END IF;
15659: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUBS. COMPS : ' || to_Char(p_sub_component_tbl.COUNT)); END IF;
15660: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REFD. DESGS : ' || to_char(p_ref_designator_tbl.COUNT)); END IF;
15661:
15662: --L1--
15663: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| OPERATION : ' || to_char(p_rev_operation_tbl.COUNT)); END IF;
15656: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| CHANGE LINES : ' || to_char(p_change_line_tbl.COUNT)); END IF;
15657: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED ITEMS : ' || to_char(p_revised_item_tbl.COUNT)); END IF;
15658: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REVISED COMPS : ' || to_char(p_rev_component_tbl.COUNT)); END IF;
15659: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUBS. COMPS : ' || to_Char(p_sub_component_tbl.COUNT)); END IF;
15660: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REFD. DESGS : ' || to_char(p_ref_designator_tbl.COUNT)); END IF;
15661:
15662: --L1--
15663: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| OPERATION : ' || to_char(p_rev_operation_tbl.COUNT)); END IF;
15664: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| RESOURCE : ' || to_char(p_rev_op_resource_tbl.COUNT)); END IF;
15659: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUBS. COMPS : ' || to_Char(p_sub_component_tbl.COUNT)); END IF;
15660: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REFD. DESGS : ' || to_char(p_ref_designator_tbl.COUNT)); END IF;
15661:
15662: --L1--
15663: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| OPERATION : ' || to_char(p_rev_operation_tbl.COUNT)); END IF;
15664: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| RESOURCE : ' || to_char(p_rev_op_resource_tbl.COUNT)); END IF;
15665: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUB RESOURCE : ' || to_char(p_rev_sub_resource_tbl.COUNT)); END IF;
15666: --L1--
15667:
15660: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| REFD. DESGS : ' || to_char(p_ref_designator_tbl.COUNT)); END IF;
15661:
15662: --L1--
15663: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| OPERATION : ' || to_char(p_rev_operation_tbl.COUNT)); END IF;
15664: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| RESOURCE : ' || to_char(p_rev_op_resource_tbl.COUNT)); END IF;
15665: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUB RESOURCE : ' || to_char(p_rev_sub_resource_tbl.COUNT)); END IF;
15666: --L1--
15667:
15668:
15661:
15662: --L1--
15663: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| OPERATION : ' || to_char(p_rev_operation_tbl.COUNT)); END IF;
15664: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| RESOURCE : ' || to_char(p_rev_op_resource_tbl.COUNT)); END IF;
15665: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUB RESOURCE : ' || to_char(p_rev_sub_resource_tbl.COUNT)); END IF;
15666: --L1--
15667:
15668:
15669: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('|----------------------------------------------------'); END IF;
15665: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('| SUB RESOURCE : ' || to_char(p_rev_sub_resource_tbl.COUNT)); END IF;
15666: --L1--
15667:
15668:
15669: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('|----------------------------------------------------'); END IF;
15670:
15671: /*------------------------------------
15672: -- Not used
15673:
15733: -- Eco
15734: IF (l_ECO_rec.ECO_Name <> FND_API.G_MISS_CHAR
15735: AND l_ECO_rec.ECO_Name IS NOT NULL)
15736: THEN
15737: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15738: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling ECO_Header'); END IF;
15739:
15740: Eco_Header
15741: ( p_validation_level => p_validation_level
15734: IF (l_ECO_rec.ECO_Name <> FND_API.G_MISS_CHAR
15735: AND l_ECO_rec.ECO_Name IS NOT NULL)
15736: THEN
15737: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15738: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling ECO_Header'); END IF;
15739:
15740: Eco_Header
15741: ( p_validation_level => p_validation_level
15742: , p_ECO_rec => l_ECO_rec
15762: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
15763: , x_return_status => l_return_status
15764: , x_disable_revision =>x_disable_revision --Bug no:3034642
15765: );
15766: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('eco hdr return status: ' || l_eco_rec.return_status); END IF;
15767:
15768: -- Added by AS on 03/22/99 to fix bug 853529
15769:
15770: IF NVL(l_return_status, 'S') = 'Q'
15782: END IF;
15783:
15784: END IF;
15785:
15786: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('BO error status: ' || l_bo_return_status); END IF;
15787:
15788: -- Eco Revisions
15789: IF l_eco_revision_tbl.Count <> 0
15790: THEN
15787:
15788: -- Eco Revisions
15789: IF l_eco_revision_tbl.Count <> 0
15790: THEN
15791: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15792: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling ECO_Rev'); END IF;
15793:
15794: Eco_Rev
15795: ( p_validation_level => p_validation_level
15788: -- Eco Revisions
15789: IF l_eco_revision_tbl.Count <> 0
15790: THEN
15791: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15792: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling ECO_Rev'); END IF;
15793:
15794: Eco_Rev
15795: ( p_validation_level => p_validation_level
15796: , p_eco_revision_tbl => l_eco_revision_tbl
15831: END IF;
15832:
15833: END IF;
15834:
15835: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('BO error status: ' || l_bo_return_status); END IF;
15836:
15837:
15838: -- Change Lines
15839: IF l_change_line_tbl.Count <> 0
15837:
15838: -- Change Lines
15839: IF l_change_line_tbl.Count <> 0
15840: THEN
15841: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15842: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling Change_Line'); END IF;
15843:
15844: Change_Line
15845: ( p_validation_level => p_validation_level
15838: -- Change Lines
15839: IF l_change_line_tbl.Count <> 0
15840: THEN
15841: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15842: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling Change_Line'); END IF;
15843:
15844: Change_Line
15845: ( p_validation_level => p_validation_level
15846: , p_change_line_tbl => l_change_line_tbl -- Eng Change
15877: END IF;
15878:
15879: END IF;
15880:
15881: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('BO error status: ' || l_bo_return_status); END IF;
15882:
15883: -- Revised Items
15884:
15885: IF p_revised_item_tbl.COUNT <> 0
15883: -- Revised Items
15884:
15885: IF p_revised_item_tbl.COUNT <> 0
15886: THEN
15887: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15888: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling Rev_Items'); END IF;
15889:
15890: Rev_Items
15891: ( p_validation_level => p_validation_level
15884:
15885: IF p_revised_item_tbl.COUNT <> 0
15886: THEN
15887: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15888: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling Rev_Items'); END IF;
15889:
15890: Rev_Items
15891: ( p_validation_level => p_validation_level
15892: , p_revised_item_tbl => l_revised_item_tbl
15928: END IF;
15929:
15930: END IF;
15931:
15932: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('BO error status: ' || l_bo_return_status); END IF;
15933:
15934: -- Revised Components
15935:
15936: IF l_rev_component_tbl.Count <> 0
15934: -- Revised Components
15935:
15936: IF l_rev_component_tbl.Count <> 0
15937: THEN
15938: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15939: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling Rev_Comps'); END IF;
15940:
15941: Rev_Comps
15942: ( p_validation_level => p_validation_level
15935:
15936: IF l_rev_component_tbl.Count <> 0
15937: THEN
15938: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15939: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling Rev_Comps'); END IF;
15940:
15941: Rev_Comps
15942: ( p_validation_level => p_validation_level
15943: , p_rev_component_tbl => l_rev_component_tbl
15966: END IF;
15967:
15968: END IF;
15969:
15970: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('BO error status: ' || l_bo_return_status); END IF;
15971:
15972: -- Reference Designators
15973:
15974: IF l_ref_designator_tbl.Count <> 0
15972: -- Reference Designators
15973:
15974: IF l_ref_designator_tbl.Count <> 0
15975: THEN
15976: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15977: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling Ref_Desgs'); END IF;
15978:
15979: Ref_Desgs
15980: ( p_validation_level => p_validation_level
15973:
15974: IF l_ref_designator_tbl.Count <> 0
15975: THEN
15976: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
15977: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling Ref_Desgs'); END IF;
15978:
15979: Ref_Desgs
15980: ( p_validation_level => p_validation_level
15981: , p_ref_designator_tbl => l_ref_designator_tbl
16002: END IF;
16003:
16004: END IF;
16005:
16006: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('BO error status: ' || l_bo_return_status); END IF;
16007:
16008: -- Substitute Components
16009:
16010: IF l_Sub_Component_Tbl.Count <> 0
16008: -- Substitute Components
16009:
16010: IF l_Sub_Component_Tbl.Count <> 0
16011: THEN
16012: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
16013: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling Sub_Comps'); END IF;
16014:
16015: Sub_Comps
16016: ( p_validation_level => p_validation_level
16009:
16010: IF l_Sub_Component_Tbl.Count <> 0
16011: THEN
16012: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
16013: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling Sub_Comps'); END IF;
16014:
16015: Sub_Comps
16016: ( p_validation_level => p_validation_level
16017: , p_sub_component_tbl => l_sub_component_tbl
16036: END IF;
16037:
16038: END IF;
16039:
16040: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('BO error status: ' || l_bo_return_status); END IF;
16041:
16042:
16043: -- L1: Operation
16044:
16043: -- L1: Operation
16044:
16045: IF l_rev_operation_tbl.Count <> 0
16046: THEN
16047: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
16048: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling ECO operation'); END IF;
16049:
16050: Rev_Operation_Sequences
16051: ( p_validation_level => p_validation_level
16044:
16045: IF l_rev_operation_tbl.Count <> 0
16046: THEN
16047: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
16048: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling ECO operation'); END IF;
16049:
16050: Rev_Operation_Sequences
16051: ( p_validation_level => p_validation_level
16052: , p_rev_operation_tbl => l_rev_operation_tbl
16072: END IF;
16073:
16074: END IF;
16075:
16076: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('BO error status: ' || l_bo_return_status); END IF;
16077:
16078: -- L1: Operation Resource
16079:
16080: IF l_rev_op_resource_tbl.Count <> 0
16078: -- L1: Operation Resource
16079:
16080: IF l_rev_op_resource_tbl.Count <> 0
16081: THEN
16082: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
16083: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling ECO resource'); END IF;
16084:
16085: Rev_Operation_Resources
16086: ( p_validation_level => p_validation_level
16079:
16080: IF l_rev_op_resource_tbl.Count <> 0
16081: THEN
16082: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
16083: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling ECO resource'); END IF;
16084:
16085: Rev_Operation_Resources
16086: ( p_validation_level => p_validation_level
16087: , p_rev_op_resource_tbl => l_rev_op_resource_tbl
16105: END IF;
16106:
16107: END IF;
16108:
16109: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('BO error status: ' || l_bo_return_status); END IF;
16110:
16111: -- L1: Substitute resource
16112:
16113: IF l_rev_sub_resource_tbl.Count <> 0
16111: -- L1: Substitute resource
16112:
16113: IF l_rev_sub_resource_tbl.Count <> 0
16114: THEN
16115: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
16116: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling ECO substitute resource'); END IF;
16117:
16118: Rev_Sub_Operation_Resources
16119: ( p_validation_level => p_validation_level
16112:
16113: IF l_rev_sub_resource_tbl.Count <> 0
16114: THEN
16115: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug(' '); END IF;
16116: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('PVT API: Calling ECO substitute resource'); END IF;
16117:
16118: Rev_Sub_Operation_Resources
16119: ( p_validation_level => p_validation_level
16120: , p_rev_sub_resource_tbl => l_rev_sub_resource_tbl
16136: END IF;
16137:
16138: END IF;
16139:
16140: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('BO error status: ' || l_bo_return_status); END IF;
16141:
16142: -- Done processing, load OUT parameters.
16143:
16144: -- Added by AS on 03/17/99 to fix bug 852322
16191: --Bug No: 3737881
16192: --Commenting out the following code as no 'Commit' should
16193: --be done in this API.
16194: --IF ENG_GLOBALS.G_ENG_LAUNCH_IMPORT = 1 THEN
16195: -- Error_Handler.Write_To_ConcurrentLog;
16196: -- Error_Handler.WRITE_TO_INTERFACETABLE;
16197: -- COMMIT;
16198: --END IF;
16199:
16192: --Commenting out the following code as no 'Commit' should
16193: --be done in this API.
16194: --IF ENG_GLOBALS.G_ENG_LAUNCH_IMPORT = 1 THEN
16195: -- Error_Handler.Write_To_ConcurrentLog;
16196: -- Error_Handler.WRITE_TO_INTERFACETABLE;
16197: -- COMMIT;
16198: --END IF;
16199:
16200: EXCEPTION
16200: EXCEPTION
16201:
16202: WHEN EXC_ERR_PVT_API_MAIN THEN
16203:
16204: Eco_Error_Handler.Log_Error
16205: ( p_ECO_rec => l_ECO_rec
16206: , p_eco_revision_tbl => l_eco_revision_tbl
16207: , p_change_line_tbl => l_change_line_tbl -- Eng Change
16208: , p_revised_item_tbl => l_revised_item_tbl
16213: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
16214: , p_rev_sub_resource_tbl => l_rev_sub_resource_tbl --L1
16215: , p_mesg_token_tbl => l_mesg_token_tbl
16216: , p_error_status => FND_API.G_RET_STS_UNEXP_ERROR
16217: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
16218: , p_other_message => l_other_message
16219: , p_other_token_tbl => l_other_token_tbl
16220: , p_error_level => 0
16221: , x_ECO_rec => l_ECO_rec
16280: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16281: THEN
16282: l_err_text := G_PKG_NAME || ' : Process ECO '
16283: || substrb(SQLERRM,1,200);
16284: Error_Handler.Add_Error_Token
16285: ( p_Message_Text => l_err_text
16286: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
16287: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
16288: );
16287: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
16288: );
16289: END IF;
16290:
16291: Eco_Error_Handler.Log_Error
16292: ( p_ECO_rec => l_ECO_rec
16293: , p_eco_revision_tbl => l_eco_revision_tbl
16294: , p_change_line_tbl => l_change_line_tbl -- Eng Change
16295: , p_revised_item_tbl => l_revised_item_tbl
16300: , p_rev_op_resource_tbl => l_rev_op_resource_tbl --L1
16301: , p_rev_sub_resource_tbl => l_rev_sub_resource_tbl --L1
16302: , p_mesg_token_tbl => l_mesg_token_tbl
16303: , p_error_status => FND_API.G_RET_STS_UNEXP_ERROR
16304: , p_other_status => Error_Handler.G_STATUS_NOT_PICKED
16305: , p_other_message => l_other_message
16306: , p_other_token_tbl => l_other_token_tbl
16307: , p_error_level => 0
16308: , x_ECO_rec => l_ECO_rec