20: --
21: l_proc varchar2(72) := g_package||'check_non_updateable_args';
22: --
23: Begin
24: hr_utility.set_location('Entering:'||l_proc, 5);
25: --
26: -- Only proceed with validation if a row exists for
27: -- the current record in the HR Schema
28: --
29: if not per_apl_shd.api_updating
30: (p_application_id => p_rec.application_id
31: ,p_object_version_number => p_rec.object_version_number
32: ) then
33: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
34: hr_utility.set_message_token('PROCEDURE', l_proc);
35: hr_utility.set_message_token('STEP', '5');
36: hr_utility.raise_error;
37: end if;
30: (p_application_id => p_rec.application_id
31: ,p_object_version_number => p_rec.object_version_number
32: ) then
33: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
34: hr_utility.set_message_token('PROCEDURE', l_proc);
35: hr_utility.set_message_token('STEP', '5');
36: hr_utility.raise_error;
37: end if;
38: --
31: ,p_object_version_number => p_rec.object_version_number
32: ) then
33: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
34: hr_utility.set_message_token('PROCEDURE', l_proc);
35: hr_utility.set_message_token('STEP', '5');
36: hr_utility.raise_error;
37: end if;
38: --
39: hr_utility.set_location(l_proc, 6);
32: ) then
33: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
34: hr_utility.set_message_token('PROCEDURE', l_proc);
35: hr_utility.set_message_token('STEP', '5');
36: hr_utility.raise_error;
37: end if;
38: --
39: hr_utility.set_location(l_proc, 6);
40: --
35: hr_utility.set_message_token('STEP', '5');
36: hr_utility.raise_error;
37: end if;
38: --
39: hr_utility.set_location(l_proc, 6);
40: --
41: --
42: if nvl(p_rec.business_group_id, hr_api.g_number) <>
43: per_apl_shd.g_old_rec.business_group_id then
55: ,p_argument => 'PERSON_ID'
56: ,p_base_table => per_apl_shd.g_tab_nam
57: );
58: end if;
59: hr_utility.set_location(' Leaving:'||l_proc, 14);
60: end check_non_updateable_args;
61: --
62: -- ---------------------------------------------------------------------------
63: -- |----------------------< df_update_validate >---------------------------|
94: --
95: l_proc varchar2(72) := g_package||'df_update_validate';
96: --
97: begin
98: hr_utility.set_location('Entering:'||l_proc, 10);
99: --
100: if nvl(per_apl_shd.g_old_rec.appl_attribute_category, hr_api.g_varchar2) <>
101: nvl(p_rec.appl_attribute_category, hr_api.g_varchar2) or
102: nvl(per_apl_shd.g_old_rec.appl_attribute1, hr_api.g_varchar2) <>
190: );
191: --
192: end if;
193: --
194: hr_utility.set_location(' Leaving:'||l_proc, 10);
195: --
196: end df_update_validate;
197: --
198: -- ----------------------------------------------------------------------------
204: --
205: l_proc varchar2(72) := g_package||'insert_validate';
206: --
207: Begin
208: hr_utility.set_location('Entering:'||l_proc, 5);
209: --
210: -- Validate Important Attributes
211: --
212: hr_api.validate_bus_grp_id
301: ,p_attribute20_value => p_rec.appl_attribute20
302: );
303: end if;
304: --
305: hr_utility.set_location(' Leaving:'||l_proc, 10);
306: --
307: End insert_validate;
308: --
309: -- ----------------------------------------------------------------------------
314: --
315: l_proc varchar2(72) := g_package||'update_validate';
316: --
317: Begin
318: hr_utility.set_location('Entering:'||l_proc, 5);
319: --
320: -- Validate Important Attributes
321: --
322: hr_api.validate_bus_grp_id
331: hr_multi_message.end_validation_set;
332: --
333: -- Call all supporting business operations
334: --
335: hr_utility.set_location(l_proc, 6);
336: --
337: -- Check the non-updateable arguments have in fact not been modified
338: --
339: per_apl_bus.check_non_updateable_args(p_rec => p_rec);
380: -- Validate Descriptive flexfields
381: --
382: per_apl_bus.df_update_validate(p_rec => p_rec);
383: --
384: hr_utility.set_location(' Leaving:'||l_proc, 10);
385: End update_validate;
386: --
387: -- ----------------------------------------------------------------------------
388: -- |---------------------------< delete_validate >----------------------------|
391: --
392: l_proc varchar2(72) := g_package||'delete_validate';
393: --
394: Begin
395: hr_utility.set_location('Entering:'||l_proc, 5);
396: --
397: -- Call all supporting business operations
398: --
399: hr_utility.set_location(' Leaving:'||l_proc, 10);
395: hr_utility.set_location('Entering:'||l_proc, 5);
396: --
397: -- Call all supporting business operations
398: --
399: hr_utility.set_location(' Leaving:'||l_proc, 10);
400: End delete_validate;
401: -- ----------------------------------------------------------------------------
402: -- |--------------------< chk_date_received_person_id >-----------------------|
403: -- ----------------------------------------------------------------------------
440: where person_id = p_person_id
441: and date_received = p_date_received;
442: --
443: begin
444: hr_utility.set_location('Entering:'||l_proc,1);
445: --
446: -- Perform mandatory parameter checks
447: --
448: hr_api.mandatory_arg_error
458: ,p_argument => 'person_id'
459: ,p_argument_value => p_person_id
460: );
461: --
462: hr_utility.set_location(l_proc,11);
463: --
464: -- Check if application is being updated and load g_old_rec if applicable
465: --
466: l_api_updating := per_apl_shd.api_updating
474: if ((l_api_updating and
475: per_apl_shd.g_old_rec.date_received <> p_date_received)
476: or (NOT l_api_updating)) then
477: --
478: hr_utility.set_location(l_proc,21);
479: --
480: -- Check the person_id exist date_effectively
481: --
482: open csr_valid_person_per_people_f;
483: fetch csr_valid_person_per_people_f
484: into l_business_group_id, l_system_person_type;
485: if (csr_valid_person_per_people_f%notfound) then
486: close csr_valid_person_per_people_f;
487: hr_utility.set_message(801,'HR_51194_APL_INV_DT_PERSON');
488: hr_multi_message.add
489: (p_associated_column1 => 'PER_APPLICATIONS.PERSON_ID'
490: ,p_associated_column2 => 'PER_APPLICATIONS.DATE_RECEIVED'
491: );
491: );
492: else
493: close csr_valid_person_per_people_f;
494: --
495: hr_utility.set_location(l_proc,31);
496: --
497: -- The following person checks only need to be performed on an
498: -- insert.
499: --
498: -- insert.
499: --
500: if NOT l_api_updating then
501: --
502: hr_utility.set_location(l_proc,41);
503: --
504: -- Check the system_person_type of the applicant is 'APL','EMP_APL',
505: -- 'APL_EX_APL','EX_EMP_APL'
506: --
508: l_system_person_type <> 'APL' AND
509: l_system_person_type <> 'EMP_APL' AND
510: l_system_person_type <> 'APL_EX_APL' AND
511: l_system_person_type <> 'EX_EMP_APL') then
512: hr_utility.set_message(801,'HR_51185_APL_INV_SYS_PER_TYPE');
513: hr_multi_message.add
514: (p_associated_column1 => 'PER_APPLICATIONS.PERSON_ID'
515: );
516: end if;
514: (p_associated_column1 => 'PER_APPLICATIONS.PERSON_ID'
515: );
516: end if;
517: --
518: hr_utility.set_location(l_proc,51);
519: --
520: -- Check the application is in the same business group as the person
521: --
522: if (p_business_group_id <> l_business_group_id) then
519: --
520: -- Check the application is in the same business group as the person
521: --
522: if (p_business_group_id <> l_business_group_id) then
523: hr_utility.set_message(801,'HR_51187_APL_INV_BUS_GRP');
524: hr_multi_message.add
525: (p_associated_column1 => 'PER_APPLICATIONS.PERSON_ID'
526: );
527: end if;
527: end if;
528: end if;
529: end if;
530: --
531: hr_utility.set_location(l_proc,61);
532: --
533: -- Validate date received with respect to DATE_END
534: --
535: if (p_date_received > nvl(p_date_end,hr_api.g_eot)) then
532: --
533: -- Validate date received with respect to DATE_END
534: --
535: if (p_date_received > nvl(p_date_end,hr_api.g_eot)) then
536: hr_utility.set_message(801,'HR_51188_APL_DTE_REC_DTE_END');
537: hr_multi_message.add
538: (p_associated_column1 => 'PER_APPLICATIONS.DATE_RECEIVED'
539: ,p_associated_column2 => 'PER_APPLICATIONS.DATE_END'
540: );
539: ,p_associated_column2 => 'PER_APPLICATIONS.DATE_END'
540: );
541: end if;
542: --
543: hr_utility.set_location(l_proc,71);
544: --
545: -- Validate date received with respect to PROJECTED HIRE DATE
546: --
547: if (p_date_received > nvl(p_projected_hire_date,hr_api.g_eot)) then
544: --
545: -- Validate date received with respect to PROJECTED HIRE DATE
546: --
547: if (p_date_received > nvl(p_projected_hire_date,hr_api.g_eot)) then
548: hr_utility.set_message(801,'HR_51189_APL_DTE_REC_PROJ_HIRE');
549: hr_multi_message.add
550: (p_associated_column1 => 'PER_APPLICATIONS.DATE_RECEIVED'
551: ,p_associated_column2 => 'PER_APPLICATIONS.PROJECTED_HIRE_DATE'
552: );
551: ,p_associated_column2 => 'PER_APPLICATIONS.PROJECTED_HIRE_DATE'
552: );
553: end if;
554: --
555: hr_utility.set_location(l_proc,81);
556: --
557: /* Removed 18-Aug-97
558: Reinstated 19-Jan-98, Version 110.3, S.Bhattal
559: */
563: open csr_valid_person_per_apl;
564: fetch csr_valid_person_per_apl into l_application_id;
565: if (csr_valid_person_per_apl%found) then
566: close csr_valid_person_per_apl;
567: hr_utility.set_message(801,'HR_51190_APL_DTE_REC_PERSON');
568: hr_multi_message.add
569: (p_associated_column1 => 'PER_APPLICATIONS.PERSON_ID'
570: ,p_associated_column2 => 'PER_APPLICATIONS.DATE_RECEIVED'
571: );
572: else
573: close csr_valid_person_per_apl;
574: end if;
575: --
576: hr_utility.set_location(l_proc,91);
577: /*
578: */
579: --
580: end if;
577: /*
578: */
579: --
580: end if;
581: hr_utility.set_location('Leaving '||l_proc, 101);
582: end chk_date_received_person_id;
583: --
584: -- ---------------------------------------------------------------------------
585: -- |----------------< chk_projected_hire_date >------------------------------|
594: l_proc varchar2(72) := g_package||'chk_proj_hire_date';
595: l_api_updating boolean;
596: --
597: Begin
598: hr_utility.set_location('Entering:'||l_proc,1);
599: --
600: -- Check if projected hire date is not null, only validate if it is not null
601: --
602: if hr_multi_message.no_all_inclusive_error
617: nvl(p_projected_hire_date,hr_api.g_date))
618: or
619: NOT l_api_updating) then
620: --
621: hr_utility.set_location('Inside:'||l_proc,11);
622: --
623: -- Validate projected hire date WRT date received.
624: --
625: if (p_date_received > p_projected_hire_date) then
622: --
623: -- Validate projected hire date WRT date received.
624: --
625: if (p_date_received > p_projected_hire_date) then
626: hr_utility.set_message(801,'HR_51192_APL_PROJ_HIRE_DTE_REC');
627: hr_multi_message.add
628: (p_associated_column1 => 'PER_APPLICATIONS.DATE_RECEIVED'
629: ,p_associated_column2 => 'PER_APPLICATIONS.PROJECTED_HIRE_DATE'
630: );
629: ,p_associated_column2 => 'PER_APPLICATIONS.PROJECTED_HIRE_DATE'
630: );
631: end if;
632: end if;
633: hr_utility.set_location('Inside:'||l_proc,21);
634: --
635: end if;
636: hr_utility.set_location('Inside:'||l_proc,31);
637: --
632: end if;
633: hr_utility.set_location('Inside:'||l_proc,21);
634: --
635: end if;
636: hr_utility.set_location('Inside:'||l_proc,31);
637: --
638: end if;
639: hr_utility.set_location(' Leaving:' || l_proc, 41);
640: end chk_projected_hire_date;
635: end if;
636: hr_utility.set_location('Inside:'||l_proc,31);
637: --
638: end if;
639: hr_utility.set_location(' Leaving:' || l_proc, 41);
640: end chk_projected_hire_date;
641: --
642: -- ----------------------------------------------------------------------------
643: -- |---------------------------< chk_date_end >-------------------------------|
670: and pa.person_id = ppf.person_id
671: and ppf.effective_start_date > p_date_end;
672: --
673: Begin
674: hr_utility.set_location('Entering:'||l_proc,1);
675: --
676: -- If date_end is non null then do the remaining validation otherwise end
677: --
678: if (p_date_end is not null) then
676: -- If date_end is non null then do the remaining validation otherwise end
677: --
678: if (p_date_end is not null) then
679: --
680: hr_utility.set_location(l_proc,11);
681: --
682: -- Check if application is being updated and load g_old_rec if applicable
683: --
684: l_api_updating := per_apl_shd.api_updating
690: if (NOT l_api_updating) then
691: --
692: -- On insert and not null, so raise error
693: --
694: hr_utility.set_location(l_proc,21);
695: --
696: hr_utility.set_message(801,'HR_7441_API_ARG_NOT_SET');
697: hr_utility.set_message_token('ARG_NAME','DATE_END');
698: hr_multi_message.add
692: -- On insert and not null, so raise error
693: --
694: hr_utility.set_location(l_proc,21);
695: --
696: hr_utility.set_message(801,'HR_7441_API_ARG_NOT_SET');
697: hr_utility.set_message_token('ARG_NAME','DATE_END');
698: hr_multi_message.add
699: (p_associated_column1 => 'PER_APPLICATIONS.DATE_END'
700: );
693: --
694: hr_utility.set_location(l_proc,21);
695: --
696: hr_utility.set_message(801,'HR_7441_API_ARG_NOT_SET');
697: hr_utility.set_message_token('ARG_NAME','DATE_END');
698: hr_multi_message.add
699: (p_associated_column1 => 'PER_APPLICATIONS.DATE_END'
700: );
701: --
704: p_date_end) then
705: --
706: -- Date end changed to a not null value so do validation
707: --
708: hr_utility.set_location(l_proc,31);
709: --
710: -- If change is from not-null to different not-null then raise error
711: --
712: if (per_apl_shd.g_old_rec.date_end is not null and
710: -- If change is from not-null to different not-null then raise error
711: --
712: if (per_apl_shd.g_old_rec.date_end is not null and
713: per_apl_shd.g_old_rec.date_end <> p_date_end) then
714: hr_utility.set_location('Inside:'||l_proc,35);
715: hr_utility.set_message(801,'HR_51234_APL_INVALID_UPDATE');
716: hr_multi_message.add
717: (p_associated_column1 => 'PER_APPLICATIONS.DATE_END'
718: );
711: --
712: if (per_apl_shd.g_old_rec.date_end is not null and
713: per_apl_shd.g_old_rec.date_end <> p_date_end) then
714: hr_utility.set_location('Inside:'||l_proc,35);
715: hr_utility.set_message(801,'HR_51234_APL_INVALID_UPDATE');
716: hr_multi_message.add
717: (p_associated_column1 => 'PER_APPLICATIONS.DATE_END'
718: );
719: end if;
716: hr_multi_message.add
717: (p_associated_column1 => 'PER_APPLICATIONS.DATE_END'
718: );
719: end if;
720: hr_utility.set_location(l_proc,41);
721: --
722: -- Raise error if date_end before date_received
723: --
724: if (p_date_end < p_date_received) then
721: --
722: -- Raise error if date_end before date_received
723: --
724: if (p_date_end < p_date_received) then
725: hr_utility.set_message(801,'HR_51235_APL_DTE_END_DTE_REC');
726: hr_multi_message.add
727: (p_associated_column1 => 'PER_APPLICATIONS.DATE_RECEIVED'
728: ,p_associated_column2 => 'PER_APPLICATIONS.DATE_END'
729: );
727: (p_associated_column1 => 'PER_APPLICATIONS.DATE_RECEIVED'
728: ,p_associated_column2 => 'PER_APPLICATIONS.DATE_END'
729: );
730: end if;
731: hr_utility.set_location(l_proc,51);
732: --
733: -- Raise error if there are future changes to the applicant assignments
734: -- after date_end.
735: --
738: if csr_chk_asg_future_changes%found then
739: --
740: close csr_chk_asg_future_changes;
741: --
742: hr_utility.set_message(801,'HR_51236_APL_ASG_FUTURE_CHGS');
743: hr_multi_message.add
744: (p_associated_column1 => 'PER_APPLICATIONS.DATE_END'
745: );
746: else
748: close csr_chk_asg_future_changes;
749: --
750: end if;
751:
752: hr_utility.set_location(l_proc,61);
753: --
754: -- Raise error if there are future changes to the applicant person
755: -- after date_end.
756: --
759: if csr_chk_apl_future_changes%found then
760: --
761: close csr_chk_apl_future_changes;
762: --
763: hr_utility.set_message(801,'HR_51237_APL_PER_FUTURE_CHGS');
764: hr_multi_message.add
765: (p_associated_column1 => 'PER_APPLICATIONS.DATE_END'
766: );
767: else
768: --
769: close csr_chk_apl_future_changes;
770: --
771: end if;
772: hr_utility.set_location(l_proc,71);
773: --
774: end if;
775: hr_utility.set_location(l_proc,81);
776: --
771: end if;
772: hr_utility.set_location(l_proc,71);
773: --
774: end if;
775: hr_utility.set_location(l_proc,81);
776: --
777: end if;
778: hr_utility.set_location(' Leaving:' || l_proc,91);
779: end chk_date_end;
774: end if;
775: hr_utility.set_location(l_proc,81);
776: --
777: end if;
778: hr_utility.set_location(' Leaving:' || l_proc,91);
779: end chk_date_end;
780: --
781: -- ----------------------------------------------------------------------------
782: -- |------------------------< chk_successful_flag >---------------------------|
790: l_proc varchar2(72) := g_package||'chk_successful_flag';
791: l_api_updating boolean;
792: --
793: Begin
794: hr_utility.set_location('Entering:'||l_proc,1);
795: --
796: --
797: -- Check if application is being updated and load g_old_rec if applicable
798: --
807: nvl(p_successful_flag,hr_api.g_varchar2))
808: or
809: NOT l_api_updating) then
810: --
811: hr_utility.set_location('Inside:'||l_proc,11);
812: --
813: -- Check that successful flag is null
814: --
815: if p_successful_flag is not null then
813: -- Check that successful flag is null
814: --
815: if p_successful_flag is not null then
816: -- Error: Invalid value
817: hr_utility.set_message(801, 'HR_7441_API_ARG_NOT_SET');
818: hr_utility.set_message_token('ARG_NAME','SUCCESSFUL_FLAG');
819: hr_utility.raise_error;
820: end if;
821: hr_utility.set_location('Inside:'||l_proc,21);
814: --
815: if p_successful_flag is not null then
816: -- Error: Invalid value
817: hr_utility.set_message(801, 'HR_7441_API_ARG_NOT_SET');
818: hr_utility.set_message_token('ARG_NAME','SUCCESSFUL_FLAG');
819: hr_utility.raise_error;
820: end if;
821: hr_utility.set_location('Inside:'||l_proc,21);
822: --
815: if p_successful_flag is not null then
816: -- Error: Invalid value
817: hr_utility.set_message(801, 'HR_7441_API_ARG_NOT_SET');
818: hr_utility.set_message_token('ARG_NAME','SUCCESSFUL_FLAG');
819: hr_utility.raise_error;
820: end if;
821: hr_utility.set_location('Inside:'||l_proc,21);
822: --
823: end if;
817: hr_utility.set_message(801, 'HR_7441_API_ARG_NOT_SET');
818: hr_utility.set_message_token('ARG_NAME','SUCCESSFUL_FLAG');
819: hr_utility.raise_error;
820: end if;
821: hr_utility.set_location('Inside:'||l_proc,21);
822: --
823: end if;
824: --
825: hr_utility.set_location(' Leaving:' || l_proc, 31);
821: hr_utility.set_location('Inside:'||l_proc,21);
822: --
823: end if;
824: --
825: hr_utility.set_location(' Leaving:' || l_proc, 31);
826: --
827: exception
828: when app_exception.application_exception then
829: if hr_multi_message.exception_add
828: when app_exception.application_exception then
829: if hr_multi_message.exception_add
830: (p_associated_column1 => 'PER_APPLICATIONS.SUCCESSFUL_FLAG'
831: ) then
832: hr_utility.set_location(' Leaving:' || l_proc,40);
833: raise;
834: end if;
835: hr_utility.set_location(' Leaving:' || l_proc,41);
836: end chk_successful_flag;
831: ) then
832: hr_utility.set_location(' Leaving:' || l_proc,40);
833: raise;
834: end if;
835: hr_utility.set_location(' Leaving:' || l_proc,41);
836: end chk_successful_flag;
837: --
838: -- ----------------------------------------------------------------------------
839: -- |-----------------------< chk_termination_reason >-------------------------|
848: l_proc varchar2(72) := g_package||'chk_termination_reason';
849: l_api_updating boolean;
850: --
851: Begin
852: hr_utility.set_location('Entering:'||l_proc,1);
853: --
854: -- Check mandatory parameters have been set
855: --
856: hr_api.mandatory_arg_error
876: nvl(p_termination_reason,hr_api.g_varchar2))
877: or
878: NOT l_api_updating) then
879: --
880: hr_utility.set_location('Inside:'||l_proc,11);
881: --
882: -- Check that termination reason is in the lookups table
883: --
884: if hr_api.not_exists_in_hr_lookups
886: ,p_lookup_type => 'TERM_APL_REASON'
887: ,p_lookup_code => p_termination_reason
888: )then
889: -- Error : Invalid Termination Reason
890: hr_utility.set_message(801,'HR_51238_APL_TERM_REASON');
891: hr_utility.raise_error;
892: end if;
893: hr_utility.set_location('Inside:'||l_proc,21);
894: --
887: ,p_lookup_code => p_termination_reason
888: )then
889: -- Error : Invalid Termination Reason
890: hr_utility.set_message(801,'HR_51238_APL_TERM_REASON');
891: hr_utility.raise_error;
892: end if;
893: hr_utility.set_location('Inside:'||l_proc,21);
894: --
895: end if;
889: -- Error : Invalid Termination Reason
890: hr_utility.set_message(801,'HR_51238_APL_TERM_REASON');
891: hr_utility.raise_error;
892: end if;
893: hr_utility.set_location('Inside:'||l_proc,21);
894: --
895: end if;
896: --
897: end if;
895: end if;
896: --
897: end if;
898: --
899: hr_utility.set_location(' Leaving:'|| l_proc, 31);
900: exception
901: when app_exception.application_exception then
902: if hr_multi_message.exception_add
903: (p_associated_column1 => 'PER_APPLICATIONS.TERMINATION_REASON'
901: when app_exception.application_exception then
902: if hr_multi_message.exception_add
903: (p_associated_column1 => 'PER_APPLICATIONS.TERMINATION_REASON'
904: ) then
905: hr_utility.set_location(' Leaving:'||l_proc,40);
906: raise;
907: end if;
908: hr_utility.set_location(' Leaving:' ||l_proc,41);
909: end chk_termination_reason;
904: ) then
905: hr_utility.set_location(' Leaving:'||l_proc,40);
906: raise;
907: end if;
908: hr_utility.set_location(' Leaving:' ||l_proc,41);
909: end chk_termination_reason;
910: --
911: -- ---------------------------------------------------------------------------
912: -- |---------------------< return_legislation_code >-------------------------|
929: --
930: l_legislation_code varchar2(150);
931: l_proc varchar2(72) := g_package||'return_legislation_code';
932: begin
933: hr_utility.set_location('Entering:'|| l_proc, 10);
934: --
935: -- Ensure that all the mandatory parameter are not null
936: --
937: hr_api.mandatory_arg_error(p_api_name => l_proc,
944: close csr_leg_code;
945: --
946: -- The primary key is invalid therefore we must error
947: --
948: hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
949: hr_utility.raise_error;
950: end if;
951: --
952: close csr_leg_code;
945: --
946: -- The primary key is invalid therefore we must error
947: --
948: hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
949: hr_utility.raise_error;
950: end if;
951: --
952: close csr_leg_code;
953: hr_utility.set_location(' Leaving:' || l_proc, 20);
949: hr_utility.raise_error;
950: end if;
951: --
952: close csr_leg_code;
953: hr_utility.set_location(' Leaving:' || l_proc, 20);
954: --
955: return l_legislation_code;
956: end return_legislation_code;
957: --