110: ,p_approval_required IN BOOLEAN
111: ,p_new_system_status IN NUMBER
112: , p_workflow_name IN VARCHAR2
113: , p_workflow_process IN VARCHAR2
114: , x_mesg_token_tbl IN OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
115: , x_return_status IN OUT NOCOPY VARCHAR2
116: )
117: IS
118: l_create_event VARCHAR2(240);
442: , p_resource_seq_num IN NUMBER := NULL
443: , p_eam_res_usage_tbl IN EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type
444: , x_bottomup_scheduled IN OUT NOCOPY NUMBER
445: , x_eam_res_usage_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type
446: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
447: , x_return_status OUT NOCOPY VARCHAR2
448: )
449: IS
450:
469: l_out_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
470: l_out_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
471: l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
472: l_out_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
473: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
474:
475: /* Error Handling Variables */
476: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
477: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
472: l_out_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
473: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
474:
475: /* Error Handling Variables */
476: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
477: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
478: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
479: l_other_message VARCHAR2(2000);
480: l_err_text VARCHAR2(2000);
473: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
474:
475: /* Error Handling Variables */
476: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
477: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
478: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
479: l_other_message VARCHAR2(2000);
480: l_err_text VARCHAR2(2000);
481:
474:
475: /* Error Handling Variables */
476: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
477: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
478: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
479: l_other_message VARCHAR2(2000);
480: l_err_text VARCHAR2(2000);
481:
482: /* Others */
487: l_valid_transaction BOOLEAN := TRUE ;
488:
489:
490: BEGIN
491: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(p_eam_res_usage_tbl.COUNT ||' records passed') ; END IF ;
492:
493: x_return_status := FND_API.G_RET_STS_SUCCESS;
494:
495: -- Init local table variables.
496: l_return_status := 'S' ;
497: l_bo_return_status := 'S' ;
498: l_eam_res_usage_tbl:= p_eam_res_usage_tbl ;
499:
500: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Starting RESOURCE_USAGES') ; END IF ;
501:
502:
503: FOR I IN 1..l_eam_res_usage_tbl.COUNT LOOP
504: BEGIN
502:
503: FOR I IN 1..l_eam_res_usage_tbl.COUNT LOOP
504: BEGIN
505:
506: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing '|| I || ' record') ; END IF ;
507:
508: -- Load local records.
509: l_eam_res_usage_rec := l_eam_res_usage_tbl(I);
510:
542: )
543: )
544: THEN
545:
546: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Return status validation passed') ; END IF ;
547:
548:
549: l_return_status := FND_API.G_RET_STS_SUCCESS;
550: l_eam_res_usage_rec.return_status := FND_API.G_RET_STS_SUCCESS;
558: );
559:
560: IF NOT l_valid_transaction
561: THEN
562: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
563: RAISE EXC_SEV_QUIT_RECORD ;
564: END IF ;
565:
566:
569: , x_return_status => l_return_status
570: , x_mesg_token_tbl => l_mesg_token_tbl
571: ) ;
572:
573: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
574:
575: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
576: THEN
577: IF l_eam_res_usage_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
571: ) ;
572:
573: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
574:
575: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
576: THEN
577: IF l_eam_res_usage_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
578: THEN
579: l_other_message := 'EAM_RU_REQ_CSEV_SKIP';
582: RAISE EXC_SEV_SKIP_BRANCH ;
583: ELSE
584: RAISE EXC_SEV_QUIT_RECORD ;
585: END IF;
586: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
587: THEN
588: l_other_message := 'EAM_RU_REQ_UNEXP_SKIP';
589: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
590: l_other_token_tbl(1).token_value := l_eam_res_usage_rec.resource_seq_num ;
597: , x_return_status => l_return_status
598: , x_mesg_token_tbl => l_mesg_token_tbl
599: );
600:
601: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
602:
603: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
604: THEN
605: IF l_eam_res_usage_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
599: );
600:
601: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
602:
603: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
604: THEN
605: IF l_eam_res_usage_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
606: THEN
607: l_other_message := 'EAM_RU_ATTVAL_CSEV_SKIP';
610: RAISE EXC_SEV_SKIP_BRANCH ;
611: ELSE
612: RAISE EXC_SEV_QUIT_RECORD ;
613: END IF;
614: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
615: THEN
616: l_other_message := 'EAM_RU_ATTVAL_UNEXP_SKIP';
617: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
618: l_other_token_tbl(1).token_value := l_eam_res_usage_rec.resource_seq_num ;
619: RAISE EXC_UNEXP_SKIP_OBJECT ;
620: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
621: THEN
622: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
623: EAM_ERROR_MESSAGE_PVT.Log_Error
624: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
625: , p_mesg_token_tbl => l_mesg_token_tbl
626: , p_error_status => 'W'
627: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
623: EAM_ERROR_MESSAGE_PVT.Log_Error
624: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
625: , p_mesg_token_tbl => l_mesg_token_tbl
626: , p_error_status => 'W'
627: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
628: , p_entity_index => I
629: , x_eam_wo_rec => l_eam_wo_rec
630: , x_eam_op_tbl => l_eam_op_tbl
631: , x_eam_op_network_tbl => l_eam_op_network_tbl
649: , x_return_status => l_return_status
650: );
651:
652:
653: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
654: THEN
655: l_other_message := 'EAM_RU_WRITES_UNEXP_SKIP';
656: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
657: l_other_token_tbl(1).token_value := l_eam_res_usage_rec.resource_seq_num ;
659: ELSIF l_return_status ='S' AND
660: l_mesg_token_tbl.COUNT <>0
661: THEN
662: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
663: EAM_ERROR_MESSAGE_PVT.Log_Error
664: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
665: , p_mesg_token_tbl => l_mesg_token_tbl
666: , p_error_status => 'W'
667: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
663: EAM_ERROR_MESSAGE_PVT.Log_Error
664: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
665: , p_mesg_token_tbl => l_mesg_token_tbl
666: , p_error_status => 'W'
667: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
668: , p_entity_index => I
669: , x_eam_wo_rec => l_eam_wo_rec
670: , x_eam_op_tbl => l_eam_op_tbl
671: , x_eam_op_network_tbl => l_eam_op_network_tbl
678: );
679: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
680: END IF;
681:
682: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Resources Database writes completed with status ' || l_return_status); END IF;
683: END IF ; -- bug 5224748. end of check for x_bottomup_scheduled = G_NON_FIRM_WORKORDER
684:
685: ELSE
686:
683: END IF ; -- bug 5224748. end of check for x_bottomup_scheduled = G_NON_FIRM_WORKORDER
684:
685: ELSE
686:
687: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
688:
689: END IF; -- END IF statement that checks RETURN STATUS
690:
691: --find if bottom up scheduler is to be called or not
720:
721: EXCEPTION
722: WHEN EXC_SEV_QUIT_RECORD THEN
723: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
724: EAM_ERROR_MESSAGE_PVT.Log_Error
725: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
726: , p_mesg_token_tbl => l_mesg_token_tbl
727: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
728: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
723: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
724: EAM_ERROR_MESSAGE_PVT.Log_Error
725: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
726: , p_mesg_token_tbl => l_mesg_token_tbl
727: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
728: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
729: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
730: , p_entity_index => I
731: , x_eam_wo_rec => l_eam_wo_rec
724: EAM_ERROR_MESSAGE_PVT.Log_Error
725: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
726: , p_mesg_token_tbl => l_mesg_token_tbl
727: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
728: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
729: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
730: , p_entity_index => I
731: , x_eam_wo_rec => l_eam_wo_rec
732: , x_eam_op_tbl => l_eam_op_tbl
725: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
726: , p_mesg_token_tbl => l_mesg_token_tbl
727: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
728: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
729: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
730: , p_entity_index => I
731: , x_eam_wo_rec => l_eam_wo_rec
732: , x_eam_op_tbl => l_eam_op_tbl
733: , x_eam_op_network_tbl => l_eam_op_network_tbl
753:
754:
755: WHEN EXC_SEV_QUIT_BRANCH THEN
756: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
757: EAM_ERROR_MESSAGE_PVT.Log_Error
758: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
759: , p_mesg_token_tbl => l_mesg_token_tbl
760: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
761: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
756: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
757: EAM_ERROR_MESSAGE_PVT.Log_Error
758: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
759: , p_mesg_token_tbl => l_mesg_token_tbl
760: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
761: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
762: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
763: , p_other_message => l_other_message
764: , p_other_token_tbl => l_other_token_tbl
757: EAM_ERROR_MESSAGE_PVT.Log_Error
758: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
759: , p_mesg_token_tbl => l_mesg_token_tbl
760: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
761: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
762: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
763: , p_other_message => l_other_message
764: , p_other_token_tbl => l_other_token_tbl
765: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
758: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
759: , p_mesg_token_tbl => l_mesg_token_tbl
760: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
761: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
762: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
763: , p_other_message => l_other_message
764: , p_other_token_tbl => l_other_token_tbl
765: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
766: , p_entity_index => I
761: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
762: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
763: , p_other_message => l_other_message
764: , p_other_token_tbl => l_other_token_tbl
765: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
766: , p_entity_index => I
767: , x_eam_wo_rec => l_eam_wo_rec
768: , x_eam_op_tbl => l_eam_op_tbl
769: , x_eam_op_network_tbl => l_eam_op_network_tbl
789:
790:
791: WHEN EXC_SEV_SKIP_BRANCH THEN
792: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
793: EAM_ERROR_MESSAGE_PVT.Log_Error
794: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
795: , p_mesg_token_tbl => l_mesg_token_tbl
796: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
797: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
792: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
793: EAM_ERROR_MESSAGE_PVT.Log_Error
794: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
795: , p_mesg_token_tbl => l_mesg_token_tbl
796: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
797: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
798: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
799: , p_other_message => l_other_message
800: , p_other_token_tbl => l_other_token_tbl
793: EAM_ERROR_MESSAGE_PVT.Log_Error
794: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
795: , p_mesg_token_tbl => l_mesg_token_tbl
796: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
797: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
798: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
799: , p_other_message => l_other_message
800: , p_other_token_tbl => l_other_token_tbl
801: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
794: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
795: , p_mesg_token_tbl => l_mesg_token_tbl
796: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
797: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
798: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
799: , p_other_message => l_other_message
800: , p_other_token_tbl => l_other_token_tbl
801: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
802: , p_entity_index => I
797: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
798: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
799: , p_other_message => l_other_message
800: , p_other_token_tbl => l_other_token_tbl
801: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
802: , p_entity_index => I
803: , x_eam_wo_rec => l_eam_wo_rec
804: , x_eam_op_tbl => l_eam_op_tbl
805: , x_eam_op_network_tbl => l_eam_op_network_tbl
826:
827:
828: WHEN EXC_SEV_QUIT_SIBLINGS THEN
829: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
830: EAM_ERROR_MESSAGE_PVT.Log_Error
831: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
832: , p_mesg_token_tbl => l_mesg_token_tbl
833: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
834: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
829: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
830: EAM_ERROR_MESSAGE_PVT.Log_Error
831: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
832: , p_mesg_token_tbl => l_mesg_token_tbl
833: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
834: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
835: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
836: , p_other_message => l_other_message
837: , p_other_token_tbl => l_other_token_tbl
830: EAM_ERROR_MESSAGE_PVT.Log_Error
831: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
832: , p_mesg_token_tbl => l_mesg_token_tbl
833: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
834: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
835: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
836: , p_other_message => l_other_message
837: , p_other_token_tbl => l_other_token_tbl
838: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
831: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
832: , p_mesg_token_tbl => l_mesg_token_tbl
833: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
834: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
835: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
836: , p_other_message => l_other_message
837: , p_other_token_tbl => l_other_token_tbl
838: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
839: , p_entity_index => I
834: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
835: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
836: , p_other_message => l_other_message
837: , p_other_token_tbl => l_other_token_tbl
838: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
839: , p_entity_index => I
840: , x_eam_wo_rec => l_eam_wo_rec
841: , x_eam_op_tbl => l_eam_op_tbl
842: , x_eam_op_network_tbl => l_eam_op_network_tbl
862:
863:
864: WHEN EXC_FAT_QUIT_BRANCH THEN
865: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
866: EAM_ERROR_MESSAGE_PVT.Log_Error
867: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
868: , p_mesg_token_tbl => l_mesg_token_tbl
869: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
870: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
865: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
866: EAM_ERROR_MESSAGE_PVT.Log_Error
867: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
868: , p_mesg_token_tbl => l_mesg_token_tbl
869: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
870: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
871: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
872: , p_other_message => l_other_message
873: , p_other_token_tbl => l_other_token_tbl
866: EAM_ERROR_MESSAGE_PVT.Log_Error
867: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
868: , p_mesg_token_tbl => l_mesg_token_tbl
869: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
870: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
871: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
872: , p_other_message => l_other_message
873: , p_other_token_tbl => l_other_token_tbl
874: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
867: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
868: , p_mesg_token_tbl => l_mesg_token_tbl
869: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
870: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
871: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
872: , p_other_message => l_other_message
873: , p_other_token_tbl => l_other_token_tbl
874: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
875: , p_entity_index => I
870: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
871: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
872: , p_other_message => l_other_message
873: , p_other_token_tbl => l_other_token_tbl
874: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
875: , p_entity_index => I
876: , x_eam_wo_rec => l_eam_wo_rec
877: , x_eam_op_tbl => l_eam_op_tbl
878: , x_eam_op_network_tbl => l_eam_op_network_tbl
885: );
886: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
887:
888: l_process_children := FALSE ;
889: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
890: x_mesg_token_tbl := l_mesg_token_tbl ;
891: x_eam_res_usage_tbl := l_eam_res_usage_tbl;
892:
893:
892:
893:
894: WHEN EXC_FAT_QUIT_SIBLINGS THEN
895: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
896: EAM_ERROR_MESSAGE_PVT.Log_Error
897: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
898: , p_mesg_token_tbl => l_mesg_token_tbl
899: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
900: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
895: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
896: EAM_ERROR_MESSAGE_PVT.Log_Error
897: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
898: , p_mesg_token_tbl => l_mesg_token_tbl
899: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
900: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
901: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
902: , p_other_message => l_other_message
903: , p_other_token_tbl => l_other_token_tbl
896: EAM_ERROR_MESSAGE_PVT.Log_Error
897: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
898: , p_mesg_token_tbl => l_mesg_token_tbl
899: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
900: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
901: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
902: , p_other_message => l_other_message
903: , p_other_token_tbl => l_other_token_tbl
904: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
897: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
898: , p_mesg_token_tbl => l_mesg_token_tbl
899: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
900: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
901: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
902: , p_other_message => l_other_message
903: , p_other_token_tbl => l_other_token_tbl
904: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
905: , p_entity_index => I
900: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
901: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
902: , p_other_message => l_other_message
903: , p_other_token_tbl => l_other_token_tbl
904: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
905: , p_entity_index => I
906: , x_eam_wo_rec => l_eam_wo_rec
907: , x_eam_op_tbl => l_eam_op_tbl
908: , x_eam_op_network_tbl => l_eam_op_network_tbl
915: );
916: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
917:
918: l_process_children := FALSE ;
919: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
920: x_mesg_token_tbl := l_mesg_token_tbl ;
921: x_eam_res_usage_tbl := l_eam_res_usage_tbl;
922:
923:
922:
923:
924: WHEN EXC_UNEXP_SKIP_OBJECT THEN
925: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
926: EAM_ERROR_MESSAGE_PVT.Log_Error
927: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
928: , p_mesg_token_tbl => l_mesg_token_tbl
929: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
930: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
925: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
926: EAM_ERROR_MESSAGE_PVT.Log_Error
927: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
928: , p_mesg_token_tbl => l_mesg_token_tbl
929: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
930: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
931: , p_other_message => l_other_message
932: , p_other_token_tbl => l_other_token_tbl
933: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
926: EAM_ERROR_MESSAGE_PVT.Log_Error
927: ( p_eam_res_usage_tbl => l_eam_res_usage_tbl
928: , p_mesg_token_tbl => l_mesg_token_tbl
929: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
930: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
931: , p_other_message => l_other_message
932: , p_other_token_tbl => l_other_token_tbl
933: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
934: , x_eam_wo_rec => l_eam_wo_rec
929: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
930: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
931: , p_other_message => l_other_message
932: , p_other_token_tbl => l_other_token_tbl
933: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_USAGE_LEVEL
934: , x_eam_wo_rec => l_eam_wo_rec
935: , x_eam_op_tbl => l_eam_op_tbl
936: , x_eam_op_network_tbl => l_eam_op_network_tbl
937: , x_eam_res_tbl => l_eam_res_tbl
995: , p_eam_res_usage_tbl IN EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type
996: , x_bottomup_scheduled IN OUT NOCOPY NUMBER
997: , x_eam_sub_res_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type
998: , x_eam_res_usage_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type
999: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
1000: , x_return_status OUT NOCOPY VARCHAR2
1001: )
1002: IS
1003:
1021: l_out_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
1022: l_out_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
1023: l_out_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
1024: l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
1025: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
1026: l_out_eam_sub_res_rec EAM_PROCESS_WO_PUB.eam_sub_res_rec_type;
1027:
1028: /* Error Handling Variables */
1029: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1025: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
1026: l_out_eam_sub_res_rec EAM_PROCESS_WO_PUB.eam_sub_res_rec_type;
1027:
1028: /* Error Handling Variables */
1029: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1030: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
1031: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1032: l_other_message VARCHAR2(2000);
1033: l_err_text VARCHAR2(2000);
1026: l_out_eam_sub_res_rec EAM_PROCESS_WO_PUB.eam_sub_res_rec_type;
1027:
1028: /* Error Handling Variables */
1029: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1030: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
1031: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1032: l_other_message VARCHAR2(2000);
1033: l_err_text VARCHAR2(2000);
1034:
1027:
1028: /* Error Handling Variables */
1029: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1030: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
1031: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1032: l_other_message VARCHAR2(2000);
1033: l_err_text VARCHAR2(2000);
1034:
1035: /* Others */
1040: l_valid_transaction BOOLEAN := TRUE ;
1041:
1042:
1043: BEGIN
1044: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(p_eam_sub_res_tbl.COUNT ||' records passed') ; END IF ;
1045:
1046: x_return_status := FND_API.G_RET_STS_SUCCESS;
1047:
1048: -- Init local table variables.
1049: l_return_status := 'S' ;
1050: l_bo_return_status := 'S' ;
1051: l_eam_sub_res_tbl := p_eam_sub_res_tbl ;
1052:
1053: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Starting SUB_RESOURCE') ; END IF ;
1054:
1055: FOR I IN 1..l_eam_sub_res_tbl.COUNT LOOP
1056: BEGIN
1057:
1054:
1055: FOR I IN 1..l_eam_sub_res_tbl.COUNT LOOP
1056: BEGIN
1057:
1058: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing '|| I || ' record') ; END IF ;
1059:
1060: -- Load local records.
1061: l_eam_sub_res_rec := l_eam_sub_res_tbl(I);
1062:
1093: )
1094: )
1095: THEN
1096:
1097: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Return status validation passed') ; END IF ;
1098:
1099:
1100: l_return_status := FND_API.G_RET_STS_SUCCESS;
1101: l_eam_sub_res_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1109: );
1110:
1111: IF NOT l_valid_transaction
1112: THEN
1113: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
1114: RAISE EXC_SEV_QUIT_RECORD ;
1115: END IF ;
1116:
1117: EAM_SUB_RESOURCE_VALIDATE_PVT.Check_Existence
1120: , x_mesg_token_tbl => l_mesg_token_tbl
1121: , x_return_status => l_return_status
1122: ) ;
1123:
1124: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
1125:
1126: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1127: THEN
1128: l_other_message := 'EAM_SR_EXS_SEV_SKIP';
1122: ) ;
1123:
1124: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
1125:
1126: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1127: THEN
1128: l_other_message := 'EAM_SR_EXS_SEV_SKIP';
1129: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
1130: l_other_token_tbl(1).token_value := l_eam_sub_res_rec.resource_seq_num;
1130: l_other_token_tbl(1).token_value := l_eam_sub_res_rec.resource_seq_num;
1131: l_other_token_tbl(2).token_name := 'WIP_ENTITY_ID';
1132: l_other_token_tbl(2).token_value := l_eam_sub_res_rec.wip_entity_id;
1133: RAISE EXC_SEV_QUIT_BRANCH;
1134: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1135: THEN
1136: l_other_message := 'EAM_SR_EXS_UNEXP_SKIP';
1137: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
1138: l_other_token_tbl(1).token_value := l_eam_sub_res_rec.resource_seq_num ;
1150:
1151: IF l_eam_sub_res_rec.transaction_type IN (EAM_PROCESS_WO_PVT.G_OPR_UPDATE, EAM_PROCESS_WO_PVT.G_OPR_DELETE)
1152: THEN
1153:
1154: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Populate NULL columns') ;
1155: END IF ;
1156:
1157: l_out_eam_sub_res_rec := l_eam_sub_res_rec;
1158:
1178: ) ;
1179:
1180: l_eam_sub_res_rec := l_out_eam_sub_res_rec;
1181:
1182: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug
1183: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
1184: END IF ;
1185:
1186:
1183: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
1184: END IF ;
1185:
1186:
1187: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1188: THEN
1189: l_other_message := 'EAM_SR_ATTDEF_CSEV_SKIP';
1190: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
1191: l_other_token_tbl(1).token_value := l_eam_sub_res_rec.resource_seq_num ;
1190: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
1191: l_other_token_tbl(1).token_value := l_eam_sub_res_rec.resource_seq_num ;
1192: RAISE EXC_SEV_SKIP_BRANCH ;
1193:
1194: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1195: THEN
1196: l_other_message := 'EAM_SR_ATTDEF_UNEXP_SKIP';
1197: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
1198: l_other_token_tbl(1).token_value := l_eam_sub_res_rec.resource_seq_num ;
1200: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
1201: THEN
1202: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
1203: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1204: EAM_ERROR_MESSAGE_PVT.Log_Error
1205: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1206: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1207: , p_mesg_token_tbl => l_mesg_token_tbl
1208: , p_error_status => 'W'
1205: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1206: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1207: , p_mesg_token_tbl => l_mesg_token_tbl
1208: , p_error_status => 'W'
1209: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1210: , p_entity_index => I
1211: , x_eam_wo_rec => l_eam_wo_rec
1212: , x_eam_op_tbl => l_eam_op_tbl
1213: , x_eam_op_network_tbl => l_eam_op_network_tbl
1229: , x_return_status => l_return_status
1230: , x_mesg_token_tbl => l_mesg_token_tbl
1231: ) ;
1232:
1233: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
1234:
1235:
1236: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1237: THEN
1232:
1233: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
1234:
1235:
1236: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1237: THEN
1238: IF l_eam_sub_res_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
1239: THEN
1240: l_other_message := 'EAM_SR_REQ_CSEV_SKIP';
1243: RAISE EXC_SEV_SKIP_BRANCH ;
1244: ELSE
1245: RAISE EXC_SEV_QUIT_RECORD ;
1246: END IF;
1247: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1248: THEN
1249: l_other_message := 'EAM_SR_REQ_UNEXP_SKIP';
1250: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
1251: l_other_token_tbl(1).token_value := l_eam_sub_res_rec.resource_seq_num ;
1259: , x_return_status => l_return_status
1260: , x_mesg_token_tbl => l_mesg_token_tbl
1261: ) ;
1262:
1263: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
1264:
1265: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1266: THEN
1267: IF l_eam_sub_res_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
1261: ) ;
1262:
1263: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
1264:
1265: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1266: THEN
1267: IF l_eam_sub_res_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
1268: THEN
1269: l_other_message := 'EAM_SR_ATTVAL_CSEV_SKIP';
1272: RAISE EXC_SEV_SKIP_BRANCH ;
1273: ELSE
1274: RAISE EXC_SEV_QUIT_RECORD ;
1275: END IF;
1276: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1277: THEN
1278: l_other_message := 'EAM_SR_ATTVAL_UNEXP_SKIP';
1279: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
1280: l_other_token_tbl(1).token_value := l_eam_sub_res_rec.resource_seq_num ;
1282: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
1283: THEN
1284: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
1285: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1286: EAM_ERROR_MESSAGE_PVT.Log_Error
1287: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1288: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1289: , p_mesg_token_tbl => l_mesg_token_tbl
1290: , p_error_status => 'W'
1287: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1288: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1289: , p_mesg_token_tbl => l_mesg_token_tbl
1290: , p_error_status => 'W'
1291: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1292: , p_entity_index => I
1293: , x_eam_wo_rec => l_eam_wo_rec
1294: , x_eam_op_tbl => l_eam_op_tbl
1295: , x_eam_op_network_tbl => l_eam_op_network_tbl
1311: , x_return_status => l_return_status
1312: ) ;
1313:
1314:
1315: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1316: THEN
1317: l_other_message := 'EAM_SR_WRITES_UNEXP_SKIP';
1318: l_other_token_tbl(1).token_name := 'RESOURCE_SEQ_NUM';
1319: l_other_token_tbl(1).token_value := l_eam_sub_res_rec.resource_seq_num ;
1322: l_mesg_token_tbl.COUNT <>0
1323: THEN
1324: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
1325: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1326: EAM_ERROR_MESSAGE_PVT.Log_Error
1327: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1328: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1329: , p_mesg_token_tbl => l_mesg_token_tbl
1330: , p_error_status => 'W'
1327: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1328: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1329: , p_mesg_token_tbl => l_mesg_token_tbl
1330: , p_error_status => 'W'
1331: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1332: , p_entity_index => I
1333: , x_eam_wo_rec => l_eam_wo_rec
1334: , x_eam_op_tbl => l_eam_op_tbl
1335: , x_eam_op_network_tbl => l_eam_op_network_tbl
1343: l_eam_sub_res_tbl := l_out_eam_sub_res_tbl;
1344: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
1345: END IF;
1346:
1347: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Resources Database writes completed with status ' || l_return_status); END IF;
1348:
1349: ELSE
1350:
1351: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
1347: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Resources Database writes completed with status ' || l_return_status); END IF;
1348:
1349: ELSE
1350:
1351: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
1352:
1353: END IF; -- END IF statement that checks RETURN STATUS
1354:
1355: -- Load tables.
1364: EXCEPTION
1365: WHEN EXC_SEV_QUIT_RECORD THEN
1366: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
1367: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1368: EAM_ERROR_MESSAGE_PVT.Log_Error
1369: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1370: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1371: , p_mesg_token_tbl => l_mesg_token_tbl
1372: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1368: EAM_ERROR_MESSAGE_PVT.Log_Error
1369: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1370: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1371: , p_mesg_token_tbl => l_mesg_token_tbl
1372: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1373: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
1374: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1375: , p_entity_index => I
1376: , x_eam_wo_rec => l_eam_wo_rec
1369: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1370: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1371: , p_mesg_token_tbl => l_mesg_token_tbl
1372: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1373: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
1374: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1375: , p_entity_index => I
1376: , x_eam_wo_rec => l_eam_wo_rec
1377: , x_eam_op_tbl => l_eam_op_tbl
1370: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1371: , p_mesg_token_tbl => l_mesg_token_tbl
1372: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1373: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
1374: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1375: , p_entity_index => I
1376: , x_eam_wo_rec => l_eam_wo_rec
1377: , x_eam_op_tbl => l_eam_op_tbl
1378: , x_eam_op_network_tbl => l_eam_op_network_tbl
1400:
1401: WHEN EXC_SEV_QUIT_BRANCH THEN
1402: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
1403: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1404: EAM_ERROR_MESSAGE_PVT.Log_Error
1405: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1406: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1407: , p_mesg_token_tbl => l_mesg_token_tbl
1408: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1404: EAM_ERROR_MESSAGE_PVT.Log_Error
1405: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1406: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1407: , p_mesg_token_tbl => l_mesg_token_tbl
1408: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1409: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1410: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1411: , p_other_message => l_other_message
1412: , p_other_token_tbl => l_other_token_tbl
1405: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1406: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1407: , p_mesg_token_tbl => l_mesg_token_tbl
1408: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1409: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1410: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1411: , p_other_message => l_other_message
1412: , p_other_token_tbl => l_other_token_tbl
1413: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1406: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1407: , p_mesg_token_tbl => l_mesg_token_tbl
1408: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1409: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1410: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1411: , p_other_message => l_other_message
1412: , p_other_token_tbl => l_other_token_tbl
1413: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1414: , p_entity_index => I
1409: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1410: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1411: , p_other_message => l_other_message
1412: , p_other_token_tbl => l_other_token_tbl
1413: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1414: , p_entity_index => I
1415: , x_eam_wo_rec => l_eam_wo_rec
1416: , x_eam_op_tbl => l_eam_op_tbl
1417: , x_eam_op_network_tbl => l_eam_op_network_tbl
1439:
1440: WHEN EXC_SEV_SKIP_BRANCH THEN
1441: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
1442: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1443: EAM_ERROR_MESSAGE_PVT.Log_Error
1444: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1445: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1446: , p_mesg_token_tbl => l_mesg_token_tbl
1447: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1443: EAM_ERROR_MESSAGE_PVT.Log_Error
1444: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1445: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1446: , p_mesg_token_tbl => l_mesg_token_tbl
1447: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1448: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1449: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
1450: , p_other_message => l_other_message
1451: , p_other_token_tbl => l_other_token_tbl
1444: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1445: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1446: , p_mesg_token_tbl => l_mesg_token_tbl
1447: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1448: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1449: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
1450: , p_other_message => l_other_message
1451: , p_other_token_tbl => l_other_token_tbl
1452: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1445: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1446: , p_mesg_token_tbl => l_mesg_token_tbl
1447: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1448: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1449: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
1450: , p_other_message => l_other_message
1451: , p_other_token_tbl => l_other_token_tbl
1452: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1453: , p_entity_index => I
1448: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1449: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
1450: , p_other_message => l_other_message
1451: , p_other_token_tbl => l_other_token_tbl
1452: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1453: , p_entity_index => I
1454: , x_eam_wo_rec => l_eam_wo_rec
1455: , x_eam_op_tbl => l_eam_op_tbl
1456: , x_eam_op_network_tbl => l_eam_op_network_tbl
1479:
1480: WHEN EXC_SEV_QUIT_SIBLINGS THEN
1481: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
1482: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1483: EAM_ERROR_MESSAGE_PVT.Log_Error
1484: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1485: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1486: , p_mesg_token_tbl => l_mesg_token_tbl
1487: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1483: EAM_ERROR_MESSAGE_PVT.Log_Error
1484: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1485: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1486: , p_mesg_token_tbl => l_mesg_token_tbl
1487: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1488: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
1489: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1490: , p_other_message => l_other_message
1491: , p_other_token_tbl => l_other_token_tbl
1484: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1485: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1486: , p_mesg_token_tbl => l_mesg_token_tbl
1487: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1488: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
1489: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1490: , p_other_message => l_other_message
1491: , p_other_token_tbl => l_other_token_tbl
1492: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1485: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1486: , p_mesg_token_tbl => l_mesg_token_tbl
1487: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1488: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
1489: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1490: , p_other_message => l_other_message
1491: , p_other_token_tbl => l_other_token_tbl
1492: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1493: , p_entity_index => I
1488: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
1489: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1490: , p_other_message => l_other_message
1491: , p_other_token_tbl => l_other_token_tbl
1492: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1493: , p_entity_index => I
1494: , x_eam_wo_rec => l_eam_wo_rec
1495: , x_eam_op_tbl => l_eam_op_tbl
1496: , x_eam_op_network_tbl => l_eam_op_network_tbl
1518:
1519: WHEN EXC_FAT_QUIT_BRANCH THEN
1520: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
1521: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1522: EAM_ERROR_MESSAGE_PVT.Log_Error
1523: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1524: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1525: , p_mesg_token_tbl => l_mesg_token_tbl
1526: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1522: EAM_ERROR_MESSAGE_PVT.Log_Error
1523: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1524: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1525: , p_mesg_token_tbl => l_mesg_token_tbl
1526: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1527: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1528: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1529: , p_other_message => l_other_message
1530: , p_other_token_tbl => l_other_token_tbl
1523: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1524: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1525: , p_mesg_token_tbl => l_mesg_token_tbl
1526: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1527: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1528: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1529: , p_other_message => l_other_message
1530: , p_other_token_tbl => l_other_token_tbl
1531: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1524: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1525: , p_mesg_token_tbl => l_mesg_token_tbl
1526: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1527: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1528: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1529: , p_other_message => l_other_message
1530: , p_other_token_tbl => l_other_token_tbl
1531: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1532: , p_entity_index => I
1527: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
1528: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1529: , p_other_message => l_other_message
1530: , p_other_token_tbl => l_other_token_tbl
1531: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1532: , p_entity_index => I
1533: , x_eam_wo_rec => l_eam_wo_rec
1534: , x_eam_op_tbl => l_eam_op_tbl
1535: , x_eam_op_network_tbl => l_eam_op_network_tbl
1543: l_eam_sub_res_tbl := l_out_eam_sub_res_tbl;
1544: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
1545:
1546: l_process_children := FALSE ;
1547: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
1548: x_mesg_token_tbl := l_mesg_token_tbl ;
1549: x_eam_sub_res_tbl := l_eam_sub_res_tbl;
1550:
1551:
1551:
1552: WHEN EXC_FAT_QUIT_SIBLINGS THEN
1553: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
1554: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1555: EAM_ERROR_MESSAGE_PVT.Log_Error
1556: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1557: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1558: , p_mesg_token_tbl => l_mesg_token_tbl
1559: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1555: EAM_ERROR_MESSAGE_PVT.Log_Error
1556: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1557: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1558: , p_mesg_token_tbl => l_mesg_token_tbl
1559: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1560: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
1561: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1562: , p_other_message => l_other_message
1563: , p_other_token_tbl => l_other_token_tbl
1556: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1557: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1558: , p_mesg_token_tbl => l_mesg_token_tbl
1559: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1560: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
1561: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1562: , p_other_message => l_other_message
1563: , p_other_token_tbl => l_other_token_tbl
1564: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1557: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1558: , p_mesg_token_tbl => l_mesg_token_tbl
1559: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1560: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
1561: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1562: , p_other_message => l_other_message
1563: , p_other_token_tbl => l_other_token_tbl
1564: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1565: , p_entity_index => I
1560: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
1561: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
1562: , p_other_message => l_other_message
1563: , p_other_token_tbl => l_other_token_tbl
1564: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1565: , p_entity_index => I
1566: , x_eam_wo_rec => l_eam_wo_rec
1567: , x_eam_op_tbl => l_eam_op_tbl
1568: , x_eam_op_network_tbl => l_eam_op_network_tbl
1576: l_eam_sub_res_tbl := l_out_eam_sub_res_tbl;
1577: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
1578:
1579: l_process_children := FALSE ;
1580: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
1581: x_mesg_token_tbl := l_mesg_token_tbl ;
1582: x_eam_sub_res_tbl := l_eam_sub_res_tbl;
1583:
1584:
1584:
1585: WHEN EXC_UNEXP_SKIP_OBJECT THEN
1586: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
1587: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1588: EAM_ERROR_MESSAGE_PVT.Log_Error
1589: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1590: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1591: , p_mesg_token_tbl => l_mesg_token_tbl
1592: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1588: EAM_ERROR_MESSAGE_PVT.Log_Error
1589: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1590: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1591: , p_mesg_token_tbl => l_mesg_token_tbl
1592: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1593: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
1594: , p_other_message => l_other_message
1595: , p_other_token_tbl => l_other_token_tbl
1596: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1589: ( p_eam_sub_res_tbl => l_eam_sub_res_tbl
1590: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
1591: , p_mesg_token_tbl => l_mesg_token_tbl
1592: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1593: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
1594: , p_other_message => l_other_message
1595: , p_other_token_tbl => l_other_token_tbl
1596: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1597: , x_eam_wo_rec => l_eam_wo_rec
1592: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1593: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
1594: , p_other_message => l_other_message
1595: , p_other_token_tbl => l_other_token_tbl
1596: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_SUB_RES_LEVEL
1597: , x_eam_wo_rec => l_eam_wo_rec
1598: , x_eam_op_tbl => l_eam_op_tbl
1599: , x_eam_op_network_tbl => l_eam_op_network_tbl
1600: , x_eam_res_tbl => l_eam_res_tbl
1627:
1628:
1629: -- Process Resource Usage that are direct children of this
1630: -- operation
1631: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling RESOURCE_USAGES from SUB_RESOURCE') ; END IF ;
1632:
1633: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
1634:
1635: RESOURCE_USAGES
1701: , p_operation_seq_num IN NUMBER := NULL
1702: , p_resource_seq_num IN NUMBER := NULL
1703: , p_eam_res_inst_tbl IN EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type
1704: , x_eam_res_inst_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type
1705: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
1706: , x_return_status OUT NOCOPY VARCHAR2
1707: , x_schedule_wo IN OUT NOCOPY NUMBER
1708: , x_bottomup_scheduled IN OUT NOCOPY NUMBER
1709: )
1721: l_out_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
1722: l_out_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
1723: l_out_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
1724: l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
1725: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
1726:
1727: l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type ;
1728: l_eam_op_tbl EAM_PROCESS_WO_PUB.eam_op_tbl_type ;
1729: l_eam_op_network_tbl EAM_PROCESS_WO_PUB.eam_op_network_tbl_type ;
1733: l_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type ;
1734: l_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type ;
1735:
1736: /* Error Handling Variables */
1737: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1738: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
1739: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1740: l_other_message VARCHAR2(2000);
1741: l_err_text VARCHAR2(2000);
1734: l_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type ;
1735:
1736: /* Error Handling Variables */
1737: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1738: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
1739: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1740: l_other_message VARCHAR2(2000);
1741: l_err_text VARCHAR2(2000);
1742:
1735:
1736: /* Error Handling Variables */
1737: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1738: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
1739: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
1740: l_other_message VARCHAR2(2000);
1741: l_err_text VARCHAR2(2000);
1742:
1743: /* Others */
1750: l_eam_res_usage_rec EAM_PROCESS_WO_PUB.eam_res_usage_rec_type;
1751:
1752:
1753: BEGIN
1754: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(p_eam_res_inst_tbl.COUNT ||' records passed') ; END IF ;
1755:
1756: x_return_status := FND_API.G_RET_STS_SUCCESS;
1757:
1758: IF x_bottomup_scheduled = G_NON_FIRM_WORKORDER THEN
1763: l_return_status := 'S' ;
1764: l_bo_return_status := 'S' ;
1765: l_eam_res_inst_tbl := p_eam_res_inst_tbl ;
1766:
1767: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Starting RESOURCE_INSTANCES') ; END IF ;
1768:
1769: FOR I IN 1..l_eam_res_inst_tbl.COUNT LOOP
1770: BEGIN
1771:
1768:
1769: FOR I IN 1..l_eam_res_inst_tbl.COUNT LOOP
1770: BEGIN
1771:
1772: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing '|| I || ' record') ; END IF ;
1773:
1774: -- Load local records.
1775: l_eam_res_inst_rec := l_eam_res_inst_tbl(I);
1776:
1808: )
1809: )
1810: THEN
1811:
1812: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Return status validation passed') ; END IF ;
1813:
1814: l_return_status := FND_API.G_RET_STS_SUCCESS;
1815: l_eam_res_inst_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1816:
1823: );
1824:
1825: IF NOT l_valid_transaction
1826: THEN
1827: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
1828: RAISE EXC_SEV_QUIT_RECORD ;
1829: END IF ;
1830:
1831: EAM_RES_INST_VALIDATE_PVT.Check_Existence
1834: , x_mesg_token_tbl => l_mesg_token_tbl
1835: , x_return_status => l_return_status
1836: ) ;
1837:
1838: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
1839:
1840: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1841: THEN
1842: l_other_message := 'EAM_RI_EXS_SEV_SKIP';
1836: ) ;
1837:
1838: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
1839:
1840: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1841: THEN
1842: l_other_message := 'EAM_RI_EXS_SEV_SKIP';
1843: l_other_token_tbl(1).token_name := 'INSTANCE_ID';
1844: l_other_token_tbl(1).token_value := l_eam_res_inst_rec.instance_id;
1844: l_other_token_tbl(1).token_value := l_eam_res_inst_rec.instance_id;
1845: l_other_token_tbl(2).token_name := 'WIP_ENTITY_ID';
1846: l_other_token_tbl(2).token_value := l_eam_res_inst_rec.wip_entity_id;
1847: RAISE EXC_SEV_QUIT_BRANCH;
1848: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1849: THEN
1850: l_other_message := 'EAM_RI_EXS_UNEXP_SKIP';
1851: l_other_token_tbl(1).token_name := 'INSTANCE_ID';
1852: l_other_token_tbl(1).token_value := l_eam_res_inst_rec.instance_id ;
1864:
1865: IF l_eam_res_inst_rec.transaction_type IN (EAM_PROCESS_WO_PVT.G_OPR_UPDATE, EAM_PROCESS_WO_PVT.G_OPR_DELETE)
1866: THEN
1867:
1868: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Populate NULL columns') ;
1869: END IF ;
1870:
1871:
1872: l_out_eam_res_inst_rec := l_eam_res_inst_rec;
1889: , x_return_status => l_return_status
1890: ) ;
1891: l_eam_res_inst_rec := l_out_eam_res_inst_rec;
1892:
1893: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug
1894: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
1895: END IF ;
1896:
1897:
1894: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
1895: END IF ;
1896:
1897:
1898: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1899: THEN
1900: l_other_message := 'EAM_RI_ATTDEF_CSEV_SKIP';
1901: l_other_token_tbl(1).token_name := 'INSTANCE_ID';
1902: l_other_token_tbl(1).token_value := l_eam_res_inst_rec.instance_id ;
1901: l_other_token_tbl(1).token_name := 'INSTANCE_ID';
1902: l_other_token_tbl(1).token_value := l_eam_res_inst_rec.instance_id ;
1903: RAISE EXC_SEV_SKIP_BRANCH ;
1904:
1905: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1906: THEN
1907: l_other_message := 'EAM_RI_ATTDEF_UNEXP_SKIP';
1908: l_other_token_tbl(1).token_name := 'INSTANCE_ID';
1909: l_other_token_tbl(1).token_value := l_eam_res_inst_rec.instance_id ;
1910: RAISE EXC_UNEXP_SKIP_OBJECT ;
1911: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
1912: THEN
1913: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
1914: EAM_ERROR_MESSAGE_PVT.Log_Error
1915: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
1916: , p_mesg_token_tbl => l_mesg_token_tbl
1917: , p_error_status => 'W'
1918: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
1914: EAM_ERROR_MESSAGE_PVT.Log_Error
1915: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
1916: , p_mesg_token_tbl => l_mesg_token_tbl
1917: , p_error_status => 'W'
1918: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
1919: , p_entity_index => I
1920: , x_eam_wo_rec => l_eam_wo_rec
1921: , x_eam_op_tbl => l_eam_op_tbl
1922: , x_eam_op_network_tbl => l_eam_op_network_tbl
1937: , x_return_status => l_return_status
1938: , x_mesg_token_tbl => l_mesg_token_tbl
1939: ) ;
1940:
1941: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
1942:
1943:
1944: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1945: THEN
1940:
1941: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
1942:
1943:
1944: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1945: THEN
1946: IF l_eam_res_inst_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
1947: THEN
1948: l_other_message := 'EAM_RI_REQ_CSEV_SKIP';
1951: RAISE EXC_SEV_SKIP_BRANCH ;
1952: ELSE
1953: RAISE EXC_SEV_QUIT_RECORD ;
1954: END IF;
1955: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1956: THEN
1957: l_other_message := 'EAM_RI_REQ_UNEXP_SKIP';
1958: l_other_token_tbl(1).token_name := 'INSTANCE_ID';
1959: l_other_token_tbl(1).token_value := l_eam_res_inst_rec.instance_id ;
1967: , x_return_status => l_return_status
1968: , x_mesg_token_tbl => l_mesg_token_tbl
1969: ) ;
1970:
1971: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
1972:
1973: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1974: THEN
1975: IF l_eam_res_inst_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
1969: ) ;
1970:
1971: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
1972:
1973: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
1974: THEN
1975: IF l_eam_res_inst_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
1976: THEN
1977: l_other_message := 'EAM_RI_ATTVAL_CSEV_SKIP';
1980: RAISE EXC_SEV_SKIP_BRANCH ;
1981: ELSE
1982: RAISE EXC_SEV_QUIT_RECORD ;
1983: END IF;
1984: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
1985: THEN
1986: l_other_message := 'EAM_RI_ATTVAL_UNEXP_SKIP';
1987: l_other_token_tbl(1).token_name := 'INSTANCE_ID';
1988: l_other_token_tbl(1).token_value := l_eam_res_inst_rec.instance_id ;
1989: RAISE EXC_UNEXP_SKIP_OBJECT ;
1990: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
1991: THEN
1992: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
1993: EAM_ERROR_MESSAGE_PVT.Log_Error
1994: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
1995: , p_mesg_token_tbl => l_mesg_token_tbl
1996: , p_error_status => 'W'
1997: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
1993: EAM_ERROR_MESSAGE_PVT.Log_Error
1994: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
1995: , p_mesg_token_tbl => l_mesg_token_tbl
1996: , p_error_status => 'W'
1997: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
1998: , p_entity_index => I
1999: , x_eam_wo_rec => l_eam_wo_rec
2000: , x_eam_op_tbl => l_eam_op_tbl
2001: , x_eam_op_network_tbl => l_eam_op_network_tbl
2044: );
2045: END IF;
2046:
2047:
2048: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2049: THEN
2050: l_other_message := 'EAM_RI_WRITES_UNEXP_SKIP';
2051: l_other_token_tbl(1).token_name := 'INSTANCE_ID';
2052: l_other_token_tbl(1).token_value := l_eam_res_inst_rec.instance_id ;
2054: ELSIF l_return_status ='S' AND
2055: l_mesg_token_tbl.COUNT <>0
2056: THEN
2057: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2058: EAM_ERROR_MESSAGE_PVT.Log_Error
2059: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2060: , p_mesg_token_tbl => l_mesg_token_tbl
2061: , p_error_status => 'W'
2062: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2058: EAM_ERROR_MESSAGE_PVT.Log_Error
2059: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2060: , p_mesg_token_tbl => l_mesg_token_tbl
2061: , p_error_status => 'W'
2062: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2063: , p_entity_index => I
2064: , x_eam_wo_rec => l_eam_wo_rec
2065: , x_eam_op_tbl => l_eam_op_tbl
2066: , x_eam_op_network_tbl => l_eam_op_network_tbl
2074: l_eam_res_inst_tbl := l_out_eam_res_inst_tbl;
2075: END IF;
2076: */
2077:
2078: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Resources Database writes completed with status ' || l_return_status); END IF;
2079:
2080: ELSE
2081:
2082: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
2078: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Resources Database writes completed with status ' || l_return_status); END IF;
2079:
2080: ELSE
2081:
2082: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
2083:
2084: END IF; -- END IF statement that checks RETURN STATUS
2085:
2086: --find if bottom up scheduler is to be called or not
2117:
2118: EXCEPTION
2119: WHEN EXC_SEV_QUIT_RECORD THEN
2120: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2121: EAM_ERROR_MESSAGE_PVT.Log_Error
2122: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2123: , p_mesg_token_tbl => l_mesg_token_tbl
2124: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2125: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
2120: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2121: EAM_ERROR_MESSAGE_PVT.Log_Error
2122: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2123: , p_mesg_token_tbl => l_mesg_token_tbl
2124: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2125: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
2126: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2127: , p_entity_index => I
2128: , x_eam_wo_rec => l_eam_wo_rec
2121: EAM_ERROR_MESSAGE_PVT.Log_Error
2122: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2123: , p_mesg_token_tbl => l_mesg_token_tbl
2124: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2125: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
2126: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2127: , p_entity_index => I
2128: , x_eam_wo_rec => l_eam_wo_rec
2129: , x_eam_op_tbl => l_eam_op_tbl
2122: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2123: , p_mesg_token_tbl => l_mesg_token_tbl
2124: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2125: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
2126: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2127: , p_entity_index => I
2128: , x_eam_wo_rec => l_eam_wo_rec
2129: , x_eam_op_tbl => l_eam_op_tbl
2130: , x_eam_op_network_tbl => l_eam_op_network_tbl
2148:
2149:
2150: WHEN EXC_SEV_QUIT_BRANCH THEN
2151: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2152: EAM_ERROR_MESSAGE_PVT.Log_Error
2153: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2154: , p_mesg_token_tbl => l_mesg_token_tbl
2155: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2156: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2151: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2152: EAM_ERROR_MESSAGE_PVT.Log_Error
2153: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2154: , p_mesg_token_tbl => l_mesg_token_tbl
2155: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2156: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2157: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2158: , p_other_message => l_other_message
2159: , p_other_token_tbl => l_other_token_tbl
2152: EAM_ERROR_MESSAGE_PVT.Log_Error
2153: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2154: , p_mesg_token_tbl => l_mesg_token_tbl
2155: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2156: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2157: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2158: , p_other_message => l_other_message
2159: , p_other_token_tbl => l_other_token_tbl
2160: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2153: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2154: , p_mesg_token_tbl => l_mesg_token_tbl
2155: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2156: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2157: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2158: , p_other_message => l_other_message
2159: , p_other_token_tbl => l_other_token_tbl
2160: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2161: , p_entity_index => I
2156: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2157: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2158: , p_other_message => l_other_message
2159: , p_other_token_tbl => l_other_token_tbl
2160: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2161: , p_entity_index => I
2162: , x_eam_wo_rec => l_eam_wo_rec
2163: , x_eam_op_tbl => l_eam_op_tbl
2164: , x_eam_op_network_tbl => l_eam_op_network_tbl
2183:
2184:
2185: WHEN EXC_SEV_SKIP_BRANCH THEN
2186: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2187: EAM_ERROR_MESSAGE_PVT.Log_Error
2188: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2189: , p_mesg_token_tbl => l_mesg_token_tbl
2190: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2191: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2186: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2187: EAM_ERROR_MESSAGE_PVT.Log_Error
2188: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2189: , p_mesg_token_tbl => l_mesg_token_tbl
2190: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2191: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2192: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2193: , p_other_message => l_other_message
2194: , p_other_token_tbl => l_other_token_tbl
2187: EAM_ERROR_MESSAGE_PVT.Log_Error
2188: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2189: , p_mesg_token_tbl => l_mesg_token_tbl
2190: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2191: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2192: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2193: , p_other_message => l_other_message
2194: , p_other_token_tbl => l_other_token_tbl
2195: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2188: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2189: , p_mesg_token_tbl => l_mesg_token_tbl
2190: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2191: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2192: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2193: , p_other_message => l_other_message
2194: , p_other_token_tbl => l_other_token_tbl
2195: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2196: , p_entity_index => I
2191: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2192: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2193: , p_other_message => l_other_message
2194: , p_other_token_tbl => l_other_token_tbl
2195: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2196: , p_entity_index => I
2197: , x_eam_wo_rec => l_eam_wo_rec
2198: , x_eam_op_tbl => l_eam_op_tbl
2199: , x_eam_op_network_tbl => l_eam_op_network_tbl
2218:
2219:
2220: WHEN EXC_SEV_QUIT_SIBLINGS THEN
2221: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2222: EAM_ERROR_MESSAGE_PVT.Log_Error
2223: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2224: , p_mesg_token_tbl => l_mesg_token_tbl
2225: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2226: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2221: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2222: EAM_ERROR_MESSAGE_PVT.Log_Error
2223: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2224: , p_mesg_token_tbl => l_mesg_token_tbl
2225: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2226: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2227: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2228: , p_other_message => l_other_message
2229: , p_other_token_tbl => l_other_token_tbl
2222: EAM_ERROR_MESSAGE_PVT.Log_Error
2223: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2224: , p_mesg_token_tbl => l_mesg_token_tbl
2225: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2226: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2227: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2228: , p_other_message => l_other_message
2229: , p_other_token_tbl => l_other_token_tbl
2230: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2223: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2224: , p_mesg_token_tbl => l_mesg_token_tbl
2225: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2226: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2227: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2228: , p_other_message => l_other_message
2229: , p_other_token_tbl => l_other_token_tbl
2230: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2231: , p_entity_index => I
2226: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2227: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2228: , p_other_message => l_other_message
2229: , p_other_token_tbl => l_other_token_tbl
2230: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2231: , p_entity_index => I
2232: , x_eam_wo_rec => l_eam_wo_rec
2233: , x_eam_op_tbl => l_eam_op_tbl
2234: , x_eam_op_network_tbl => l_eam_op_network_tbl
2253:
2254:
2255: WHEN EXC_FAT_QUIT_BRANCH THEN
2256: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2257: EAM_ERROR_MESSAGE_PVT.Log_Error
2258: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2259: , p_mesg_token_tbl => l_mesg_token_tbl
2260: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2261: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2256: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2257: EAM_ERROR_MESSAGE_PVT.Log_Error
2258: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2259: , p_mesg_token_tbl => l_mesg_token_tbl
2260: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2261: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2262: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2263: , p_other_message => l_other_message
2264: , p_other_token_tbl => l_other_token_tbl
2257: EAM_ERROR_MESSAGE_PVT.Log_Error
2258: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2259: , p_mesg_token_tbl => l_mesg_token_tbl
2260: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2261: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2262: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2263: , p_other_message => l_other_message
2264: , p_other_token_tbl => l_other_token_tbl
2265: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2258: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2259: , p_mesg_token_tbl => l_mesg_token_tbl
2260: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2261: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2262: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2263: , p_other_message => l_other_message
2264: , p_other_token_tbl => l_other_token_tbl
2265: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2266: , p_entity_index => I
2261: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2262: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2263: , p_other_message => l_other_message
2264: , p_other_token_tbl => l_other_token_tbl
2265: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2266: , p_entity_index => I
2267: , x_eam_wo_rec => l_eam_wo_rec
2268: , x_eam_op_tbl => l_eam_op_tbl
2269: , x_eam_op_network_tbl => l_eam_op_network_tbl
2277: l_eam_res_inst_tbl := l_out_eam_res_inst_tbl;
2278:
2279:
2280: l_process_children := FALSE ;
2281: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
2282: x_mesg_token_tbl := l_mesg_token_tbl ;
2283: x_eam_res_inst_tbl := l_eam_res_inst_tbl;
2284:
2285:
2284:
2285:
2286: WHEN EXC_FAT_QUIT_SIBLINGS THEN
2287: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2288: EAM_ERROR_MESSAGE_PVT.Log_Error
2289: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2290: , p_mesg_token_tbl => l_mesg_token_tbl
2291: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2292: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2287: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2288: EAM_ERROR_MESSAGE_PVT.Log_Error
2289: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2290: , p_mesg_token_tbl => l_mesg_token_tbl
2291: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2292: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2293: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2294: , p_other_message => l_other_message
2295: , p_other_token_tbl => l_other_token_tbl
2288: EAM_ERROR_MESSAGE_PVT.Log_Error
2289: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2290: , p_mesg_token_tbl => l_mesg_token_tbl
2291: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2292: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2293: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2294: , p_other_message => l_other_message
2295: , p_other_token_tbl => l_other_token_tbl
2296: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2289: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2290: , p_mesg_token_tbl => l_mesg_token_tbl
2291: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2292: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2293: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2294: , p_other_message => l_other_message
2295: , p_other_token_tbl => l_other_token_tbl
2296: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2297: , p_entity_index => I
2292: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2293: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2294: , p_other_message => l_other_message
2295: , p_other_token_tbl => l_other_token_tbl
2296: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2297: , p_entity_index => I
2298: , x_eam_wo_rec => l_eam_wo_rec
2299: , x_eam_op_tbl => l_eam_op_tbl
2300: , x_eam_op_network_tbl => l_eam_op_network_tbl
2308: l_eam_res_inst_tbl := l_out_eam_res_inst_tbl;
2309:
2310:
2311: l_process_children := FALSE ;
2312: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
2313: x_mesg_token_tbl := l_mesg_token_tbl ;
2314: x_eam_res_inst_tbl := l_eam_res_inst_tbl;
2315:
2316:
2316:
2317:
2318: WHEN EXC_UNEXP_SKIP_OBJECT THEN
2319: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2320: EAM_ERROR_MESSAGE_PVT.Log_Error
2321: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2322: , p_mesg_token_tbl => l_mesg_token_tbl
2323: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2324: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2319: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
2320: EAM_ERROR_MESSAGE_PVT.Log_Error
2321: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2322: , p_mesg_token_tbl => l_mesg_token_tbl
2323: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2324: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2325: , p_other_message => l_other_message
2326: , p_other_token_tbl => l_other_token_tbl
2327: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2320: EAM_ERROR_MESSAGE_PVT.Log_Error
2321: ( p_eam_res_inst_tbl => l_eam_res_inst_tbl
2322: , p_mesg_token_tbl => l_mesg_token_tbl
2323: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2324: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2325: , p_other_message => l_other_message
2326: , p_other_token_tbl => l_other_token_tbl
2327: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2328: , x_eam_wo_rec => l_eam_wo_rec
2323: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2324: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2325: , p_other_message => l_other_message
2326: , p_other_token_tbl => l_other_token_tbl
2327: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_INST_LEVEL
2328: , x_eam_wo_rec => l_eam_wo_rec
2329: , x_eam_op_tbl => l_eam_op_tbl
2330: , x_eam_op_network_tbl => l_eam_op_network_tbl
2331: , x_eam_res_tbl => l_eam_res_tbl
2387: , p_eam_op_network_tbl IN EAM_PROCESS_WO_PUB.eam_op_network_tbl_type
2388: , x_eam_op_network_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_op_network_tbl_type
2389: , x_schedule_wo IN OUT NOCOPY NUMBER
2390: , x_bottomup_scheduled IN OUT NOCOPY NUMBER
2391: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
2392: , x_return_status OUT NOCOPY VARCHAR2
2393: )
2394: IS
2395:
2409: l_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type ;
2410: l_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type ;
2411:
2412: /* Error Handling Variables */
2413: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
2414: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
2415: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
2416: l_other_message VARCHAR2(2000);
2417: l_err_text VARCHAR2(2000);
2410: l_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type ;
2411:
2412: /* Error Handling Variables */
2413: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
2414: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
2415: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
2416: l_other_message VARCHAR2(2000);
2417: l_err_text VARCHAR2(2000);
2418:
2411:
2412: /* Error Handling Variables */
2413: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
2414: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
2415: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
2416: l_other_message VARCHAR2(2000);
2417: l_err_text VARCHAR2(2000);
2418:
2419: /* Others */
2424: l_valid_transaction BOOLEAN := TRUE ;
2425:
2426:
2427: BEGIN
2428: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(p_eam_op_network_tbl.COUNT ||' records passed') ; END IF ;
2429:
2430: x_return_status := FND_API.G_RET_STS_SUCCESS;
2431:
2432: -- Init local table variables.
2433: l_return_status := 'S' ;
2434: l_bo_return_status := 'S' ;
2435: l_eam_op_network_tbl := p_eam_op_network_tbl ;
2436:
2437: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Starting OPERATION_NETWORK') ; END IF ;
2438:
2439: FOR I IN 1..l_eam_op_network_tbl.COUNT LOOP
2440: BEGIN
2441:
2438:
2439: FOR I IN 1..l_eam_op_network_tbl.COUNT LOOP
2440: BEGIN
2441:
2442: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing '|| I || ' record') ; END IF ;
2443:
2444: -- Load local records.
2445:
2446: l_eam_op_network_rec := l_eam_op_network_tbl(I);
2473: )
2474: )
2475: THEN
2476:
2477: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Return status validation passed') ; END IF ;
2478:
2479: l_return_status := FND_API.G_RET_STS_SUCCESS;
2480: l_eam_op_network_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2481:
2488: );
2489:
2490: IF NOT l_valid_transaction
2491: THEN
2492: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
2493: RAISE EXC_SEV_QUIT_RECORD ;
2494: END IF ;
2495:
2496: EAM_OP_NETWORK_VALIDATE_PVT.Check_Existence
2499: , x_mesg_token_tbl => l_mesg_token_tbl
2500: , x_return_status => l_return_status
2501: ) ;
2502:
2503: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
2504:
2505: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2506: THEN
2507: l_other_message := 'EAM_OPN_EXS_SEV_SKIP';
2501: ) ;
2502:
2503: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
2504:
2505: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2506: THEN
2507: l_other_message := 'EAM_OPN_EXS_SEV_SKIP';
2508: l_other_token_tbl(1).token_name := 'PRIOR_OPERATION';
2509: l_other_token_tbl(1).token_value := l_eam_op_network_rec.prior_operation;
2509: l_other_token_tbl(1).token_value := l_eam_op_network_rec.prior_operation;
2510: l_other_token_tbl(2).token_name := 'WIP_ENTITY_ID';
2511: l_other_token_tbl(2).token_value := l_eam_op_network_rec.wip_entity_id;
2512: RAISE EXC_SEV_QUIT_BRANCH;
2513: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2514: THEN
2515: l_other_message := 'EAM_OPN_EXS_UNEXP_SKIP';
2516: l_other_token_tbl(1).token_name := 'PRIOR_OPERATION';
2517: l_other_token_tbl(1).token_value := l_eam_op_network_rec.prior_operation ;
2529:
2530: IF l_eam_op_network_rec.transaction_type IN (EAM_PROCESS_WO_PVT.G_OPR_UPDATE, EAM_PROCESS_WO_PVT.G_OPR_DELETE)
2531: THEN
2532:
2533: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Populate NULL columns') ;
2534: END IF ;
2535:
2536: l_out_eam_op_network_rec := l_eam_op_network_rec;
2537:
2557: ) ;
2558:
2559: l_eam_op_network_rec := l_out_eam_op_network_rec;
2560:
2561: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug
2562: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
2563: END IF ;
2564:
2565:
2562: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
2563: END IF ;
2564:
2565:
2566: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2567: THEN
2568: l_other_message := 'EAM_OPN_ATTDEF_CSEV_SKIP';
2569: l_other_token_tbl(1).token_name := 'PRIOR_OPERATION';
2570: l_other_token_tbl(1).token_value := l_eam_op_network_rec.prior_operation ;
2569: l_other_token_tbl(1).token_name := 'PRIOR_OPERATION';
2570: l_other_token_tbl(1).token_value := l_eam_op_network_rec.prior_operation ;
2571: RAISE EXC_SEV_SKIP_BRANCH ;
2572:
2573: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2574: THEN
2575: l_other_message := 'EAM_OPN_ATTDEF_UNEXP_SKIP';
2576: l_other_token_tbl(1).token_name := 'PRIOR_OPERATION';
2577: l_other_token_tbl(1).token_value := l_eam_op_network_rec.prior_operation ;
2578: RAISE EXC_UNEXP_SKIP_OBJECT ;
2579: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
2580: THEN
2581: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2582: EAM_ERROR_MESSAGE_PVT.Log_Error
2583: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2584: , p_mesg_token_tbl => l_mesg_token_tbl
2585: , p_error_status => 'W'
2586: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2582: EAM_ERROR_MESSAGE_PVT.Log_Error
2583: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2584: , p_mesg_token_tbl => l_mesg_token_tbl
2585: , p_error_status => 'W'
2586: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2587: , p_entity_index => I
2588: , x_eam_wo_rec => l_eam_wo_rec
2589: , x_eam_op_tbl => l_eam_op_tbl
2590: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
2605: , x_return_status => l_return_status
2606: , x_mesg_token_tbl => l_mesg_token_tbl
2607: ) ;
2608:
2609: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
2610:
2611:
2612: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2613: THEN
2608:
2609: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
2610:
2611:
2612: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2613: THEN
2614: IF l_eam_op_network_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
2615: THEN
2616: l_other_message := 'EAM_OPN_REQ_CSEV_SKIP';
2619: RAISE EXC_SEV_SKIP_BRANCH ;
2620: ELSE
2621: RAISE EXC_SEV_QUIT_RECORD ;
2622: END IF;
2623: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2624: THEN
2625: l_other_message := 'EAM_OPN_REQ_UNEXP_SKIP';
2626: l_other_token_tbl(1).token_name := 'PRIOR_OPERATION';
2627: l_other_token_tbl(1).token_value := l_eam_op_network_rec.prior_operation ;
2635: , x_return_status => l_return_status
2636: , x_mesg_token_tbl => l_mesg_token_tbl
2637: ) ;
2638:
2639: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
2640:
2641: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2642: THEN
2643: IF l_eam_op_network_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
2637: ) ;
2638:
2639: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
2640:
2641: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2642: THEN
2643: IF l_eam_op_network_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
2644: THEN
2645: l_other_message := 'EAM_OPN_ATTVAL_CSEV_SKIP';
2648: RAISE EXC_SEV_SKIP_BRANCH ;
2649: ELSE
2650: RAISE EXC_SEV_QUIT_RECORD ;
2651: END IF;
2652: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2653: THEN
2654: l_other_message := 'EAM_OPN_ATTVAL_UNEXP_SKIP';
2655: l_other_token_tbl(1).token_name := 'PRIOR_OPERATION';
2656: l_other_token_tbl(1).token_value := l_eam_op_network_rec.prior_operation ;
2657: RAISE EXC_UNEXP_SKIP_OBJECT ;
2658: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
2659: THEN
2660: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2661: EAM_ERROR_MESSAGE_PVT.Log_Error
2662: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2663: , p_mesg_token_tbl => l_mesg_token_tbl
2664: , p_error_status => 'W'
2665: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2661: EAM_ERROR_MESSAGE_PVT.Log_Error
2662: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2663: , p_mesg_token_tbl => l_mesg_token_tbl
2664: , p_error_status => 'W'
2665: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2666: , p_entity_index => I
2667: , x_eam_wo_rec => l_eam_wo_rec
2668: , x_eam_op_tbl => l_eam_op_tbl
2669: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
2685: , x_return_status => l_return_status
2686: ) ;
2687:
2688:
2689: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2690: THEN
2691: l_other_message := 'EAM_OPN_WRITES_UNEXP_SKIP';
2692: l_other_token_tbl(1).token_name := 'PRIOR_OPERATION';
2693: l_other_token_tbl(1).token_value := l_eam_op_network_rec.prior_operation ;
2695: ELSIF l_return_status ='S' AND
2696: l_mesg_token_tbl.COUNT <>0
2697: THEN
2698: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2699: EAM_ERROR_MESSAGE_PVT.Log_Error
2700: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2701: , p_mesg_token_tbl => l_mesg_token_tbl
2702: , p_error_status => 'W'
2703: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2699: EAM_ERROR_MESSAGE_PVT.Log_Error
2700: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2701: , p_mesg_token_tbl => l_mesg_token_tbl
2702: , p_error_status => 'W'
2703: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2704: , p_entity_index => I
2705: , x_eam_wo_rec => l_eam_wo_rec
2706: , x_eam_op_tbl => l_eam_op_tbl
2707: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
2728: ) THEN -- if op dependency is added or deleted
2729: x_bottomup_scheduled := G_BU_SCHEDULE_WO;
2730: END IF;
2731:
2732: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Networks Database writes completed with status ' || l_return_status); END IF;
2733:
2734: ELSE
2735:
2736: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
2732: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Networks Database writes completed with status ' || l_return_status); END IF;
2733:
2734: ELSE
2735:
2736: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
2737:
2738: END IF; -- END IF statement that checks RETURN STATUS
2739:
2740: -- Load tables.
2748:
2749: EXCEPTION
2750: WHEN EXC_SEV_QUIT_RECORD THEN
2751: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2752: EAM_ERROR_MESSAGE_PVT.Log_Error
2753: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2754: , p_mesg_token_tbl => l_mesg_token_tbl
2755: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2756: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
2751: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2752: EAM_ERROR_MESSAGE_PVT.Log_Error
2753: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2754: , p_mesg_token_tbl => l_mesg_token_tbl
2755: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2756: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
2757: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2758: , p_entity_index => I
2759: , x_eam_wo_rec => l_eam_wo_rec
2752: EAM_ERROR_MESSAGE_PVT.Log_Error
2753: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2754: , p_mesg_token_tbl => l_mesg_token_tbl
2755: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2756: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
2757: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2758: , p_entity_index => I
2759: , x_eam_wo_rec => l_eam_wo_rec
2760: , x_eam_op_tbl => l_eam_op_tbl
2753: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2754: , p_mesg_token_tbl => l_mesg_token_tbl
2755: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2756: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
2757: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2758: , p_entity_index => I
2759: , x_eam_wo_rec => l_eam_wo_rec
2760: , x_eam_op_tbl => l_eam_op_tbl
2761: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
2779:
2780:
2781: WHEN EXC_SEV_QUIT_BRANCH THEN
2782: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2783: EAM_ERROR_MESSAGE_PVT.Log_Error
2784: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2785: , p_mesg_token_tbl => l_mesg_token_tbl
2786: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2787: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2782: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2783: EAM_ERROR_MESSAGE_PVT.Log_Error
2784: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2785: , p_mesg_token_tbl => l_mesg_token_tbl
2786: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2787: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2788: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2789: , p_other_message => l_other_message
2790: , p_other_token_tbl => l_other_token_tbl
2783: EAM_ERROR_MESSAGE_PVT.Log_Error
2784: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2785: , p_mesg_token_tbl => l_mesg_token_tbl
2786: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2787: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2788: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2789: , p_other_message => l_other_message
2790: , p_other_token_tbl => l_other_token_tbl
2791: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2784: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2785: , p_mesg_token_tbl => l_mesg_token_tbl
2786: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2787: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2788: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2789: , p_other_message => l_other_message
2790: , p_other_token_tbl => l_other_token_tbl
2791: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2792: , p_entity_index => I
2787: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2788: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2789: , p_other_message => l_other_message
2790: , p_other_token_tbl => l_other_token_tbl
2791: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2792: , p_entity_index => I
2793: , x_eam_wo_rec => l_eam_wo_rec
2794: , x_eam_op_tbl => l_eam_op_tbl
2795: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
2814:
2815:
2816: WHEN EXC_SEV_SKIP_BRANCH THEN
2817: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2818: EAM_ERROR_MESSAGE_PVT.Log_Error
2819: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2820: , p_mesg_token_tbl => l_mesg_token_tbl
2821: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2822: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2817: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2818: EAM_ERROR_MESSAGE_PVT.Log_Error
2819: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2820: , p_mesg_token_tbl => l_mesg_token_tbl
2821: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2822: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2823: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2824: , p_other_message => l_other_message
2825: , p_other_token_tbl => l_other_token_tbl
2818: EAM_ERROR_MESSAGE_PVT.Log_Error
2819: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2820: , p_mesg_token_tbl => l_mesg_token_tbl
2821: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2822: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2823: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2824: , p_other_message => l_other_message
2825: , p_other_token_tbl => l_other_token_tbl
2826: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2819: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2820: , p_mesg_token_tbl => l_mesg_token_tbl
2821: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2822: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2823: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2824: , p_other_message => l_other_message
2825: , p_other_token_tbl => l_other_token_tbl
2826: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2827: , p_entity_index => I
2822: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2823: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2824: , p_other_message => l_other_message
2825: , p_other_token_tbl => l_other_token_tbl
2826: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2827: , p_entity_index => I
2828: , x_eam_wo_rec => l_eam_wo_rec
2829: , x_eam_op_tbl => l_eam_op_tbl
2830: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
2849:
2850:
2851: WHEN EXC_SEV_QUIT_SIBLINGS THEN
2852: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2853: EAM_ERROR_MESSAGE_PVT.Log_Error
2854: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2855: , p_mesg_token_tbl => l_mesg_token_tbl
2856: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2857: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2852: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2853: EAM_ERROR_MESSAGE_PVT.Log_Error
2854: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2855: , p_mesg_token_tbl => l_mesg_token_tbl
2856: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2857: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2858: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2859: , p_other_message => l_other_message
2860: , p_other_token_tbl => l_other_token_tbl
2853: EAM_ERROR_MESSAGE_PVT.Log_Error
2854: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2855: , p_mesg_token_tbl => l_mesg_token_tbl
2856: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2857: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2858: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2859: , p_other_message => l_other_message
2860: , p_other_token_tbl => l_other_token_tbl
2861: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2854: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2855: , p_mesg_token_tbl => l_mesg_token_tbl
2856: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2857: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2858: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2859: , p_other_message => l_other_message
2860: , p_other_token_tbl => l_other_token_tbl
2861: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2862: , p_entity_index => I
2857: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2858: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
2859: , p_other_message => l_other_message
2860: , p_other_token_tbl => l_other_token_tbl
2861: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2862: , p_entity_index => I
2863: , x_eam_wo_rec => l_eam_wo_rec
2864: , x_eam_op_tbl => l_eam_op_tbl
2865: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
2884:
2885:
2886: WHEN EXC_FAT_QUIT_BRANCH THEN
2887: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2888: EAM_ERROR_MESSAGE_PVT.Log_Error
2889: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2890: , p_mesg_token_tbl => l_mesg_token_tbl
2891: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2892: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2887: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2888: EAM_ERROR_MESSAGE_PVT.Log_Error
2889: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2890: , p_mesg_token_tbl => l_mesg_token_tbl
2891: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2892: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2893: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2894: , p_other_message => l_other_message
2895: , p_other_token_tbl => l_other_token_tbl
2888: EAM_ERROR_MESSAGE_PVT.Log_Error
2889: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2890: , p_mesg_token_tbl => l_mesg_token_tbl
2891: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2892: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2893: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2894: , p_other_message => l_other_message
2895: , p_other_token_tbl => l_other_token_tbl
2896: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2889: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2890: , p_mesg_token_tbl => l_mesg_token_tbl
2891: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2892: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2893: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2894: , p_other_message => l_other_message
2895: , p_other_token_tbl => l_other_token_tbl
2896: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2897: , p_entity_index => I
2892: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
2893: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2894: , p_other_message => l_other_message
2895: , p_other_token_tbl => l_other_token_tbl
2896: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2897: , p_entity_index => I
2898: , x_eam_wo_rec => l_eam_wo_rec
2899: , x_eam_op_tbl => l_eam_op_tbl
2900: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
2908: l_eam_op_network_tbl := l_out_eam_op_network_tbl;
2909:
2910:
2911: l_process_children := FALSE ;
2912: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
2913: x_mesg_token_tbl := l_mesg_token_tbl ;
2914: x_eam_op_network_tbl := l_eam_op_network_tbl;
2915:
2916:
2916:
2917:
2918: WHEN EXC_FAT_QUIT_SIBLINGS THEN
2919: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2920: EAM_ERROR_MESSAGE_PVT.Log_Error
2921: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2922: , p_mesg_token_tbl => l_mesg_token_tbl
2923: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2924: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2919: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2920: EAM_ERROR_MESSAGE_PVT.Log_Error
2921: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2922: , p_mesg_token_tbl => l_mesg_token_tbl
2923: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2924: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2925: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2926: , p_other_message => l_other_message
2927: , p_other_token_tbl => l_other_token_tbl
2920: EAM_ERROR_MESSAGE_PVT.Log_Error
2921: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2922: , p_mesg_token_tbl => l_mesg_token_tbl
2923: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2924: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2925: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2926: , p_other_message => l_other_message
2927: , p_other_token_tbl => l_other_token_tbl
2928: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2921: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2922: , p_mesg_token_tbl => l_mesg_token_tbl
2923: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2924: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2925: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2926: , p_other_message => l_other_message
2927: , p_other_token_tbl => l_other_token_tbl
2928: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2929: , p_entity_index => I
2924: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
2925: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
2926: , p_other_message => l_other_message
2927: , p_other_token_tbl => l_other_token_tbl
2928: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2929: , p_entity_index => I
2930: , x_eam_wo_rec => l_eam_wo_rec
2931: , x_eam_op_tbl => l_eam_op_tbl
2932: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
2940: l_eam_op_network_tbl := l_out_eam_op_network_tbl;
2941:
2942:
2943: l_process_children := FALSE ;
2944: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
2945: x_mesg_token_tbl := l_mesg_token_tbl ;
2946: x_eam_op_network_tbl := l_eam_op_network_tbl;
2947:
2948:
2947:
2948:
2949: WHEN EXC_UNEXP_SKIP_OBJECT THEN
2950: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2951: EAM_ERROR_MESSAGE_PVT.Log_Error
2952: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2953: , p_mesg_token_tbl => l_mesg_token_tbl
2954: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2955: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2950: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
2951: EAM_ERROR_MESSAGE_PVT.Log_Error
2952: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2953: , p_mesg_token_tbl => l_mesg_token_tbl
2954: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2955: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2956: , p_other_message => l_other_message
2957: , p_other_token_tbl => l_other_token_tbl
2958: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2951: EAM_ERROR_MESSAGE_PVT.Log_Error
2952: ( p_eam_op_network_tbl => l_eam_op_network_tbl
2953: , p_mesg_token_tbl => l_mesg_token_tbl
2954: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2955: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2956: , p_other_message => l_other_message
2957: , p_other_token_tbl => l_other_token_tbl
2958: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2959: , x_eam_wo_rec => l_eam_wo_rec
2954: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
2955: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
2956: , p_other_message => l_other_message
2957: , p_other_token_tbl => l_other_token_tbl
2958: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_NETWORK_LEVEL
2959: , x_eam_wo_rec => l_eam_wo_rec
2960: , x_eam_op_tbl => l_eam_op_tbl
2961: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
2962: , x_eam_res_tbl => l_eam_res_tbl
3009: , p_department_id IN NUMBER := NULL
3010: , p_eam_mat_req_tbl IN EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type
3011: , x_material_shortage IN OUT NOCOPY NUMBER
3012: , x_eam_mat_req_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type
3013: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
3014: , x_return_status OUT NOCOPY VARCHAR2
3015: )
3016: IS
3017:
3032: l_out_eam_mat_req_rec EAM_PROCESS_WO_PUB.eam_mat_req_rec_type;
3033: l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
3034:
3035: /* Error Handling Variables */
3036: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3037: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
3038: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3039: l_other_message VARCHAR2(2000);
3040: l_err_text VARCHAR2(2000);
3033: l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
3034:
3035: /* Error Handling Variables */
3036: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3037: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
3038: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3039: l_other_message VARCHAR2(2000);
3040: l_err_text VARCHAR2(2000);
3041:
3034:
3035: /* Error Handling Variables */
3036: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3037: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
3038: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3039: l_other_message VARCHAR2(2000);
3040: l_err_text VARCHAR2(2000);
3041:
3042: /* Others */
3067:
3068:
3069:
3070: BEGIN
3071: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(p_eam_mat_req_tbl.COUNT ||' records passed') ; END IF ;
3072:
3073: x_return_status := FND_API.G_RET_STS_SUCCESS;
3074:
3075: -- Init local table variables.
3078: l_eam_mat_req_tbl := p_eam_mat_req_tbl ;
3079:
3080:
3081:
3082: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Starting MATERIAL_REQUIREMENTS') ; END IF ;
3083:
3084:
3085: /* Get the materials in the Operation 1 and append to the table l_eam_mat_req_tbl */
3086: IF ( p_operation_seq_num IS NOT NULL
3105:
3106: FOR I IN 1..l_eam_mat_req_tbl.COUNT LOOP
3107: BEGIN
3108:
3109: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing '|| I || ' record') ; END IF ;
3110:
3111: -- Load local records.
3112: l_eam_mat_req_rec := l_eam_mat_req_tbl(I);
3113:
3147: )
3148: )
3149: THEN
3150:
3151: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Return status validation passed') ; END IF ;
3152:
3153: l_return_status := FND_API.G_RET_STS_SUCCESS;
3154: l_eam_mat_req_rec.return_status := FND_API.G_RET_STS_SUCCESS;
3155:
3152:
3153: l_return_status := FND_API.G_RET_STS_SUCCESS;
3154: l_eam_mat_req_rec.return_status := FND_API.G_RET_STS_SUCCESS;
3155:
3156: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating Transaction Type') ; END IF ;
3157:
3158: VALIDATE_TRANSACTION_TYPE
3159: ( p_transaction_type => l_eam_mat_req_rec.transaction_type
3160: , p_entity_name => 'MATERIAL_REQUIREMENTS'
3164: );
3165:
3166: IF NOT l_valid_transaction
3167: THEN
3168: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
3169: RAISE EXC_SEV_QUIT_RECORD ;
3170: END IF ;
3171:
3172: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Checking Existence of Record') ; END IF ;
3168: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
3169: RAISE EXC_SEV_QUIT_RECORD ;
3170: END IF ;
3171:
3172: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Checking Existence of Record') ; END IF ;
3173:
3174: EAM_MAT_REQ_VALIDATE_PVT.Check_Existence
3175: ( p_eam_mat_req_rec => l_eam_mat_req_rec
3176: , x_old_eam_mat_req_rec => l_old_eam_mat_req_rec
3177: , x_mesg_token_tbl => l_mesg_token_tbl
3178: , x_return_status => l_return_status
3179: ) ;
3180:
3181: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
3182:
3183: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3184: THEN
3185: l_other_message := 'EAM_MR_EXS_SEV_SKIP';
3179: ) ;
3180:
3181: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
3182:
3183: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3184: THEN
3185: l_other_message := 'EAM_MR_EXS_SEV_SKIP';
3186: l_other_token_tbl(1).token_name := 'INV_ITEM_ID';
3187: l_other_token_tbl(1).token_value := l_eam_mat_req_rec.inventory_item_id;
3187: l_other_token_tbl(1).token_value := l_eam_mat_req_rec.inventory_item_id;
3188: l_other_token_tbl(2).token_name := 'WIP_ENTITY_ID';
3189: l_other_token_tbl(2).token_value := l_eam_mat_req_rec.wip_entity_id;
3190: RAISE EXC_SEV_QUIT_BRANCH;
3191: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
3192: THEN
3193: l_other_message := 'EAM_MR_EXS_UNEXP_SKIP';
3194: l_other_token_tbl(1).token_name := 'INV_ITEM_ID';
3195: l_other_token_tbl(1).token_value := l_eam_mat_req_rec.inventory_item_id ;
3211: IF l_eam_mat_req_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_DELETE THEN
3212: x_material_shortage := G_MATERIAL_UPDATE;
3213: END IF;
3214:
3215: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Populate NULL columns') ;
3216: END IF ;
3217:
3218: l_out_eam_mat_req_rec := l_eam_mat_req_rec;
3219:
3256: ) ;
3257:
3258: l_eam_mat_req_rec := l_out_eam_mat_req_rec;
3259:
3260: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug
3261: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
3262: END IF ;
3263:
3264:
3261: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
3262: END IF ;
3263:
3264:
3265: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3266: THEN
3267: l_other_message := 'EAM_MR_ATTDEF_CSEV_SKIP';
3268: l_other_token_tbl(1).token_name := 'Inventory_Item';
3269: -- l_other_token_tbl(1).token_value := l_eam_mat_req_rec.inventory_item_id ;
3274: AND msik.organization_id = l_eam_mat_req_rec.organization_id;
3275:
3276: RAISE EXC_SEV_SKIP_BRANCH ;
3277:
3278: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
3279: THEN
3280: l_other_message := 'EAM_MR_ATTDEF_UNEXP_SKIP';
3281: l_other_token_tbl(1).token_name := 'INV_ITEM_ID';
3282: l_other_token_tbl(1).token_value := l_eam_mat_req_rec.inventory_item_id ;
3283: RAISE EXC_UNEXP_SKIP_OBJECT ;
3284: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
3285: THEN
3286: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3287: EAM_ERROR_MESSAGE_PVT.Log_Error
3288: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3289: , p_mesg_token_tbl => l_mesg_token_tbl
3290: , p_error_status => 'W'
3291: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3287: EAM_ERROR_MESSAGE_PVT.Log_Error
3288: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3289: , p_mesg_token_tbl => l_mesg_token_tbl
3290: , p_error_status => 'W'
3291: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3292: , p_entity_index => I
3293: , x_eam_wo_rec => l_eam_wo_rec
3294: , x_eam_op_tbl => l_eam_op_tbl
3295: , x_eam_op_network_tbl => l_eam_op_network_tbl
3310: , x_return_status => l_return_status
3311: , x_mesg_token_tbl => l_mesg_token_tbl
3312: ) ;
3313:
3314: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
3315:
3316:
3317: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3318: THEN
3313:
3314: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
3315:
3316:
3317: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3318: THEN
3319: IF l_eam_mat_req_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
3320: THEN
3321: l_other_message := 'EAM_MR_REQ_CSEV_SKIP';
3324: RAISE EXC_SEV_SKIP_BRANCH ;
3325: ELSE
3326: RAISE EXC_SEV_QUIT_RECORD ;
3327: END IF;
3328: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
3329: THEN
3330: l_other_message := 'EAM_MR_REQ_UNEXP_SKIP';
3331: l_other_token_tbl(1).token_name := 'INV_ITEM_ID';
3332: l_other_token_tbl(1).token_value := l_eam_mat_req_rec.inventory_item_id ;
3344: IF l_old_eam_mat_req_rec.REQUIRED_QUANTITY <> l_eam_mat_req_rec.REQUIRED_QUANTITY THEN
3345: x_material_shortage := G_MATERIAL_UPDATE;
3346: END IF;
3347:
3348: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
3349:
3350: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3351: THEN
3352: IF l_eam_mat_req_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
3346: END IF;
3347:
3348: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
3349:
3350: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3351: THEN
3352: IF l_eam_mat_req_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
3353: THEN
3354: l_other_message := 'EAM_MR_ATTVAL_CSEV_SKIP';
3357: RAISE EXC_SEV_SKIP_BRANCH ;
3358: ELSE
3359: RAISE EXC_SEV_QUIT_RECORD ;
3360: END IF;
3361: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
3362: THEN
3363: l_other_message := 'EAM_MR_ATTVAL_UNEXP_SKIP';
3364: l_other_token_tbl(1).token_name := 'INV_ITEM_ID';
3365: l_other_token_tbl(1).token_value := l_eam_mat_req_rec.inventory_item_id ;
3366: RAISE EXC_UNEXP_SKIP_OBJECT ;
3367: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
3368: THEN
3369: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3370: EAM_ERROR_MESSAGE_PVT.Log_Error
3371: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3372: , p_mesg_token_tbl => l_mesg_token_tbl
3373: , p_error_status => 'W'
3374: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3370: EAM_ERROR_MESSAGE_PVT.Log_Error
3371: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3372: , p_mesg_token_tbl => l_mesg_token_tbl
3373: , p_error_status => 'W'
3374: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3375: , p_entity_index => I
3376: , x_eam_wo_rec => l_eam_wo_rec
3377: , x_eam_op_tbl => l_eam_op_tbl
3378: , x_eam_op_network_tbl => l_eam_op_network_tbl
3395: , x_return_status => l_return_status
3396: ) ;
3397:
3398:
3399: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
3400: THEN
3401: l_other_message := 'EAM_MR_WRITES_UNEXP_SKIP';
3402: l_other_token_tbl(1).token_name := 'INV_ITEM_ID';
3403: l_other_token_tbl(1).token_value :=
3406: ELSIF l_return_status ='S' AND
3407: l_mesg_token_tbl.COUNT <>0
3408: THEN
3409: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3410: EAM_ERROR_MESSAGE_PVT.Log_Error
3411: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3412: , p_mesg_token_tbl => l_mesg_token_tbl
3413: , p_error_status => 'W'
3414: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3410: EAM_ERROR_MESSAGE_PVT.Log_Error
3411: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3412: , p_mesg_token_tbl => l_mesg_token_tbl
3413: , p_error_status => 'W'
3414: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3415: , p_entity_index => I
3416: , x_eam_wo_rec => l_eam_wo_rec
3417: , x_eam_op_tbl => l_eam_op_tbl
3418: , x_eam_op_network_tbl => l_eam_op_network_tbl
3425: );
3426: l_eam_mat_req_tbl := l_out_eam_mat_req_tbl;
3427: END IF;
3428:
3429: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Material Requirements Database writes completed with status ' || l_return_status); END IF;
3430:
3431:
3432: -- Stock Issue requirements
3433: EAM_WO_UTILITY_PVT.Query_Row(
3545: ,p_suggested_vendor_item_num => null
3546: );
3547:
3548:
3549: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('create requisitions for non-stockable direct items'); END IF;
3550:
3551: ELSE
3552:
3553:
3613: l_total_req_qty := l_po_ordered_qty ;
3614: END IF;
3615:
3616:
3617: -- IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('creating reqs for quantity'||l_total_req_qty ||' required qty :'||l_eam_mat_req_rec.required_quantity); END IF;
3618:
3619: EAM_PROCESS_WO_UTIL_PVT.create_requisition
3620: ( p_api_version => 1.0
3621: ,p_init_msg_list => FND_API.G_FALSE
3650: END IF; --end of check for requested_quantity
3651:
3652: ELSE
3653:
3654: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
3655:
3656: END IF; -- END IF statement that checks RETURN STATUS
3657:
3658:
3668:
3669: EXCEPTION
3670: WHEN EXC_SEV_QUIT_RECORD THEN
3671: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3672: EAM_ERROR_MESSAGE_PVT.Log_Error
3673: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3674: , p_mesg_token_tbl => l_mesg_token_tbl
3675: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3676: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
3671: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3672: EAM_ERROR_MESSAGE_PVT.Log_Error
3673: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3674: , p_mesg_token_tbl => l_mesg_token_tbl
3675: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3676: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
3677: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3678: , p_entity_index => I
3679: , x_eam_wo_rec => l_eam_wo_rec
3672: EAM_ERROR_MESSAGE_PVT.Log_Error
3673: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3674: , p_mesg_token_tbl => l_mesg_token_tbl
3675: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3676: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
3677: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3678: , p_entity_index => I
3679: , x_eam_wo_rec => l_eam_wo_rec
3680: , x_eam_op_tbl => l_eam_op_tbl
3673: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3674: , p_mesg_token_tbl => l_mesg_token_tbl
3675: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3676: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
3677: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3678: , p_entity_index => I
3679: , x_eam_wo_rec => l_eam_wo_rec
3680: , x_eam_op_tbl => l_eam_op_tbl
3681: , x_eam_op_network_tbl => l_eam_op_network_tbl
3699:
3700:
3701: WHEN EXC_SEV_QUIT_BRANCH THEN
3702: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3703: EAM_ERROR_MESSAGE_PVT.Log_Error
3704: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3705: , p_mesg_token_tbl => l_mesg_token_tbl
3706: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3707: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3702: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3703: EAM_ERROR_MESSAGE_PVT.Log_Error
3704: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3705: , p_mesg_token_tbl => l_mesg_token_tbl
3706: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3707: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3708: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3709: , p_other_message => l_other_message
3710: , p_other_token_tbl => l_other_token_tbl
3703: EAM_ERROR_MESSAGE_PVT.Log_Error
3704: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3705: , p_mesg_token_tbl => l_mesg_token_tbl
3706: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3707: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3708: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3709: , p_other_message => l_other_message
3710: , p_other_token_tbl => l_other_token_tbl
3711: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3704: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3705: , p_mesg_token_tbl => l_mesg_token_tbl
3706: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3707: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3708: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3709: , p_other_message => l_other_message
3710: , p_other_token_tbl => l_other_token_tbl
3711: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3712: , p_entity_index => I
3707: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3708: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3709: , p_other_message => l_other_message
3710: , p_other_token_tbl => l_other_token_tbl
3711: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3712: , p_entity_index => I
3713: , x_eam_wo_rec => l_eam_wo_rec
3714: , x_eam_op_tbl => l_eam_op_tbl
3715: , x_eam_op_network_tbl => l_eam_op_network_tbl
3734:
3735:
3736: WHEN EXC_SEV_SKIP_BRANCH THEN
3737: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3738: EAM_ERROR_MESSAGE_PVT.Log_Error
3739: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3740: , p_mesg_token_tbl => l_mesg_token_tbl
3741: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3742: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3737: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3738: EAM_ERROR_MESSAGE_PVT.Log_Error
3739: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3740: , p_mesg_token_tbl => l_mesg_token_tbl
3741: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3742: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3743: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
3744: , p_other_message => l_other_message
3745: , p_other_token_tbl => l_other_token_tbl
3738: EAM_ERROR_MESSAGE_PVT.Log_Error
3739: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3740: , p_mesg_token_tbl => l_mesg_token_tbl
3741: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3742: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3743: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
3744: , p_other_message => l_other_message
3745: , p_other_token_tbl => l_other_token_tbl
3746: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3739: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3740: , p_mesg_token_tbl => l_mesg_token_tbl
3741: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3742: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3743: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
3744: , p_other_message => l_other_message
3745: , p_other_token_tbl => l_other_token_tbl
3746: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3747: , p_entity_index => I
3742: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3743: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
3744: , p_other_message => l_other_message
3745: , p_other_token_tbl => l_other_token_tbl
3746: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3747: , p_entity_index => I
3748: , x_eam_wo_rec => l_eam_wo_rec
3749: , x_eam_op_tbl => l_eam_op_tbl
3750: , x_eam_op_network_tbl => l_eam_op_network_tbl
3768:
3769:
3770: WHEN EXC_SEV_QUIT_SIBLINGS THEN
3771: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3772: EAM_ERROR_MESSAGE_PVT.Log_Error
3773: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3774: , p_mesg_token_tbl => l_mesg_token_tbl
3775: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3776: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
3771: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3772: EAM_ERROR_MESSAGE_PVT.Log_Error
3773: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3774: , p_mesg_token_tbl => l_mesg_token_tbl
3775: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3776: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
3777: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3778: , p_other_message => l_other_message
3779: , p_other_token_tbl => l_other_token_tbl
3772: EAM_ERROR_MESSAGE_PVT.Log_Error
3773: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3774: , p_mesg_token_tbl => l_mesg_token_tbl
3775: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3776: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
3777: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3778: , p_other_message => l_other_message
3779: , p_other_token_tbl => l_other_token_tbl
3780: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3773: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3774: , p_mesg_token_tbl => l_mesg_token_tbl
3775: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3776: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
3777: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3778: , p_other_message => l_other_message
3779: , p_other_token_tbl => l_other_token_tbl
3780: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3781: , p_entity_index => I
3776: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
3777: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
3778: , p_other_message => l_other_message
3779: , p_other_token_tbl => l_other_token_tbl
3780: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3781: , p_entity_index => I
3782: , x_eam_wo_rec => l_eam_wo_rec
3783: , x_eam_op_tbl => l_eam_op_tbl
3784: , x_eam_op_network_tbl => l_eam_op_network_tbl
3802:
3803:
3804: WHEN EXC_FAT_QUIT_BRANCH THEN
3805: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3806: EAM_ERROR_MESSAGE_PVT.Log_Error
3807: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3808: , p_mesg_token_tbl => l_mesg_token_tbl
3809: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3810: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3805: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3806: EAM_ERROR_MESSAGE_PVT.Log_Error
3807: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3808: , p_mesg_token_tbl => l_mesg_token_tbl
3809: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3810: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3811: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3812: , p_other_message => l_other_message
3813: , p_other_token_tbl => l_other_token_tbl
3806: EAM_ERROR_MESSAGE_PVT.Log_Error
3807: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3808: , p_mesg_token_tbl => l_mesg_token_tbl
3809: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3810: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3811: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3812: , p_other_message => l_other_message
3813: , p_other_token_tbl => l_other_token_tbl
3814: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3807: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3808: , p_mesg_token_tbl => l_mesg_token_tbl
3809: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3810: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3811: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3812: , p_other_message => l_other_message
3813: , p_other_token_tbl => l_other_token_tbl
3814: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3815: , p_entity_index => I
3810: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
3811: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3812: , p_other_message => l_other_message
3813: , p_other_token_tbl => l_other_token_tbl
3814: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3815: , p_entity_index => I
3816: , x_eam_wo_rec => l_eam_wo_rec
3817: , x_eam_op_tbl => l_eam_op_tbl
3818: , x_eam_op_network_tbl => l_eam_op_network_tbl
3825: );
3826: l_eam_mat_req_tbl := l_out_eam_mat_req_tbl;
3827:
3828: l_process_children := FALSE ;
3829: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
3830: x_mesg_token_tbl := l_mesg_token_tbl ;
3831: x_eam_mat_req_tbl := l_eam_mat_req_tbl;
3832:
3833:
3832:
3833:
3834: WHEN EXC_FAT_QUIT_SIBLINGS THEN
3835: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3836: EAM_ERROR_MESSAGE_PVT.Log_Error
3837: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3838: , p_mesg_token_tbl => l_mesg_token_tbl
3839: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3840: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
3835: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3836: EAM_ERROR_MESSAGE_PVT.Log_Error
3837: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3838: , p_mesg_token_tbl => l_mesg_token_tbl
3839: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3840: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
3841: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3842: , p_other_message => l_other_message
3843: , p_other_token_tbl => l_other_token_tbl
3836: EAM_ERROR_MESSAGE_PVT.Log_Error
3837: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3838: , p_mesg_token_tbl => l_mesg_token_tbl
3839: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3840: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
3841: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3842: , p_other_message => l_other_message
3843: , p_other_token_tbl => l_other_token_tbl
3844: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3837: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3838: , p_mesg_token_tbl => l_mesg_token_tbl
3839: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3840: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
3841: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3842: , p_other_message => l_other_message
3843: , p_other_token_tbl => l_other_token_tbl
3844: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3845: , p_entity_index => I
3840: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
3841: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
3842: , p_other_message => l_other_message
3843: , p_other_token_tbl => l_other_token_tbl
3844: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3845: , p_entity_index => I
3846: , x_eam_wo_rec => l_eam_wo_rec
3847: , x_eam_op_tbl => l_eam_op_tbl
3848: , x_eam_op_network_tbl => l_eam_op_network_tbl
3856: l_eam_mat_req_tbl := l_out_eam_mat_req_tbl;
3857:
3858:
3859: l_process_children := FALSE ;
3860: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
3861: x_mesg_token_tbl := l_mesg_token_tbl ;
3862: x_eam_mat_req_tbl := l_eam_mat_req_tbl;
3863:
3864: WHEN EXC_UNEXP_SKIP_OBJECT THEN
3862: x_eam_mat_req_tbl := l_eam_mat_req_tbl;
3863:
3864: WHEN EXC_UNEXP_SKIP_OBJECT THEN
3865: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3866: EAM_ERROR_MESSAGE_PVT.Log_Error
3867: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3868: , p_mesg_token_tbl => l_mesg_token_tbl
3869: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
3870: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
3865: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
3866: EAM_ERROR_MESSAGE_PVT.Log_Error
3867: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3868: , p_mesg_token_tbl => l_mesg_token_tbl
3869: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
3870: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
3871: , p_other_message => l_other_message
3872: , p_other_token_tbl => l_other_token_tbl
3873: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3866: EAM_ERROR_MESSAGE_PVT.Log_Error
3867: ( p_eam_mat_req_tbl => l_eam_mat_req_tbl
3868: , p_mesg_token_tbl => l_mesg_token_tbl
3869: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
3870: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
3871: , p_other_message => l_other_message
3872: , p_other_token_tbl => l_other_token_tbl
3873: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3874: , x_eam_wo_rec => l_eam_wo_rec
3869: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
3870: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
3871: , p_other_message => l_other_message
3872: , p_other_token_tbl => l_other_token_tbl
3873: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_MAT_REQ_LEVEL
3874: , x_eam_wo_rec => l_eam_wo_rec
3875: , x_eam_op_tbl => l_eam_op_tbl
3876: , x_eam_op_network_tbl => l_eam_op_network_tbl
3877: , x_eam_res_tbl => l_eam_res_tbl
3936: , p_department_id IN NUMBER := NULL
3937: , p_eam_direct_items_tbl IN EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type
3938: , x_material_shortage IN OUT NOCOPY NUMBER
3939: , x_eam_direct_items_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type
3940: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
3941: , x_return_status OUT NOCOPY VARCHAR2
3942: )
3943: IS
3944:
3959: l_out_eam_direct_items_rec EAM_PROCESS_WO_PUB.eam_direct_items_rec_type;
3960: l_out_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
3961:
3962: /* Error Handling Variables */
3963: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3964: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
3965: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3966: l_other_message VARCHAR2(2000);
3967: l_err_text VARCHAR2(2000);
3960: l_out_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
3961:
3962: /* Error Handling Variables */
3963: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3964: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
3965: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3966: l_other_message VARCHAR2(2000);
3967: l_err_text VARCHAR2(2000);
3968:
3961:
3962: /* Error Handling Variables */
3963: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3964: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
3965: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
3966: l_other_message VARCHAR2(2000);
3967: l_err_text VARCHAR2(2000);
3968:
3969: /* Others */
3984: l_api_msg_data VARCHAR2(80);
3985: l_total_req_qty NUMBER;
3986:
3987: BEGIN
3988: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(p_eam_direct_items_tbl.COUNT ||' records passed') ; END IF ;
3989:
3990: x_return_status := FND_API.G_RET_STS_SUCCESS;
3991:
3992: -- Init local table variables.
3995: l_eam_direct_items_tbl := p_eam_direct_items_tbl ;
3996:
3997:
3998:
3999: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Starting DIRECT_ITEMS') ; END IF ;
4000:
4001:
4002: /* Get the materials in the Operation 1 and append to the table l_eam_direct_items_tbl */
4003: IF ( p_operation_seq_num IS NOT NULL
4022:
4023: FOR I IN 1..l_eam_direct_items_tbl.COUNT LOOP
4024: BEGIN
4025:
4026: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing '|| I || ' record') ; END IF ;
4027:
4028: -- Load local records.
4029: l_eam_direct_items_rec := l_eam_direct_items_tbl(I);
4030:
4064: )
4065: )
4066: THEN
4067:
4068: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Return status validation passed') ; END IF ;
4069:
4070: l_return_status := FND_API.G_RET_STS_SUCCESS;
4071: l_eam_direct_items_rec.return_status := FND_API.G_RET_STS_SUCCESS;
4072:
4069:
4070: l_return_status := FND_API.G_RET_STS_SUCCESS;
4071: l_eam_direct_items_rec.return_status := FND_API.G_RET_STS_SUCCESS;
4072:
4073: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Validating Transaction Type') ; END IF ;
4074:
4075: VALIDATE_TRANSACTION_TYPE
4076: ( p_transaction_type => l_eam_direct_items_rec.transaction_type
4077: , p_entity_name => 'DIRECT_ITEMS'
4081: );
4082:
4083: IF NOT l_valid_transaction
4084: THEN
4085: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
4086: RAISE EXC_SEV_QUIT_RECORD ;
4087: END IF ;
4088:
4089: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Checking Existence of Record') ; END IF ;
4085: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
4086: RAISE EXC_SEV_QUIT_RECORD ;
4087: END IF ;
4088:
4089: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Checking Existence of Record') ; END IF ;
4090:
4091: EAM_DIRECT_ITEMS_VALIDATE_PVT.Check_Existence
4092: ( p_eam_direct_items_rec => l_eam_direct_items_rec
4093: , x_old_eam_direct_items_rec => l_old_eam_direct_items_rec
4094: , x_mesg_token_tbl => l_mesg_token_tbl
4095: , x_return_status => l_return_status
4096: ) ;
4097:
4098: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
4099:
4100: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4101: THEN
4102: l_other_message := 'EAM_DI_EXS_SEV_SKIP';
4096: ) ;
4097:
4098: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
4099:
4100: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4101: THEN
4102: l_other_message := 'EAM_DI_EXS_SEV_SKIP';
4103: l_other_token_tbl(1).token_name := 'DI_SEQ_ID';
4104: l_other_token_tbl(1).token_value := l_eam_direct_items_rec.direct_item_sequence_id;
4104: l_other_token_tbl(1).token_value := l_eam_direct_items_rec.direct_item_sequence_id;
4105: l_other_token_tbl(2).token_name := 'WIP_ENTITY_ID';
4106: l_other_token_tbl(2).token_value := l_eam_direct_items_rec.wip_entity_id;
4107: RAISE EXC_SEV_QUIT_BRANCH;
4108: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4109: THEN
4110: l_other_message := 'EAM_DI_EXS_UNEXP_SKIP';
4111: l_other_token_tbl(1).token_name := 'DI_SEQ_ID';
4112: l_other_token_tbl(1).token_value := l_eam_direct_items_rec.direct_item_sequence_id ;
4128: IF l_eam_direct_items_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_DELETE THEN
4129: x_material_shortage := G_MATERIAL_UPDATE;
4130: END IF;
4131:
4132: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Populate NULL columns') ;
4133: END IF ;
4134:
4135: l_out_eam_direct_items_rec := l_eam_direct_items_rec;
4136:
4172: ) ;
4173:
4174: l_eam_direct_items_rec := l_out_eam_direct_items_rec;
4175:
4176: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug
4177: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
4178: END IF ;
4179:
4180:
4177: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
4178: END IF ;
4179:
4180:
4181: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4182: THEN
4183: l_other_message := 'EAM_DI_ATTDEF_CSEV_SKIP';
4184: l_other_token_tbl(1).token_name := 'DI_SEQ_ID';
4185: l_other_token_tbl(1).token_value := l_eam_direct_items_rec.direct_item_sequence_id ;
4184: l_other_token_tbl(1).token_name := 'DI_SEQ_ID';
4185: l_other_token_tbl(1).token_value := l_eam_direct_items_rec.direct_item_sequence_id ;
4186: RAISE EXC_SEV_SKIP_BRANCH ;
4187:
4188: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4189: THEN
4190: l_other_message := 'EAM_DI_ATTDEF_UNEXP_SKIP';
4191: l_other_token_tbl(1).token_name := 'DI_SEQ_ID';
4192: l_other_token_tbl(1).token_value := l_eam_direct_items_rec.direct_item_sequence_id ;
4193: RAISE EXC_UNEXP_SKIP_OBJECT ;
4194: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
4195: THEN
4196: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4197: EAM_ERROR_MESSAGE_PVT.Log_Error
4198: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4199: , p_mesg_token_tbl => l_mesg_token_tbl
4200: , p_error_status => 'W'
4201: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4197: EAM_ERROR_MESSAGE_PVT.Log_Error
4198: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4199: , p_mesg_token_tbl => l_mesg_token_tbl
4200: , p_error_status => 'W'
4201: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4202: , p_entity_index => I
4203: , x_eam_wo_rec => l_eam_wo_rec
4204: , x_eam_op_tbl => l_eam_op_tbl
4205: , x_eam_op_network_tbl => l_eam_op_network_tbl
4220: , x_return_status => l_return_status
4221: , x_mesg_token_tbl => l_mesg_token_tbl
4222: ) ;
4223:
4224: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
4225:
4226:
4227: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4228: THEN
4223:
4224: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
4225:
4226:
4227: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4228: THEN
4229: IF l_eam_direct_items_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
4230: THEN
4231: l_other_message := 'EAM_DI_REQ_CSEV_SKIP';
4234: RAISE EXC_SEV_SKIP_BRANCH ;
4235: ELSE
4236: RAISE EXC_SEV_QUIT_RECORD ;
4237: END IF;
4238: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4239: THEN
4240: l_other_message := 'EAM_DI_REQ_UNEXP_SKIP';
4241: l_other_token_tbl(1).token_name := 'DI_SEQ_ID';
4242: l_other_token_tbl(1).token_value := l_eam_direct_items_rec.direct_item_sequence_id ;
4253:
4254: IF l_old_eam_direct_items_rec.REQUIRED_QUANTITY <> l_eam_direct_items_rec.REQUIRED_QUANTITY THEN
4255: x_material_shortage := G_MATERIAL_UPDATE;
4256: END IF;
4257: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
4258:
4259: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4260: THEN
4261: IF l_eam_direct_items_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
4255: x_material_shortage := G_MATERIAL_UPDATE;
4256: END IF;
4257: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
4258:
4259: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4260: THEN
4261: IF l_eam_direct_items_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
4262: THEN
4263: l_other_message := 'EAM_DI_ATTVAL_CSEV_SKIP';
4266: RAISE EXC_SEV_SKIP_BRANCH ;
4267: ELSE
4268: RAISE EXC_SEV_QUIT_RECORD ;
4269: END IF;
4270: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4271: THEN
4272: l_other_message := 'EAM_DI_ATTVAL_UNEXP_SKIP';
4273: l_other_token_tbl(1).token_name := 'DI_SEQ_ID';
4274: l_other_token_tbl(1).token_value := l_eam_direct_items_rec.direct_item_sequence_id ;
4275: RAISE EXC_UNEXP_SKIP_OBJECT ;
4276: ELSIF l_return_status ='S' AND l_mesg_token_tbl .COUNT <> 0
4277: THEN
4278: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4279: EAM_ERROR_MESSAGE_PVT.Log_Error
4280: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4281: , p_mesg_token_tbl => l_mesg_token_tbl
4282: , p_error_status => 'W'
4283: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4279: EAM_ERROR_MESSAGE_PVT.Log_Error
4280: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4281: , p_mesg_token_tbl => l_mesg_token_tbl
4282: , p_error_status => 'W'
4283: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4284: , p_entity_index => I
4285: , x_eam_wo_rec => l_eam_wo_rec
4286: , x_eam_op_tbl => l_eam_op_tbl
4287: , x_eam_op_network_tbl => l_eam_op_network_tbl
4304: , x_return_status => l_return_status
4305: ) ;
4306:
4307:
4308: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4309: THEN
4310: l_other_message := 'EAM_DI_WRITES_UNEXP_SKIP';
4311: l_other_token_tbl(1).token_name := 'DI_SEQ_ID';
4312: l_other_token_tbl(1).token_value :=
4315: ELSIF l_return_status ='S' AND
4316: l_mesg_token_tbl.COUNT <>0
4317: THEN
4318: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4319: EAM_ERROR_MESSAGE_PVT.Log_Error
4320: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4321: , p_mesg_token_tbl => l_mesg_token_tbl
4322: , p_error_status => 'W'
4323: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4319: EAM_ERROR_MESSAGE_PVT.Log_Error
4320: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4321: , p_mesg_token_tbl => l_mesg_token_tbl
4322: , p_error_status => 'W'
4323: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4324: , p_entity_index => I
4325: , x_eam_wo_rec => l_eam_wo_rec
4326: , x_eam_op_tbl => l_eam_op_tbl
4327: , x_eam_op_network_tbl => l_eam_op_network_tbl
4334: );
4335: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
4336: END IF;
4337:
4338: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Direct Items Database writes completed with status ' || l_return_status); END IF;
4339:
4340:
4341:
4342: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('create requisitions for description direct items'); END IF;
4338: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Direct Items Database writes completed with status ' || l_return_status); END IF;
4339:
4340:
4341:
4342: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('create requisitions for description direct items'); END IF;
4343:
4344: --fix for 3550864.create requisitions for requested_quantity if passed
4345: IF(l_eam_direct_items_rec.requested_quantity IS NOT NULL) THEN
4346:
4343:
4344: --fix for 3550864.create requisitions for requested_quantity if passed
4345: IF(l_eam_direct_items_rec.requested_quantity IS NOT NULL) THEN
4346:
4347: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('create requisitions for description direct items'); END IF;
4348:
4349: EAM_PROCESS_WO_UTIL_PVT.create_requisition
4350: ( p_api_version => 1.0
4351: ,p_init_msg_list => FND_API.G_FALSE
4445: END IF; --end of check for requested_quantity
4446:
4447: ELSE
4448:
4449: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
4450:
4451: END IF; -- END IF statement that checks RETURN STATUS
4452:
4453: -- Load tables.
4461:
4462: EXCEPTION
4463: WHEN EXC_SEV_QUIT_RECORD THEN
4464: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4465: EAM_ERROR_MESSAGE_PVT.Log_Error
4466: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4467: , p_mesg_token_tbl => l_mesg_token_tbl
4468: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4469: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
4464: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4465: EAM_ERROR_MESSAGE_PVT.Log_Error
4466: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4467: , p_mesg_token_tbl => l_mesg_token_tbl
4468: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4469: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
4470: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4471: , p_entity_index => I
4472: , x_eam_wo_rec => l_eam_wo_rec
4465: EAM_ERROR_MESSAGE_PVT.Log_Error
4466: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4467: , p_mesg_token_tbl => l_mesg_token_tbl
4468: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4469: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
4470: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4471: , p_entity_index => I
4472: , x_eam_wo_rec => l_eam_wo_rec
4473: , x_eam_op_tbl => l_eam_op_tbl
4466: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4467: , p_mesg_token_tbl => l_mesg_token_tbl
4468: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4469: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
4470: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4471: , p_entity_index => I
4472: , x_eam_wo_rec => l_eam_wo_rec
4473: , x_eam_op_tbl => l_eam_op_tbl
4474: , x_eam_op_network_tbl => l_eam_op_network_tbl
4492:
4493:
4494: WHEN EXC_SEV_QUIT_BRANCH THEN
4495: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4496: EAM_ERROR_MESSAGE_PVT.Log_Error
4497: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4498: , p_mesg_token_tbl => l_mesg_token_tbl
4499: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4500: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4495: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4496: EAM_ERROR_MESSAGE_PVT.Log_Error
4497: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4498: , p_mesg_token_tbl => l_mesg_token_tbl
4499: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4500: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4501: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4502: , p_other_message => l_other_message
4503: , p_other_token_tbl => l_other_token_tbl
4496: EAM_ERROR_MESSAGE_PVT.Log_Error
4497: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4498: , p_mesg_token_tbl => l_mesg_token_tbl
4499: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4500: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4501: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4502: , p_other_message => l_other_message
4503: , p_other_token_tbl => l_other_token_tbl
4504: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4497: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4498: , p_mesg_token_tbl => l_mesg_token_tbl
4499: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4500: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4501: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4502: , p_other_message => l_other_message
4503: , p_other_token_tbl => l_other_token_tbl
4504: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4505: , p_entity_index => I
4500: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4501: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4502: , p_other_message => l_other_message
4503: , p_other_token_tbl => l_other_token_tbl
4504: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4505: , p_entity_index => I
4506: , x_eam_wo_rec => l_eam_wo_rec
4507: , x_eam_op_tbl => l_eam_op_tbl
4508: , x_eam_op_network_tbl => l_eam_op_network_tbl
4527:
4528:
4529: WHEN EXC_SEV_SKIP_BRANCH THEN
4530: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4531: EAM_ERROR_MESSAGE_PVT.Log_Error
4532: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4533: , p_mesg_token_tbl => l_mesg_token_tbl
4534: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4535: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4530: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4531: EAM_ERROR_MESSAGE_PVT.Log_Error
4532: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4533: , p_mesg_token_tbl => l_mesg_token_tbl
4534: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4535: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4536: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
4537: , p_other_message => l_other_message
4538: , p_other_token_tbl => l_other_token_tbl
4531: EAM_ERROR_MESSAGE_PVT.Log_Error
4532: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4533: , p_mesg_token_tbl => l_mesg_token_tbl
4534: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4535: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4536: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
4537: , p_other_message => l_other_message
4538: , p_other_token_tbl => l_other_token_tbl
4539: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4532: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4533: , p_mesg_token_tbl => l_mesg_token_tbl
4534: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4535: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4536: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
4537: , p_other_message => l_other_message
4538: , p_other_token_tbl => l_other_token_tbl
4539: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4540: , p_entity_index => I
4535: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4536: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
4537: , p_other_message => l_other_message
4538: , p_other_token_tbl => l_other_token_tbl
4539: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4540: , p_entity_index => I
4541: , x_eam_wo_rec => l_eam_wo_rec
4542: , x_eam_op_tbl => l_eam_op_tbl
4543: , x_eam_op_network_tbl => l_eam_op_network_tbl
4561:
4562:
4563: WHEN EXC_SEV_QUIT_SIBLINGS THEN
4564: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4565: EAM_ERROR_MESSAGE_PVT.Log_Error
4566: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4567: , p_mesg_token_tbl => l_mesg_token_tbl
4568: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4569: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
4564: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4565: EAM_ERROR_MESSAGE_PVT.Log_Error
4566: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4567: , p_mesg_token_tbl => l_mesg_token_tbl
4568: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4569: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
4570: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4571: , p_other_message => l_other_message
4572: , p_other_token_tbl => l_other_token_tbl
4565: EAM_ERROR_MESSAGE_PVT.Log_Error
4566: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4567: , p_mesg_token_tbl => l_mesg_token_tbl
4568: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4569: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
4570: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4571: , p_other_message => l_other_message
4572: , p_other_token_tbl => l_other_token_tbl
4573: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4566: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4567: , p_mesg_token_tbl => l_mesg_token_tbl
4568: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4569: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
4570: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4571: , p_other_message => l_other_message
4572: , p_other_token_tbl => l_other_token_tbl
4573: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4574: , p_entity_index => I
4569: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
4570: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4571: , p_other_message => l_other_message
4572: , p_other_token_tbl => l_other_token_tbl
4573: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4574: , p_entity_index => I
4575: , x_eam_wo_rec => l_eam_wo_rec
4576: , x_eam_op_tbl => l_eam_op_tbl
4577: , x_eam_op_network_tbl => l_eam_op_network_tbl
4595:
4596:
4597: WHEN EXC_FAT_QUIT_BRANCH THEN
4598: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4599: EAM_ERROR_MESSAGE_PVT.Log_Error
4600: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4601: , p_mesg_token_tbl => l_mesg_token_tbl
4602: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4603: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4598: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4599: EAM_ERROR_MESSAGE_PVT.Log_Error
4600: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4601: , p_mesg_token_tbl => l_mesg_token_tbl
4602: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4603: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4604: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4605: , p_other_message => l_other_message
4606: , p_other_token_tbl => l_other_token_tbl
4599: EAM_ERROR_MESSAGE_PVT.Log_Error
4600: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4601: , p_mesg_token_tbl => l_mesg_token_tbl
4602: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4603: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4604: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4605: , p_other_message => l_other_message
4606: , p_other_token_tbl => l_other_token_tbl
4607: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4600: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4601: , p_mesg_token_tbl => l_mesg_token_tbl
4602: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4603: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4604: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4605: , p_other_message => l_other_message
4606: , p_other_token_tbl => l_other_token_tbl
4607: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4608: , p_entity_index => I
4603: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
4604: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4605: , p_other_message => l_other_message
4606: , p_other_token_tbl => l_other_token_tbl
4607: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4608: , p_entity_index => I
4609: , x_eam_wo_rec => l_eam_wo_rec
4610: , x_eam_op_tbl => l_eam_op_tbl
4611: , x_eam_op_network_tbl => l_eam_op_network_tbl
4618: );
4619: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
4620:
4621: l_process_children := FALSE ;
4622: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
4623: x_mesg_token_tbl := l_mesg_token_tbl ;
4624: x_eam_direct_items_tbl := l_eam_direct_items_tbl;
4625:
4626:
4625:
4626:
4627: WHEN EXC_FAT_QUIT_SIBLINGS THEN
4628: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4629: EAM_ERROR_MESSAGE_PVT.Log_Error
4630: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4631: , p_mesg_token_tbl => l_mesg_token_tbl
4632: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4633: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
4628: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4629: EAM_ERROR_MESSAGE_PVT.Log_Error
4630: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4631: , p_mesg_token_tbl => l_mesg_token_tbl
4632: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4633: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
4634: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4635: , p_other_message => l_other_message
4636: , p_other_token_tbl => l_other_token_tbl
4629: EAM_ERROR_MESSAGE_PVT.Log_Error
4630: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4631: , p_mesg_token_tbl => l_mesg_token_tbl
4632: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4633: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
4634: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4635: , p_other_message => l_other_message
4636: , p_other_token_tbl => l_other_token_tbl
4637: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4630: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4631: , p_mesg_token_tbl => l_mesg_token_tbl
4632: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4633: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
4634: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4635: , p_other_message => l_other_message
4636: , p_other_token_tbl => l_other_token_tbl
4637: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4638: , p_entity_index => I
4633: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
4634: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
4635: , p_other_message => l_other_message
4636: , p_other_token_tbl => l_other_token_tbl
4637: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4638: , p_entity_index => I
4639: , x_eam_wo_rec => l_eam_wo_rec
4640: , x_eam_op_tbl => l_eam_op_tbl
4641: , x_eam_op_network_tbl => l_eam_op_network_tbl
4649: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
4650:
4651:
4652: l_process_children := FALSE ;
4653: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
4654: x_mesg_token_tbl := l_mesg_token_tbl ;
4655: x_eam_direct_items_tbl := l_eam_direct_items_tbl;
4656:
4657: WHEN EXC_UNEXP_SKIP_OBJECT THEN
4655: x_eam_direct_items_tbl := l_eam_direct_items_tbl;
4656:
4657: WHEN EXC_UNEXP_SKIP_OBJECT THEN
4658: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4659: EAM_ERROR_MESSAGE_PVT.Log_Error
4660: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4661: , p_mesg_token_tbl => l_mesg_token_tbl
4662: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4663: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
4658: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
4659: EAM_ERROR_MESSAGE_PVT.Log_Error
4660: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4661: , p_mesg_token_tbl => l_mesg_token_tbl
4662: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4663: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
4664: , p_other_message => l_other_message
4665: , p_other_token_tbl => l_other_token_tbl
4666: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4659: EAM_ERROR_MESSAGE_PVT.Log_Error
4660: ( p_eam_direct_items_tbl => l_eam_direct_items_tbl
4661: , p_mesg_token_tbl => l_mesg_token_tbl
4662: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4663: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
4664: , p_other_message => l_other_message
4665: , p_other_token_tbl => l_other_token_tbl
4666: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4667: , x_eam_wo_rec => l_eam_wo_rec
4662: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4663: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
4664: , p_other_message => l_other_message
4665: , p_other_token_tbl => l_other_token_tbl
4666: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_DIRECT_ITEMS_LEVEL
4667: , x_eam_wo_rec => l_eam_wo_rec
4668: , x_eam_op_tbl => l_eam_op_tbl
4669: , x_eam_op_network_tbl => l_eam_op_network_tbl
4670: , x_eam_res_tbl => l_eam_res_tbl
4735: , x_eam_res_inst_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type
4736: , x_eam_res_usage_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type
4737: , x_schedule_wo IN OUT NOCOPY NUMBER
4738: , x_bottomup_scheduled IN OUT NOCOPY NUMBER
4739: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
4740: , x_return_status OUT NOCOPY VARCHAR2
4741: )
4742: IS
4743:
4760: l_out_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
4761: l_out_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
4762:
4763: /* Error Handling Variables */
4764: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
4765: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
4766: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
4767: l_other_message VARCHAR2(2000);
4768: l_err_text VARCHAR2(2000);
4761: l_out_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
4762:
4763: /* Error Handling Variables */
4764: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
4765: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
4766: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
4767: l_other_message VARCHAR2(2000);
4768: l_err_text VARCHAR2(2000);
4769:
4762:
4763: /* Error Handling Variables */
4764: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
4765: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
4766: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
4767: l_other_message VARCHAR2(2000);
4768: l_err_text VARCHAR2(2000);
4769:
4770: /* Others */
4775: l_valid_transaction BOOLEAN := TRUE ;
4776:
4777:
4778: BEGIN
4779: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(p_eam_res_tbl.COUNT ||' records passed') ; END IF ;
4780:
4781: x_return_status := FND_API.G_RET_STS_SUCCESS;
4782:
4783: -- Init local table variables.
4784: l_return_status := 'S' ;
4785: l_bo_return_status := 'S' ;
4786: l_eam_res_tbl := p_eam_res_tbl ;
4787:
4788: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Starting OPERATION_RESOURCES') ; END IF ;
4789:
4790: FOR I IN 1..l_eam_res_tbl.COUNT LOOP
4791: BEGIN
4792:
4789:
4790: FOR I IN 1..l_eam_res_tbl.COUNT LOOP
4791: BEGIN
4792:
4793: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing '|| I || ' record') ; END IF ;
4794:
4795: -- Load local records.
4796: l_eam_res_rec := l_eam_res_tbl(I);
4797:
4824: )
4825: )
4826: THEN
4827:
4828: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Return status validation passed') ; END IF ;
4829:
4830: l_return_status := FND_API.G_RET_STS_SUCCESS;
4831: l_eam_res_rec.return_status := FND_API.G_RET_STS_SUCCESS;
4832:
4839: );
4840:
4841: IF NOT l_valid_transaction
4842: THEN
4843: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
4844: RAISE EXC_SEV_QUIT_RECORD ;
4845: END IF ;
4846:
4847: EAM_RES_VALIDATE_PVT.Check_Existence
4850: , x_mesg_token_tbl => l_mesg_token_tbl
4851: , x_return_status => l_return_status
4852: ) ;
4853:
4854: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
4855:
4856: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4857: THEN
4858: l_other_message := 'EAM_RES_EXS_SEV_SKIP';
4852: ) ;
4853:
4854: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
4855:
4856: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4857: THEN
4858: l_other_message := 'EAM_RES_EXS_SEV_SKIP';
4859: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
4860: l_other_token_tbl(1).token_value := l_eam_res_rec.resource_seq_num;
4860: l_other_token_tbl(1).token_value := l_eam_res_rec.resource_seq_num;
4861: l_other_token_tbl(2).token_name := 'WIP_ENTITY_ID';
4862: l_other_token_tbl(2).token_value := l_eam_res_rec.wip_entity_id;
4863: RAISE EXC_SEV_QUIT_BRANCH;
4864: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4865: THEN
4866: l_other_message := 'EAM_RES_EXS_UNEXP_SKIP';
4867: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
4868: l_other_token_tbl(1).token_value := l_eam_res_rec.resource_seq_num ;
4880:
4881: IF l_eam_res_rec.transaction_type IN (EAM_PROCESS_WO_PVT.G_OPR_UPDATE, EAM_PROCESS_WO_PVT.G_OPR_DELETE)
4882: THEN
4883:
4884: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Populate NULL columns') ;
4885: END IF ;
4886:
4887: l_out_eam_res_rec := l_eam_res_rec;
4888: EAM_RES_DEFAULT_PVT.Populate_Null_Columns
4903: , x_return_status => l_return_status
4904: ) ;
4905: l_eam_res_rec := l_out_eam_res_rec;
4906:
4907: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug
4908: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
4909: END IF ;
4910:
4911:
4908: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
4909: END IF ;
4910:
4911:
4912: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4913: THEN
4914: l_other_message := 'EAM_RES_ATTDEF_CSEV_SKIP';
4915: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
4916: l_other_token_tbl(1).token_value :=
4916: l_other_token_tbl(1).token_value :=
4917: l_eam_res_rec.resource_seq_num ;
4918: RAISE EXC_SEV_SKIP_BRANCH ;
4919:
4920: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4921: THEN
4922: l_other_message := 'EAM_RES_ATTDEF_UNEXP_SKIP';
4923: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
4924: l_other_token_tbl(1).token_value := l_eam_res_rec.resource_seq_num ;
4927: THEN
4928: l_out_eam_res_tbl := l_eam_res_tbl;
4929: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
4930: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
4931: EAM_ERROR_MESSAGE_PVT.Log_Error
4932: ( p_eam_res_tbl => l_eam_res_tbl
4933: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
4934: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
4935: , p_mesg_token_tbl => l_mesg_token_tbl
4933: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
4934: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
4935: , p_mesg_token_tbl => l_mesg_token_tbl
4936: , p_error_status => 'W'
4937: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
4938: , p_entity_index => I
4939: , x_eam_wo_rec => l_eam_wo_rec
4940: , x_eam_op_tbl => l_eam_op_tbl
4941: , x_eam_op_network_tbl => l_eam_op_network_tbl
4957: , x_return_status => l_return_status
4958: , x_mesg_token_tbl => l_mesg_token_tbl
4959: ) ;
4960:
4961: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
4962:
4963:
4964: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4965: THEN
4960:
4961: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
4962:
4963:
4964: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4965: THEN
4966: IF l_eam_res_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
4967: THEN
4968: l_other_message := 'EAM_RES_REQ_CSEV_SKIP';
4971: RAISE EXC_SEV_SKIP_BRANCH ;
4972: ELSE
4973: RAISE EXC_SEV_QUIT_RECORD ;
4974: END IF;
4975: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
4976: THEN
4977: l_other_message := 'EAM_RES_REQ_UNEXP_SKIP';
4978: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
4979: l_other_token_tbl(1).token_value := l_eam_res_rec.resource_seq_num ;
4986: , x_return_status => l_return_status
4987: , x_mesg_token_tbl => l_mesg_token_tbl
4988: ) ;
4989:
4990: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
4991:
4992: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4993: THEN
4994: IF l_eam_res_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
4988: ) ;
4989:
4990: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
4991:
4992: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
4993: THEN
4994: IF l_eam_res_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
4995: THEN
4996: l_other_message := 'EAM_RES_ATTVAL_CSEV_SKIP';
4999: RAISE EXC_SEV_SKIP_BRANCH ;
5000: ELSE
5001: RAISE EXC_SEV_QUIT_RECORD ;
5002: END IF;
5003: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
5004: THEN
5005: l_other_message := 'EAM_RES_ATTVAL_UNEXP_SKIP';
5006: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
5007: l_other_token_tbl(1).token_value := l_eam_res_rec.resource_seq_num ;
5010: THEN
5011: l_out_eam_res_tbl := l_eam_res_tbl;
5012: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5013: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5014: EAM_ERROR_MESSAGE_PVT.Log_Error
5015: ( p_eam_res_tbl => l_eam_res_tbl
5016: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5017: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5018: , p_mesg_token_tbl => l_mesg_token_tbl
5016: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5017: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5018: , p_mesg_token_tbl => l_mesg_token_tbl
5019: , p_error_status => 'W'
5020: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5021: , p_entity_index => I
5022: , x_eam_wo_rec => l_eam_wo_rec
5023: , x_eam_op_tbl => l_eam_op_tbl
5024: , x_eam_op_network_tbl => l_eam_op_network_tbl
5041: , x_return_status => l_return_status
5042: ) ;
5043:
5044:
5045: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
5046: THEN
5047: l_other_message := 'EAM_RES_WRITES_UNEXP_SKIP';
5048: l_other_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
5049: l_other_token_tbl(1).token_value :=
5054: THEN
5055: l_out_eam_res_tbl := l_eam_res_tbl;
5056: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5057: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5058: EAM_ERROR_MESSAGE_PVT.Log_Error
5059: ( p_eam_res_tbl => l_eam_res_tbl
5060: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5061: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5062: , p_mesg_token_tbl => l_mesg_token_tbl
5060: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5061: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5062: , p_mesg_token_tbl => l_mesg_token_tbl
5063: , p_error_status => 'W'
5064: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5065: , p_entity_index => I
5066: , x_eam_wo_rec => l_eam_wo_rec
5067: , x_eam_op_tbl => l_eam_op_tbl
5068: , x_eam_op_network_tbl => l_eam_op_network_tbl
5078: l_eam_res_inst_tbl := l_out_eam_res_inst_tbl;
5079:
5080: END IF;
5081:
5082: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Resources Database writes completed with status ' || l_return_status); END IF;
5083:
5084: --find if scheduler is to be called or not
5085: IF(x_schedule_wo = G_NOT_SCHEDULE_WO)THEN --not yet set to schedule
5086: IF(l_eam_res_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE -- is resource is added
5128: IF l_process_children
5129: THEN
5130:
5131: -- Process Resource Instance that are direct children of this operation
5132: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling RESOURCE_INSTANCES from OPERATION_RESOURCES') ; END IF ;
5133:
5134: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5135: RESOURCE_INSTANCES
5136: ( p_validation_level => p_validation_level
5158:
5159:
5160:
5161: -- Process Resource Usage that are direct children of this operation
5162: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling RESOURCE_USAGES from OPERATION_RESOURCES') ; END IF ;
5163:
5164:
5165: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5166: RESOURCE_USAGES
5193:
5194:
5195: ELSE
5196:
5197: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
5198:
5199: END IF; -- END IF statement that checks RETURN STATUS
5200:
5201: -- Load tables.
5209: WHEN EXC_SEV_QUIT_RECORD THEN
5210: l_out_eam_res_tbl := l_eam_res_tbl;
5211: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5212: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5213: EAM_ERROR_MESSAGE_PVT.Log_Error
5214: ( p_eam_res_tbl => l_eam_res_tbl
5215: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5216: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5217: , p_mesg_token_tbl => l_mesg_token_tbl
5214: ( p_eam_res_tbl => l_eam_res_tbl
5215: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5216: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5217: , p_mesg_token_tbl => l_mesg_token_tbl
5218: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5219: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
5220: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5221: , p_entity_index => I
5222: , x_eam_wo_rec => l_eam_wo_rec
5215: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5216: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5217: , p_mesg_token_tbl => l_mesg_token_tbl
5218: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5219: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
5220: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5221: , p_entity_index => I
5222: , x_eam_wo_rec => l_eam_wo_rec
5223: , x_eam_op_tbl => l_eam_op_tbl
5216: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5217: , p_mesg_token_tbl => l_mesg_token_tbl
5218: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5219: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
5220: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5221: , p_entity_index => I
5222: , x_eam_wo_rec => l_eam_wo_rec
5223: , x_eam_op_tbl => l_eam_op_tbl
5224: , x_eam_op_network_tbl => l_eam_op_network_tbl
5246: WHEN EXC_SEV_QUIT_BRANCH THEN
5247: l_out_eam_res_tbl := l_eam_res_tbl;
5248: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5249: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5250: EAM_ERROR_MESSAGE_PVT.Log_Error
5251: ( p_eam_res_tbl => l_eam_res_tbl
5252: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5253: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5254: , p_mesg_token_tbl => l_mesg_token_tbl
5251: ( p_eam_res_tbl => l_eam_res_tbl
5252: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5253: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5254: , p_mesg_token_tbl => l_mesg_token_tbl
5255: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5256: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5257: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5258: , p_other_message => l_other_message
5259: , p_other_token_tbl => l_other_token_tbl
5252: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5253: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5254: , p_mesg_token_tbl => l_mesg_token_tbl
5255: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5256: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5257: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5258: , p_other_message => l_other_message
5259: , p_other_token_tbl => l_other_token_tbl
5260: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5253: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5254: , p_mesg_token_tbl => l_mesg_token_tbl
5255: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5256: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5257: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5258: , p_other_message => l_other_message
5259: , p_other_token_tbl => l_other_token_tbl
5260: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5261: , p_entity_index => I
5256: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5257: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5258: , p_other_message => l_other_message
5259: , p_other_token_tbl => l_other_token_tbl
5260: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5261: , p_entity_index => I
5262: , x_eam_wo_rec => l_eam_wo_rec
5263: , x_eam_op_tbl => l_eam_op_tbl
5264: , x_eam_op_network_tbl => l_eam_op_network_tbl
5286: WHEN EXC_SEV_SKIP_BRANCH THEN
5287: l_out_eam_res_tbl := l_eam_res_tbl;
5288: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5289: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5290: EAM_ERROR_MESSAGE_PVT.Log_Error
5291: ( p_eam_res_tbl => l_eam_res_tbl
5292: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5293: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5294: , p_mesg_token_tbl => l_mesg_token_tbl
5291: ( p_eam_res_tbl => l_eam_res_tbl
5292: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5293: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5294: , p_mesg_token_tbl => l_mesg_token_tbl
5295: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5296: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5297: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
5298: , p_other_message => l_other_message
5299: , p_other_token_tbl => l_other_token_tbl
5292: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5293: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5294: , p_mesg_token_tbl => l_mesg_token_tbl
5295: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5296: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5297: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
5298: , p_other_message => l_other_message
5299: , p_other_token_tbl => l_other_token_tbl
5300: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5293: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5294: , p_mesg_token_tbl => l_mesg_token_tbl
5295: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5296: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5297: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
5298: , p_other_message => l_other_message
5299: , p_other_token_tbl => l_other_token_tbl
5300: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5301: , p_entity_index => I
5296: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5297: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
5298: , p_other_message => l_other_message
5299: , p_other_token_tbl => l_other_token_tbl
5300: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5301: , p_entity_index => I
5302: , x_eam_wo_rec => l_eam_wo_rec
5303: , x_eam_op_tbl => l_eam_op_tbl
5304: , x_eam_op_network_tbl => l_eam_op_network_tbl
5328: WHEN EXC_SEV_QUIT_SIBLINGS THEN
5329: l_out_eam_res_tbl := l_eam_res_tbl;
5330: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5331: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5332: EAM_ERROR_MESSAGE_PVT.Log_Error
5333: ( p_eam_res_tbl => l_eam_res_tbl
5334: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5335: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5336: , p_mesg_token_tbl => l_mesg_token_tbl
5333: ( p_eam_res_tbl => l_eam_res_tbl
5334: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5335: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5336: , p_mesg_token_tbl => l_mesg_token_tbl
5337: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5338: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
5339: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5340: , p_other_message => l_other_message
5341: , p_other_token_tbl => l_other_token_tbl
5334: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5335: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5336: , p_mesg_token_tbl => l_mesg_token_tbl
5337: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5338: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
5339: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5340: , p_other_message => l_other_message
5341: , p_other_token_tbl => l_other_token_tbl
5342: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5335: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5336: , p_mesg_token_tbl => l_mesg_token_tbl
5337: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5338: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
5339: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5340: , p_other_message => l_other_message
5341: , p_other_token_tbl => l_other_token_tbl
5342: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5343: , p_entity_index => I
5338: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
5339: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5340: , p_other_message => l_other_message
5341: , p_other_token_tbl => l_other_token_tbl
5342: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5343: , p_entity_index => I
5344: , x_eam_wo_rec => l_eam_wo_rec
5345: , x_eam_op_tbl => l_eam_op_tbl
5346: , x_eam_op_network_tbl => l_eam_op_network_tbl
5370: WHEN EXC_FAT_QUIT_BRANCH THEN
5371: l_out_eam_res_tbl := l_eam_res_tbl;
5372: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5373: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5374: EAM_ERROR_MESSAGE_PVT.Log_Error
5375: ( p_eam_res_tbl => l_eam_res_tbl
5376: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5377: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5378: , p_mesg_token_tbl => l_mesg_token_tbl
5375: ( p_eam_res_tbl => l_eam_res_tbl
5376: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5377: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5378: , p_mesg_token_tbl => l_mesg_token_tbl
5379: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5380: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5381: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5382: , p_other_message => l_other_message
5383: , p_other_token_tbl => l_other_token_tbl
5376: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5377: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5378: , p_mesg_token_tbl => l_mesg_token_tbl
5379: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5380: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5381: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5382: , p_other_message => l_other_message
5383: , p_other_token_tbl => l_other_token_tbl
5384: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5377: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5378: , p_mesg_token_tbl => l_mesg_token_tbl
5379: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5380: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5381: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5382: , p_other_message => l_other_message
5383: , p_other_token_tbl => l_other_token_tbl
5384: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5385: , p_entity_index => I
5380: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
5381: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5382: , p_other_message => l_other_message
5383: , p_other_token_tbl => l_other_token_tbl
5384: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5385: , p_entity_index => I
5386: , x_eam_wo_rec => l_eam_wo_rec
5387: , x_eam_op_tbl => l_eam_op_tbl
5388: , x_eam_op_network_tbl => l_eam_op_network_tbl
5399:
5400:
5401:
5402: l_process_children := FALSE ;
5403: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
5404: x_mesg_token_tbl := l_mesg_token_tbl ;
5405: x_eam_res_tbl := l_eam_res_tbl;
5406: x_eam_res_inst_tbl := l_eam_res_inst_tbl;
5407:
5410: WHEN EXC_FAT_QUIT_SIBLINGS THEN
5411: l_out_eam_res_tbl := l_eam_res_tbl;
5412: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5413: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5414: EAM_ERROR_MESSAGE_PVT.Log_Error
5415: ( p_eam_res_tbl => l_eam_res_tbl
5416: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5417: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5418: , p_mesg_token_tbl => l_mesg_token_tbl
5415: ( p_eam_res_tbl => l_eam_res_tbl
5416: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5417: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5418: , p_mesg_token_tbl => l_mesg_token_tbl
5419: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5420: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
5421: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5422: , p_other_message => l_other_message
5423: , p_other_token_tbl => l_other_token_tbl
5416: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5417: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5418: , p_mesg_token_tbl => l_mesg_token_tbl
5419: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5420: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
5421: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5422: , p_other_message => l_other_message
5423: , p_other_token_tbl => l_other_token_tbl
5424: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5417: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5418: , p_mesg_token_tbl => l_mesg_token_tbl
5419: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5420: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
5421: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5422: , p_other_message => l_other_message
5423: , p_other_token_tbl => l_other_token_tbl
5424: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5425: , p_entity_index => I
5420: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
5421: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
5422: , p_other_message => l_other_message
5423: , p_other_token_tbl => l_other_token_tbl
5424: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5425: , p_entity_index => I
5426: , x_eam_wo_rec => l_eam_wo_rec
5427: , x_eam_op_tbl => l_eam_op_tbl
5428: , x_eam_op_network_tbl => l_eam_op_network_tbl
5438: l_eam_res_inst_tbl := l_out_eam_res_inst_tbl;
5439:
5440:
5441: l_process_children := FALSE ;
5442: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
5443: x_mesg_token_tbl := l_mesg_token_tbl ;
5444: x_eam_res_tbl := l_eam_res_tbl;
5445: x_eam_res_inst_tbl := l_eam_res_inst_tbl;
5446:
5449: WHEN EXC_UNEXP_SKIP_OBJECT THEN
5450: l_out_eam_res_tbl := l_eam_res_tbl;
5451: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5452: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5453: EAM_ERROR_MESSAGE_PVT.Log_Error
5454: ( p_eam_res_tbl => l_eam_res_tbl
5455: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5456: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5457: , p_mesg_token_tbl => l_mesg_token_tbl
5454: ( p_eam_res_tbl => l_eam_res_tbl
5455: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5456: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5457: , p_mesg_token_tbl => l_mesg_token_tbl
5458: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
5459: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
5460: , p_other_message => l_other_message
5461: , p_other_token_tbl => l_other_token_tbl
5462: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5455: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5456: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
5457: , p_mesg_token_tbl => l_mesg_token_tbl
5458: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
5459: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
5460: , p_other_message => l_other_message
5461: , p_other_token_tbl => l_other_token_tbl
5462: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5463: , x_eam_wo_rec => l_eam_wo_rec
5458: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
5459: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
5460: , p_other_message => l_other_message
5461: , p_other_token_tbl => l_other_token_tbl
5462: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_RES_LEVEL
5463: , x_eam_wo_rec => l_eam_wo_rec
5464: , x_eam_op_tbl => l_eam_op_tbl
5465: , x_eam_op_network_tbl => l_eam_op_network_tbl
5466: , x_eam_res_tbl => l_out_eam_res_tbl
5541: , x_eam_direct_items_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type
5542: , x_schedule_wo IN OUT NOCOPY NUMBER
5543: , x_bottomup_scheduled IN OUT NOCOPY NUMBER
5544: , x_material_shortage IN OUT NOCOPY NUMBER
5545: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
5546: , x_return_status OUT NOCOPY VARCHAR2
5547: )
5548: IS
5549:
5573: l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
5574: l_out_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
5575:
5576: /* Error Handling Variables */
5577: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
5578: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
5579: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
5580: l_other_message VARCHAR2(2000);
5581: l_err_text VARCHAR2(2000);
5574: l_out_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
5575:
5576: /* Error Handling Variables */
5577: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
5578: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
5579: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
5580: l_other_message VARCHAR2(2000);
5581: l_err_text VARCHAR2(2000);
5582: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
5575:
5576: /* Error Handling Variables */
5577: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
5578: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
5579: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
5580: l_other_message VARCHAR2(2000);
5581: l_err_text VARCHAR2(2000);
5582: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
5583:
5578: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
5579: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
5580: l_other_message VARCHAR2(2000);
5581: l_err_text VARCHAR2(2000);
5582: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
5583:
5584: /* Others */
5585: l_return_status VARCHAR2(1) ;
5586: l_bo_return_status VARCHAR2(1) ;
5589: l_valid_transaction BOOLEAN := TRUE ;
5590:
5591:
5592: BEGIN
5593: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(p_eam_op_tbl.COUNT ||' records passed') ; END IF ;
5594:
5595: x_return_status := FND_API.G_RET_STS_SUCCESS;
5596:
5597: -- Init local table variables.
5598: l_return_status := 'S' ;
5599: l_bo_return_status := 'S' ;
5600: l_eam_op_tbl := p_eam_op_tbl ;
5601:
5602: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Starting WO_OPERATIONS') ; END IF ;
5603:
5604: FOR I IN 1..l_eam_op_tbl.COUNT LOOP
5605: BEGIN
5606:
5603:
5604: FOR I IN 1..l_eam_op_tbl.COUNT LOOP
5605: BEGIN
5606:
5607: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing '|| I || ' record') ; END IF ;
5608:
5609: -- Load local records.
5610: l_eam_op_rec := l_eam_op_tbl(I);
5611:
5639: )
5640: )
5641: THEN
5642:
5643: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Return status validation passed') ; END IF ;
5644:
5645: l_return_status := FND_API.G_RET_STS_SUCCESS;
5646: l_eam_op_rec.return_status := FND_API.G_RET_STS_SUCCESS;
5647:
5654: );
5655:
5656: IF NOT l_valid_transaction
5657: THEN
5658: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
5659: RAISE EXC_SEV_QUIT_RECORD ;
5660: END IF ;
5661:
5662: EAM_OP_VALIDATE_PVT.Check_Existence
5665: , x_mesg_token_tbl => l_mesg_token_tbl
5666: , x_return_status => l_return_status
5667: ) ;
5668:
5669: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
5670:
5671: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5672: THEN
5673: l_other_message := 'EAM_OP_EXS_SEV_SKIP';
5667: ) ;
5668:
5669: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check Existence completed with return_status: ' || l_return_status) ; END IF ;
5670:
5671: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5672: THEN
5673: l_other_message := 'EAM_OP_EXS_SEV_SKIP';
5674: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
5675: l_other_token_tbl(1).token_value := l_eam_op_rec.operation_seq_num;
5675: l_other_token_tbl(1).token_value := l_eam_op_rec.operation_seq_num;
5676: l_other_token_tbl(2).token_name := 'WIP_ENTITY_ID';
5677: l_other_token_tbl(2).token_value := l_eam_op_rec.wip_entity_id;
5678: RAISE EXC_SEV_QUIT_BRANCH;
5679: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
5680: THEN
5681: l_other_message := 'EAM_OP_EXS_UNEXP_SKIP';
5682: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
5683: l_other_token_tbl(1).token_value := l_eam_op_rec.operation_seq_num ;
5694:
5695: IF l_eam_op_rec.transaction_type IN (EAM_PROCESS_WO_PVT.G_OPR_UPDATE, EAM_PROCESS_WO_PVT.G_OPR_DELETE)
5696: THEN
5697:
5698: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Populate NULL columns') ;
5699: END IF ;
5700:
5701: l_out_eam_op_rec := l_eam_op_rec;
5702: EAM_OP_DEFAULT_PVT.Populate_Null_Columns
5718: , x_return_status => l_return_status
5719: ) ;
5720: l_eam_op_rec := l_out_eam_op_rec;
5721:
5722: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug
5723: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
5724: END IF ;
5725:
5726:
5723: ('Attribute Defaulting completed with return_status: ' || l_return_status) ;
5724: END IF ;
5725:
5726:
5727: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5728: THEN
5729: l_other_message := 'EAM_OP_ATTDEF_CSEV_SKIP';
5730: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
5731: l_other_token_tbl(1).token_value :=
5731: l_other_token_tbl(1).token_value :=
5732: l_eam_op_rec.OPERATION_SEQ_NUM ;
5733: RAISE EXC_SEV_SKIP_BRANCH ;
5734:
5735: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
5736: THEN
5737: l_other_message := 'EAM_OP_ATTDEF_UNEXP_SKIP';
5738: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
5739: l_other_token_tbl(1).token_value :=
5747: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5748: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
5749: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
5750: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
5751: EAM_ERROR_MESSAGE_PVT.Log_Error
5752: ( p_eam_op_tbl => l_eam_op_tbl
5753: , p_eam_op_network_tbl => l_eam_op_network_tbl
5754: , p_eam_res_tbl => l_eam_res_tbl
5755: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5757: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
5758: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
5759: , p_mesg_token_tbl => l_mesg_token_tbl
5760: , p_error_status => 'W'
5761: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
5762: , p_entity_index => I
5763: , x_eam_wo_rec => l_eam_wo_rec
5764: , x_eam_op_tbl => l_out_eam_op_tbl
5765: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
5786: , x_return_status => l_return_status
5787: , x_mesg_token_tbl => l_mesg_token_tbl
5788: ) ;
5789:
5790: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
5791:
5792:
5793: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5794: THEN
5789:
5790: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check required completed with return_status: ' || l_return_status) ; END IF ;
5791:
5792:
5793: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5794: THEN
5795: IF l_eam_op_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
5796: THEN
5797: l_other_message := 'EAM_OP_REQ_CSEV_SKIP';
5800: RAISE EXC_SEV_SKIP_BRANCH ;
5801: ELSE
5802: RAISE EXC_SEV_QUIT_RECORD ;
5803: END IF;
5804: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
5805: THEN
5806: l_other_message := 'EAM_OP_REQ_UNEXP_SKIP';
5807: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
5808: l_other_token_tbl(1).token_value := l_eam_op_rec.OPERATION_SEQ_NUM ;
5816: , x_return_status => l_return_status
5817: , x_mesg_token_tbl => l_mesg_token_tbl
5818: ) ;
5819:
5820: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
5821:
5822: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5823: THEN
5824: IF l_eam_op_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
5818: ) ;
5819:
5820: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Attribute validation completed with return_status: ' || l_return_status) ; END IF ;
5821:
5822: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
5823: THEN
5824: IF l_eam_op_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
5825: THEN
5826: l_other_message := 'EAM_OP_ATTVAL_CSEV_SKIP';
5830: RAISE EXC_SEV_SKIP_BRANCH ;
5831: ELSE
5832: RAISE EXC_SEV_QUIT_RECORD ;
5833: END IF;
5834: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
5835: THEN
5836: l_other_message := 'EAM_OP_ATTVAL_UNEXP_SKIP';
5837: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
5838: l_other_token_tbl(1).token_value :=
5846: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
5847: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
5848: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
5849: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
5850: EAM_ERROR_MESSAGE_PVT.Log_Error
5851: ( p_eam_op_tbl => l_eam_op_tbl
5852: , p_eam_op_network_tbl => l_eam_op_network_tbl
5853: , p_eam_res_tbl => l_eam_res_tbl
5854: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5856: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
5857: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
5858: , p_mesg_token_tbl => l_mesg_token_tbl
5859: , p_error_status => 'W'
5860: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
5861: , p_entity_index => I
5862: , x_eam_wo_rec => l_eam_wo_rec
5863: , x_eam_op_tbl => l_out_eam_op_tbl
5864: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
5905: , x_return_status => l_return_status
5906: ) ;
5907:
5908:
5909: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
5910: THEN
5911: l_other_message := 'EAM_OP_WRITES_UNEXP_SKIP';
5912: l_other_token_tbl(1).token_name := 'OP_SEQ_NUMBER';
5913: l_other_token_tbl(1).token_value :=
5923: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
5924: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
5925: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
5926: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
5927: EAM_ERROR_MESSAGE_PVT.Log_Error
5928: ( p_eam_op_tbl => l_eam_op_tbl
5929: , p_eam_op_network_tbl => l_eam_op_network_tbl
5930: , p_eam_res_tbl => l_eam_res_tbl
5931: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
5934: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
5935: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
5936: , p_mesg_token_tbl => l_mesg_token_tbl
5937: , p_error_status => 'W'
5938: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
5939: , p_entity_index => I
5940: , x_eam_wo_rec => l_eam_wo_rec
5941: , x_eam_op_tbl => l_out_eam_op_tbl
5942: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
5956: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
5957: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
5958: END IF;
5959:
5960: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operations Database writes completed with status ' || l_return_status); END IF;
5961:
5962:
5963: --find if scheduler is to be called or not
5964: IF(x_schedule_wo = G_NOT_SCHEDULE_WO) THEN
5977: END IF;
5978:
5979: ELSE
5980:
5981: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Skipping '|| I || ' record') ; END IF ;
5982:
5983: END IF; -- END IF statement that checks RETURN STATUS
5984:
5985: -- Load tables.
5999: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
6000: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
6001: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6002: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6003: EAM_ERROR_MESSAGE_PVT.Log_Error
6004: ( p_eam_op_tbl => l_eam_op_tbl
6005: , p_eam_op_network_tbl => l_eam_op_network_tbl
6006: , p_eam_res_tbl => l_eam_res_tbl
6007: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
6009: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
6010: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6011: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6012: , p_mesg_token_tbl => l_mesg_token_tbl
6013: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6014: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
6015: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6016: , p_entity_index => I
6017: , x_eam_wo_rec => l_eam_wo_rec
6010: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6011: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6012: , p_mesg_token_tbl => l_mesg_token_tbl
6013: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6014: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
6015: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6016: , p_entity_index => I
6017: , x_eam_wo_rec => l_eam_wo_rec
6018: , x_eam_op_tbl => l_out_eam_op_tbl
6011: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6012: , p_mesg_token_tbl => l_mesg_token_tbl
6013: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6014: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
6015: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6016: , p_entity_index => I
6017: , x_eam_wo_rec => l_eam_wo_rec
6018: , x_eam_op_tbl => l_out_eam_op_tbl
6019: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
6058: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
6059: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
6060: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6061: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6062: EAM_ERROR_MESSAGE_PVT.Log_Error
6063: ( p_eam_op_tbl => l_eam_op_tbl
6064: , p_eam_op_network_tbl => l_eam_op_network_tbl
6065: , p_eam_res_tbl => l_eam_res_tbl
6066: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
6068: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
6069: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6070: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6071: , p_mesg_token_tbl => l_mesg_token_tbl
6072: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6073: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6074: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6075: , p_other_message => l_other_message
6076: , p_other_token_tbl => l_other_token_tbl
6069: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6070: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6071: , p_mesg_token_tbl => l_mesg_token_tbl
6072: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6073: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6074: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6075: , p_other_message => l_other_message
6076: , p_other_token_tbl => l_other_token_tbl
6077: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6070: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6071: , p_mesg_token_tbl => l_mesg_token_tbl
6072: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6073: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6074: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6075: , p_other_message => l_other_message
6076: , p_other_token_tbl => l_other_token_tbl
6077: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6078: , p_entity_index => I
6073: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6074: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6075: , p_other_message => l_other_message
6076: , p_other_token_tbl => l_other_token_tbl
6077: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6078: , p_entity_index => I
6079: , x_eam_wo_rec => l_eam_wo_rec
6080: , x_eam_op_tbl => l_out_eam_op_tbl
6081: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
6121: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
6122: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
6123: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6124: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6125: EAM_ERROR_MESSAGE_PVT.Log_Error
6126: ( p_eam_op_tbl => l_eam_op_tbl
6127: , p_eam_op_network_tbl => l_eam_op_network_tbl
6128: , p_eam_res_tbl => l_eam_res_tbl
6129: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
6131: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
6132: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6133: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6134: , p_mesg_token_tbl => l_mesg_token_tbl
6135: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6136: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6137: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
6138: , p_other_message => l_other_message
6139: , p_other_token_tbl => l_other_token_tbl
6132: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6133: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6134: , p_mesg_token_tbl => l_mesg_token_tbl
6135: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6136: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6137: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
6138: , p_other_message => l_other_message
6139: , p_other_token_tbl => l_other_token_tbl
6140: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6133: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6134: , p_mesg_token_tbl => l_mesg_token_tbl
6135: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6136: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6137: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
6138: , p_other_message => l_other_message
6139: , p_other_token_tbl => l_other_token_tbl
6140: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6141: , p_entity_index => I
6136: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6137: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
6138: , p_other_message => l_other_message
6139: , p_other_token_tbl => l_other_token_tbl
6140: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6141: , p_entity_index => I
6142: , x_eam_wo_rec => l_eam_wo_rec
6143: , x_eam_op_tbl => l_out_eam_op_tbl
6144: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
6184: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
6185: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
6186: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6187: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6188: EAM_ERROR_MESSAGE_PVT.Log_Error
6189: ( p_eam_op_tbl => l_eam_op_tbl
6190: , p_eam_op_network_tbl => l_eam_op_network_tbl
6191: , p_eam_res_tbl => l_eam_res_tbl
6192: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
6194: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
6195: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6196: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6197: , p_mesg_token_tbl => l_mesg_token_tbl
6198: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6199: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
6200: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6201: , p_other_message => l_other_message
6202: , p_other_token_tbl => l_other_token_tbl
6195: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6196: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6197: , p_mesg_token_tbl => l_mesg_token_tbl
6198: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6199: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
6200: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6201: , p_other_message => l_other_message
6202: , p_other_token_tbl => l_other_token_tbl
6203: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6196: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6197: , p_mesg_token_tbl => l_mesg_token_tbl
6198: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6199: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
6200: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6201: , p_other_message => l_other_message
6202: , p_other_token_tbl => l_other_token_tbl
6203: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6204: , p_entity_index => I
6199: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
6200: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6201: , p_other_message => l_other_message
6202: , p_other_token_tbl => l_other_token_tbl
6203: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6204: , p_entity_index => I
6205: , x_eam_wo_rec => l_eam_wo_rec
6206: , x_eam_op_tbl => l_out_eam_op_tbl
6207: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
6247: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
6248: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
6249: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6250: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6251: EAM_ERROR_MESSAGE_PVT.Log_Error
6252: ( p_eam_op_tbl => l_eam_op_tbl
6253: , p_eam_op_network_tbl => l_eam_op_network_tbl
6254: , p_eam_res_tbl => l_eam_res_tbl
6255: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
6257: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
6258: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6259: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6260: , p_mesg_token_tbl => l_mesg_token_tbl
6261: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6262: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6263: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6264: , p_other_message => l_other_message
6265: , p_other_token_tbl => l_other_token_tbl
6258: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6259: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6260: , p_mesg_token_tbl => l_mesg_token_tbl
6261: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6262: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6263: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6264: , p_other_message => l_other_message
6265: , p_other_token_tbl => l_other_token_tbl
6266: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6259: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6260: , p_mesg_token_tbl => l_mesg_token_tbl
6261: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6262: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6263: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6264: , p_other_message => l_other_message
6265: , p_other_token_tbl => l_other_token_tbl
6266: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6267: , p_entity_index => I
6262: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_CHILDREN
6263: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6264: , p_other_message => l_other_message
6265: , p_other_token_tbl => l_other_token_tbl
6266: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6267: , p_entity_index => I
6268: , x_eam_wo_rec => l_eam_wo_rec
6269: , x_eam_op_tbl => l_out_eam_op_tbl
6270: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
6285: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
6286:
6287:
6288: l_process_children := FALSE ;
6289: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
6290: x_mesg_token_tbl := l_mesg_token_tbl ;
6291: x_eam_op_tbl := l_eam_op_tbl;
6292: x_eam_op_network_tbl := l_eam_op_network_tbl;
6293: x_eam_res_tbl := l_eam_res_tbl;
6307: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
6308: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
6309: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6310: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6311: EAM_ERROR_MESSAGE_PVT.Log_Error
6312: ( p_eam_op_tbl => l_eam_op_tbl
6313: , p_eam_op_network_tbl => l_eam_op_network_tbl
6314: , p_eam_res_tbl => l_eam_res_tbl
6315: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
6317: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
6318: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6319: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6320: , p_mesg_token_tbl => l_mesg_token_tbl
6321: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6322: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
6323: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6324: , p_other_message => l_other_message
6325: , p_other_token_tbl => l_other_token_tbl
6318: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6319: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6320: , p_mesg_token_tbl => l_mesg_token_tbl
6321: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6322: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
6323: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6324: , p_other_message => l_other_message
6325: , p_other_token_tbl => l_other_token_tbl
6326: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6319: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6320: , p_mesg_token_tbl => l_mesg_token_tbl
6321: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6322: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
6323: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6324: , p_other_message => l_other_message
6325: , p_other_token_tbl => l_other_token_tbl
6326: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6327: , p_entity_index => I
6322: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_SIBLINGS
6323: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL
6324: , p_other_message => l_other_message
6325: , p_other_token_tbl => l_other_token_tbl
6326: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6327: , p_entity_index => I
6328: , x_eam_wo_rec => l_eam_wo_rec
6329: , x_eam_op_tbl => l_out_eam_op_tbl
6330: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
6345: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
6346:
6347:
6348: l_process_children := FALSE ;
6349: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_FATAL;
6350: x_mesg_token_tbl := l_mesg_token_tbl ;
6351: x_eam_op_tbl := l_eam_op_tbl;
6352: x_eam_op_network_tbl := l_eam_op_network_tbl;
6353: x_eam_res_tbl := l_eam_res_tbl;
6366: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
6367: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
6368: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6369: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6370: EAM_ERROR_MESSAGE_PVT.Log_Error
6371: ( p_eam_op_tbl => l_eam_op_tbl
6372: , p_eam_op_network_tbl => l_eam_op_network_tbl
6373: , p_eam_res_tbl => l_eam_res_tbl
6374: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
6376: , p_eam_res_usage_tbl => l_eam_res_usage_tbl
6377: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6378: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6379: , p_mesg_token_tbl => l_mesg_token_tbl
6380: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
6381: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
6382: , p_other_message => l_other_message
6383: , p_other_token_tbl => l_other_token_tbl
6384: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6377: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6378: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6379: , p_mesg_token_tbl => l_mesg_token_tbl
6380: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
6381: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
6382: , p_other_message => l_other_message
6383: , p_other_token_tbl => l_other_token_tbl
6384: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6385: , x_eam_wo_rec => l_eam_wo_rec
6380: , p_error_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
6381: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_NOT_PICKED
6382: , p_other_message => l_other_message
6383: , p_other_token_tbl => l_other_token_tbl
6384: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_OP_LEVEL
6385: , x_eam_wo_rec => l_eam_wo_rec
6386: , x_eam_op_tbl => l_out_eam_op_tbl
6387: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
6388: , x_eam_res_tbl => l_out_eam_res_tbl
6425: IF l_process_children
6426: THEN
6427:
6428: -- Process Resources that are direct children of this Operation
6429: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling OPERATION_RESOURCES from WO_OPERATIONS') ; END IF ;
6430:
6431: l_out_eam_res_tbl := l_eam_res_tbl;
6432: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
6433: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6466:
6467:
6468: -- Process Sub Resource that are direct children of this operation
6469:
6470: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling SUB_RESOURCES from WO_OPERATIONS') ; END IF ;
6471:
6472: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
6473: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6474:
6499: END IF;
6500:
6501:
6502: -- Process Material requirements that are direct children of this Operation
6503: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling MATERIAL_REQUIREMENTS from WO_OPERATIONS') ; END IF ;
6504:
6505: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
6506:
6507: MATERIAL_REQUIREMENTS
6532:
6533:
6534:
6535: -- Process Direct Items that are direct children of this Operation
6536: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling DIRECT_ITEMS
6537: from WO_OPERATIONS') ; END IF ;
6538:
6539: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6540:
6625: , x_eam_direct_items_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type
6626: , x_schedule_wo IN OUT NOCOPY NUMBER
6627: , x_bottomup_scheduled IN OUT NOCOPY NUMBER
6628: , x_material_shortage IN OUT NOCOPY NUMBER
6629: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
6630: , x_return_status OUT NOCOPY VARCHAR2
6631: )
6632: IS
6633: l_api_version_number CONSTANT NUMBER := 1.0;
6656: l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
6657: l_out_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
6658:
6659:
6660: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
6661: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
6662: l_other_message VARCHAR2(20000);
6663: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
6664:
6657: l_out_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
6658:
6659:
6660: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
6661: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
6662: l_other_message VARCHAR2(20000);
6663: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
6664:
6665: l_error_text VARCHAR2(2000);
6659:
6660: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
6661: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
6662: l_other_message VARCHAR2(20000);
6663: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
6664:
6665: l_error_text VARCHAR2(2000);
6666: l_valid_transaction BOOLEAN := TRUE;
6667: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
6669: l_msg_count NUMBER := 0;
6670:
6671: l_bo_return_status VARCHAR2(1) := 'S';
6672: l_return_value NUMBER;
6673: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
6674:
6675: EXC_ERR_PVT_API_MAIN EXCEPTION;
6676: POPULATE_RELEASE_ERR EXCEPTION;
6677: G_ERR_STATUS_CHANGE EXCEPTION;
6743: l_return_status := FND_API.G_RET_STS_SUCCESS;
6744: l_eam_wo_rec.return_status := FND_API.G_RET_STS_SUCCESS;
6745:
6746:
6747: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Order: Transaction Type Validity . . . '); END IF;
6748:
6749: VALIDATE_TRANSACTION_TYPE
6750: ( p_transaction_type => l_eam_wo_rec.transaction_type
6751: , p_entity_name => 'WORK_ORDER'
6755: );
6756:
6757: IF NOT l_valid_transaction
6758: THEN
6759: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
6760: RAISE EXC_SEV_QUIT_RECORD;
6761: END IF;
6762:
6763: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('EAM WO: Check Existence . . .'); END IF;
6759: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
6760: RAISE EXC_SEV_QUIT_RECORD;
6761: END IF;
6762:
6763: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('EAM WO: Check Existence . . .'); END IF;
6764:
6765: EAM_WO_VALIDATE_PVT.Check_Existence
6766: ( p_eam_wo_rec => l_eam_wo_rec
6767: , x_old_eam_wo_rec => l_old_eam_wo_rec
6768: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6769: , x_return_status => l_Return_Status
6770: );
6771:
6772: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6773: THEN
6774: l_other_message := 'EAM_WO_EXS_SEV_ERROR';
6775: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
6776: l_other_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
6774: l_other_message := 'EAM_WO_EXS_SEV_ERROR';
6775: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
6776: l_other_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
6777: RAISE EXC_SEV_QUIT_BRANCH;
6778: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
6779: THEN
6780: l_other_message := 'EAM_WO_EXS_UNEXP_SKIP';
6781: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
6782: l_other_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
6800: where inventory_item_id = nvl(l_eam_wo_rec.rebuild_item_id, l_eam_wo_rec.asset_group_id)
6801: and serial_number = nvl(l_eam_wo_rec.rebuild_serial_number, l_eam_wo_rec.asset_number);
6802:
6803: IF (l_current_status = 1 OR l_eam_wo_rec.maintenance_object_type = 2) THEN
6804: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('EAM WO: Calling CREATE_ASSET procedure . . .'); END IF;
6805: EAM_COMMON_UTILITIES_PVT.CREATE_ASSET(
6806: P_API_VERSION => 1.0
6807: ,P_INIT_MSG_LIST => fnd_api.g_false
6808: ,P_COMMIT => fnd_api.g_false
6832:
6833: IF l_eam_wo_rec.Transaction_Type IN (EAM_PROCESS_WO_PVT.G_OPR_UPDATE)
6834: THEN
6835:
6836: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('EAM WO: Populate Null Columns . . .'); END IF;
6837: l_out_eam_wo_rec := l_eam_wo_rec;
6838: EAM_WO_DEFAULT_PVT.Populate_NULL_Columns
6839: ( p_eam_wo_rec => l_eam_wo_rec
6840: , p_old_eam_wo_rec => l_old_eam_wo_rec
6848:
6849: END IF;
6850:
6851:
6852: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('EAM WO: Check_Attributes_Before_Defauting ... '); END IF;
6853:
6854: EAM_WO_VALIDATE_PVT.Check_Attributes_b4_Defaulting
6855: ( x_return_status => l_return_status
6856: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6856: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6857: , p_eam_wo_rec => l_eam_wo_rec
6858: );
6859:
6860: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6861: THEN
6862:
6863: IF l_eam_wo_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
6864: THEN
6869: ELSE
6870: RAISE EXC_SEV_QUIT_RECORD;
6871: END IF;
6872:
6873: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
6874: THEN
6875: l_other_message := 'EAM_WO_ATTVAL_UNEXP_SKIP';
6876: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
6877: l_other_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
6889: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
6890: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6891: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6892: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6893: EAM_ERROR_MESSAGE_PVT.Log_Error
6894: ( p_eam_wo_rec => l_eam_wo_rec
6895: , p_eam_op_tbl => l_eam_op_tbl
6896: , p_eam_op_network_tbl => l_eam_op_network_tbl
6897: , p_eam_res_tbl => l_eam_res_tbl
6901: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6902: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6903: , p_mesg_token_tbl => l_mesg_token_tbl
6904: , p_error_status => 'W'
6905: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
6906: , x_eam_wo_rec => l_out_eam_wo_rec
6907: , x_eam_op_tbl => l_out_eam_op_tbl
6908: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
6909: , x_eam_res_tbl => l_out_eam_res_tbl
6924: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
6925:
6926: END IF;
6927:
6928: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('EAM WO: Conditional Defaulting . . .'); END IF;
6929: l_out_eam_wo_rec := l_eam_wo_rec;
6930: EAM_WO_DEFAULT_PVT.Conditional_Defaulting
6931: ( p_eam_wo_rec => l_eam_wo_rec
6932: , x_eam_wo_rec => l_out_eam_wo_rec
6934: , x_return_status => l_Return_Status
6935: );
6936: l_eam_wo_rec := l_out_eam_wo_rec;
6937:
6938: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
6939: THEN
6940: IF l_eam_wo_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
6941: THEN
6942: l_other_message := 'EAM_WO_CONDDEF_CSEV_SKIP';
6946: ELSE
6947: RAISE EXC_SEV_QUIT_RECORD;
6948: END IF;
6949:
6950: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
6951: THEN
6952: l_other_message := 'EAM_WO_CONDDEF_UNEXP_SKIP';
6953: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
6954: l_other_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
6964: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
6965: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
6966: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
6967: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
6968: EAM_ERROR_MESSAGE_PVT.Log_Error
6969: ( p_eam_wo_rec => l_eam_wo_rec
6970: , p_eam_op_tbl => l_eam_op_tbl
6971: , p_eam_op_network_tbl => l_eam_op_network_tbl
6972: , p_eam_res_tbl => l_eam_res_tbl
6976: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
6977: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
6978: , p_mesg_token_tbl => l_mesg_token_tbl
6979: , p_error_status => 'W'
6980: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
6981: , x_eam_wo_rec => l_out_eam_wo_rec
6982: , x_eam_op_tbl => l_out_eam_op_tbl
6983: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
6984: , x_eam_res_tbl => l_out_eam_res_tbl
6999: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
7000:
7001: END IF;
7002:
7003: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('EAM WO: Attribute Defaulting . . .'); END IF;
7004:
7005: l_out_eam_wo_rec := l_eam_wo_rec;
7006: /* Bug # 4597756 : Store firm_planned_flag, needed if Approval is required */
7007: l_firm_planned_flag := l_eam_wo_rec.firm_planned_flag;
7013: , x_return_status => l_Return_Status
7014: );
7015: l_eam_wo_rec := l_out_eam_wo_rec;
7016:
7017: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7018: THEN
7019:
7020: IF l_eam_wo_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
7021: THEN
7026: ELSE
7027: RAISE EXC_SEV_QUIT_RECORD;
7028: END IF;
7029:
7030: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
7031: THEN
7032: l_other_message := 'EAM_WO_ATTDEF_UNEXP_SKIP';
7033: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
7034: l_other_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
7044: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
7045: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
7046: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
7047: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
7048: EAM_ERROR_MESSAGE_PVT.Log_Error
7049: ( p_eam_wo_rec => l_eam_wo_rec
7050: , p_eam_op_tbl => l_eam_op_tbl
7051: , p_eam_op_network_tbl => l_eam_op_network_tbl
7052: , p_eam_res_tbl => l_eam_res_tbl
7056: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
7057: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7058: , p_mesg_token_tbl => l_mesg_token_tbl
7059: , p_error_status => 'W'
7060: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7061: , x_eam_wo_rec => l_out_eam_wo_rec
7062: , x_eam_op_tbl => l_out_eam_op_tbl
7063: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
7064: , x_eam_res_tbl => l_out_eam_res_tbl
7085: , x_return_status => l_return_status
7086: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7087: );
7088:
7089: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7090: THEN
7091:
7092: IF l_eam_wo_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
7093: THEN
7099: ELSE
7100: RAISE EXC_SEV_QUIT_RECORD;
7101: END IF;
7102:
7103: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
7104: THEN
7105:
7106: l_other_message := 'EAM_WO_CONREQ_UNEXP_SKIP';
7107: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
7119: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
7120: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
7121: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
7122: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
7123: EAM_ERROR_MESSAGE_PVT.Log_Error
7124: ( p_eam_wo_rec => l_eam_wo_rec
7125: , p_eam_op_tbl => l_eam_op_tbl
7126: , p_eam_op_network_tbl => l_eam_op_network_tbl
7127: , p_eam_res_tbl => l_eam_res_tbl
7131: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
7132: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7133: , p_mesg_token_tbl => l_mesg_token_tbl
7134: , p_error_status => 'W'
7135: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7136: , x_eam_wo_rec => l_out_eam_wo_rec
7137: , x_eam_op_tbl => l_out_eam_op_tbl
7138: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
7139: , x_eam_res_tbl => l_out_eam_res_tbl
7153: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
7154: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
7155: END IF;
7156:
7157: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('WO Header: Check Attributes . . .'); END IF;
7158:
7159: EAM_WO_VALIDATE_PVT.Check_Attributes
7160: ( x_return_status => l_return_status
7161: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7161: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7162: , p_eam_wo_rec => l_eam_wo_rec
7163: , p_old_eam_wo_rec => l_old_eam_wo_rec
7164: );
7165: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7166: THEN
7167:
7168: IF l_eam_wo_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
7169: THEN
7174: ELSE
7175: RAISE EXC_SEV_QUIT_RECORD;
7176: END IF;
7177:
7178: ELSIF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
7179: THEN
7180: l_other_message := 'EAM_WO_ATTVAL_UNEXP_SKIP';
7181: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
7182: l_other_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
7193: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
7194: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
7195: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
7196: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
7197: EAM_ERROR_MESSAGE_PVT.Log_Error
7198: ( p_eam_wo_rec => l_eam_wo_rec
7199: , p_eam_op_tbl => l_eam_op_tbl
7200: , p_eam_op_network_tbl => l_eam_op_network_tbl
7201: , p_eam_res_tbl => l_eam_res_tbl
7205: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
7206: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7207: , p_mesg_token_tbl => l_mesg_token_tbl
7208: , p_error_status => 'W'
7209: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7210: , x_eam_wo_rec => l_out_eam_wo_rec
7211: , x_eam_op_tbl => l_out_eam_op_tbl
7212: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
7213: , x_eam_res_tbl => l_out_eam_res_tbl
7296: if l_eam_wo_rec.activity_source is null then
7297: l_eam_wo_rec.activity_source := p_eam_wo_rec.activity_source;
7298: end if;
7299:
7300: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Calling api to update material shortage flag') ; END IF;
7301:
7302:
7303: IF nvl(l_return_status,'S') <> 'S' THEN
7304: x_return_status := l_return_status;
7334: AND (l_old_eam_wo_rec.status_type <>l_eam_wo_rec.status_type)
7335: )
7336: ) THEN
7337: IF(WF_EVENT.TEST(l_status_pending_event) <> 'NONE') THEN
7338: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Calling Wkflow required check API...') ; END IF;
7339: EAM_WORKFLOW_DETAILS_PUB.Eam_Wf_Is_Approval_Required(p_old_wo_rec => l_old_eam_wo_rec,
7340: p_new_wo_rec => l_eam_wo_rec,
7341: p_wip_entity_id => NULL,
7342: p_new_system_status => NULL,
7363:
7364: END IF;
7365: END IF; -- end of check for workflow enabled
7366:
7367: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Writing the WO Record to database...') ; END IF;
7368:
7369: if ((l_eam_wo_rec.pm_suggested_start_date is null or
7370: l_eam_wo_rec.pm_suggested_start_date = FND_API.G_MISS_DATE)
7371: and (l_eam_wo_rec.pm_suggested_end_date is null or
7384: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
7385: , x_return_status => l_return_status
7386: );
7387:
7388: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
7389: THEN
7390:
7391: l_other_message := 'EAM_WO_WRITES_UNEXP_SKIP';
7392: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
7405: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
7406: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
7407: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
7408: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
7409: EAM_ERROR_MESSAGE_PVT.Log_Error
7410: ( p_eam_wo_rec => l_eam_wo_rec
7411: , p_eam_op_tbl => l_eam_op_tbl
7412: , p_eam_op_network_tbl => l_eam_op_network_tbl
7413: , p_eam_res_tbl => l_eam_res_tbl
7417: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
7418: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7419: , p_mesg_token_tbl => l_mesg_token_tbl
7420: , p_error_status => 'W'
7421: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7422: , x_eam_wo_rec => l_out_eam_wo_rec
7423: , x_eam_op_tbl => l_out_eam_op_tbl
7424: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
7425: , x_eam_res_tbl => l_out_eam_res_tbl
7455: INTO l_serial_number, l_inv_item_id, l_org_id
7456: FROM csi_item_instances
7457: WHERE instance_id = l_eam_wo_rec.maintenance_object_id;
7458:
7459: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Calling api to endate eam genealogy') ; END IF;
7460:
7461: wip_eam_genealogy_pvt.update_eam_genealogy
7462: (
7463: p_api_version => 1.0,
7470: x_return_status => l_return_status,
7471: x_msg_count => l_msg_count,
7472: x_msg_data => l_msg_data
7473: );
7474: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Update Genealogy completed with status '||l_return_status) ; END IF;
7475:
7476: IF l_return_status <> 'S' THEN
7477: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN
7478: EAM_ERROR_MESSAGE_PVT.Write_Debug ('api for endating eam genealogy has errored') ;
7474: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Update Genealogy completed with status '||l_return_status) ; END IF;
7475:
7476: IF l_return_status <> 'S' THEN
7477: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN
7478: EAM_ERROR_MESSAGE_PVT.Write_Debug ('api for endating eam genealogy has errored') ;
7479: END IF;
7480: l_other_message := 'EAM_UPDATE_GENEALOGY_FAIL';
7481: RAISE EXC_SEV_QUIT_RECORD;
7482: END IF;
7492: WHERE wip_entity_id = l_eam_wo_rec.parent_wip_entity_id;
7493:
7494: IF (l_current_status in (4, 5, 12) ) THEN
7495:
7496: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Calling api to disable counter hierarchy') ; END IF;
7497:
7498: eam_meterreading_utility_pvt.disable_counter_hierarchy
7499: (
7500: p_eam_wo_comp_rebuild_tbl => l_eam_wo_comp_rebuild_tbl ,
7503: x_eam_wo_comp_rebuild_tbl => l_eam_wo_comp_rebuild_tbl,
7504: x_return_status => l_return_status ,
7505: x_mesg_token_tbl => l_mesg_token_tbl
7506: );
7507: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug (' disable counter hierarchy API completed with status '||l_return_status) ; END IF;
7508:
7509: IF l_return_status <> 'S' THEN
7510:
7511: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN
7508:
7509: IF l_return_status <> 'S' THEN
7510:
7511: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN
7512: EAM_ERROR_MESSAGE_PVT.Write_Debug ('The api to disable counter hierarchy has errored out') ;
7513: END IF;
7514: l_other_message := 'EAM_WOCMPL_DIS_COUNTER_HIER';
7515: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
7516: l_other_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
7516: l_other_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
7517: RAISE EXC_SEV_QUIT_RECORD;
7518: END IF;
7519:
7520: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Calling CSI api for wip completion ') ; END IF;
7521:
7522: csi_eam_interface_grp.wip_completion
7523: (
7524: p_wip_entity_id => l_eam_wo_rec.parent_wip_entity_id,
7525: p_organization_id => l_eam_wo_rec.organization_id,
7526: x_return_status => l_return_status,
7527: x_error_message => l_msg_data
7528: );
7529: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('CSI api for wip completion completed with status '||l_return_status) ; END IF;
7530:
7531: IF l_return_status <> 'S' THEN
7532:
7533: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN
7530:
7531: IF l_return_status <> 'S' THEN
7532:
7533: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN
7534: EAM_ERROR_MESSAGE_PVT.Write_Debug ('The CSI api for wip completion has errored out') ;
7535: END IF;
7536:
7537: l_other_message := 'EAM_WOCMPL_IB_WIP_CMPL';
7538: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
7559: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
7560: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
7561: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
7562: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
7563: EAM_ERROR_MESSAGE_PVT.Log_Error
7564: ( p_eam_wo_rec => l_eam_wo_rec
7565: , p_eam_op_tbl => l_eam_op_tbl
7566: , p_eam_op_network_tbl => l_eam_op_network_tbl
7567: , p_eam_res_tbl => l_eam_res_tbl
7571: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
7572: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7573: , p_mesg_token_tbl => l_mesg_token_tbl
7574: , p_error_status => FND_API.G_RET_STS_ERROR
7575: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7576: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7577: , x_eam_wo_rec => l_out_eam_wo_rec
7578: , x_eam_op_tbl => l_out_eam_op_tbl
7579: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
7572: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7573: , p_mesg_token_tbl => l_mesg_token_tbl
7574: , p_error_status => FND_API.G_RET_STS_ERROR
7575: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7576: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7577: , x_eam_wo_rec => l_out_eam_wo_rec
7578: , x_eam_op_tbl => l_out_eam_op_tbl
7579: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
7580: , x_eam_res_tbl => l_out_eam_res_tbl
7618: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
7619: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
7620: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
7621: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
7622: EAM_ERROR_MESSAGE_PVT.Log_Error
7623: ( p_eam_wo_rec => l_eam_wo_rec
7624: , p_eam_op_tbl => l_eam_op_tbl
7625: , p_eam_op_network_tbl => l_eam_op_network_tbl
7626: , p_eam_res_tbl => l_eam_res_tbl
7630: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
7631: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7632: , p_mesg_token_tbl => l_mesg_token_tbl
7633: , p_error_status => FND_API.G_RET_STS_ERROR
7634: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7635: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7636: , p_other_message => l_other_message
7637: , p_other_token_tbl => l_other_token_tbl
7638: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7631: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7632: , p_mesg_token_tbl => l_mesg_token_tbl
7633: , p_error_status => FND_API.G_RET_STS_ERROR
7634: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7635: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7636: , p_other_message => l_other_message
7637: , p_other_token_tbl => l_other_token_tbl
7638: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7639: , x_eam_wo_rec => l_out_eam_wo_rec
7634: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7635: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7636: , p_other_message => l_other_message
7637: , p_other_token_tbl => l_other_token_tbl
7638: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7639: , x_eam_wo_rec => l_out_eam_wo_rec
7640: , x_eam_op_tbl => l_out_eam_op_tbl
7641: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
7642: , x_eam_res_tbl => l_out_eam_res_tbl
7680: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
7681: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
7682: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
7683: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
7684: EAM_ERROR_MESSAGE_PVT.Log_Error
7685: ( p_eam_wo_rec => l_eam_wo_rec
7686: , p_eam_op_tbl => l_eam_op_tbl
7687: , p_eam_op_network_tbl => l_eam_op_network_tbl
7688: , p_eam_res_tbl => l_eam_res_tbl
7692: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
7693: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7694: , p_mesg_token_tbl => l_mesg_token_tbl
7695: , p_error_status => FND_API.G_RET_STS_ERROR
7696: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7697: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7698: , p_other_message => l_other_message
7699: , p_other_token_tbl => l_other_token_tbl
7700: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7693: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7694: , p_mesg_token_tbl => l_mesg_token_tbl
7695: , p_error_status => FND_API.G_RET_STS_ERROR
7696: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7697: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7698: , p_other_message => l_other_message
7699: , p_other_token_tbl => l_other_token_tbl
7700: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7701: , x_eam_wo_rec => l_out_eam_wo_rec
7696: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7697: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7698: , p_other_message => l_other_message
7699: , p_other_token_tbl => l_other_token_tbl
7700: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7701: , x_eam_wo_rec => l_out_eam_wo_rec
7702: , x_eam_op_tbl => l_out_eam_op_tbl
7703: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
7704: , x_eam_res_tbl => l_out_eam_res_tbl
7743: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
7744: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
7745: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
7746: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
7747: EAM_ERROR_MESSAGE_PVT.Log_Error
7748: ( p_eam_wo_rec => l_eam_wo_rec
7749: , p_eam_op_tbl => l_eam_op_tbl
7750: , p_eam_op_network_tbl => l_eam_op_network_tbl
7751: , p_eam_res_tbl => l_eam_res_tbl
7755: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7756: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
7757: , p_mesg_token_tbl => l_mesg_token_tbl
7758: , p_error_status => FND_API.G_RET_STS_ERROR
7759: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7760: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7761: , p_other_message => l_other_message
7762: , p_other_token_tbl => l_other_token_tbl
7763: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7756: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
7757: , p_mesg_token_tbl => l_mesg_token_tbl
7758: , p_error_status => FND_API.G_RET_STS_ERROR
7759: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7760: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7761: , p_other_message => l_other_message
7762: , p_other_token_tbl => l_other_token_tbl
7763: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7764: , x_eam_wo_rec => l_out_eam_wo_rec
7759: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7760: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7761: , p_other_message => l_other_message
7762: , p_other_token_tbl => l_other_token_tbl
7763: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7764: , x_eam_wo_rec => l_out_eam_wo_rec
7765: , x_eam_op_tbl => l_out_eam_op_tbl
7766: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
7767: , x_eam_res_tbl => l_out_eam_res_tbl
7806: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
7807: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
7808: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
7809: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
7810: EAM_ERROR_MESSAGE_PVT.Log_Error
7811: ( p_eam_wo_rec => l_eam_wo_rec
7812: , p_eam_op_tbl => l_eam_op_tbl
7813: , p_eam_op_network_tbl => l_eam_op_network_tbl
7814: , p_eam_res_tbl => l_eam_res_tbl
7818: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
7819: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7820: , p_mesg_token_tbl => l_mesg_token_tbl
7821: , p_error_status => FND_API.G_RET_STS_ERROR
7822: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7823: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7824: , p_other_message => l_other_message
7825: , p_other_token_tbl => l_other_token_tbl
7826: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7819: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
7820: , p_mesg_token_tbl => l_mesg_token_tbl
7821: , p_error_status => FND_API.G_RET_STS_ERROR
7822: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7823: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7824: , p_other_message => l_other_message
7825: , p_other_token_tbl => l_other_token_tbl
7826: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7827: , x_eam_wo_rec => l_out_eam_wo_rec
7822: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
7823: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
7824: , p_other_message => l_other_message
7825: , p_other_token_tbl => l_other_token_tbl
7826: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
7827: , x_eam_wo_rec => l_out_eam_wo_rec
7828: , x_eam_op_tbl => l_out_eam_op_tbl
7829: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
7830: , x_eam_res_tbl => l_out_eam_res_tbl
7863: -- baroy - end
7864: -- End of IF condition #101 - Skipping header level validations
7865:
7866: -- END Header processing block
7867: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('WORK_ORDER MAIN Routine compelted with status of '||l_return_status) ; END IF ;
7868:
7869: IF NVL(l_return_status,'S') <> 'S'
7870: THEN
7871: x_return_status := l_return_status;
7898:
7899:
7900: -- Process operations that are orphans but are indirect children of this header
7901:
7902: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling WO_OPERATIONS from WORK_ORDER') ; END IF ;
7903:
7904: l_out_eam_wo_rec := l_eam_wo_rec;
7905: l_out_eam_op_tbl := l_eam_op_tbl;
7906: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
7911: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
7912: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
7913:
7914:
7915: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Checking for standard operation from WORK_ORDER') ; END IF ;
7916:
7917: if (l_eam_wo_rec.asset_activity_id IS NOT NULL and
7918: (l_eam_wo_rec.transaction_type = EAM_PROCESS_WO_PUB.G_OPR_CREATE
7919: or
7923: then
7924: null ;
7925: else
7926:
7927: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Exploding standard operation from WORK_ORDER') ; END IF ;
7928:
7929: -- Need to explode standard operations
7930:
7931: IF l_eam_op_tbl.COUNT > 0 THEN
8038: l_eam_res_tbl(l_res_cnt).RETURN_STATUS := l_eam_op_tbl(J).RETURN_STATUS ;
8039: l_eam_res_tbl(l_res_cnt).TRANSACTION_TYPE := l_eam_op_tbl(J).TRANSACTION_TYPE ;
8040: END LOOP;
8041: END;
8042: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Completed Exploding standard operation from WORK_ORDER') ; END IF ;
8043:
8044: END IF;
8045:
8046: END LOOP;
8048: END IF;
8049:
8050: l_out_eam_res_tbl := l_eam_res_tbl;
8051:
8052: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling WO_OPERATIONS from WORK_ORDER') ; END IF ;
8053:
8054: WO_OPERATIONS
8055: ( p_validation_level => p_validation_level
8056: , p_wip_entity_id => l_eam_wo_rec.wip_entity_id
8087: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
8088: l_eam_mat_req_tbl := l_out_eam_mat_req_tbl;
8089: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
8090:
8091: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('WO_OPERATIONS compelted with status of '||l_return_status) ; END IF ;
8092:
8093: IF l_return_status <> 'S'
8094: THEN
8095: l_bo_return_status := l_return_status;
8099: -- Process Resources
8100:
8101: IF l_eam_res_tbl.count <> 0 then
8102:
8103: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling OPERATION_RESOURCES from WORK_ORDER') ; END IF ;
8104:
8105: l_out_eam_res_tbl := l_eam_res_tbl;
8106: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
8107: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
8133: END IF;
8134:
8135:
8136:
8137: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('OPERATION_RESOURCE completed with status of '||l_return_status) ; END IF ;
8138:
8139: END IF;
8140:
8141: -- Process Material Requirements
8141: -- Process Material Requirements
8142:
8143: IF l_eam_mat_req_tbl.count <> 0 then
8144:
8145: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling MATERIAL_REQUIREMENTS from WORK_ORDER') ; END IF ;
8146:
8147: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
8148:
8149: MATERIAL_REQUIREMENTS
8165: l_bo_return_status := l_return_status;
8166: END IF;
8167:
8168:
8169: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('MATERIAL_REQUIREMENTS completed with status of '||l_return_status) ; END IF ;
8170:
8171: END IF;
8172:
8173:
8174: -- Process Direct Items
8175:
8176: IF l_eam_direct_items_tbl.count <> 0 then
8177:
8178: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling DIRECT ITEMS from WORK_ORDER') ; END IF ;
8179:
8180: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
8181:
8182: DIRECT_ITEMS
8198: l_bo_return_status := l_return_status;
8199: END IF;
8200:
8201:
8202: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('DIRECT_ITEMS completed with status of '||l_return_status) ; END IF ;
8203:
8204: END IF;
8205:
8206:
8207: -- Process Operation Networks
8208:
8209: IF l_eam_op_network_tbl.count <> 0 then
8210:
8211: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling OPERATION_NETWORKS from WORK_ORDER') ; END IF ;
8212:
8213: l_out_eam_op_network_tbl := l_eam_op_network_tbl;
8214:
8215: OPERATION_NETWORKS
8230: THEN
8231: l_bo_return_status := l_return_status;
8232: END IF;
8233:
8234: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('OPERATION_NETWORKS completed with status of '||l_return_status) ; END IF ;
8235:
8236: END IF;
8237:
8238:
8302: (l_eam_wo_rec.transaction_type = EAM_PROCESS_WO_PUB.G_OPR_UPDATE and
8303: l_eam_wo_rec.status_type <> l_old_eam_wo_rec.status_type
8304: )
8305: ) then
8306: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling Change_Status API') ; END IF ;
8307:
8308: -- Defaulting the date_released only when workflow is approved /no workflow and work order is actually released.
8309: --Removed following code from EAMVWODB.pls and added it here
8310:
8367: , x_msg_data => l_other_message
8368: , x_Mesg_Token_Tbl => l_mesg_token_tbl
8369: );
8370:
8371: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Status Change WO completed with status ' || l_return_status) ; END IF ;
8372: IF NVL(l_return_status, 'S') <> 'S' THEN
8373: l_return_status := FND_API.G_RET_STS_ERROR;
8374: RAISE G_ERR_STATUS_CHANGE;
8375:
8374: RAISE G_ERR_STATUS_CHANGE;
8375:
8376: END IF;
8377:
8378: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Status Change WO completed with status ' || l_return_status) ; END IF ;
8379:
8380:
8381: END IF;
8382: -- baroy - End if for condition #100
8515: end if;
8516: end if;
8517:
8518: if l_count >= 1 then
8519: EAM_ERROR_MESSAGE_PVT.Write_Debug('No department on Work Order or at organization level. Skipping Estimation ') ;
8520: else
8521:
8522:
8523:
8530: WHERE wip_entity_id=l_eam_wo_rec.wip_entity_id
8531: AND organization_id=l_eam_wo_rec.organization_id;
8532:
8533: BEGIN
8534: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling the Estimate_Workorder_Grp procedure ...') ; END IF ;
8535: CSTPECEP.Estimate_WorkOrder_Grp(
8536: p_api_version => 1.0,
8537: p_init_msg_list => fnd_api.g_false,
8538: p_commit => fnd_api.g_false,
8541: p_organization_id => l_eam_wo_rec.organization_id,
8542: x_return_status => l_return_status,
8543: x_msg_data => l_err_text,
8544: x_msg_count => l_msg_count );
8545: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Estimate_Workorder_Grp procedure completed with status '||l_return_status) ; END IF ;
8546:
8547: IF (l_return_status <> 'S') THEN
8548: l_bo_return_status := l_return_status;
8549: END IF;
8556:
8557:
8558: --Raise workflow events
8559: IF(l_workflow_enabled = 'Y') THEN --if workflow is enabled
8560: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling the Raise_Workflow_Events procedure ...') ; END IF ;
8561: Raise_Workflow_Events
8562: (
8563: p_api_version => 1.0,
8564: p_validation_level => p_validation_level,
8571: x_return_status => l_return_status,
8572: x_mesg_token_tbl => l_mesg_token_tbl
8573: );
8574:
8575: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Raise_Workflow_Events procedure completed with status '||l_return_status) ; END IF ;
8576: IF(l_return_status <> 'S') THEN
8577: l_bo_return_status := l_return_status;
8578: END IF;
8579: END IF; --end of check for workflow enabled
8586: l_token_tbl(1).token_name := 'WORKORDER';
8587: l_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_id;
8588:
8589: l_out_mesg_token_tbl := l_mesg_token_tbl;
8590: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
8591: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
8592: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8593: , p_message_name => 'EAM_POPULATE_REL_ERR'
8594: , p_token_tbl => l_token_tbl
8605: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
8606: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
8607: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
8608: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
8609: EAM_ERROR_MESSAGE_PVT.Log_Error
8610: ( p_eam_wo_rec => l_eam_wo_rec
8611: , p_eam_op_tbl => l_eam_op_tbl
8612: , p_eam_op_network_tbl => l_eam_op_network_tbl
8613: , p_eam_res_tbl => l_eam_res_tbl
8617: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
8618: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
8619: , p_mesg_token_tbl => l_mesg_token_tbl
8620: , p_error_status => FND_API.G_RET_STS_ERROR
8621: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
8622: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
8623: , p_other_message => l_other_message
8624: , p_other_token_tbl => l_other_token_tbl
8625: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
8618: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
8619: , p_mesg_token_tbl => l_mesg_token_tbl
8620: , p_error_status => FND_API.G_RET_STS_ERROR
8621: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
8622: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
8623: , p_other_message => l_other_message
8624: , p_other_token_tbl => l_other_token_tbl
8625: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
8626: , x_eam_wo_rec => l_out_eam_wo_rec
8621: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
8622: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
8623: , p_other_message => l_other_message
8624: , p_other_token_tbl => l_other_token_tbl
8625: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
8626: , x_eam_wo_rec => l_out_eam_wo_rec
8627: , x_eam_op_tbl => l_out_eam_op_tbl
8628: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
8629: , x_eam_res_tbl => l_out_eam_res_tbl
8662: l_token_tbl(1).token_name := 'Wip Entity Id';
8663: l_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_id;
8664:
8665: l_out_mesg_token_tbl := l_mesg_token_tbl;
8666: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
8667: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
8668: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8669: , p_message_name => 'EAM_WO_STATUS_CHG_ERR'
8670: , p_token_tbl => l_token_tbl
8681: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
8682: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
8683: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
8684: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
8685: EAM_ERROR_MESSAGE_PVT.Log_Error
8686: ( p_eam_wo_rec => l_eam_wo_rec
8687: , p_eam_op_tbl => l_eam_op_tbl
8688: , p_eam_op_network_tbl => l_eam_op_network_tbl
8689: , p_eam_res_tbl => l_eam_res_tbl
8693: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
8694: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
8695: , p_mesg_token_tbl => l_mesg_token_tbl
8696: , p_error_status => FND_API.G_RET_STS_ERROR
8697: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
8698: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
8699: , p_other_message => l_other_message
8700: , p_other_token_tbl => l_other_token_tbl
8701: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
8694: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
8695: , p_mesg_token_tbl => l_mesg_token_tbl
8696: , p_error_status => FND_API.G_RET_STS_ERROR
8697: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
8698: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
8699: , p_other_message => l_other_message
8700: , p_other_token_tbl => l_other_token_tbl
8701: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
8702: , x_eam_wo_rec => l_out_eam_wo_rec
8697: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
8698: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
8699: , p_other_message => l_other_message
8700: , p_other_token_tbl => l_other_token_tbl
8701: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
8702: , x_eam_wo_rec => l_out_eam_wo_rec
8703: , x_eam_op_tbl => l_out_eam_op_tbl
8704: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
8705: , x_eam_res_tbl => l_out_eam_res_tbl
8836: l_out_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
8837: l_out_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
8838: l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
8839: l_out_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
8840: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
8841:
8842: l_old_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
8843: l_scheduled NUMBER;
8844: l_bottomup_scheduled NUMBER;
8844: l_bottomup_scheduled NUMBER;
8845: l_wip_entity_id NUMBER;
8846: l_organization_id NUMBER;
8847:
8848: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
8849: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
8850: l_other_message VARCHAR2(2000);
8851: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
8852: l_msg_count NUMBER := 0;
8845: l_wip_entity_id NUMBER;
8846: l_organization_id NUMBER;
8847:
8848: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
8849: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
8850: l_other_message VARCHAR2(2000);
8851: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
8852: l_msg_count NUMBER := 0;
8853:
8847:
8848: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
8849: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
8850: l_other_message VARCHAR2(2000);
8851: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
8852: l_msg_count NUMBER := 0;
8853:
8854: EXC_ERR_PVT_API_MAIN EXCEPTION;
8855: CHECK_WO_DATES_ERR EXCEPTION;
8985: END IF;
8986:
8987: -- Start with processing of the EAM Work Order Header
8988:
8989: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling WORK_ORDER from PROCESS_WO') ; END IF ;
8990:
8991:
8992: l_out_eam_wo_rec := l_eam_wo_rec;
8993: l_out_eam_op_tbl := l_eam_op_tbl;
9011: exception when others then
9012: null;
9013: end;
9014:
9015: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling the WORK_ORDER procedure...') ; END IF ;
9016:
9017: WORK_ORDER
9018: ( p_validation_level => p_validation_level
9019: , p_wip_entity_id => l_wip_entity_id
9064:
9065: END IF;
9066:
9067:
9068: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('WORK_ORDER completed with status of '||l_eam_return_status) ; END IF ;
9069:
9070: if nvl(l_eam_return_status,'S') = 'S' then
9071:
9072: IF(l_eam_wo_rec.transaction_type IS NOT NULL) THEN -- wip_entity_id will be defaulted when creating workorder
9088: if( l_eam_wo_rec.status_type = 3
9089: and l_old_eam_wo_rec.status_type = 3
9090: and nvl(l_eam_wo_rec.po_creation_time,2)=WIP_CONSTANTS.AT_JOB_SCHEDULE_RELEASE
9091: ) then
9092: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Call code to create requisitions for osp item for already released workorder'); END IF;
9093: EAM_RES_UTILITY_PVT.CREATE_OSP_REQ
9094: (
9095: p_eam_res_tbl => p_eam_res_tbl,
9096: x_return_status => l_return_status
9124: -- do not call material shortage for CMRO
9125: IF l_eam_wo_rec.maintenance_object_source = 1 THEN
9126:
9127: IF l_material_shortage = G_MATERIAL_UPDATE THEN
9128: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling teh Check_Shortage procedure for materials ...'); END IF;
9129: eam_material_validate_pub.Check_Shortage
9130: (
9131: p_api_version => 1.0
9132: , x_return_status => l_return_status
9152: END IF;
9153:
9154: IF l_scheduled=G_SCHEDULE_WO AND NVL(l_eam_wo_rec.ds_scheduled_flag,'N')='N' THEN
9155:
9156: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Scheduling WO') ; END IF ;
9157: EAM_WO_SCHEDULE_PVT.SCHEDULE_WO
9158: ( p_organization_id => l_eam_wo_rec.organization_id
9159: , p_wip_entity_id => l_eam_wo_rec.wip_entity_id
9160: , p_start_date => l_eam_wo_rec.requested_start_date
9181: l_out_eam_res_tbl := l_eam_res_tbl;
9182: l_out_eam_res_inst_tbl := l_eam_res_inst_tbl;
9183: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
9184:
9185: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling update_resource_usage for firm work orders') ; END IF ;
9186:
9187: EAM_SCHED_BOTTOM_UP_PVT.update_resource_usage(
9188: p_eam_res_tbl => l_eam_res_tbl
9189: , p_eam_res_inst_tbl => l_eam_res_inst_tbl
9194: , x_return_status => l_return_status
9195: , x_message_name => l_err_text
9196: ) ;
9197:
9198: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(' update_resource_usage for firm work orders returned status is ' || l_return_status ) ; END IF ;
9199: IF NVL(l_return_status, 'T') <> 'S' THEN
9200: l_eam_return_status := l_return_status;
9201: l_return_status := 'E';
9202: RAISE UPDATE_RES_USAGE_BU_ERR;
9211: END IF;
9212:
9213: if l_scheduled = G_FIRM_WORKORDER or NVL(l_eam_wo_rec.ds_scheduled_flag,'N')= 'Y' then
9214:
9215: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Checking WO dates to see whether they are correctly encompassed...') ; END IF ;
9216:
9217: EAM_WO_NETWORK_DEFAULT_PVT.Check_Wo_Dates
9218: (
9219: p_api_version => 1.0,
9227: x_msg_count => l_msg_count,
9228: x_msg_data => l_err_text
9229: );
9230:
9231: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check_Wo_Dates completed with status of '||l_return_status) ; END IF ;
9232:
9233: IF NVL(l_return_status, 'T') <> 'S' THEN
9234:
9235:
9232:
9233: IF NVL(l_return_status, 'T') <> 'S' THEN
9234:
9235:
9236: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling schedule_bottom_up_pvt for firm work orders') ; END IF ;
9237:
9238: --Added parameter p_woru_modified to the procedure. This is done to ensure that dates are changed correctly from summary tab in Create Update WO page
9239:
9240: EAM_SCHED_BOTTOM_UP_PVT.schedule_bottom_up_pvt (
9251: l_token_tbl(1).token_name := 'WORK_ORDER_NAME';
9252: l_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
9253:
9254: l_out_mesg_token_tbl := l_mesg_token_tbl;
9255: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
9256: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
9257: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9258: , p_message_name => 'EAM_SCHED_BOTTOMUP_MSG'
9259: , p_token_tbl => l_token_tbl
9270: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
9271: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
9272: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
9273: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
9274: EAM_ERROR_MESSAGE_PVT.Log_Error
9275: ( p_eam_wo_rec => l_eam_wo_rec
9276: , p_eam_op_tbl => l_eam_op_tbl
9277: , p_eam_op_network_tbl => l_eam_op_network_tbl
9278: , p_eam_res_tbl => l_eam_res_tbl
9282: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
9283: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
9284: , p_mesg_token_tbl => l_mesg_token_tbl
9285: , p_error_status => FND_API.G_RET_STS_ERROR
9286: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9287: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9288: , p_other_message => l_other_message
9289: , p_other_token_tbl => l_other_token_tbl
9290: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9283: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
9284: , p_mesg_token_tbl => l_mesg_token_tbl
9285: , p_error_status => FND_API.G_RET_STS_ERROR
9286: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9287: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9288: , p_other_message => l_other_message
9289: , p_other_token_tbl => l_other_token_tbl
9290: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9291: , x_eam_wo_rec => l_out_eam_wo_rec
9286: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9287: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9288: , p_other_message => l_other_message
9289: , p_other_token_tbl => l_other_token_tbl
9290: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9291: , x_eam_wo_rec => l_out_eam_wo_rec
9292: , x_eam_op_tbl => l_out_eam_op_tbl
9293: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
9294: , x_eam_res_tbl => l_out_eam_res_tbl
9308: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
9309: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl; */
9310:
9311:
9312: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
9313:
9314: x_msg_count := l_msg_count;
9315: /* x_return_status := l_return_status;
9316: x_eam_wo_rec := l_eam_wo_rec;
9328:
9329:
9330: /*7570880 end -Fp of 7003588 for eAM Reconcilation */
9331:
9332: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(' schedule_bottom_up_pvt for firm work orders returned status is ' || l_return_status ) ; END IF ;
9333: IF NVL(l_return_status, 'T') <> 'S' THEN
9334: l_eam_return_status := l_return_status;
9335: l_return_status := 'E';
9336: RAISE SCHEDULE_BOTTOM_UP_ERR;
9353: END IF;
9354:
9355: IF ( l_emp_assignment = TRUE ) THEN
9356:
9357: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Updating assignment details of an employee ') ; END IF ;
9358:
9359: Update eam_work_order_details
9360: set ASSIGNMENT_COMPLETE = EAM_ASSIGN_EMP_PUB.Get_Emp_Assignment_Status(l_eam_wo_rec.wip_entity_id,l_eam_wo_rec.organization_id)
9361: where wip_entity_id = l_eam_wo_rec.wip_entity_id;
9360: set ASSIGNMENT_COMPLETE = EAM_ASSIGN_EMP_PUB.Get_Emp_Assignment_Status(l_eam_wo_rec.wip_entity_id,l_eam_wo_rec.organization_id)
9361: where wip_entity_id = l_eam_wo_rec.wip_entity_id;
9362: END IF;
9363:
9364: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Checking Operation Network Dates... ') ; END IF ;
9365:
9366: EAM_OP_VALIDATE_PVT.Check_Operation_Netwrok_Dates
9367: (
9368: p_api_version => 1.0,
9374: x_pri_operation_no => l_prior_op_no,
9375: x_next_operation_no => l_next_op_no
9376: );
9377:
9378: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check_Operation_Netwrok_Dates completed with status of '||l_return_status) ; END IF ;
9379:
9380: IF NVL(l_return_status, 'T') <> 'S' THEN
9381: l_eam_return_status := l_return_status;
9382: l_return_status := 'E';
9383: RAISE CHECK_OP_NETWORK_DATES_ERR;
9384: END IF;
9385:
9386:
9387: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Scheduling WO completed with status ' || l_return_status) ; END IF ;
9388:
9389: -- Even for firm work orders, make sure that the work order dates
9390: -- encompass the operation dates and that the operation dates
9391: -- encompass the resource dates and that the resource dates
9392: -- encompass the resource instance dates.
9393:
9394: if l_scheduled = G_FIRM_WORKORDER then
9395:
9396: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling Check_Resource_Dates procedure ...') ; END IF ;
9397:
9398: EAM_WO_NETWORK_DEFAULT_PVT.Check_Resource_Dates
9399: (
9400: p_api_version => 1.0,
9407: x_return_status => l_return_status,
9408: x_msg_count => l_msg_count,
9409: x_msg_data => l_err_text
9410: );
9411: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check_Resource_Dates completed with status of '||l_return_status) ; END IF ;
9412:
9413: IF NVL(l_return_status, 'T') <> 'S' THEN
9414: l_eam_return_status := l_return_status;
9415: l_return_status := 'E';
9418:
9419: end if;
9420:
9421: begin
9422: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling Check_Wo_Negative_Dates procedure ... ') ; END IF ;
9423: EAM_WO_NETWORK_DEFAULT_PVT.Check_Wo_Negative_Dates
9424: (
9425: p_api_version => 1.0,
9426: p_init_msg_list => FND_API.G_FALSE,
9432: x_msg_count => l_msg_count,
9433: x_msg_data => l_err_text
9434: );
9435:
9436: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Check_Wo_Negative_Dates completed with status of '||l_return_status) ; END IF ;
9437:
9438: IF NVL(l_return_status, 'T') <> 'S' THEN
9439: l_eam_return_status := l_return_status;
9440: l_return_status := 'E';
9445:
9446:
9447: if NVL(l_eam_wo_rec.validate_structure,'N') <> 'Y' then -- check added for bug# 3544860
9448:
9449: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling Validate_Structure API'); END IF;
9450:
9451: EAM_WO_NETWORK_VALIDATE_PVT.Validate_Structure
9452: (
9453: p_api_version => 1.0,
9475: RAISE VALIDATE_NETWORK_ERR;
9476: END IF;
9477: end if;
9478:
9479: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('enters inside update'); END IF;
9480: UPDATE_DATES(l_eam_wo_rec,
9481: l_eam_op_tbl,
9482: l_eam_res_tbl,
9483: l_eam_res_inst_tbl);
9482: l_eam_res_tbl,
9483: l_eam_res_inst_tbl);
9484: end if; --end of check for l_eam_return_status and 'S'
9485:
9486: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
9487:
9488: -- Load out parameters
9489: IF nvl(l_eam_return_status,'S') <> 'S' THEN
9490: x_return_status := l_eam_return_status;
9491: END IF;
9492:
9493: IF l_eam_return_status = 'S' THEN
9494:
9495: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Updating WIP_REQUIREMENT_OPERATIONS'); END IF;
9496:
9497: begin
9498: select operation_seq_num,first_unit_start_date
9499: bulk collect into l_wkorder_new_op_tbl,l_wkorder_new_op_dt_tbl
9534: END LOOP;
9535: END IF;
9536: END IF; --- end of l_wkorder_old_op_tbl.COUNT
9537:
9538: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Updating date required columns for WIP_REQUIREMENT_OPERATIONS'); END IF;
9539:
9540: IF l_wip_entity_id IS NOT NULL THEN
9541: select SCHEDULED_START_DATE into l_wo_new_sch_start_date
9542: from wip_discrete_jobs
9609: (l_eam_wo_rec.transaction_type = EAM_PROCESS_WO_PUB.G_OPR_CREATE and
9610: l_eam_wo_rec.status_type = 3)
9611: ) then
9612:
9613: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling material Allocation procedure at wo release/cancel ... ') ; END IF ;
9614:
9615: EAM_MATERIALISSUE_PVT.alloc_at_release_cancel (
9616: p_api_version => 1.0,
9617: p_init_msg_list => fnd_api.g_false,
9625: x_msg_count => l_msg_count
9626: );
9627:
9628:
9629: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Allocation creation at wo release/cancel completed with status of '||l_return_status) ; END IF ;
9630:
9631: IF NVL(l_return_status, 'T') <> 'S' THEN
9632: l_eam_return_status := 'E';
9633: RAISE ALLOC_CREATION_ERR;
9684: END LOOP;
9685:
9686: END IF; --end of if l_out_eam_mat_req_tbl.COUNT
9687:
9688: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling UPDATE_INTERMEDIA_INDEX'); END IF;
9689:
9690: IF(l_eam_wo_rec.maintenance_object_source =1 ) THEN --update intermedia index only for EAM workorders
9691: UPDATE_INTERMEDIA_INDEX
9692: (
9699: END IF; --end of check for maint. object source...
9700:
9701: END IF; --end of l_eam_return_status='S'
9702:
9703: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Assigning Out Parameters'); END IF;
9704:
9705: x_msg_count := l_msg_count;
9706: x_eam_wo_rec := l_eam_wo_rec;
9707: x_eam_op_tbl := l_eam_op_tbl;
9722: l_token_tbl(1).token_name := 'Wip_Entity_Id';
9723: l_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_id;
9724:
9725: l_out_mesg_token_tbl := l_mesg_token_tbl;
9726: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
9727: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
9728: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9729: , p_message_name => 'EAM_WO_ALLOC_CR_ERR'
9730: , p_token_tbl => l_token_tbl
9741: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
9742: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
9743: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
9744: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
9745: EAM_ERROR_MESSAGE_PVT.Log_Error
9746: ( p_eam_wo_rec => l_eam_wo_rec
9747: , p_eam_op_tbl => l_eam_op_tbl
9748: , p_eam_op_network_tbl => l_eam_op_network_tbl
9749: , p_eam_res_tbl => l_eam_res_tbl
9753: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
9754: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
9755: , p_mesg_token_tbl => l_mesg_token_tbl
9756: , p_error_status => FND_API.G_RET_STS_ERROR
9757: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9758: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9759: , p_other_message => l_other_message
9760: , p_other_token_tbl => l_other_token_tbl
9761: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9754: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
9755: , p_mesg_token_tbl => l_mesg_token_tbl
9756: , p_error_status => FND_API.G_RET_STS_ERROR
9757: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9758: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9759: , p_other_message => l_other_message
9760: , p_other_token_tbl => l_other_token_tbl
9761: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9762: , x_eam_wo_rec => l_out_eam_wo_rec
9757: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9758: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9759: , p_other_message => l_other_message
9760: , p_other_token_tbl => l_other_token_tbl
9761: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9762: , x_eam_wo_rec => l_out_eam_wo_rec
9763: , x_eam_op_tbl => l_out_eam_op_tbl
9764: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
9765: , x_eam_res_tbl => l_out_eam_res_tbl
9778: l_eam_mat_req_tbl := l_out_eam_mat_req_tbl;
9779: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
9780: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
9781:
9782: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
9783:
9784: x_msg_count := l_msg_count;
9785: x_return_status := l_return_status;
9786: x_eam_wo_rec := l_eam_wo_rec;
9803: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
9804: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
9805: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
9806: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
9807: EAM_ERROR_MESSAGE_PVT.Log_Error
9808: ( p_eam_wo_rec => l_eam_wo_rec
9809: , p_eam_op_tbl => l_eam_op_tbl
9810: , p_eam_op_network_tbl => l_eam_op_network_tbl
9811: , p_eam_res_tbl => l_eam_res_tbl
9815: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
9816: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
9817: , p_mesg_token_tbl => l_mesg_token_tbl
9818: , p_error_status => FND_API.G_RET_STS_ERROR
9819: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9820: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9821: , p_other_message => l_other_message
9822: , p_other_token_tbl => l_other_token_tbl
9823: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9816: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
9817: , p_mesg_token_tbl => l_mesg_token_tbl
9818: , p_error_status => FND_API.G_RET_STS_ERROR
9819: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9820: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9821: , p_other_message => l_other_message
9822: , p_other_token_tbl => l_other_token_tbl
9823: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9824: , x_eam_wo_rec => l_out_eam_wo_rec
9819: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9820: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9821: , p_other_message => l_other_message
9822: , p_other_token_tbl => l_other_token_tbl
9823: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9824: , x_eam_wo_rec => l_out_eam_wo_rec
9825: , x_eam_op_tbl => l_out_eam_op_tbl
9826: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
9827: , x_eam_res_tbl => l_out_eam_res_tbl
9840: l_eam_mat_req_tbl := l_out_eam_mat_req_tbl;
9841: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
9842: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
9843:
9844: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
9845:
9846: x_msg_count := l_msg_count;
9847: x_return_status := l_return_status;
9848: x_eam_wo_rec := l_eam_wo_rec;
9861: l_token_tbl(1).token_name := 'WIPENTITYID';
9862: l_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_id;
9863:
9864: l_out_mesg_token_tbl := l_mesg_token_tbl;
9865: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
9866: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
9867: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9868: , p_message_name => 'EAM_WO_OSP_REQ_ERR'
9869: , p_token_tbl => l_token_tbl
9880: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
9881: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
9882: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
9883: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
9884: EAM_ERROR_MESSAGE_PVT.Log_Error
9885: ( p_eam_wo_rec => l_eam_wo_rec
9886: , p_eam_op_tbl => l_eam_op_tbl
9887: , p_eam_op_network_tbl => l_eam_op_network_tbl
9888: , p_eam_res_tbl => l_eam_res_tbl
9892: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
9893: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
9894: , p_mesg_token_tbl => l_mesg_token_tbl
9895: , p_error_status => FND_API.G_RET_STS_ERROR
9896: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9897: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9898: , p_other_message => l_other_message
9899: , p_other_token_tbl => l_other_token_tbl
9900: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9893: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
9894: , p_mesg_token_tbl => l_mesg_token_tbl
9895: , p_error_status => FND_API.G_RET_STS_ERROR
9896: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9897: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9898: , p_other_message => l_other_message
9899: , p_other_token_tbl => l_other_token_tbl
9900: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9901: , x_eam_wo_rec => l_out_eam_wo_rec
9896: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9897: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9898: , p_other_message => l_other_message
9899: , p_other_token_tbl => l_other_token_tbl
9900: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9901: , x_eam_wo_rec => l_out_eam_wo_rec
9902: , x_eam_op_tbl => l_out_eam_op_tbl
9903: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
9904: , x_eam_res_tbl => l_out_eam_res_tbl
9917: l_eam_mat_req_tbl := l_out_eam_mat_req_tbl;
9918: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
9919: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
9920:
9921: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
9922:
9923: x_msg_count := l_msg_count;
9924: x_return_status := l_return_status;
9925: x_eam_wo_rec := l_eam_wo_rec;
9937: l_token_tbl(1).token_name := 'WORK_ORDER_NAME';
9938: l_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
9939:
9940: l_out_mesg_token_tbl := l_mesg_token_tbl;
9941: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
9942: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
9943: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9944: , p_message_name => l_err_text
9945: , p_token_tbl => l_token_tbl
9956: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
9957: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
9958: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
9959: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
9960: EAM_ERROR_MESSAGE_PVT.Log_Error
9961: ( p_eam_wo_rec => l_eam_wo_rec
9962: , p_eam_op_tbl => l_eam_op_tbl
9963: , p_eam_op_network_tbl => l_eam_op_network_tbl
9964: , p_eam_res_tbl => l_eam_res_tbl
9968: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
9969: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
9970: , p_mesg_token_tbl => l_mesg_token_tbl
9971: , p_error_status => FND_API.G_RET_STS_ERROR
9972: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9973: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9974: , p_other_message => l_other_message
9975: , p_other_token_tbl => l_other_token_tbl
9976: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9969: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
9970: , p_mesg_token_tbl => l_mesg_token_tbl
9971: , p_error_status => FND_API.G_RET_STS_ERROR
9972: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9973: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9974: , p_other_message => l_other_message
9975: , p_other_token_tbl => l_other_token_tbl
9976: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9977: , x_eam_wo_rec => l_out_eam_wo_rec
9972: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
9973: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
9974: , p_other_message => l_other_message
9975: , p_other_token_tbl => l_other_token_tbl
9976: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
9977: , x_eam_wo_rec => l_out_eam_wo_rec
9978: , x_eam_op_tbl => l_out_eam_op_tbl
9979: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
9980: , x_eam_res_tbl => l_out_eam_res_tbl
9994: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
9995: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
9996:
9997:
9998: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
9999:
10000: x_msg_count := l_msg_count;
10001: x_return_status := l_return_status;
10002: x_eam_wo_rec := l_eam_wo_rec;
10014: l_token_tbl(1).token_name := 'WORK_ORDER_NAME';
10015: l_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_name;
10016:
10017: l_out_mesg_token_tbl := l_mesg_token_tbl;
10018: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10019: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
10020: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10021: , p_message_name => l_err_text
10022: , p_token_tbl => l_token_tbl
10033: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
10034: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
10035: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
10036: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
10037: EAM_ERROR_MESSAGE_PVT.Log_Error
10038: ( p_eam_wo_rec => l_eam_wo_rec
10039: , p_eam_op_tbl => l_eam_op_tbl
10040: , p_eam_op_network_tbl => l_eam_op_network_tbl
10041: , p_eam_res_tbl => l_eam_res_tbl
10045: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
10046: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10047: , p_mesg_token_tbl => l_mesg_token_tbl
10048: , p_error_status => FND_API.G_RET_STS_ERROR
10049: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10050: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10051: , p_other_message => l_other_message
10052: , p_other_token_tbl => l_other_token_tbl
10053: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10046: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10047: , p_mesg_token_tbl => l_mesg_token_tbl
10048: , p_error_status => FND_API.G_RET_STS_ERROR
10049: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10050: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10051: , p_other_message => l_other_message
10052: , p_other_token_tbl => l_other_token_tbl
10053: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10054: , x_eam_wo_rec => l_out_eam_wo_rec
10049: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10050: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10051: , p_other_message => l_other_message
10052: , p_other_token_tbl => l_other_token_tbl
10053: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10054: , x_eam_wo_rec => l_out_eam_wo_rec
10055: , x_eam_op_tbl => l_out_eam_op_tbl
10056: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
10057: , x_eam_res_tbl => l_out_eam_res_tbl
10071: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
10072: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
10073:
10074:
10075: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
10076:
10077: x_msg_count := l_msg_count;
10078: x_return_status := l_return_status;
10079: x_eam_wo_rec := l_eam_wo_rec;
10091: l_token_tbl(1).token_name := 'OP_SEQ_NO';
10092: l_token_tbl(1).token_value := l_prior_op_no || ',' || l_next_op_no;
10093:
10094: l_out_mesg_token_tbl := l_mesg_token_tbl;
10095: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10096: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
10097: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10098: , p_message_name => 'EAM_OP_NETWRK_DATES_ERR'
10099: , p_token_tbl => l_token_tbl
10110: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
10111: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
10112: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
10113: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
10114: EAM_ERROR_MESSAGE_PVT.Log_Error
10115: ( p_eam_wo_rec => l_eam_wo_rec
10116: , p_eam_op_tbl => l_eam_op_tbl
10117: , p_eam_op_network_tbl => l_eam_op_network_tbl
10118: , p_eam_res_tbl => l_eam_res_tbl
10122: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
10123: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10124: , p_mesg_token_tbl => l_mesg_token_tbl
10125: , p_error_status => FND_API.G_RET_STS_ERROR
10126: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10127: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10128: , p_other_message => l_other_message
10129: , p_other_token_tbl => l_other_token_tbl
10130: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10123: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10124: , p_mesg_token_tbl => l_mesg_token_tbl
10125: , p_error_status => FND_API.G_RET_STS_ERROR
10126: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10127: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10128: , p_other_message => l_other_message
10129: , p_other_token_tbl => l_other_token_tbl
10130: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10131: , x_eam_wo_rec => l_out_eam_wo_rec
10126: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10127: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10128: , p_other_message => l_other_message
10129: , p_other_token_tbl => l_other_token_tbl
10130: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10131: , x_eam_wo_rec => l_out_eam_wo_rec
10132: , x_eam_op_tbl => l_out_eam_op_tbl
10133: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
10134: , x_eam_res_tbl => l_out_eam_res_tbl
10148: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
10149: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
10150:
10151:
10152: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
10153:
10154: x_msg_count := l_msg_count;
10155: x_return_status := l_return_status;
10156: x_eam_wo_rec := l_eam_wo_rec;
10175: AND we.organization_id = l_eam_wo_rec.organization_id;
10176:
10177:
10178: l_out_mesg_token_tbl := l_mesg_token_tbl;
10179: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10180: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
10181: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10182: , p_message_name => 'EAM_WO_CHK_DATES_ERR'
10183: , p_token_tbl => l_token_tbl
10194: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
10195: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
10196: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
10197: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
10198: EAM_ERROR_MESSAGE_PVT.Log_Error
10199: ( p_eam_wo_rec => l_eam_wo_rec
10200: , p_eam_op_tbl => l_eam_op_tbl
10201: , p_eam_op_network_tbl => l_eam_op_network_tbl
10202: , p_eam_res_tbl => l_eam_res_tbl
10206: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
10207: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10208: , p_mesg_token_tbl => l_mesg_token_tbl
10209: , p_error_status => FND_API.G_RET_STS_ERROR
10210: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10211: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10212: , p_other_message => l_other_message
10213: , p_other_token_tbl => l_other_token_tbl
10214: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10207: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10208: , p_mesg_token_tbl => l_mesg_token_tbl
10209: , p_error_status => FND_API.G_RET_STS_ERROR
10210: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10211: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10212: , p_other_message => l_other_message
10213: , p_other_token_tbl => l_other_token_tbl
10214: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10215: , x_eam_wo_rec => l_out_eam_wo_rec
10210: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10211: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10212: , p_other_message => l_other_message
10213: , p_other_token_tbl => l_other_token_tbl
10214: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10215: , x_eam_wo_rec => l_out_eam_wo_rec
10216: , x_eam_op_tbl => l_out_eam_op_tbl
10217: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
10218: , x_eam_res_tbl => l_out_eam_res_tbl
10232: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
10233: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
10234:
10235:
10236: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
10237:
10238: x_msg_count := l_msg_count;
10239: x_return_status := l_return_status;
10240: x_eam_wo_rec := l_eam_wo_rec;
10258: AND we.organization_id = l_eam_wo_rec.organization_id;
10259:
10260:
10261: l_out_mesg_token_tbl := l_mesg_token_tbl;
10262: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10263: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
10264: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10265: , p_message_name => 'CHECK_WO_RES_DATES_ERR'
10266: , p_token_tbl => l_token_tbl
10277: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
10278: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
10279: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
10280: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
10281: EAM_ERROR_MESSAGE_PVT.Log_Error
10282: ( p_eam_wo_rec => l_eam_wo_rec
10283: , p_eam_op_tbl => l_eam_op_tbl
10284: , p_eam_op_network_tbl => l_eam_op_network_tbl
10285: , p_eam_res_tbl => l_eam_res_tbl
10289: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
10290: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10291: , p_mesg_token_tbl => l_mesg_token_tbl
10292: , p_error_status => FND_API.G_RET_STS_ERROR
10293: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10294: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10295: , p_other_message => l_other_message
10296: , p_other_token_tbl => l_other_token_tbl
10297: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10290: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10291: , p_mesg_token_tbl => l_mesg_token_tbl
10292: , p_error_status => FND_API.G_RET_STS_ERROR
10293: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10294: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10295: , p_other_message => l_other_message
10296: , p_other_token_tbl => l_other_token_tbl
10297: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10298: , x_eam_wo_rec => l_out_eam_wo_rec
10293: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10294: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10295: , p_other_message => l_other_message
10296: , p_other_token_tbl => l_other_token_tbl
10297: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10298: , x_eam_wo_rec => l_out_eam_wo_rec
10299: , x_eam_op_tbl => l_out_eam_op_tbl
10300: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
10301: , x_eam_res_tbl => l_out_eam_res_tbl
10315: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
10316: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
10317:
10318:
10319: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
10320:
10321: x_msg_count := l_msg_count;
10322: x_return_status := l_return_status;
10323: x_eam_wo_rec := l_eam_wo_rec;
10334: l_token_tbl(1).token_name := 'Wip Entity Id';
10335: l_token_tbl(1).token_value := l_eam_wo_rec.wip_entity_id;
10336:
10337: l_out_mesg_token_tbl := l_mesg_token_tbl;
10338: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10339: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
10340: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10341: , p_message_name => 'EAM_WO_CHK_NEGATIVE_DATES_ERR'
10342: , p_token_tbl => l_token_tbl
10353: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
10354: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
10355: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
10356: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
10357: EAM_ERROR_MESSAGE_PVT.Log_Error
10358: ( p_eam_wo_rec => l_eam_wo_rec
10359: , p_eam_op_tbl => l_eam_op_tbl
10360: , p_eam_op_network_tbl => l_eam_op_network_tbl
10361: , p_eam_res_tbl => l_eam_res_tbl
10365: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
10366: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10367: , p_mesg_token_tbl => l_mesg_token_tbl
10368: , p_error_status => FND_API.G_RET_STS_ERROR
10369: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10370: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10371: , p_other_message => l_other_message
10372: , p_other_token_tbl => l_other_token_tbl
10373: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10366: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10367: , p_mesg_token_tbl => l_mesg_token_tbl
10368: , p_error_status => FND_API.G_RET_STS_ERROR
10369: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10370: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10371: , p_other_message => l_other_message
10372: , p_other_token_tbl => l_other_token_tbl
10373: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10374: , x_eam_wo_rec => l_out_eam_wo_rec
10369: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10370: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10371: , p_other_message => l_other_message
10372: , p_other_token_tbl => l_other_token_tbl
10373: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10374: , x_eam_wo_rec => l_out_eam_wo_rec
10375: , x_eam_op_tbl => l_out_eam_op_tbl
10376: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
10377: , x_eam_res_tbl => l_out_eam_res_tbl
10391: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
10392: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
10393:
10394:
10395: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
10396:
10397: x_msg_count := l_msg_count;
10398: x_return_status := l_return_status;
10399: x_eam_wo_rec := l_eam_wo_rec;
10407: x_eam_direct_items_tbl := l_eam_direct_items_tbl;
10408: WHEN VALIDATE_NETWORK_ERR THEN
10409:
10410: l_out_mesg_token_tbl := l_mesg_token_tbl;
10411: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10412: ( x_Mesg_token_tbl => l_out_Mesg_Token_Tbl
10413: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10414: , p_message_name => 'EAM_WN_MAIN_VALIDATE_STRUCT'
10415: , p_token_tbl => l_token_tbl
10426: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
10427: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
10428: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
10429: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
10430: EAM_ERROR_MESSAGE_PVT.Log_Error
10431: ( p_eam_wo_rec => l_eam_wo_rec
10432: , p_eam_op_tbl => l_eam_op_tbl
10433: , p_eam_op_network_tbl => l_eam_op_network_tbl
10434: , p_eam_res_tbl => l_eam_res_tbl
10438: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
10439: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10440: , p_mesg_token_tbl => l_mesg_token_tbl
10441: , p_error_status => FND_API.G_RET_STS_ERROR
10442: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10443: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10444: , p_other_message => l_other_message
10445: , p_other_token_tbl => l_other_token_tbl
10446: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10439: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10440: , p_mesg_token_tbl => l_mesg_token_tbl
10441: , p_error_status => FND_API.G_RET_STS_ERROR
10442: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10443: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10444: , p_other_message => l_other_message
10445: , p_other_token_tbl => l_other_token_tbl
10446: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10447: , x_eam_wo_rec => l_out_eam_wo_rec
10442: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10443: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10444: , p_other_message => l_other_message
10445: , p_other_token_tbl => l_other_token_tbl
10446: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10447: , x_eam_wo_rec => l_out_eam_wo_rec
10448: , x_eam_op_tbl => l_out_eam_op_tbl
10449: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
10450: , x_eam_res_tbl => l_out_eam_res_tbl
10464: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
10465: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
10466:
10467:
10468: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
10469:
10470: x_msg_count := l_msg_count;
10471: x_return_status := l_return_status;
10472: x_eam_wo_rec := l_eam_wo_rec;
10481:
10482:
10483: WHEN G_EXC_QUIT_IMPORT THEN
10484:
10485: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
10486:
10487: x_msg_count := l_msg_count;
10488: x_return_status := l_return_status;
10489: x_eam_wo_rec := l_eam_wo_rec;
10502: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10503: THEN
10504: l_err_text := G_PKG_NAME || ' : Process WO ' || substrb(SQLERRM,1,200);
10505: l_out_mesg_token_tbl := l_mesg_token_tbl;
10506: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10507: ( p_Message_Text => l_err_text
10508: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10509: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10510: );
10520: l_out_eam_sub_res_tbl := l_eam_sub_res_tbl;
10521: l_out_eam_mat_req_tbl := l_eam_mat_req_tbl;
10522: l_out_eam_direct_items_tbl := l_eam_direct_items_tbl;
10523: l_out_eam_res_usage_tbl := l_eam_res_usage_tbl;
10524: EAM_ERROR_MESSAGE_PVT.Log_Error
10525: ( p_eam_wo_rec => l_eam_wo_rec
10526: , p_eam_op_tbl => l_eam_op_tbl
10527: , p_eam_op_network_tbl => l_eam_op_network_tbl
10528: , p_eam_res_tbl => l_eam_res_tbl
10532: , p_eam_mat_req_tbl => l_eam_mat_req_tbl
10533: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10534: , p_mesg_token_tbl => l_mesg_token_tbl
10535: , p_error_status => FND_API.G_RET_STS_ERROR
10536: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10537: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10538: , p_other_message => l_other_message
10539: , p_other_token_tbl => l_other_token_tbl
10540: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10533: , p_eam_direct_items_tbl => l_eam_direct_items_tbl
10534: , p_mesg_token_tbl => l_mesg_token_tbl
10535: , p_error_status => FND_API.G_RET_STS_ERROR
10536: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10537: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10538: , p_other_message => l_other_message
10539: , p_other_token_tbl => l_other_token_tbl
10540: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10541: , x_eam_wo_rec => l_out_eam_wo_rec
10536: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_SCOPE_RECORD
10537: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
10538: , p_other_message => l_other_message
10539: , p_other_token_tbl => l_other_token_tbl
10540: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
10541: , x_eam_wo_rec => l_out_eam_wo_rec
10542: , x_eam_op_tbl => l_out_eam_op_tbl
10543: , x_eam_op_network_tbl => l_out_eam_op_network_tbl
10544: , x_eam_res_tbl => l_out_eam_res_tbl
10557: l_eam_mat_req_tbl := l_out_eam_mat_req_tbl;
10558: l_eam_direct_items_tbl := l_out_eam_direct_items_tbl;
10559: l_eam_res_usage_tbl := l_out_eam_res_usage_tbl;
10560:
10561: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
10562:
10563: x_msg_count := l_msg_count;
10564: x_return_status := l_return_status;
10565: x_eam_wo_rec := l_eam_wo_rec;
10590: ( p_transaction_type IN NUMBER
10591: , p_entity_name IN VARCHAR2
10592: , p_entity_id IN VARCHAR2
10593: , x_valid_transaction OUT NOCOPY BOOLEAN
10594: , x_Mesg_Token_Tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
10595: )
10596: IS
10597: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
10598: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
10593: , x_valid_transaction OUT NOCOPY BOOLEAN
10594: , x_Mesg_Token_Tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
10595: )
10596: IS
10597: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
10598: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
10599: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
10600:
10601: BEGIN
10594: , x_Mesg_Token_Tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
10595: )
10596: IS
10597: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
10598: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
10599: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
10600:
10601: BEGIN
10602: l_token_tbl(1).token_name := 'WIP_ENTITY_ID';
10595: )
10596: IS
10597: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
10598: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
10599: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
10600:
10601: BEGIN
10602: l_token_tbl(1).token_name := 'WIP_ENTITY_ID';
10603: l_token_tbl(1).token_value := p_entity_id;
10639: THEN
10640: IF p_entity_name = 'WORK_ORDER'
10641: THEN
10642: l_out_mesg_token_tbl := l_mesg_token_tbl;
10643: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10644: ( p_Message_Name => 'EAM_WO_TXN_TYPE_INVALID'
10645: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10646: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10647: );
10648: l_mesg_token_tbl := l_out_mesg_token_tbl;
10649: ELSIF p_entity_name = 'OPERATION'
10650: THEN
10651: l_out_mesg_token_tbl := l_mesg_token_tbl;
10652: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10653: ( p_Message_Name => 'EAM_OP_TXN_TYPE_INVALID'
10654: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10655: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10656: );
10657: l_mesg_token_tbl := l_out_mesg_token_tbl;
10658: ELSIF p_entity_name = 'OPERATION_NETWORK'
10659: THEN
10660: l_out_mesg_token_tbl := l_mesg_token_tbl;
10661: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10662: ( p_Message_Name => 'EAM_OPN_TXN_TYPE_INVALID'
10663: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10664: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10665: );
10666: l_mesg_token_tbl := l_out_mesg_token_tbl;
10667: ELSIF p_entity_name = 'OPERATION_RESOURCE'
10668: THEN
10669: l_out_mesg_token_tbl := l_mesg_token_tbl;
10670: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10671: ( p_Message_Name => 'EAM_RES_TXN_TYPE_INVALID'
10672: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10673: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10674: );
10675: l_mesg_token_tbl := l_out_mesg_token_tbl;
10676: ELSIF p_entity_name = 'SUB_RESOURCE'
10677: THEN
10678: l_out_mesg_token_tbl := l_mesg_token_tbl;
10679: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10680: ( p_Message_Name => 'EAM_SR_TXN_TYPE_INVALID'
10681: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10682: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10683: );
10684: l_mesg_token_tbl := l_out_mesg_token_tbl;
10685: ELSIF p_entity_name = 'RESOURCE_INSTANCE'
10686: THEN
10687: l_out_mesg_token_tbl := l_mesg_token_tbl;
10688: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10689: ( p_Message_Name => 'EAM_RI_TXN_TYPE_INVALID'
10690: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10691: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10692: );
10693: l_mesg_token_tbl := l_out_mesg_token_tbl;
10694: ELSIF p_entity_name = 'RESOURCE_USAGE'
10695: THEN
10696: l_out_mesg_token_tbl := l_mesg_token_tbl;
10697: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10698: ( p_Message_Name => 'EAM_RU_TXN_TYPE_INVALID'
10699: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10700: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10701: );
10702: l_mesg_token_tbl := l_out_mesg_token_tbl;
10703: ELSIF p_entity_name = 'MATERIAL_REQUIREMENTS'
10704: THEN
10705: l_out_mesg_token_tbl := l_mesg_token_tbl;
10706: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10707: ( p_Message_Name => 'EAM_MR_TXN_TYPE_INVALID'
10708: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10709: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10710: );
10711: l_mesg_token_tbl := l_out_mesg_token_tbl;
10712: ELSIF p_entity_name = 'DIRECT_ITEMS'
10713: THEN
10714: l_out_mesg_token_tbl := l_mesg_token_tbl;
10715: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10716: ( p_Message_Name => 'EAM_DI_TXN_TYPE_INVALID'
10717: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10718: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10719: );
10720: l_mesg_token_tbl := l_out_mesg_token_tbl;
10721: ELSIF p_entity_name = 'WORK_ORDER_COMPLETEION'
10722: THEN
10723: l_out_mesg_token_tbl := l_mesg_token_tbl;
10724: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10725: ( p_Message_Name => 'EAM_WOCOMPL_TXN_TYPE_INVALID'
10726: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10727: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10728: );
10729: l_mesg_token_tbl := l_out_mesg_token_tbl;
10730: ELSIF p_entity_name = 'OPERATION_COMPLETEION'
10731: THEN
10732: l_out_mesg_token_tbl := l_mesg_token_tbl;
10733: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10734: ( p_Message_Name => 'EAM_OPCOMPL_TXN_TYPE_INVALID'
10735: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10736: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10737: );
10738: l_mesg_token_tbl := l_out_mesg_token_tbl;
10739: ELSIF p_entity_name = 'QUALITY_ENTRY'
10740: THEN
10741: l_out_mesg_token_tbl := l_mesg_token_tbl;
10742: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10743: ( p_Message_Name => 'EAM_QA_TXN_TYPE_INVALID'
10744: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10745: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10746: );
10747: l_mesg_token_tbl := l_out_mesg_token_tbl;
10748: ELSIF p_entity_name = 'METER_READING'
10749: THEN
10750: l_out_mesg_token_tbl := l_mesg_token_tbl;
10751: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10752: ( p_Message_Name => 'EAM_MR_TXN_TYPE_INVALID'
10753: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10754: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10755: );
10756: l_mesg_token_tbl := l_out_mesg_token_tbl;
10757: ELSIF p_entity_name = 'WORK_ORDER_COMPL_REBUILD'
10758: THEN
10759: l_out_mesg_token_tbl := l_mesg_token_tbl;
10760: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10761: ( p_Message_Name => 'EAM_WOCOMRB_TXN_TYPE_INVALID'
10762: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10763: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10764: );
10765: l_mesg_token_tbl := l_out_mesg_token_tbl;
10766: ELSIF p_entity_name = 'W_ORDER_COMPL_METER_READING'
10767: THEN
10768: l_out_mesg_token_tbl := l_mesg_token_tbl;
10769: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10770: ( p_Message_Name => 'EAM_WOCOMMR_TXN_TYPE_INVALID'
10771: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10772: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10773: );
10774: l_mesg_token_tbl := l_out_mesg_token_tbl;
10775: ELSIF p_entity_name = 'WORK_SERVICE_REQUEST'
10776: THEN
10777: l_out_mesg_token_tbl := l_mesg_token_tbl;
10778: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
10779: ( p_Message_Name => 'EAM_WORSER_TXN_TYPE_INVALID'
10780: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10781: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
10782: );
10881: OPEN operations(x_eam_wo_rec.wip_entity_id,x_eam_wo_rec.organization_id
10882: ,x_eam_op_tbl(i).operation_seq_num);
10883:
10884: FETCH operations INTO l_operations;
10885: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('op'||to_char(l_operations.last_unit_completion_date,'DD HH24:MI:SS')); END IF;
10886: IF(operations%FOUND) THEN
10887: x_eam_op_tbl(i).start_date := l_operations.first_unit_start_date;
10888: x_eam_op_tbl(i).completion_date := l_operations.last_unit_completion_date;
10889: END IF;
10896: END LOOP;
10897: END IF;
10898: --end of populating operation dates
10899:
10900: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug(x_eam_res_tbl.COUNT); END IF;
10901: --start of populating resource dates
10902: IF(x_eam_res_tbl.COUNT > 0) THEN
10903: i:=x_eam_res_tbl.FIRST;
10904: LOOP
10906: OPEN resources(x_eam_wo_rec.wip_entity_id,x_eam_wo_rec.organization_id
10907: ,x_eam_res_tbl(i).operation_seq_num,x_eam_res_tbl(i).resource_seq_num);
10908:
10909: FETCH resources INTO l_resources;
10910: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('resources dates passed'||to_char(l_resources.completion_date,'DD HH24:MI:SS')); END IF;
10911: IF(resources%FOUND) THEN
10912: x_eam_res_tbl(i).start_date := l_resources.start_date;
10913: x_eam_res_tbl(i).completion_date := l_resources.completion_date;
10914: END IF;
10931: ,x_eam_res_inst_tbl(i).operation_seq_num,x_eam_res_inst_tbl(i).resource_seq_num
10932: ,x_eam_res_inst_tbl(i).instance_id,x_eam_res_inst_tbl(i).serial_number);
10933:
10934: FETCH resource_instances INTO l_resource_instances;
10935: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('resource instances dates passed'||to_char(l_resource_instances.completion_date,'DD HH24:MI:SS')); END IF;
10936: IF(resource_instances%FOUND) THEN
10937: x_eam_res_inst_tbl(i).start_date := l_resource_instances.start_date;
10938: x_eam_res_inst_tbl(i).completion_date := l_resource_instances.completion_date;
10939: END IF;
10948: --end of populating resource instance dates
10949:
10950: EXCEPTION
10951: WHEN OTHERS THEN
10952: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Dates could not be populated back to the records') ; END IF ;
10953: END UPDATE_DATES;
10954:
10955:
10956:
10979: l_valid_transaction BOOLEAN := TRUE ;
10980: l_eam_wo_comp_rec EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
10981: l_eam_out_wo_comp_rec EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
10982:
10983: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
10984: l_return_status VARCHAR2(1) ;
10985: l_other_message VARCHAR2(2000);
10986: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
10987: msg_index NUMBER;
10982:
10983: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
10984: l_return_status VARCHAR2(1) ;
10985: l_other_message VARCHAR2(2000);
10986: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
10987: msg_index NUMBER;
10988: temp_err_mesg VARCHAR2(4000);
10989: l_msg_count NUMBER;
10990:
11018: l_wip_entity_name VARCHAR2(240);
11019: mandatory_qua_plan VARCHAR2(1);
11020: contextStr VARCHAR2(2000);
11021: l_wip_entity_id NUMBER;
11022: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
11023: l_msg_data VARCHAR2(2000);
11024: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
11025: l_man_reading_enter BOOLEAN;
11026: l_maint_object_type NUMBER;
11020: contextStr VARCHAR2(2000);
11021: l_wip_entity_id NUMBER;
11022: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
11023: l_msg_data VARCHAR2(2000);
11024: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
11025: l_man_reading_enter BOOLEAN;
11026: l_maint_object_type NUMBER;
11027: l_maint_object_id NUMBER;
11028: l_error_message VARCHAR2(2000);
11106:
11107: BEGIN
11108: SAVEPOINT sv_wo_compl ;
11109:
11110: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Inside COMP_UNCOMP_WORKORDER procedure . . . '); END IF;
11111:
11112: l_eam_failure_entry_record := p_eam_wo_comp_rec.eam_failure_entry_record;
11113: l_eam_failure_codes_tbl := p_eam_wo_comp_rec.eam_failure_codes_tbl;
11114:
11170: l_new_system_status := 3;
11171: l_new_eam_status := 3;
11172: END IF;
11173:
11174: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Order Completeion: Transaction Type Validity . . . '); END IF;
11175:
11176: VALIDATE_TRANSACTION_TYPE
11177: ( p_transaction_type => l_eam_wo_comp_rec.transaction_type
11178: , p_entity_name => 'WORK_ORDER_COMPLETEION'
11182: );
11183:
11184: IF NOT l_valid_transaction
11185: THEN
11186: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
11187: l_other_message := 'EAM_WOCMPL_INV_TXN_TYPE';
11188: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
11189: l_other_token_tbl(1).token_value := l_wip_entity_name;
11190:
11190:
11191: RAISE EXC_SEV_QUIT_RECORD;
11192: END IF;
11193:
11194: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('EAM WO Completeion: Populate Null Columns . . .'); END IF;
11195:
11196: EAM_WO_COMP_DEFAULT_PVT.Populate_NULL_Columns
11197: ( p_eam_wo_comp_rec => p_eam_wo_comp_rec
11198: , x_eam_wo_comp_rec => l_eam_wo_comp_rec
11198: , x_eam_wo_comp_rec => l_eam_wo_comp_rec
11199: , x_return_status => l_return_status
11200: );
11201:
11202: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
11203: THEN
11204: l_other_message := 'EAM_WOCMPL_POPULATE_NULL';
11205: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
11206: l_other_token_tbl(1).token_value := l_wip_entity_name;
11208:
11209: END IF;
11210:
11211:
11212: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('WO Completeion : Check Attributes b4 Defaulting . . .'); END IF;
11213: EAM_WO_COMP_VALIDATE_PVT.Check_Attributes_b4_Defaulting
11214: ( p_eam_wo_comp_rec => l_eam_wo_comp_rec
11215: , x_mesg_token_tbl => l_mesg_token_tbl
11216: , x_return_status => l_return_status
11216: , x_return_status => l_return_status
11217: ) ;
11218:
11219:
11220: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
11221: THEN
11222: l_other_message := 'EAM_WOCMPL_CHK_ATTR_DEF';
11223: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
11224: l_other_token_tbl(1).token_value := l_wip_entity_name;
11224: l_other_token_tbl(1).token_value := l_wip_entity_name;
11225: RAISE EXC_SEV_QUIT_RECORD;
11226: END IF;
11227:
11228: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('WO Completeion : Check Required . . .'); END IF;
11229: EAM_WO_COMP_VALIDATE_PVT.Check_Required
11230: ( p_eam_wo_comp_rec => l_eam_wo_comp_rec
11231: , x_return_status => l_return_status
11232: , x_mesg_token_tbl => l_mesg_token_tbl
11230: ( p_eam_wo_comp_rec => l_eam_wo_comp_rec
11231: , x_return_status => l_return_status
11232: , x_mesg_token_tbl => l_mesg_token_tbl
11233: ) ;
11234: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
11235: THEN
11236: l_other_message := 'EAM_WOCMPL_CHK_REQUIRED';
11237: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
11238: l_other_token_tbl(1).token_value := l_wip_entity_name;
11238: l_other_token_tbl(1).token_value := l_wip_entity_name;
11239: RAISE EXC_SEV_QUIT_RECORD;
11240: END IF;
11241:
11242: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('WO Completeion Header: Check Attributes . . .'); END IF;
11243:
11244: EAM_WO_COMP_VALIDATE_PVT.Check_Attributes
11245: (
11246: p_eam_wo_comp_rec => l_eam_wo_comp_rec
11251:
11252: l_eam_wo_comp_rec := l_eam_out_wo_comp_rec;
11253: x_return_status := l_return_status;
11254:
11255: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
11256: THEN
11257: l_other_message := 'EAM_WOCMPL_CHK_ATTR';
11258: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
11259: l_other_token_tbl(1).token_value := l_wip_entity_name;
11262:
11263:
11264: IF(l_workflow_enabled='Y' AND l_eam_wo_comp_rec.transaction_type=EAM_PROCESS_WO_PVT.G_OPR_UNCOMPLETE
11265: AND (WF_EVENT.TEST(l_status_pending_event) <> 'NONE') )THEN
11266: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Checking WF Approval mandatory . . . '); END IF;
11267: EAM_WORKFLOW_DETAILS_PUB.Eam_Wf_Is_Approval_Required(p_old_wo_rec => NULL,
11268: p_new_wo_rec => NULL,
11269: p_wip_entity_id => l_eam_wo_comp_rec.wip_entity_id,
11270: p_new_system_status => l_new_system_status,
11308:
11309: l_event_key := TO_CHAR(l_wf_event_seq);
11310:
11311:
11312: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Inserting into EAM_WO_WORKFLOWS ...'); END IF;
11313: INSERT INTO EAM_WO_WORKFLOWS
11314: (WIP_ENTITY_ID,WF_ITEM_TYPE,WF_ITEM_KEY,LAST_UPDATE_DATE,LAST_UPDATED_BY,
11315: CREATION_DATE,CREATED_BY,LAST_UPDATE_LOGIN)
11316: VALUES
11366: WF_CORE.CONTEXT('Enterprise Asset Management...','Work Order Released Event','After raising event');
11367:
11368:
11369: IF(l_maint_obj_source =1 ) THEN --modify intermedia index only for EAM workorders
11370: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling intermedia procedure from WO API ...'); END IF;
11371: EAM_TEXT_UTIL.PROCESS_WO_EVENT
11372: (
11373: p_event => 'UPDATE',
11374: p_wip_entity_id =>l_eam_wo_comp_rec.wip_entity_id,
11392: eam_pm_utils.update_pm_when_uncomplete(l_eam_wo_comp_rec.organization_id, l_eam_wo_comp_rec.wip_entity_id);
11393: end if; -- end of source entity check
11394: END IF;
11395:
11396: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Writing WO Completion record to database ...'); END IF;
11397: EAM_WO_COMP_UTILITY_PVT.PERFORM_WRITES
11398: ( p_eam_wo_comp_rec => l_eam_wo_comp_rec
11399: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
11400: , x_return_status => l_return_status
11399: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
11400: , x_return_status => l_return_status
11401: );
11402:
11403: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
11404: THEN
11405: l_other_message := 'EAM_WOCMPL_WRITES_UNEXP_SKIP';
11406: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
11407: l_other_token_tbl(1).token_value := l_wip_entity_name;
11407: l_other_token_tbl(1).token_value := l_wip_entity_name;
11408: RAISE EXC_SEV_QUIT_RECORD;
11409: END IF;
11410:
11411: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling WO Completion update_row ...'); END IF;
11412:
11413: EAM_WO_COMP_UTILITY_PVT.update_row
11414: ( p_eam_wo_comp_rec => l_eam_wo_comp_rec
11415: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
11415: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
11416: , x_return_status => l_return_status
11417: );
11418:
11419: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_UNEXPECTED
11420: THEN
11421: l_other_message := 'EAM_WOCMPL_WRITES_UNEXP_SKIP';
11422: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
11423: l_other_token_tbl(1).token_value := l_wip_entity_name;
11425: END IF;
11426:
11427: IF p_eam_wo_quality_tbl.COUNT > 0 AND l_eam_wo_comp_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_COMPLETE THEN
11428:
11429: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing quality records...') ; END IF ;
11430:
11431: FOR I IN l_eam_wo_quality_tbl.FIRST..l_eam_wo_quality_tbl.LAST LOOP
11432: BEGIN
11433:
11430:
11431: FOR I IN l_eam_wo_quality_tbl.FIRST..l_eam_wo_quality_tbl.LAST LOOP
11432: BEGIN
11433:
11434: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing '|| I || ' record') ; END IF ;
11435:
11436: l_eam_wo_quality_rec := l_eam_wo_quality_tbl(I);
11437: colllection_id_temp := l_eam_wo_quality_rec.collection_id;
11438:
11449: l_other_message := 'EAM_WOCMP_QA_INV_TXN';
11450: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
11451: l_other_token_tbl(1).token_value := l_wip_entity_name;
11452:
11453: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
11454: RAISE EXC_SEV_QUIT_RECORD;
11455: END IF ;
11456:
11457: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Quality : Check_Required...') ; END IF ;
11453: l_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
11454: RAISE EXC_SEV_QUIT_RECORD;
11455: END IF ;
11456:
11457: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Quality : Check_Required...') ; END IF ;
11458:
11459: EAM_WO_QUA_VALIDATE_PVT.Check_Required
11460: (
11461: p_eam_wo_quality_rec => l_eam_wo_quality_rec
11462: , x_return_status => l_return_status
11463: , x_mesg_token_tbl => l_mesg_token_tbl
11464: );
11465:
11466: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR THEN
11467: l_other_message := 'EAM_WOCMP_QA_CHK_REQ';
11468: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
11469: l_other_token_tbl(1).token_value := l_wip_entity_name;
11470: RAISE EXC_SEV_QUIT_RECORD;
11474:
11475: WHEN EXC_SEV_SKIP_BRANCH THEN
11476:
11477: l_out_eam_wo_quality_tbl := l_eam_wo_quality_tbl;
11478: EAM_ERROR_MESSAGE_PVT.Log_Error
11479: (
11480: p_eam_wo_quality_tbl => l_eam_wo_quality_tbl
11481:
11482: , x_eam_wo_comp_rec => l_out_eam_wo_comp_rec
11489: , x_eam_request_tbl => l_out_eam_request_tbl
11490:
11491: , p_mesg_token_tbl => l_mesg_token_tbl
11492: , p_error_status => FND_API.G_RET_STS_ERROR
11493: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
11494: , p_other_message => l_other_message
11495: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
11496: , p_other_token_tbl => l_other_token_tbl
11497:
11491: , p_mesg_token_tbl => l_mesg_token_tbl
11492: , p_error_status => FND_API.G_RET_STS_ERROR
11493: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
11494: , p_other_message => l_other_message
11495: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
11496: , p_other_token_tbl => l_other_token_tbl
11497:
11498: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
11499: );
11494: , p_other_message => l_other_message
11495: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
11496: , p_other_token_tbl => l_other_token_tbl
11497:
11498: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
11499: );
11500:
11501: l_eam_wo_quality_tbl := l_out_eam_wo_quality_tbl;
11502:
11499: );
11500:
11501: l_eam_wo_quality_tbl := l_out_eam_wo_quality_tbl;
11502:
11503: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
11504:
11505: x_eam_wo_quality_tbl := l_eam_wo_quality_tbl;
11506: x_return_status := l_return_status;
11507: x_msg_count := l_msg_count;
11518:
11519:
11520: BEGIN
11521:
11522: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Quality : Insert_Row...') ; END IF ;
11523:
11524: EAM_WO_QUA_UTILITY_PVT.insert_row
11525: (
11526: p_collection_id => colllection_id_temp
11538: EXCEPTION
11539: WHEN EXC_SEV_QUIT_RECORD THEN
11540: l_out_eam_wo_quality_tbl := l_eam_wo_quality_tbl;
11541:
11542: EAM_ERROR_MESSAGE_PVT.Log_Error
11543: (
11544: p_eam_wo_quality_tbl => l_eam_wo_quality_tbl
11545:
11546: , x_eam_wo_comp_rec => l_out_eam_wo_comp_rec
11553: , x_eam_request_tbl => l_out_eam_request_tbl
11554:
11555: , p_mesg_token_tbl => l_mesg_token_tbl
11556: , p_error_status => FND_API.G_RET_STS_ERROR
11557: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
11558: , p_other_message => l_other_message
11559: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
11560: , p_other_token_tbl => l_other_token_tbl
11561:
11555: , p_mesg_token_tbl => l_mesg_token_tbl
11556: , p_error_status => FND_API.G_RET_STS_ERROR
11557: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
11558: , p_other_message => l_other_message
11559: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
11560: , p_other_token_tbl => l_other_token_tbl
11561:
11562: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
11563: );
11558: , p_other_message => l_other_message
11559: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
11560: , p_other_token_tbl => l_other_token_tbl
11561:
11562: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
11563: );
11564:
11565: l_eam_wo_quality_tbl := l_out_eam_wo_quality_tbl;
11566:
11563: );
11564:
11565: l_eam_wo_quality_tbl := l_out_eam_wo_quality_tbl;
11566:
11567: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
11568:
11569: x_eam_wo_quality_tbl := l_eam_wo_quality_tbl;
11570: x_return_status := l_return_status;
11571: x_msg_count := l_msg_count;
11588: AND cii.serial_number = l_asset_number;
11589: END IF;
11590:
11591: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN
11592: EAM_ERROR_MESSAGE_PVT.Write_Debug('Quality : Checking whether mandatory quality plans remain...') ; END IF ;
11593: mandatory_qua_plan :=qa_web_txn_api.quality_mandatory_plans_remain(
11594: p_txn_number => 31 ,
11595: p_organization_id => l_org_id ,
11596: pk1 => l_asset_group_name , -- Asset Grp
11617: l_token_tbl(1).token_value := l_wip_entity_name;
11618:
11619: l_out_mesg_token_tbl := l_mesg_token_tbl;
11620:
11621: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
11622: ( p_message_name => 'EAM_WOCMPL_MAND_PLAN'
11623: , p_token_tbl => l_Token_tbl
11624: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
11625: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
11644:
11645: FOR i in 1..l_eam_failure_codes_tbl.count
11646: LOOP
11647:
11648: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing failure entry records...') ; END IF ;
11649:
11650: IF l_eam_failure_codes_tbl(i).comments IS NOT NULL THEN
11651: l_comments_exists := 'Y';
11652: END IF;
11727: OR l_comments_exists = 'Y'
11728: OR l_eam_failure_entry_record.failure_id IS NOT NULL
11729: )
11730: THEN
11731: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling process_failure_entry procedure...') ; END IF ;
11732: Eam_Process_Failure_Entry_PUB.process_failure_entry
11733: (
11734: p_eam_failure_entry_record => l_eam_failure_entry_record
11735: , p_eam_failure_codes_tbl => l_eam_failure_codes_tbl
11763: contextStr := '162='||l_asset_group_id||'@163='
11764: ||l_asset_number||'@2147483550='||l_asset_instance_id||'@165='||l_wip_entity_id
11765: ||'@164='||l_asset_activity_id;
11766:
11767: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling post_background_results procedure...') ; END IF ;
11768: qa_web_txn_api.post_background_results(
11769: p_txn_number => 31 ,
11770: p_org_id => l_org_id ,
11771: p_context_values => contextStr ,
11776: l_token_tbl(1).token_value := l_wip_entity_name;
11777:
11778: l_out_mesg_token_tbl := l_mesg_token_tbl;
11779:
11780: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
11781: ( p_message_name => 'EAM_WO_CMPL_BACK_ERR'
11782: , p_token_tbl => l_Token_tbl
11783: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
11784: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
11788:
11789: RAISE EXC_SEV_QUIT_RECORD;
11790: END ;
11791:
11792: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling enable_and_fire_action procedure...') ; END IF ;
11793:
11794: qa_result_grp.enable_and_fire_action(
11795: p_api_version => 1.0 ,
11796: p_collection_id => l_eam_wo_comp_rec.qa_collection_id ,
11804: l_token_tbl(1).token_value := l_wip_entity_name;
11805:
11806: l_out_mesg_token_tbl := l_mesg_token_tbl;
11807:
11808: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
11809: ( p_message_name => 'EAM_WOCMPL_QUALITY_COMMMIT'
11810: , p_token_tbl => l_Token_tbl
11811: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
11812: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
11819:
11820: END IF; -- end if for p_eam_wo_quality_tbl.COUNT > 0
11821:
11822: IF l_eam_wo_comp_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_COMPLETE and l_maint_object_type =3 THEN
11823: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling EAM_METERREADING_VALIDATE_PVT.MANDATORY_ENTERED procedure...') ; END IF ;
11824: EAM_METERREADING_VALIDATE_PVT.MANDATORY_ENTERED
11825: (
11826: p_wip_entity_id => l_eam_wo_comp_rec.wip_entity_id
11827: , p_instance_id => l_maint_object_id
11839: END IF;
11840: END IF;
11841:
11842: IF l_eam_wo_comp_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_COMPLETE and p_eam_meter_reading_tbl.COUNT > 0 THEN
11843: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling EAM_METERREADING_VALIDATE_PVT.insert_row procedure...') ; END IF ;
11844: EAM_METERREADING_UTILITY_PVT.INSERT_ROW
11845: (
11846: p_eam_meter_reading_tbl => p_eam_meter_reading_tbl
11847: , p_eam_counter_prop_tbl => p_eam_counter_prop_tbl
11861: END IF;
11862:
11863: /* Bug # 5255459 : call DISABLE_COUNTER_HIERARCHY every time */
11864:
11865: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling EAM_METERREADING_UTILITY_PVT.DISABLE_COUNTER_HIERARCHY procedure...') ; END IF ;
11866: EAM_METERREADING_UTILITY_PVT.DISABLE_COUNTER_HIERARCHY
11867: (
11868: p_eam_wo_comp_rebuild_tbl => p_eam_wo_comp_rebuild_tbl ,
11869: p_subinventory_id => l_eam_wo_comp_rec.completion_subinventory ,
11880: END IF;
11881:
11882: IF p_eam_wo_comp_rebuild_tbl.COUNT > 0 THEN
11883:
11884: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling AM_METERREADING_UTILITY_PVT.Update_Genealogy procedure...') ; END IF ;
11885: EAM_METERREADING_UTILITY_PVT.UPDATE_GENEALOGY
11886: (
11887: p_eam_wo_comp_rebuild_tbl => p_eam_wo_comp_rebuild_tbl ,
11888: x_eam_wo_comp_rebuild_tbl => x_eam_wo_comp_rebuild_tbl ,
11896: l_other_token_tbl(1).token_value := l_wip_entity_name;
11897: RAISE EXC_SEV_QUIT_RECORD;
11898: END IF;
11899:
11900: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling AM_METERREADING_UTILITY_PVT.UPDATE_REBUILD_WORK_ORDER procedure...') ; END IF ;
11901: EAM_METERREADING_UTILITY_PVT.UPDATE_REBUILD_WORK_ORDER
11902: (
11903: p_eam_wo_comp_rebuild_tbl => p_eam_wo_comp_rebuild_tbl ,
11904: x_eam_wo_comp_rebuild_tbl => x_eam_wo_comp_rebuild_tbl ,
11912: RAISE EXC_SEV_QUIT_RECORD;
11913: END IF;
11914:
11915:
11916: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling EAM_METERREADING_UTILITY_PVT.UPDATE_ACTIVITY procedure...') ; END IF ;
11917: EAM_METERREADING_UTILITY_PVT.UPDATE_ACTIVITY
11918: (
11919: p_eam_wo_comp_rebuild_tbl => p_eam_wo_comp_rebuild_tbl ,
11920: x_eam_wo_comp_rebuild_tbl => x_eam_wo_comp_rebuild_tbl ,
11930:
11931: END IF;
11932:
11933: IF p_eam_wo_comp_mr_read_tbl.COUNT > 0 THEN
11934: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling EAM_METERREADING_UTILITY_PVT.ENABLE_SOURCE_METER procedure...') ; END IF ;
11935: EAM_METERREADING_UTILITY_PVT.ENABLE_SOURCE_METER
11936: (
11937: p_eam_wo_comp_mr_read_tbl => p_eam_wo_comp_mr_read_tbl ,
11938: x_eam_wo_comp_mr_read_tbl => x_eam_wo_comp_mr_read_tbl ,
11950: /* -- For work order completeion call Eam_Meters_util. Update_Last_Service_Reading_Dates
11951:
11952: IF l_eam_wo_comp_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_COMPLETE AND p_eam_meter_reading_tbl.COUNT > 0 THEN
11953:
11954: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling EAM_METERREADING_UTILITY_PVT.UPDATE_LAST_SERVICE_READING procedure...') ; END IF ;
11955: EAM_METERREADING_UTILITY_PVT.UPDATE_LAST_SERVICE_READING
11956: (
11957: p_eam_meter_reading_tbl => p_eam_meter_reading_tbl
11958: , x_eam_meter_reading_tbl => x_eam_meter_reading_tbl
11969:
11970: IF l_eam_wo_comp_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_COMPLETE AND
11971: l_eam_wo_comp_rec.completion_subinventory IS NULL THEN
11972:
11973: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling csi_eam_interface_grp.wip_completion procedure...') ; END IF ;
11974: csi_eam_interface_grp.wip_completion
11975: (
11976: p_wip_entity_id => l_eam_wo_comp_rec.wip_entity_id,
11977: p_organization_id => l_eam_wo_comp_rec.organization_id,
12005: and collection_id = l_eam_wo_comp_rec.qa_collection_id;
12006:
12007: IF l_plan_id_tbl.COUNT > 0 THEN
12008: FOR N IN l_plan_id_tbl.FIRST..l_plan_id_tbl.LAST LOOP
12009: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling EAM_ASSET_LOG_PVT.INSERT_ROW procedure...') ; END IF ;
12010: EAM_ASSET_LOG_PVT.INSERT_ROW
12011: (
12012: p_api_version => 1.0,
12013: p_event_date => sysdate,
12080: WF_CORE.CONTEXT('Enterprise Asset Management...','Work Order Status Changed Event','After raising event');
12081: END IF; --end of check for status change event
12082:
12083: IF(l_maint_obj_source =1 ) THEN --modify intermedia index only for EAM workorders
12084: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling EAM_TEXT_UTIL.PROCESS_WO_EVENT procedure...') ; END IF ;
12085: EAM_TEXT_UTIL.PROCESS_WO_EVENT
12086: (
12087: p_event => 'UPDATE',
12088: p_wip_entity_id =>l_eam_wo_comp_rec.wip_entity_id,
12094: END IF; --end of check for EAM workorders
12095:
12096:
12097: IF l_eam_wo_comp_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_COMPLETE THEN
12098: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling EAM_ASSET_LOG_PVT.INSERT_ROW procedure...') ; END IF ;
12099: EAM_ASSET_LOG_PVT.INSERT_ROW
12100: (
12101: p_api_version => 1.0,
12102: p_event_date => sysdate,
12113: x_msg_count => l_asset_ops_msg_count,
12114: x_msg_data => l_asset_ops_msg_data
12115: );
12116: ELSE
12117: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling EAM_ASSET_LOG_PVT.INSERT_ROW procedure...') ; END IF ;
12118: EAM_ASSET_LOG_PVT.INSERT_ROW
12119: (
12120: p_api_version => 1.0,
12121: p_event_date => sysdate,
12155: l_out_eam_wo_comp_mr_read_tbl := l_eam_wo_comp_mr_read_tbl;
12156: l_out_eam_op_comp_tbl := l_eam_op_comp_tbl;
12157: l_out_eam_request_tbl := l_eam_request_tbl;
12158:
12159: EAM_ERROR_MESSAGE_PVT.Log_Error
12160: (
12161: p_eam_wo_comp_rec => l_eam_wo_comp_rec
12162: , p_eam_wo_quality_tbl => l_eam_wo_quality_tbl
12163: , p_eam_meter_reading_tbl => l_eam_meter_reading_tbl
12177: , x_eam_request_tbl => l_out_eam_request_tbl
12178:
12179: , p_mesg_token_tbl => l_mesg_token_tbl
12180: , p_error_status => FND_API.G_RET_STS_ERROR
12181: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
12182: , p_other_message => l_other_message
12183: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12184: , p_other_token_tbl => l_other_token_tbl
12185:
12179: , p_mesg_token_tbl => l_mesg_token_tbl
12180: , p_error_status => FND_API.G_RET_STS_ERROR
12181: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
12182: , p_other_message => l_other_message
12183: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12184: , p_other_token_tbl => l_other_token_tbl
12185:
12186: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
12187: );
12182: , p_other_message => l_other_message
12183: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12184: , p_other_token_tbl => l_other_token_tbl
12185:
12186: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
12187: );
12188:
12189: l_eam_wo_comp_rec := l_out_eam_wo_comp_rec;
12190: l_eam_wo_quality_tbl := l_out_eam_wo_quality_tbl;
12192: l_eam_counter_prop_tbl := l_out_eam_counter_prop_tbl;
12193: l_eam_wo_comp_rebuild_tbl := l_out_eam_wo_comp_rebuild_tbl;
12194: l_eam_wo_comp_mr_read_tbl := l_out_eam_wo_comp_mr_read_tbl;
12195:
12196: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
12197:
12198: x_eam_wo_comp_rec := l_eam_wo_comp_rec;
12199: x_eam_wo_quality_tbl := l_eam_wo_quality_tbl;
12200: x_eam_meter_reading_tbl := l_eam_meter_reading_tbl;
12234:
12235: l_eam_op_comp_rec EAM_PROCESS_WO_PUB.eam_op_comp_rec_type;
12236: l_eam_out_op_comp_rec EAM_PROCESS_WO_PUB.eam_op_comp_rec_type;
12237: l_valid_transaction BOOLEAN := TRUE ;
12238: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
12239: l_return_status VARCHAR2(1);
12240:
12241: l_eam_wo_quality_tbl EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type ;
12242: l_eam_meter_reading_tbl EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type ;
12255: l_out_eam_op_comp_tbl EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
12256: l_out_eam_request_tbl EAM_PROCESS_WO_PUB.eam_request_tbl_type;
12257:
12258: l_other_message VARCHAR2(2000);
12259: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
12260: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
12261: l_msg_count NUMBER;
12262:
12263: l_eam_wo_quality_temp_tbl EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
12256: l_out_eam_request_tbl EAM_PROCESS_WO_PUB.eam_request_tbl_type;
12257:
12258: l_other_message VARCHAR2(2000);
12259: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
12260: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
12261: l_msg_count NUMBER;
12262:
12263: l_eam_wo_quality_temp_tbl EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
12264: l_eam_wo_quality_rec EAM_PROCESS_WO_PUB.eam_wo_quality_rec_type;
12272: l_asset_group_name VARCHAR2(240);
12273: l_wip_entity_name VARCHAR2(240);
12274: l_wip_entity_id NUMBER;
12275: l_asset_activity_id NUMBER;
12276: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
12277: l_msg_data VARCHAR2(2000);
12278: contextStr VARCHAR2(2000);
12279: l_maint_obj_source NUMBER;
12280: l_workflow_enabled VARCHAR2(1);
12288: l_asset_instance_number VARCHAR2(30);
12289:
12290: BEGIN
12291:
12292: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Completeion procedure begin '); END IF;
12293:
12294: x_return_status := FND_API.G_RET_STS_SUCCESS;
12295: l_return_status := FND_API.G_RET_STS_SUCCESS;
12296:
12341: BEGIN
12342: l_eam_op_comp_rec := p_eam_op_compl_tbl(i);
12343: l_org_id := l_eam_op_comp_rec.organization_id;
12344:
12345: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Order Completeion: Transaction Type Validity . . . '); END IF;
12346:
12347: VALIDATE_TRANSACTION_TYPE
12348: ( p_transaction_type => l_eam_op_comp_rec.transaction_type
12349: , p_entity_name => 'OPERATION_COMPLETEION'
12353: );
12354:
12355: IF NOT l_valid_transaction
12356: THEN
12357: x_eam_op_comp_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12358: l_other_message := 'EAM_OP_CMPL_INV_TXN';
12359: l_other_token_tbl(1).token_name := 'OP_SEQ';
12360: l_other_token_tbl(1).token_value := l_eam_op_comp_rec.operation_seq_num ;
12361: RAISE EXC_SEV_QUIT_RECORD;
12360: l_other_token_tbl(1).token_value := l_eam_op_comp_rec.operation_seq_num ;
12361: RAISE EXC_SEV_QUIT_RECORD;
12362: END IF;
12363:
12364: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Completeion : Check Required . . .'); END IF;
12365:
12366: EAM_OP_COMP_VALIDATE_PVT.Check_Required
12367: ( p_eam_op_comp_rec => l_eam_op_comp_rec
12368: , x_return_status => l_return_status
12367: ( p_eam_op_comp_rec => l_eam_op_comp_rec
12368: , x_return_status => l_return_status
12369: , x_mesg_token_tbl => l_mesg_token_tbl
12370: ) ;
12371: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Order Completeion Check required completed with return_status: ' || l_return_status) ; END IF ;
12372:
12373: IF l_return_status <> 'S'
12374: THEN
12375: x_eam_op_comp_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12371: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Order Completeion Check required completed with return_status: ' || l_return_status) ; END IF ;
12372:
12373: IF l_return_status <> 'S'
12374: THEN
12375: x_eam_op_comp_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12376: l_other_message := 'EAM_OP_CHKREQ_CSEV_SKIP';
12377: l_other_token_tbl(1).token_name := 'OP_SEQ';
12378: l_other_token_tbl(1).token_value := l_eam_op_comp_rec.operation_seq_num ;
12379: RAISE EXC_SEV_QUIT_RECORD ;
12378: l_other_token_tbl(1).token_value := l_eam_op_comp_rec.operation_seq_num ;
12379: RAISE EXC_SEV_QUIT_RECORD ;
12380: END IF;
12381:
12382: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('EAM Operation Completeion: Populate Null Columns . . .'); END IF;
12383: l_eam_out_op_comp_rec := l_eam_op_comp_rec;
12384: EAM_OP_COMP_DEFAULT_PVT.Populate_NULL_Columns
12385: ( p_eam_op_comp_rec => l_eam_op_comp_rec
12386: , x_eam_op_comp_rec => l_eam_out_op_comp_rec
12389: l_eam_op_comp_rec := l_eam_out_op_comp_rec;
12390:
12391: IF l_return_status <> 'S'
12392: THEN
12393: x_eam_op_comp_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12394: l_other_message := 'EAM_OP_CMPL_POPULATE_NULL';
12395: l_other_token_tbl(1).token_name := 'OP_SEQ';
12396: l_other_token_tbl(1).token_value := l_eam_op_comp_rec.operation_seq_num ;
12397: RAISE EXC_SEV_QUIT_RECORD;
12396: l_other_token_tbl(1).token_value := l_eam_op_comp_rec.operation_seq_num ;
12397: RAISE EXC_SEV_QUIT_RECORD;
12398: END IF;
12399:
12400: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Completeion : Check Attributes . . .'); END IF;
12401: EAM_OP_COMP_VALIDATE_PVT.Check_Attributes
12402: (
12403: p_eam_op_comp_rec => l_eam_op_comp_rec
12404: , x_return_status => l_return_status
12406: );
12407:
12408: IF l_return_status <> 'S'
12409: THEN
12410: x_eam_op_comp_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12411: l_other_message := 'EAM_OP_CHKATTR_CSEV_SKIP';
12412: l_other_token_tbl(1).token_name := 'OP_SEQ';
12413: l_other_token_tbl(1).token_value := l_eam_op_comp_rec.operation_seq_num ;
12414: RAISE EXC_SEV_QUIT_RECORD ;
12415: END IF;
12416:
12417:
12418:
12419: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Completeion : Perform Writes . . .'); END IF;
12420: EAM_OP_COMP_UTILITY_PVT.PERFORM_WRITES
12421: ( p_eam_op_comp_rec => l_eam_op_comp_rec
12422: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12423: , x_return_status => l_return_status
12422: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12423: , x_return_status => l_return_status
12424: );
12425:
12426: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12427: THEN
12428: x_eam_op_comp_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12429: l_other_message := 'EAM_OP_CMPL_WRITE_REC';
12430: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
12424: );
12425:
12426: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12427: THEN
12428: x_eam_op_comp_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12429: l_other_message := 'EAM_OP_CMPL_WRITE_REC';
12430: l_other_token_tbl(1).token_name := 'WIP_ENTITY_NAME';
12431: l_other_token_tbl(1).token_value := l_eam_op_comp_rec.operation_seq_num ;
12432: RAISE EXC_SEV_QUIT_RECORD ;
12444:
12445: FOR K IN l_eam_wo_quality_temp_tbl.FIRST..l_eam_wo_quality_temp_tbl.LAST LOOP
12446: BEGIN
12447:
12448: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Processing '|| I || ' record') ; END IF ;
12449:
12450: -- Load local records.
12451: l_eam_wo_quality_rec := l_eam_wo_quality_temp_tbl(K);
12452:
12451: l_eam_wo_quality_rec := l_eam_wo_quality_temp_tbl(K);
12452:
12453: colllection_id_temp := l_eam_wo_quality_rec.collection_id;
12454:
12455: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Completeion validating Quality Record Transaction Type . . .'); END IF;
12456:
12457: VALIDATE_TRANSACTION_TYPE
12458: ( p_transaction_type => l_eam_wo_quality_rec.transaction_type
12459: , p_entity_name => 'QUALITY_ENTRY'
12469: l_other_token_tbl(1).token_value := l_eam_wo_quality_rec.operation_seq_number;
12470: RAISE EXC_SEV_QUIT_RECORD ;
12471: END IF ;
12472:
12473: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Completeion validating Quality Record Check Required . . .'); END IF;
12474:
12475: EAM_WO_QUA_VALIDATE_PVT.Check_Required
12476: (
12477: p_eam_wo_quality_rec => l_eam_wo_quality_rec
12478: , x_return_status => l_return_status
12479: , x_mesg_token_tbl => l_mesg_token_tbl
12480: );
12481:
12482: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR THEN
12483: l_other_message := 'EAM_QA_CHECK_REQ';
12484: l_other_token_tbl(1).token_name := 'OP_SEQ';
12485: l_other_token_tbl(1).token_value := l_eam_wo_quality_rec.operation_seq_number;
12486: RAISE EXC_SEV_QUIT_RECORD;
12492: END LOOP; -- FOR K
12493:
12494: BEGIN
12495:
12496: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Completeion validating Quality Record Insert Row . . .'); END IF;
12497: EAM_WO_QUA_UTILITY_PVT.insert_row
12498: (
12499: p_collection_id => colllection_id_temp
12500: , p_eam_wo_quality_tbl => p_eam_wo_quality_tbl
12529: END IF;
12530:
12531:
12532:
12533: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Completeion Checking quality mandatory plans remain . . .'); END IF;
12534: mandatory_qua_plan :=qa_web_txn_api.quality_mandatory_plans_remain(
12535: p_txn_number => 33 ,
12536: p_organization_id => l_org_id ,
12537: pk1 => l_asset_group_name , -- Asset Grp
12563: BEGIN
12564: contextStr := '162='||l_asset_group_id||'@163='
12565: ||l_asset_number||'@2147483550='||l_asset_instance_id||'@165='
12566: ||l_wip_entity_id||'@199='||l_eam_op_comp_rec.operation_seq_num||'@164='||l_asset_activity_id;
12567: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Completeion Calling qa_web_txn_api.post_background_results. . .'); END IF;
12568: qa_web_txn_api.post_background_results(
12569: p_txn_number => 33 ,
12570: p_org_id => l_org_id ,
12571: p_context_values => contextStr ,
12577: l_token_tbl(1).token_value := l_eam_op_comp_rec.operation_seq_num;
12578:
12579: l_out_mesg_token_tbl := l_mesg_token_tbl;
12580:
12581: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
12582: ( p_message_name => 'EAM_OP_CMPL_BACK_ERR'
12583: , p_token_tbl => l_Token_tbl
12584: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12585: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
12589:
12590: raise EXC_SEV_QUIT_RECORD;
12591: END ;
12592:
12593: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Operation Completeion Calling qa_results_pub.enable_and_fire_action . . .'); END IF;
12594:
12595: qa_result_grp.enable_and_fire_action(
12596: p_api_version => 1.0 ,
12597: p_collection_id => l_eam_op_comp_rec.qa_collection_id ,
12605: l_token_tbl(1).token_value := l_eam_op_comp_rec.operation_seq_num;
12606:
12607: l_out_mesg_token_tbl := l_mesg_token_tbl;
12608:
12609: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
12610: ( p_message_name => 'EAM_OP_QUALITY_COMMMIT'
12611: , p_token_tbl => l_Token_tbl
12612: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12613: , x_Mesg_Token_Tbl => l_out_Mesg_Token_Tbl
12686: WHEN EXC_SEV_QUIT_RECORD THEN
12687:
12688: l_out_eam_op_comp_tbl := l_eam_op_comp_tbl;
12689:
12690: EAM_ERROR_MESSAGE_PVT.Log_Error
12691: (
12692: p_eam_op_comp_tbl => l_eam_op_comp_tbl
12693:
12694: , x_eam_wo_comp_rec => l_out_eam_wo_comp_rec
12701: , x_eam_request_tbl => l_out_eam_request_tbl
12702:
12703: , p_mesg_token_tbl => l_mesg_token_tbl
12704: , p_error_status => FND_API.G_RET_STS_ERROR
12705: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
12706: , p_other_message => l_other_message
12707: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12708: , p_other_token_tbl => l_other_token_tbl
12709:
12703: , p_mesg_token_tbl => l_mesg_token_tbl
12704: , p_error_status => FND_API.G_RET_STS_ERROR
12705: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
12706: , p_other_message => l_other_message
12707: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12708: , p_other_token_tbl => l_other_token_tbl
12709:
12710: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
12711: );
12706: , p_other_message => l_other_message
12707: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12708: , p_other_token_tbl => l_other_token_tbl
12709:
12710: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
12711: );
12712:
12713: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
12714:
12709:
12710: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
12711: );
12712:
12713: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
12714:
12715: x_return_status := FND_API.G_RET_STS_ERROR;
12716: x_msg_count := l_msg_count;
12717:
12741: , x_return_status OUT NOCOPY VARCHAR2
12742: , x_msg_count OUT NOCOPY NUMBER
12743: )
12744: IS
12745: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
12746: l_return_status VARCHAR2(1) ;
12747:
12748: l_eam_request_tbl EAM_PROCESS_WO_PUB.eam_request_tbl_type;
12749: l_eam_request_rec EAM_PROCESS_WO_PUB.eam_request_rec_type;
12751:
12752: l_org_id NUMBER;
12753: l_wip_entity_id NUMBER;
12754: l_valid_transaction BOOLEAN := TRUE ;
12755: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
12756: l_other_message VARCHAR2(2000);
12757: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
12758: l_msg_count NUMBER;
12759: L_OUT_EAM_REQUEST_TBL EAM_PROCESS_WO_PUB.eam_request_tbl_type;
12753: l_wip_entity_id NUMBER;
12754: l_valid_transaction BOOLEAN := TRUE ;
12755: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
12756: l_other_message VARCHAR2(2000);
12757: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
12758: l_msg_count NUMBER;
12759: L_OUT_EAM_REQUEST_TBL EAM_PROCESS_WO_PUB.eam_request_tbl_type;
12760:
12761: l_out_eam_wo_comp_rec EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
12767: l_out_eam_wo_quality_tbl EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
12768:
12769: BEGIN
12770:
12771: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Request Service Request association procedure begin '); END IF;
12772:
12773: x_return_status := FND_API.G_RET_STS_SUCCESS;
12774: l_return_status := FND_API.G_RET_STS_SUCCESS;
12775:
12783: FOR i IN p_eam_request_tbl.FIRST..p_eam_request_tbl.LAST LOOP
12784: begin
12785: l_eam_request_rec := p_eam_request_tbl(i);
12786:
12787: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Request Service Request association: Transaction Type Validity . . . '); END IF;
12788:
12789: VALIDATE_TRANSACTION_TYPE
12790: ( p_transaction_type => l_eam_request_rec.transaction_type
12791: , p_entity_name => 'WORK_SERVICE_REQUEST'
12794: , x_mesg_token_tbl => l_Mesg_Token_Tbl
12795: );
12796: IF NOT l_valid_transaction
12797: THEN
12798: x_eam_request_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12799: l_other_message := 'EAM_WR_INVALID_TXN_TYPE';
12800: l_other_token_tbl(1).token_name := 'REQUEST_ID';
12801: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12802: RAISE EXC_SEV_QUIT_RECORD;
12801: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12802: RAISE EXC_SEV_QUIT_RECORD;
12803: END IF;
12804:
12805: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Request Service Request association: : Check Required . . .'); END IF;
12806:
12807: EAM_REQUEST_VALIDATE_PVT.CHECK_REQUIRED
12808: (
12809: p_eam_request_rec => l_eam_request_rec
12810: , x_return_status => l_return_status
12811: , x_mesg_token_tbl => l_Mesg_Token_Tbl
12812: );
12813:
12814: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR THEN
12815: x_eam_request_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12816: l_other_message := 'EAM_WR_CHK_REQUIRED';
12817: l_other_token_tbl(1).token_name := 'REQUEST_ID';
12818: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12811: , x_mesg_token_tbl => l_Mesg_Token_Tbl
12812: );
12813:
12814: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR THEN
12815: x_eam_request_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12816: l_other_message := 'EAM_WR_CHK_REQUIRED';
12817: l_other_token_tbl(1).token_name := 'REQUEST_ID';
12818: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12819: RAISE EXC_SEV_QUIT_RECORD;
12818: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12819: RAISE EXC_SEV_QUIT_RECORD;
12820: END IF;
12821:
12822: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Request Service Request association: : Attribute Defaulting . . .'); END IF;
12823:
12824: EAM_REQUEST_DEFAULT_PVT.Attribute_Defaulting
12825: (
12826: p_eam_request_rec => l_eam_request_rec ,
12829: );
12830:
12831: l_eam_request_rec := l_out_eam_request_rec;
12832:
12833: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR THEN
12834: x_eam_request_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12835: l_other_message := 'EAM_WR_ATTR_DEFAULT';
12836: l_other_token_tbl(1).token_name := 'REQUEST_ID';
12837: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12830:
12831: l_eam_request_rec := l_out_eam_request_rec;
12832:
12833: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR THEN
12834: x_eam_request_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12835: l_other_message := 'EAM_WR_ATTR_DEFAULT';
12836: l_other_token_tbl(1).token_name := 'REQUEST_ID';
12837: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12838: RAISE EXC_SEV_QUIT_RECORD;
12837: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12838: RAISE EXC_SEV_QUIT_RECORD;
12839: END IF;
12840:
12841: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Request Service Request association: : Check Attributes . . .'); END IF;
12842:
12843: EAM_REQUEST_VALIDATE_PVT.CHECK_ATTRIBUTES
12844: (
12845: p_eam_request_rec => l_eam_request_rec
12846: , x_return_status => l_return_status
12847: , x_mesg_token_tbl => l_mesg_token_tbl
12848: );
12849:
12850: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR THEN
12851: x_eam_request_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12852: l_other_message := 'EAM_WR_CHECK_ATTR';
12853: l_other_token_tbl(1).token_name := 'REQUEST_ID';
12854: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12847: , x_mesg_token_tbl => l_mesg_token_tbl
12848: );
12849:
12850: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR THEN
12851: x_eam_request_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12852: l_other_message := 'EAM_WR_CHECK_ATTR';
12853: l_other_token_tbl(1).token_name := 'REQUEST_ID';
12854: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12855: RAISE EXC_SEV_QUIT_RECORD;
12854: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12855: RAISE EXC_SEV_QUIT_RECORD;
12856: END IF;
12857:
12858: IF GET_DEBUG = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Request Service Request association: : Associating/Disassociating Work /Service Request. . .'); END IF;
12859:
12860: IF l_eam_request_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE THEN
12861: EAM_REQUEST_UTILITY_PVT.INSERT_ROW
12862: ( p_eam_request_rec => l_eam_request_rec
12873: );
12874:
12875: END IF;
12876:
12877: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR THEN
12878: x_eam_request_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12879: l_other_message := 'EAM_WR_INSERT_REC';
12880: l_other_token_tbl(1).token_name := 'REQUEST_ID';
12881: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12874:
12875: END IF;
12876:
12877: IF l_return_status = EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR THEN
12878: x_eam_request_tbl(i).return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12879: l_other_message := 'EAM_WR_INSERT_REC';
12880: l_other_token_tbl(1).token_name := 'REQUEST_ID';
12881: l_other_token_tbl(1).token_value := l_eam_request_rec.request_id;
12882: RAISE EXC_SEV_QUIT_RECORD;
12891: WHEN EXC_SEV_QUIT_RECORD THEN
12892:
12893: l_out_eam_request_tbl := l_eam_request_tbl;
12894:
12895: EAM_ERROR_MESSAGE_PVT.Log_Error
12896: (
12897: p_eam_request_tbl => l_eam_request_tbl
12898:
12899: , x_eam_wo_comp_rec => l_out_eam_wo_comp_rec
12906: , x_eam_request_tbl => l_out_eam_request_tbl
12907:
12908: , p_mesg_token_tbl => l_mesg_token_tbl
12909: , p_error_status => FND_API.G_RET_STS_ERROR
12910: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
12911: , p_other_message => l_other_message
12912: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12913: , p_other_token_tbl => l_other_token_tbl
12914:
12908: , p_mesg_token_tbl => l_mesg_token_tbl
12909: , p_error_status => FND_API.G_RET_STS_ERROR
12910: , p_error_scope => EAM_ERROR_MESSAGE_PVT.G_WO_LEVEL
12911: , p_other_message => l_other_message
12912: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12913: , p_other_token_tbl => l_other_token_tbl
12914:
12915: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
12916: );
12911: , p_other_message => l_other_message
12912: , p_other_status => EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR
12913: , p_other_token_tbl => l_other_token_tbl
12914:
12915: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
12916: );
12917:
12918: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
12919: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12914:
12915: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
12916: );
12917:
12918: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
12919: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12920: x_msg_count := l_msg_count;
12921:
12922: RETURN;
12915: , p_error_level => EAM_ERROR_MESSAGE_PVT.G_WO_COMP_LEVEL
12916: );
12917:
12918: l_msg_count := EAM_ERROR_MESSAGE_PVT.GET_MESSAGE_COUNT();
12919: x_return_status := EAM_ERROR_MESSAGE_PVT.G_STATUS_ERROR;
12920: x_msg_count := l_msg_count;
12921:
12922: RETURN;
12923: