1: PACKAGE BODY PO_MULTI_MOD_VALIDATIONS AS
2: /* $Header: PO_MULTI_MOD_VALIDATIONS.plb 120.21.12020000.2 2013/02/10 15:16:59 vegajula ship $ */
3:
4:
5: ---------------------------------------------------------------------------
1: PACKAGE BODY PO_MULTI_MOD_VALIDATIONS AS
2: /* $Header: PO_MULTI_MOD_VALIDATIONS.plb 120.21.12020000.2 2013/02/10 15:16:59 vegajula ship $ */
3:
4:
5: ---------------------------------------------------------------------------
6: -- Modules for debugging.
7: ---------------------------------------------------------------------------
8:
9: -- The module base for this package.
10: D_PACKAGE_BASE CONSTANT VARCHAR2(50) :=
11: PO_LOG.get_package_base('PO_MULTI_MOD_VALIDATIONS');
12:
13: -- The module base for the subprogram.
14: D_validate_multi_mod CONSTANT VARCHAR2(100) :=
15: PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'validate_multi_mod');
445: END IF;
446: END IF;
447:
448: d_position := 120;
449: PO_MULTI_MOD_VALIDATIONS.validate_set( p_validation_set => l_validation_set
450: ,p_multi_mod_request_id => p_multi_mod_request_id
451: ,p_multi_mod_request_type => l_multi_mod_request_type
452: ,p_novation_effective_date => l_novation_effective_date
453: ,p_acceptance_reqd_flag => l_acceptance_reqd_flag
586:
587: --multi mod validations
588: WHEN c_atleast_one_doc_selected THEN
589:
590: PO_MULTI_MOD_VALIDATIONS.atleast_one_doc_selected
591: ( p_request_id => p_multi_mod_request_id
592: ,p_multi_mod_doc_id_tbl => p_multi_mod_docs.multi_mod_doc_id
593: ,p_validation_type => p_validation_type
594: ,x_result_type => l_result_type
596: );
597:
598: WHEN c_exemption_reason_given THEN
599:
600: PO_MULTI_MOD_VALIDATIONS.exemption_reason_given
601: ( p_request_id => p_multi_mod_request_id
602: ,p_exemption_reason => p_exemption_reason
603: ,p_initiate_app_flag => p_initiate_approval_flag
604: ,p_validation_type => p_validation_type
607: );
608:
609: WHEN c_new_vendor_contact_provided THEN
610:
611: PO_MULTI_MOD_VALIDATIONS.new_vendor_contact_provided
612: ( p_request_id => p_multi_mod_request_id
613: ,p_acceptance_reqd_flag => p_acceptance_reqd_flag
614: ,p_multi_mod_doc_id_tbl => p_multi_mod_docs.multi_mod_doc_id
615: ,p_document_id_tbl => p_multi_mod_docs.document_id
624: );
625:
626: WHEN c_acceptance_due_date_valid THEN
627:
628: PO_MULTI_MOD_VALIDATIONS.acceptance_due_date_valid
629: ( p_request_id => p_multi_mod_request_id
630: ,p_acceptance_reqd_flag => p_acceptance_reqd_flag
631: ,p_acceptance_due_date => p_acceptance_due_date
632: ,p_validation_type => p_validation_type
635: );
636:
637: WHEN c_no_of_copies_ge_zero THEN
638:
639: PO_MULTI_MOD_VALIDATIONS.no_of_copies_ge_zero
640: ( p_request_id => p_multi_mod_request_id
641: ,p_acceptance_reqd_flag => p_acceptance_reqd_flag
642: ,p_clm_noofcopies => p_clm_noofcopies
643: ,p_validation_type => p_validation_type
646: );
647:
648: WHEN c_vendor_name_chg_valid THEN
649:
650: PO_MULTI_MOD_VALIDATIONS.vendor_name_chg_valid
651: ( p_request_id => p_multi_mod_request_id
652: ,p_change_id_tbl => p_multi_mod_changes.multi_mod_change_id
653: ,p_change_type_tbl => p_multi_mod_changes.change_type
654: ,p_old_vendor_name_tbl => p_multi_mod_changes.old_vendor_name
659: );
660:
661: WHEN c_clause_change_valid THEN
662:
663: PO_MULTI_MOD_VALIDATIONS.clause_change_valid
664: ( p_request_id => p_multi_mod_request_id
665: ,p_validation_type => p_validation_type
666: ,x_result_type => l_result_type
667: ,x_results => x_results
668: );
669:
670: WHEN c_atleast_one_change_done THEN
671:
672: PO_MULTI_MOD_VALIDATIONS.atleast_one_change_done
673: ( p_request_id => p_multi_mod_request_id
674: ,p_change_id_tbl => p_multi_mod_changes.multi_mod_change_id
675: ,p_validation_type => p_validation_type
676: ,x_result_type => l_result_type
679:
680: --vendor change specific validations
681: WHEN c_new_vendor_site_provided THEN
682:
683: PO_MULTI_MOD_VALIDATIONS.new_vendor_site_provided
684: ( p_request_id => p_multi_mod_request_id
685: ,p_change_id_tbl => p_multi_mod_changes.multi_mod_change_id
686: ,p_change_type_tbl => p_multi_mod_changes.change_type
687: ,p_org_id_tbl => p_multi_mod_changes.org_id
693: );
694:
695: WHEN c_new_vendor_site_CCR_valid THEN
696:
697: PO_MULTI_MOD_VALIDATIONS.new_vendor_site_CCR_valid
698: ( p_request_id => p_multi_mod_request_id
699: ,p_change_id_tbl => p_multi_mod_changes.multi_mod_change_id
700: ,p_change_type_tbl => p_multi_mod_changes.change_type
701: ,p_old_vendor_site_id_tbl => p_multi_mod_changes.old_vendor_site_id
706: );
707:
708: WHEN c_vendor_chg_valid THEN
709:
710: PO_MULTI_MOD_VALIDATIONS.vendor_chg_valid
711: ( p_request_id => p_multi_mod_request_id
712: ,p_change_id_tbl => p_multi_mod_changes.multi_mod_change_id
713: ,p_change_type_tbl => p_multi_mod_changes.change_type
714: ,p_old_vendor_id_tbl => p_multi_mod_changes.old_vendor_id
718: ,x_results => x_results
719: );
720: WHEN c_new_vendor_on_hold THEN
721:
722: PO_MULTI_MOD_VALIDATIONS.new_vendor_on_hold
723: ( p_request_id => p_multi_mod_request_id
724: ,p_change_id_tbl => p_multi_mod_changes.multi_mod_change_id
725: ,p_change_type_tbl => p_multi_mod_changes.change_type
726: ,p_new_vendor_id_tbl => p_multi_mod_changes.new_vendor_id
729: ,x_results => x_results
730: );
731:
732: WHEN c_uda_addresses_valid THEN
733: PO_MULTI_MOD_VALIDATIONS.uda_addresses_valid
734: ( p_request_id => p_multi_mod_request_id
735: ,x_result_type => l_result_type
736: ,x_results => x_results
737: );
736: ,x_results => x_results
737: );
738:
739: WHEN c_contract_officer_provided THEN
740: PO_MULTI_MOD_VALIDATIONS.contract_officer_provided
741: ( p_request_id => p_multi_mod_request_id
742: ,p_clm_contract_officer => p_clm_contract_officer
743: ,p_validation_type => p_validation_type
744: ,p_org_id_tbl => p_multi_mod_changes.org_id
747: );
748:
749: WHEN c_header_lock_compatible THEN
750:
751: PO_MULTI_MOD_VALIDATIONS.header_lock_compatible(p_request_id => p_multi_mod_request_id
752: , x_result_type => l_result_type
753: , x_results => x_results
754: );
755:
754: );
755:
756: WHEN c_address_lock_compatible THEN
757:
758: PO_MULTI_MOD_VALIDATIONS.address_lock_compatible(p_request_id => p_multi_mod_request_id
759: , x_result_type => l_result_type
760: , x_results => x_results
761: );
762:
761: );
762:
763: WHEN c_validate_open_mod THEN
764:
765: PO_MULTI_MOD_VALIDATIONS.validate_open_mod(p_request_id => p_multi_mod_request_id
766: , x_result_type => l_result_type
767: , x_results => x_results
768: );
769:
769:
770: --concurrent program 'supplier change - ecxeptions' validations
771: WHEN c_generate_idv_exceptions THEN
772:
773: PO_MULTI_MOD_VALIDATIONS.generate_idv_exceptions
774: ( p_request_id => p_multi_mod_request_id
775: -- ,p_document_id_tbl => p_multi_mod_docs.document_id
776: ,p_multi_mod_doc_id_tbl => p_multi_mod_docs.multi_mod_doc_id
777: ,x_result_type => l_result_type
779: );
780:
781: WHEN c_generate_award_exceptions THEN
782:
783: PO_MULTI_MOD_VALIDATIONS.generate_award_exceptions
784: ( p_request_id => p_multi_mod_request_id
785: -- ,p_document_id_tbl => p_multi_mod_docs.document_id
786: ,p_multi_mod_doc_id_tbl => p_multi_mod_docs.multi_mod_doc_id
787: ,x_result_type => l_result_type
789: );
790:
791: WHEN c_generate_receipts_exceptions THEN
792:
793: PO_MULTI_MOD_VALIDATIONS.generate_receipts_exceptions
794: ( p_request_id => p_multi_mod_request_id
795: ,p_document_id_tbl => p_multi_mod_docs.document_id
796: ,p_multi_mod_doc_id_tbl => p_multi_mod_docs.multi_mod_doc_id
797: ,p_novation_effective_date => p_novation_effective_date
800: );
801:
802: WHEN c_generate_invoice_exceptions THEN
803:
804: PO_MULTI_MOD_VALIDATIONS.generate_invoice_exceptions
805: ( p_request_id => p_multi_mod_request_id
806: ,p_document_id_tbl => p_multi_mod_docs.document_id
807: ,p_multi_mod_doc_id_tbl => p_multi_mod_docs.multi_mod_doc_id
808: ,p_novation_effective_date => p_novation_effective_date
811: );
812:
813: WHEN c_generate_project_exceptions THEN
814:
815: PO_MULTI_MOD_VALIDATIONS.generate_project_exceptions
816: ( p_request_id => p_multi_mod_request_id
817: ,p_document_id_tbl => p_multi_mod_docs.document_id
818: ,p_multi_mod_doc_id_tbl => p_multi_mod_docs.multi_mod_doc_id
819: ,p_novation_effective_date => p_novation_effective_date
1873: PO_LOG.stmt(d_mod,d_position,'l_results_count',l_results_count);
1874: END IF;
1875: d_position := 10;
1876: -- address change validation
1877: l_has_address_changed := PO_MULTI_MOD_VALIDATIONS.has_address_changed(p_request_id => p_request_id);
1878:
1879: d_position := 20;
1880: -- clause change validation. OKC api
1881: l_has_clause_changed := PO_MULTI_MOD_VALIDATIONS.has_clause_changed(p_request_id => p_request_id);
1877: l_has_address_changed := PO_MULTI_MOD_VALIDATIONS.has_address_changed(p_request_id => p_request_id);
1878:
1879: d_position := 20;
1880: -- clause change validation. OKC api
1881: l_has_clause_changed := PO_MULTI_MOD_VALIDATIONS.has_clause_changed(p_request_id => p_request_id);
1882:
1883: d_position := 30;
1884: --supplier change validation
1885: l_has_vendor_changed := PO_MULTI_MOD_VALIDATIONS.has_vendor_changed(p_request_id => p_request_id
1881: l_has_clause_changed := PO_MULTI_MOD_VALIDATIONS.has_clause_changed(p_request_id => p_request_id);
1882:
1883: d_position := 30;
1884: --supplier change validation
1885: l_has_vendor_changed := PO_MULTI_MOD_VALIDATIONS.has_vendor_changed(p_request_id => p_request_id
1886: ,p_change_id_tbl => p_change_id_tbl);
1887:
1888: IF d_stmt THEN
1889: PO_LOG.stmt(d_mod,d_position,'l_has_address_changed',l_has_address_changed);
4557: END IF;
4558:
4559: d_position := 10;
4560: --call the validate_mult_mod routine to generate the supplier change exceptions
4561: PO_MULTI_MOD_VALIDATIONS.validate_multi_mod
4562: ( p_multi_mod_request_id => p_multi_mod_request_id
4563: ,p_validation_type => 'SUPP_CHG_EXCEPTIONS'
4564: ,x_result_type => l_result_type
4565: ,x_results => l_results
4654: END IF;
4655: RAISE;
4656: END generate_supp_chg_exceptions;
4657:
4658: END PO_MULTI_MOD_VALIDATIONS;