23: l_error exception;
24: l_argument varchar2(30);
25: --
26: Begin
27: hr_utility.set_location('Entering:'||l_proc, 5);
28: --
29: -- Only proceed with validation if a row exists for
30: -- the current record in the HR Schema
31: --
32: if not per_cpn_shd.api_updating
33: (p_competence_id => p_rec.competence_id
34: ,p_object_version_number => p_rec.object_version_number
35: ) then
36: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
37: hr_utility.set_message_token('PROCEDURE', l_proc);
38: hr_utility.set_message_token('STEP', '5');
39: end if;
40: --
33: (p_competence_id => p_rec.competence_id
34: ,p_object_version_number => p_rec.object_version_number
35: ) then
36: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
37: hr_utility.set_message_token('PROCEDURE', l_proc);
38: hr_utility.set_message_token('STEP', '5');
39: end if;
40: --
41: hr_utility.set_location(l_proc, 6);
34: ,p_object_version_number => p_rec.object_version_number
35: ) then
36: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
37: hr_utility.set_message_token('PROCEDURE', l_proc);
38: hr_utility.set_message_token('STEP', '5');
39: end if;
40: --
41: hr_utility.set_location(l_proc, 6);
42: --
37: hr_utility.set_message_token('PROCEDURE', l_proc);
38: hr_utility.set_message_token('STEP', '5');
39: end if;
40: --
41: hr_utility.set_location(l_proc, 6);
42: --
43: if p_rec.business_group_id <> per_cpn_shd.g_old_rec.business_group_id then
44: l_argument := 'business_group_id';
45: raise l_error;
43: if p_rec.business_group_id <> per_cpn_shd.g_old_rec.business_group_id then
44: l_argument := 'business_group_id';
45: raise l_error;
46: end if;
47: hr_utility.set_location(l_proc, 7);
48:
49: if per_cpn_shd.g_old_rec.competence_cluster = 'UNIT_STANDARD'
50: and (p_rec.competence_cluster is NULL
51: or p_rec.competence_cluster <> 'UNIT_STANDARD') then
52: --
53: fnd_message.set_name('PER','HR_449146_QUA_FWK_CHG_CLUSTER');
54: fnd_message.raise_error;
55: end if;
56: hr_utility.set_location(l_proc, 8);
57:
58: --
59: exception
60: when l_error then
62: (p_api_name => l_proc
63: ,p_argument => l_argument);
64: when others then
65: raise;
66: hr_utility.set_location(' Leaving:'||l_proc, 12);
67: end chk_non_updateable_args;
68: --
69: -------------------------------------------------------------------------------
70: ----------------------< chk_definition_id >------------------------------------
132: and ( business_group_id + 0 = p_business_group_id or
133: business_group_id is null);
134: --
135: begin
136: hr_utility.set_location('Entering:'|| l_proc, 1);
137: --
138: -- Check mandatory parameters have been set
139: --
140: -- Only proceed with validation if :
150: ) or
151: (NOT l_api_updating)
152: ) then
153: --
154: -- hr_utility.set_loc --
155: -- check if the user has entered a name, as name is
156: -- is mandatory column.
157: --
158: if p_competence_definition_id is null then
155: -- check if the user has entered a name, as name is
156: -- is mandatory column.
157: --
158: if p_competence_definition_id is null then
159: hr_utility.set_message(801,'HR_51441_COMP_NAME_MANDATORY');
160: hr_utility.raise_error;
161: end if;
162:
163: --
156: -- is mandatory column.
157: --
158: if p_competence_definition_id is null then
159: hr_utility.set_message(801,'HR_51441_COMP_NAME_MANDATORY');
160: hr_utility.raise_error;
161: end if;
162:
163: --
164: -- check if name is unique
165: --
166: open csr_chk_definition_id;
167: fetch csr_chk_definition_id into l_exists;
168: if csr_chk_definition_id%found then
169: hr_utility.set_location(l_proc, 3);
170: -- name is not unique
171: close csr_chk_definition_id;
172: if l_exists is null then
173: fnd_message.set_name('PER','HR_52698_COMP_NAME_IN_GLOB');
177: fnd_message.raise_error;
178: end if;
179: end if;
180: end if;
181: hr_utility.set_location('Leaving:'|| l_proc, 10);
182: end chk_definition_id;
183: --
184: -- ----------------------------------------------------------------------------
185: -- |------------------------< chk_competence_dates >-------------------------|
255: -- and cpe.type in
256: -- ('PREREQUISITE','PERSONAL','DELIVERY','PROPOSAL','ASSESSMENT','REQUIREMENT');
257: --
258: begin
259: hr_utility.set_location('Entering:'|| l_proc, 1);
260: --
261: if (p_date_from is NULL) then
262: --
263: hr_utility.set_message(801, 'HR_51598_CPN_DATE_FROM_NULL');
259: hr_utility.set_location('Entering:'|| l_proc, 1);
260: --
261: if (p_date_from is NULL) then
262: --
263: hr_utility.set_message(801, 'HR_51598_CPN_DATE_FROM_NULL');
264: hr_utility.raise_error;
265: --
266: end if;
267: --
260: --
261: if (p_date_from is NULL) then
262: --
263: hr_utility.set_message(801, 'HR_51598_CPN_DATE_FROM_NULL');
264: hr_utility.raise_error;
265: --
266: end if;
267: --
268: -- The date from has to be >= the date to, else error.
268: -- The date from has to be >= the date to, else error.
269: --
270: if (p_date_from > nvl(p_date_to,hr_api.g_eot)) then
271: --
272: hr_utility.set_message(801, 'HR_51599_CPN_DATE_TO_LATER');
273: hr_utility.raise_error;
274: --
275: end if;
276: --
269: --
270: if (p_date_from > nvl(p_date_to,hr_api.g_eot)) then
271: --
272: hr_utility.set_message(801, 'HR_51599_CPN_DATE_TO_LATER');
273: hr_utility.raise_error;
274: --
275: end if;
276: --
277: -- only continue if called from UPDATE check
289:
290: open csr_check_dates_in_ele;
291: fetch csr_check_dates_in_ele into l_exists;
292: if csr_check_dates_in_ele%found then
293: hr_utility.set_location(l_proc, 3);
294: -- dates out of range
295: close csr_check_dates_in_ele ;
296: hr_utility.set_message(801,'HR_51809_CPN_INVALIDATE_ELE');
297: hr_utility.raise_error;
292: if csr_check_dates_in_ele%found then
293: hr_utility.set_location(l_proc, 3);
294: -- dates out of range
295: close csr_check_dates_in_ele ;
296: hr_utility.set_message(801,'HR_51809_CPN_INVALIDATE_ELE');
297: hr_utility.raise_error;
298: end if;
299: close csr_check_dates_in_ele;
300: end if;
293: hr_utility.set_location(l_proc, 3);
294: -- dates out of range
295: close csr_check_dates_in_ele ;
296: hr_utility.set_message(801,'HR_51809_CPN_INVALIDATE_ELE');
297: hr_utility.raise_error;
298: end if;
299: close csr_check_dates_in_ele;
300: end if;
301: hr_utility.set_location('Leaving:'|| l_proc, 10);
297: hr_utility.raise_error;
298: end if;
299: close csr_check_dates_in_ele;
300: end if;
301: hr_utility.set_location('Leaving:'|| l_proc, 10);
302: --
303: end chk_competence_dates;
304: -------------------------------------------------------------------------------
305: --------------------------
346: l_proc varchar2(72) := g_package||'chk_certification_required';
347:
348: --
349: begin
350: hr_utility.set_location('Entering:'|| l_proc, 1);
351: --
352: -- Check mandatory parameters have been set
353: --
354: hr_api.mandatory_arg_error
371: ) or
372: (NOT l_api_updating)
373: ) then
374: --
375: hr_utility.set_location(l_proc, 2);
376: --
377: --
378: -- If certification required is not null then
379: -- check if the value exists in hr_lookups
386: ,p_lookup_type => 'YES_NO'
387: ,p_lookup_code => p_certification_required
388: ) then
389: -- error invalid certification flag
390: hr_utility.set_message(801,'HR_51432_COMP_CERTIFY_FLAG');
391: hr_utility.raise_error;
392: end if;
393: hr_utility.set_location(l_proc, 3);
394: end if;
387: ,p_lookup_code => p_certification_required
388: ) then
389: -- error invalid certification flag
390: hr_utility.set_message(801,'HR_51432_COMP_CERTIFY_FLAG');
391: hr_utility.raise_error;
392: end if;
393: hr_utility.set_location(l_proc, 3);
394: end if;
395: end if;
389: -- error invalid certification flag
390: hr_utility.set_message(801,'HR_51432_COMP_CERTIFY_FLAG');
391: hr_utility.raise_error;
392: end if;
393: hr_utility.set_location(l_proc, 3);
394: end if;
395: end if;
396: hr_utility.set_location('Leaving: '|| l_proc, 10);
397: end chk_certification_required;
392: end if;
393: hr_utility.set_location(l_proc, 3);
394: end if;
395: end if;
396: hr_utility.set_location('Leaving: '|| l_proc, 10);
397: end chk_certification_required;
398: --
399: -------------------------------------------------------------------------------
400: --------------------------
441: l_proc varchar2(72) := g_package||'chk_evaluation_method';
442:
443: --
444: begin
445: hr_utility.set_location('Entering:'|| l_proc, 1);
446: --
447: -- Check mandatory parameters have been set
448: --
449: hr_api.mandatory_arg_error
466: ) or
467: (NOT l_api_updating)
468: ) then
469: --
470: hr_utility.set_location(l_proc, 2);
471: --
472: --
473: -- If evaluation method is not null then
474: -- check if the value exists in hr_lookups
482: (p_effective_date => p_effective_date
483: ,p_lookup_type => 'COMPETENCE_EVAL_TYPE'
484: ,p_lookup_code => p_evaluation_method
485: ) then
486: hr_utility.set_message(801,'HR_51433_COMP_EVAL_METHOD');
487: hr_utility.raise_error;
488: end if;
489: else
490: if hr_api.not_exists_in_hr_lookups
483: ,p_lookup_type => 'COMPETENCE_EVAL_TYPE'
484: ,p_lookup_code => p_evaluation_method
485: ) then
486: hr_utility.set_message(801,'HR_51433_COMP_EVAL_METHOD');
487: hr_utility.raise_error;
488: end if;
489: else
490: if hr_api.not_exists_in_hr_lookups
491: (p_effective_date => p_effective_date
492: ,p_lookup_type => 'COMPETENCE_EVAL_TYPE'
493: ,p_lookup_code => p_evaluation_method
494: ) then
495: -- error invalid evaluation method
496: hr_utility.set_message(801,'HR_51433_COMP_EVAL_METHOD');
497: hr_utility.raise_error;
498: end if;
499: end if;
500: -- ngundura end of the changes.
493: ,p_lookup_code => p_evaluation_method
494: ) then
495: -- error invalid evaluation method
496: hr_utility.set_message(801,'HR_51433_COMP_EVAL_METHOD');
497: hr_utility.raise_error;
498: end if;
499: end if;
500: -- ngundura end of the changes.
501: hr_utility.set_location(l_proc, 3);
497: hr_utility.raise_error;
498: end if;
499: end if;
500: -- ngundura end of the changes.
501: hr_utility.set_location(l_proc, 3);
502: end if;
503: end if;
504: hr_utility.set_location('Leaving: '|| l_proc, 10);
505: end chk_evaluation_method;
500: -- ngundura end of the changes.
501: hr_utility.set_location(l_proc, 3);
502: end if;
503: end if;
504: hr_utility.set_location('Leaving: '|| l_proc, 10);
505: end chk_evaluation_method;
506: --
507: -------------------------------------------------------------------------------
508: --------------------------
548: l_proc varchar2(72) := g_package||'chk_renewal_period_units';
549:
550: --
551: begin
552: hr_utility.set_location('Entering:'|| l_proc, 1);
553: --
554: -- Check mandatory parameters have been set
555: --
556: hr_api.mandatory_arg_error
573: ) or
574: (NOT l_api_updating)
575: ) then
576: --
577: hr_utility.set_location(l_proc, 2);
578: --
579: --
580: -- If renewal_period_units is not null then
581: -- check if the value exists in hr_lookups
599: ,p_lookup_type => 'FREQUENCY'
600: ,p_lookup_code => p_renewal_period_units
601: ) then
602: -- error invalid period frequency units
603: hr_utility.set_message(801,'HR_51434_COMP_RENEW_UNIT');
604: hr_utility.raise_error;
605: end if;
606: hr_utility.set_location(l_proc, 3);
607: end if;
600: ,p_lookup_code => p_renewal_period_units
601: ) then
602: -- error invalid period frequency units
603: hr_utility.set_message(801,'HR_51434_COMP_RENEW_UNIT');
604: hr_utility.raise_error;
605: end if;
606: hr_utility.set_location(l_proc, 3);
607: end if;
608: end if;
602: -- error invalid period frequency units
603: hr_utility.set_message(801,'HR_51434_COMP_RENEW_UNIT');
604: hr_utility.raise_error;
605: end if;
606: hr_utility.set_location(l_proc, 3);
607: end if;
608: end if;
609: hr_utility.set_location('Leaving: '|| l_proc, 10);
610: end chk_renewal_period_units;
605: end if;
606: hr_utility.set_location(l_proc, 3);
607: end if;
608: end if;
609: hr_utility.set_location('Leaving: '|| l_proc, 10);
610: end chk_renewal_period_units;
611: --
612: -------------------------------------------------------------------------------
613: --------------------------
653: l_proc varchar2(72) := g_package||'chk_renewable_unit_frequency';
654:
655: --
656: begin
657: hr_utility.set_location('Entering:'|| l_proc, 1);
658: --
659: -- Only proceed with validation if :
660: -- a) The current g_old_rec is current and
661: -- b) The value for renewal period units or renewal period frquency has
676: <> nvl(p_renewal_period_frequency,hr_api.g_number))))
677: or
678: NOT l_api_updating then
679: --
680: hr_utility.set_location(l_proc, 2);
681: --
682: -- Only check for a valid combination when either of the fields
683: -- are set
684: --
688: (p_renewal_period_units is not null and
689: p_renewal_period_frequency is null)
690: ) then
691: -- raise error
692: hr_utility.set_message(801,'HR_51435_COMP_DEPENDENT_FIELDS');
693: hr_utility.raise_error;
694: end if;
695: hr_utility.set_location(l_proc, 3);
696: end if;
689: p_renewal_period_frequency is null)
690: ) then
691: -- raise error
692: hr_utility.set_message(801,'HR_51435_COMP_DEPENDENT_FIELDS');
693: hr_utility.raise_error;
694: end if;
695: hr_utility.set_location(l_proc, 3);
696: end if;
697: hr_utility.set_location('Leaving: '|| l_proc, 10);
691: -- raise error
692: hr_utility.set_message(801,'HR_51435_COMP_DEPENDENT_FIELDS');
693: hr_utility.raise_error;
694: end if;
695: hr_utility.set_location(l_proc, 3);
696: end if;
697: hr_utility.set_location('Leaving: '|| l_proc, 10);
698: end chk_renewable_unit_frequency;
699: --
693: hr_utility.raise_error;
694: end if;
695: hr_utility.set_location(l_proc, 3);
696: end if;
697: hr_utility.set_location('Leaving: '|| l_proc, 10);
698: end chk_renewable_unit_frequency;
699: --
700: -----------------------------------------------------------------------------
701: ------------------------
748: where rating_scale_id = p_rating_scale_id;
749: --
750: --
751: begin
752: hr_utility.set_location('Entering:'|| l_proc, 1);
753: --
754: -- Only proceed with validation if :
755: -- a) The current g_old_rec is current and
756: -- b) The value for rating scale has changed
765: ) or
766: (NOT l_api_updating)
767: ) then
768: --
769: hr_utility.set_location(l_proc, 2);
770: --
771: if p_rating_scale_id is not null then
772: open csr_rat_scale_bus_grp_exist;
773: fetch csr_rat_scale_bus_grp_exist into l_business_group_id;
772: open csr_rat_scale_bus_grp_exist;
773: fetch csr_rat_scale_bus_grp_exist into l_business_group_id;
774: if csr_rat_scale_bus_grp_exist%notfound then
775: close csr_rat_scale_bus_grp_exist;
776: hr_utility.set_message(801,'HR_51452_COMP_RAT_SC_NOT_EXIST');
777: hr_utility.raise_error;
778: end if;
779: close csr_rat_scale_bus_grp_exist;
780: -- check if rating sacel is in the same business group
773: fetch csr_rat_scale_bus_grp_exist into l_business_group_id;
774: if csr_rat_scale_bus_grp_exist%notfound then
775: close csr_rat_scale_bus_grp_exist;
776: hr_utility.set_message(801,'HR_51452_COMP_RAT_SC_NOT_EXIST');
777: hr_utility.raise_error;
778: end if;
779: close csr_rat_scale_bus_grp_exist;
780: -- check if rating sacel is in the same business group
781: -- ngundura changes done for pa requirements.
780: -- check if rating sacel is in the same business group
781: -- ngundura changes done for pa requirements.
782: if p_business_group_id is null then
783: if l_business_group_id is not null then
784: hr_utility.set_message(801,'HR_51453_COMP_DIFF_BUS_GRP');
785: hr_utility.raise_error;
786: end if;
787: else
788: if nvl(l_business_group_id,hr_api.g_number) <> p_business_group_id and l_business_group_id is not null then
781: -- ngundura changes done for pa requirements.
782: if p_business_group_id is null then
783: if l_business_group_id is not null then
784: hr_utility.set_message(801,'HR_51453_COMP_DIFF_BUS_GRP');
785: hr_utility.raise_error;
786: end if;
787: else
788: if nvl(l_business_group_id,hr_api.g_number) <> p_business_group_id and l_business_group_id is not null then
789: hr_utility.set_message(801,'HR_51453_COMP_DIFF_BUS_GRP');
785: hr_utility.raise_error;
786: end if;
787: else
788: if nvl(l_business_group_id,hr_api.g_number) <> p_business_group_id and l_business_group_id is not null then
789: hr_utility.set_message(801,'HR_51453_COMP_DIFF_BUS_GRP');
790: hr_utility.raise_error;
791: end if;
792: end if;
793: --
786: end if;
787: else
788: if nvl(l_business_group_id,hr_api.g_number) <> p_business_group_id and l_business_group_id is not null then
789: hr_utility.set_message(801,'HR_51453_COMP_DIFF_BUS_GRP');
790: hr_utility.raise_error;
791: end if;
792: end if;
793: --
794: end if;
791: end if;
792: end if;
793: --
794: end if;
795: hr_utility.set_location(l_proc, 3);
796: end if;
797: hr_utility.set_location('Leaving: '|| l_proc, 10);
798: --
799: end chk_rat_scale_bus_grp_exist;
793: --
794: end if;
795: hr_utility.set_location(l_proc, 3);
796: end if;
797: hr_utility.set_location('Leaving: '|| l_proc, 10);
798: --
799: end chk_rat_scale_bus_grp_exist;
800: -----------------------------------------------------------------------------
801: ------------------------
849: and upper(type) = 'PROFICIENCY';
850: --
851: --
852: begin
853: hr_utility.set_location('Entering:'|| l_proc, 1);
854: --
855: -- Only proceed with validation if :
856: -- a) The current g_old_rec is current and
857: -- b) The value for rating scale has changed
866: ) or
867: (NOT l_api_updating)
868: ) then
869: --
870: hr_utility.set_location(l_proc, 2);
871: --
872: if p_rating_scale_id is not null then
873: open csr_chk_rating_scale_type;
874: fetch csr_chk_rating_scale_type into l_exists;
873: open csr_chk_rating_scale_type;
874: fetch csr_chk_rating_scale_type into l_exists;
875: if csr_chk_rating_scale_type%notfound then
876: close csr_chk_rating_scale_type;
877: hr_utility.set_message(801,'HR_51442_COMP_TYPE_NOT_PROF');
878: hr_utility.raise_error;
879: end if;
880: close csr_chk_rating_scale_type;
881: end if;
874: fetch csr_chk_rating_scale_type into l_exists;
875: if csr_chk_rating_scale_type%notfound then
876: close csr_chk_rating_scale_type;
877: hr_utility.set_message(801,'HR_51442_COMP_TYPE_NOT_PROF');
878: hr_utility.raise_error;
879: end if;
880: close csr_chk_rating_scale_type;
881: end if;
882: hr_utility.set_location(l_proc, 3);
878: hr_utility.raise_error;
879: end if;
880: close csr_chk_rating_scale_type;
881: end if;
882: hr_utility.set_location(l_proc, 3);
883: end if;
884: hr_utility.set_location('Leaving: '|| l_proc, 10);
885: --
886: end chk_rating_scale_type;
880: close csr_chk_rating_scale_type;
881: end if;
882: hr_utility.set_location(l_proc, 3);
883: end if;
884: hr_utility.set_location('Leaving: '|| l_proc, 10);
885: --
886: end chk_rating_scale_type;
887: --
888: -----------------------------------------------------------------------------
934: from per_rating_levels
935: where competence_id = p_competence_id;
936: --
937: begin
938: hr_utility.set_location('Entering:'|| l_proc, 1);
939: --
940: -- Only proceed with validation if :
941: -- a) The current g_old_rec is current and
942: -- b) The value for rating scale has changed
951: ) or
952: (NOT l_api_updating)
953: ) then
954: --
955: hr_utility.set_location(l_proc, 2);
956: --
957: if p_rating_scale_id is not null then
958: open csr_comp_has_prof_levels;
959: fetch csr_comp_has_prof_levels into l_exists;
958: open csr_comp_has_prof_levels;
959: fetch csr_comp_has_prof_levels into l_exists;
960: if csr_comp_has_prof_levels%found then
961: close csr_comp_has_prof_levels;
962: hr_utility.set_message(801,'HR_51437_COMP_PROF_SCALE');
963: hr_utility.raise_error;
964: end if;
965: close csr_comp_has_prof_levels;
966: end if;
959: fetch csr_comp_has_prof_levels into l_exists;
960: if csr_comp_has_prof_levels%found then
961: close csr_comp_has_prof_levels;
962: hr_utility.set_message(801,'HR_51437_COMP_PROF_SCALE');
963: hr_utility.raise_error;
964: end if;
965: close csr_comp_has_prof_levels;
966: end if;
967: hr_utility.set_location(l_proc, 3);
963: hr_utility.raise_error;
964: end if;
965: close csr_comp_has_prof_levels;
966: end if;
967: hr_utility.set_location(l_proc, 3);
968: end if;
969: hr_utility.set_location('Leaving: '|| l_proc, 10);
970: --
971: end chk_competence_has_prof;
965: close csr_comp_has_prof_levels;
966: end if;
967: hr_utility.set_location(l_proc, 3);
968: end if;
969: hr_utility.set_location('Leaving: '|| l_proc, 10);
970: --
971: end chk_competence_has_prof;
972: -------------------------------------------------------------------------------
973: --------------------------
1027: and rl.rating_scale_id = nvl(per_cpn_shd.g_old_rec.rating_scale_id,-9999)
1028: and ce.competence_id = p_competence_id;
1029: --
1030: begin
1031: hr_utility.set_location('Entering:'|| l_proc, 1);
1032: --
1033: -- Only proceed with validation if :
1034: -- a) The current g_old_rec is current and
1035: -- b) The value for rating scale has changed
1044: ) or
1045: (NOT l_api_updating)
1046: ) then
1047: --
1048: hr_utility.set_location(l_proc, 2);
1049: --
1050: open csr_rating_level_in_ele;
1051: fetch csr_rating_level_in_ele into l_exists;
1052: if csr_rating_level_in_ele%found then
1050: open csr_rating_level_in_ele;
1051: fetch csr_rating_level_in_ele into l_exists;
1052: if csr_rating_level_in_ele%found then
1053: close csr_rating_level_in_ele;
1054: hr_utility.set_message(801,'HR_51443_COMP_LEVELS_IN_ELE');
1055: hr_utility.raise_error;
1056: hr_utility.set_location(l_proc, 2);
1057: else
1058: close csr_rating_level_in_ele;
1051: fetch csr_rating_level_in_ele into l_exists;
1052: if csr_rating_level_in_ele%found then
1053: close csr_rating_level_in_ele;
1054: hr_utility.set_message(801,'HR_51443_COMP_LEVELS_IN_ELE');
1055: hr_utility.raise_error;
1056: hr_utility.set_location(l_proc, 2);
1057: else
1058: close csr_rating_level_in_ele;
1059: end if;
1052: if csr_rating_level_in_ele%found then
1053: close csr_rating_level_in_ele;
1054: hr_utility.set_message(801,'HR_51443_COMP_LEVELS_IN_ELE');
1055: hr_utility.raise_error;
1056: hr_utility.set_location(l_proc, 2);
1057: else
1058: close csr_rating_level_in_ele;
1059: end if;
1060: --
1057: else
1058: close csr_rating_level_in_ele;
1059: end if;
1060: --
1061: hr_utility.set_location(l_proc, 3);
1062: --
1063: end if;
1064: --
1065: hr_utility.set_location('Leaving: '|| l_proc, 10);
1061: hr_utility.set_location(l_proc, 3);
1062: --
1063: end if;
1064: --
1065: hr_utility.set_location('Leaving: '|| l_proc, 10);
1066: --
1067: end chk_competence_rating_update;
1068: --
1069: -------------------------------------------------------------------------------
1131: from per_competence_outcomes
1132: where competence_id = p_competence_id;
1133: --
1134: begin
1135: hr_utility.set_location('Entering:'|| l_proc, 1);
1136: --
1137: -- Check mandatory parameters have been set
1138: --
1139: hr_api.mandatory_arg_error
1145: open csr_chk_comp_exists_in_ele;
1146: fetch csr_chk_comp_exists_in_ele into l_exists;
1147: if csr_chk_comp_exists_in_ele%found then
1148: close csr_chk_comp_exists_in_ele;
1149: hr_utility.set_message(801,'HR_51440_COMP_EXIST_IN_ELE');
1150: hr_utility.raise_error;
1151: hr_utility.set_location(l_proc, 2);
1152: else
1153: close csr_chk_comp_exists_in_ele;
1146: fetch csr_chk_comp_exists_in_ele into l_exists;
1147: if csr_chk_comp_exists_in_ele%found then
1148: close csr_chk_comp_exists_in_ele;
1149: hr_utility.set_message(801,'HR_51440_COMP_EXIST_IN_ELE');
1150: hr_utility.raise_error;
1151: hr_utility.set_location(l_proc, 2);
1152: else
1153: close csr_chk_comp_exists_in_ele;
1154: open csr_chk_comp_exists_in_rl;
1147: if csr_chk_comp_exists_in_ele%found then
1148: close csr_chk_comp_exists_in_ele;
1149: hr_utility.set_message(801,'HR_51440_COMP_EXIST_IN_ELE');
1150: hr_utility.raise_error;
1151: hr_utility.set_location(l_proc, 2);
1152: else
1153: close csr_chk_comp_exists_in_ele;
1154: open csr_chk_comp_exists_in_rl;
1155: fetch csr_chk_comp_exists_in_rl into l_exists;
1154: open csr_chk_comp_exists_in_rl;
1155: fetch csr_chk_comp_exists_in_rl into l_exists;
1156: if csr_chk_comp_exists_in_rl%found then
1157: close csr_chk_comp_exists_in_rl;
1158: hr_utility.set_message(801,'HR_51439_COMP_PROF_LVL_EXIST');
1159: hr_utility.raise_error;
1160: hr_utility.set_location(l_proc, 3);
1161: end if;
1162: close csr_chk_comp_exists_in_rl;
1155: fetch csr_chk_comp_exists_in_rl into l_exists;
1156: if csr_chk_comp_exists_in_rl%found then
1157: close csr_chk_comp_exists_in_rl;
1158: hr_utility.set_message(801,'HR_51439_COMP_PROF_LVL_EXIST');
1159: hr_utility.raise_error;
1160: hr_utility.set_location(l_proc, 3);
1161: end if;
1162: close csr_chk_comp_exists_in_rl;
1163: open csr_chk_comp_exists_in_co;
1156: if csr_chk_comp_exists_in_rl%found then
1157: close csr_chk_comp_exists_in_rl;
1158: hr_utility.set_message(801,'HR_51439_COMP_PROF_LVL_EXIST');
1159: hr_utility.raise_error;
1160: hr_utility.set_location(l_proc, 3);
1161: end if;
1162: close csr_chk_comp_exists_in_rl;
1163: open csr_chk_comp_exists_in_co;
1164: fetch csr_chk_comp_exists_in_co into l_exists;
1163: open csr_chk_comp_exists_in_co;
1164: fetch csr_chk_comp_exists_in_co into l_exists;
1165: if csr_chk_comp_exists_in_co%found then
1166: close csr_chk_comp_exists_in_co;
1167: hr_utility.set_message(800,'HR_449134_QUA_FWK_COMP_TAB_REF');
1168: hr_utility.raise_error;
1169: hr_utility.set_location(l_proc, 4);
1170: end if;
1171: close csr_chk_comp_exists_in_co;
1164: fetch csr_chk_comp_exists_in_co into l_exists;
1165: if csr_chk_comp_exists_in_co%found then
1166: close csr_chk_comp_exists_in_co;
1167: hr_utility.set_message(800,'HR_449134_QUA_FWK_COMP_TAB_REF');
1168: hr_utility.raise_error;
1169: hr_utility.set_location(l_proc, 4);
1170: end if;
1171: close csr_chk_comp_exists_in_co;
1172: end if;
1165: if csr_chk_comp_exists_in_co%found then
1166: close csr_chk_comp_exists_in_co;
1167: hr_utility.set_message(800,'HR_449134_QUA_FWK_COMP_TAB_REF');
1168: hr_utility.raise_error;
1169: hr_utility.set_location(l_proc, 4);
1170: end if;
1171: close csr_chk_comp_exists_in_co;
1172: end if;
1173: --
1170: end if;
1171: close csr_chk_comp_exists_in_co;
1172: end if;
1173: --
1174: hr_utility.set_location('Leaving: '|| l_proc, 10);
1175: --
1176: end chk_competence_delete;
1177: --
1178: -- -----------------------------------------------------------------------------
1270: l_proc varchar2(72) := g_package||'chk_competence_cluster';
1271: l_api_updating boolean;
1272: --
1273: begin
1274: hr_utility.set_location('Entering:'|| l_proc, 10);
1275: --
1276: -- Only proceed with validation if :
1277: -- a) The current g_old_rec is current and
1278: -- b) The value for cluster name has changed
1288: ) or
1289: (NOT l_api_updating)
1290: ) then
1291: --
1292: hr_utility.set_location(l_proc, 20);
1293: --
1294: -- Check that the category exists in HR_LOOKUPS
1295: --
1296: IF hr_api.not_exists_in_hr_lookups
1297: (p_effective_date => p_effective_date
1298: ,p_lookup_type => 'PER_COMPETENCE_CLUSTER'
1299: ,p_lookup_code => p_competence_cluster) THEN
1300: --
1301: hr_utility.set_location(l_proc, 30);
1302: --
1303: hr_utility.set_message(800, 'HR_449088_COMPETENCE_CLSTR_LKP');
1304: hr_utility.raise_error;
1305: --
1299: ,p_lookup_code => p_competence_cluster) THEN
1300: --
1301: hr_utility.set_location(l_proc, 30);
1302: --
1303: hr_utility.set_message(800, 'HR_449088_COMPETENCE_CLSTR_LKP');
1304: hr_utility.raise_error;
1305: --
1306: END IF;
1307: end if;
1300: --
1301: hr_utility.set_location(l_proc, 30);
1302: --
1303: hr_utility.set_message(800, 'HR_449088_COMPETENCE_CLSTR_LKP');
1304: hr_utility.raise_error;
1305: --
1306: END IF;
1307: end if;
1308: end if;
1306: END IF;
1307: end if;
1308: end if;
1309: --
1310: hr_utility.set_location('Leaving: '|| l_proc, 40);
1311: --
1312: end chk_competence_cluster;
1313: --
1314: -------------------------------------------------------------------------------
1366: l_api_updating boolean;
1367: l_exists varchar2(1);
1368: --
1369: begin
1370: hr_utility.set_location('Entering:'|| l_proc, 10);
1371: --
1372: -- Only proceed with validation if :
1373: -- a) The current g_old_rec is current and
1374: -- b) The value for unit_standard_id has changed
1385: (NOT l_api_updating)
1386: ) then
1387: --
1388: if p_business_group_id is not NULL then
1389: hr_utility.set_location(l_proc, 20);
1390: --
1391: -- Local competence
1392: --
1393: open csr_local_unit_standard_id;
1394: fetch csr_local_unit_standard_id into l_exists;
1395: if csr_local_unit_standard_id%FOUND then
1396: close csr_local_unit_standard_id;
1397: --
1398: hr_utility.set_location(l_proc, 30);
1399: --
1400: hr_utility.set_message(800, 'HR_449089_UNIT_STD_ID_EXISTS');
1401: hr_utility.raise_error;
1402: --
1396: close csr_local_unit_standard_id;
1397: --
1398: hr_utility.set_location(l_proc, 30);
1399: --
1400: hr_utility.set_message(800, 'HR_449089_UNIT_STD_ID_EXISTS');
1401: hr_utility.raise_error;
1402: --
1403: END IF;
1404: close csr_local_unit_standard_id;
1397: --
1398: hr_utility.set_location(l_proc, 30);
1399: --
1400: hr_utility.set_message(800, 'HR_449089_UNIT_STD_ID_EXISTS');
1401: hr_utility.raise_error;
1402: --
1403: END IF;
1404: close csr_local_unit_standard_id;
1405: else
1402: --
1403: END IF;
1404: close csr_local_unit_standard_id;
1405: else
1406: hr_utility.set_location(l_proc, 40);
1407: --
1408: -- Global competence
1409: --
1410: open csr_global_unit_standard_id;
1411: fetch csr_global_unit_standard_id into l_exists;
1412: if csr_global_unit_standard_id%FOUND then
1413: close csr_global_unit_standard_id;
1414: --
1415: hr_utility.set_location(l_proc, 50);
1416: --
1417: hr_utility.set_message(800, 'HR_449089_UNIT_STD_ID_EXISTS');
1418: hr_utility.raise_error;
1419: --
1413: close csr_global_unit_standard_id;
1414: --
1415: hr_utility.set_location(l_proc, 50);
1416: --
1417: hr_utility.set_message(800, 'HR_449089_UNIT_STD_ID_EXISTS');
1418: hr_utility.raise_error;
1419: --
1420: END IF;
1421: close csr_global_unit_standard_id;
1414: --
1415: hr_utility.set_location(l_proc, 50);
1416: --
1417: hr_utility.set_message(800, 'HR_449089_UNIT_STD_ID_EXISTS');
1418: hr_utility.raise_error;
1419: --
1420: END IF;
1421: close csr_global_unit_standard_id;
1422: end if;
1422: end if;
1423: end if;
1424: end if;
1425: --
1426: hr_utility.set_location('Leaving: '|| l_proc, 60);
1427: --
1428: end chk_unit_standard_id;
1429: --
1430: -------------------------------------------------------------------------------
1466: l_proc varchar2(72) := g_package||'chk_credit_type';
1467: l_api_updating boolean;
1468: --
1469: begin
1470: hr_utility.set_location('Entering:'|| l_proc, 10);
1471: --
1472: -- Only proceed with validation if :
1473: -- a) The current g_old_rec is current and
1474: -- b) The value for credit type has changed
1484: ) or
1485: (NOT l_api_updating)
1486: ) then
1487: --
1488: hr_utility.set_location(l_proc, 20);
1489: --
1490: -- Check that the category exists in HR_LOOKUPS
1491: --
1492: IF hr_api.not_exists_in_hr_lookups
1493: (p_effective_date => p_effective_date
1494: ,p_lookup_type => 'PER_QUAL_FWK_CREDIT_TYPE'
1495: ,p_lookup_code => p_credit_type) THEN
1496: --
1497: hr_utility.set_location(l_proc, 30);
1498: --
1499: hr_utility.set_message(800, 'HR_449092_QUA_FWK_CRDT_TYP_LKP');
1500: hr_utility.raise_error;
1501: --
1495: ,p_lookup_code => p_credit_type) THEN
1496: --
1497: hr_utility.set_location(l_proc, 30);
1498: --
1499: hr_utility.set_message(800, 'HR_449092_QUA_FWK_CRDT_TYP_LKP');
1500: hr_utility.raise_error;
1501: --
1502: END IF;
1503: end if;
1496: --
1497: hr_utility.set_location(l_proc, 30);
1498: --
1499: hr_utility.set_message(800, 'HR_449092_QUA_FWK_CRDT_TYP_LKP');
1500: hr_utility.raise_error;
1501: --
1502: END IF;
1503: end if;
1504: end if;
1502: END IF;
1503: end if;
1504: end if;
1505: --
1506: hr_utility.set_location('Leaving: '|| l_proc, 40);
1507: --
1508: end chk_credit_type;
1509: --
1510: --
1547: l_proc varchar2(72) := g_package||'chk_level_type';
1548: l_api_updating boolean;
1549: --
1550: begin
1551: hr_utility.set_location('Entering:'|| l_proc, 10);
1552: --
1553: -- Only proceed with validation if :
1554: -- a) The current g_old_rec is current and
1555: -- b) The value for level type has changed
1565: ) or
1566: (NOT l_api_updating)
1567: ) then
1568: --
1569: hr_utility.set_location(l_proc, 20);
1570: --
1571: -- Check that the category exists in HR_LOOKUPS
1572: --
1573: IF hr_api.not_exists_in_hr_lookups
1574: (p_effective_date => p_effective_date
1575: ,p_lookup_type => 'PER_QUAL_FWK_LEVEL_TYPE'
1576: ,p_lookup_code => p_level_type) THEN
1577: --
1578: hr_utility.set_location(l_proc, 30);
1579: --
1580: hr_utility.set_message(800, 'HR_449090_QUA_FWK_LVL_TYP_LKP');
1581: hr_utility.raise_error;
1582: --
1576: ,p_lookup_code => p_level_type) THEN
1577: --
1578: hr_utility.set_location(l_proc, 30);
1579: --
1580: hr_utility.set_message(800, 'HR_449090_QUA_FWK_LVL_TYP_LKP');
1581: hr_utility.raise_error;
1582: --
1583: END IF;
1584: end if;
1577: --
1578: hr_utility.set_location(l_proc, 30);
1579: --
1580: hr_utility.set_message(800, 'HR_449090_QUA_FWK_LVL_TYP_LKP');
1581: hr_utility.raise_error;
1582: --
1583: END IF;
1584: end if;
1585: end if;
1583: END IF;
1584: end if;
1585: end if;
1586: --
1587: hr_utility.set_location('Leaving: '|| l_proc, 40);
1588: --
1589: end chk_level_type;
1590: --
1591: --
1628: l_proc varchar2(72) := g_package||'chk_level_number';
1629: l_api_updating boolean;
1630: --
1631: begin
1632: hr_utility.set_location('Entering:'|| l_proc, 10);
1633: --
1634: -- Only proceed with validation if :
1635: -- a) The current g_old_rec is current and
1636: -- b) The value for level has changed
1646: ) or
1647: (NOT l_api_updating)
1648: ) then
1649: --
1650: hr_utility.set_location(l_proc, 20);
1651: --
1652: -- Check that the category exists in HR_LOOKUPS
1653: --
1654: IF hr_api.not_exists_in_hr_lookups
1655: (p_effective_date => p_effective_date
1656: ,p_lookup_type => 'PER_QUAL_FWK_LEVEL'
1657: ,p_lookup_code => p_level_number) THEN
1658: --
1659: hr_utility.set_location(l_proc, 30);
1660: --
1661: hr_utility.set_message(800, 'HR_449091_QUA_FWK_LEVEL_LKP');
1662: hr_utility.raise_error;
1663: --
1657: ,p_lookup_code => p_level_number) THEN
1658: --
1659: hr_utility.set_location(l_proc, 30);
1660: --
1661: hr_utility.set_message(800, 'HR_449091_QUA_FWK_LEVEL_LKP');
1662: hr_utility.raise_error;
1663: --
1664: END IF;
1665: end if;
1658: --
1659: hr_utility.set_location(l_proc, 30);
1660: --
1661: hr_utility.set_message(800, 'HR_449091_QUA_FWK_LEVEL_LKP');
1662: hr_utility.raise_error;
1663: --
1664: END IF;
1665: end if;
1666: end if;
1664: END IF;
1665: end if;
1666: end if;
1667: --
1668: hr_utility.set_location('Leaving: '|| l_proc, 40);
1669: --
1670: end chk_level_number;
1671: --
1672: --
1709: l_proc varchar2(72) := g_package||'chk_field';
1710: l_api_updating boolean;
1711: --
1712: begin
1713: hr_utility.set_location('Entering:'|| l_proc, 10);
1714: --
1715: -- Only proceed with validation if :
1716: -- a) The current g_old_rec is current and
1717: -- b) The value for field has changed
1727: ) or
1728: (NOT l_api_updating)
1729: ) then
1730: --
1731: hr_utility.set_location(l_proc, 20);
1732: --
1733: -- Check that the category exists in HR_LOOKUPS
1734: --
1735: IF hr_api.not_exists_in_hr_lookups
1736: (p_effective_date => p_effective_date
1737: ,p_lookup_type => 'PER_QUAL_FWK_FIELD'
1738: ,p_lookup_code => p_field) THEN
1739: --
1740: hr_utility.set_location(l_proc, 30);
1741: --
1742: hr_utility.set_message(800, 'HR_449093_QUA_FWK_FIELD_LKP');
1743: hr_utility.raise_error;
1744: --
1738: ,p_lookup_code => p_field) THEN
1739: --
1740: hr_utility.set_location(l_proc, 30);
1741: --
1742: hr_utility.set_message(800, 'HR_449093_QUA_FWK_FIELD_LKP');
1743: hr_utility.raise_error;
1744: --
1745: END IF;
1746: end if;
1739: --
1740: hr_utility.set_location(l_proc, 30);
1741: --
1742: hr_utility.set_message(800, 'HR_449093_QUA_FWK_FIELD_LKP');
1743: hr_utility.raise_error;
1744: --
1745: END IF;
1746: end if;
1747: end if;
1745: END IF;
1746: end if;
1747: end if;
1748: --
1749: hr_utility.set_location('Leaving: '|| l_proc, 40);
1750: --
1751: end chk_field;
1752: --
1753: --
1790: l_proc varchar2(72) := g_package||'chk_sub_field';
1791: l_api_updating boolean;
1792: --
1793: begin
1794: hr_utility.set_location('Entering:'|| l_proc, 10);
1795: --
1796: -- Only proceed with validation if :
1797: -- a) The current g_old_rec is current and
1798: -- b) The value for sub field has changed
1808: ) or
1809: (NOT l_api_updating)
1810: ) then
1811: --
1812: hr_utility.set_location(l_proc, 20);
1813: --
1814: -- Check that the category exists in HR_LOOKUPS
1815: --
1816: IF hr_api.not_exists_in_hr_lookups
1817: (p_effective_date => p_effective_date
1818: ,p_lookup_type => 'PER_QUAL_FWK_SUB_FIELD'
1819: ,p_lookup_code => p_sub_field) THEN
1820: --
1821: hr_utility.set_location(l_proc, 30);
1822: --
1823: hr_utility.set_message(800, 'HR_449094_QUA_FWK_SUB_FLD_LKP');
1824: hr_utility.raise_error;
1825: --
1819: ,p_lookup_code => p_sub_field) THEN
1820: --
1821: hr_utility.set_location(l_proc, 30);
1822: --
1823: hr_utility.set_message(800, 'HR_449094_QUA_FWK_SUB_FLD_LKP');
1824: hr_utility.raise_error;
1825: --
1826: END IF;
1827: end if;
1820: --
1821: hr_utility.set_location(l_proc, 30);
1822: --
1823: hr_utility.set_message(800, 'HR_449094_QUA_FWK_SUB_FLD_LKP');
1824: hr_utility.raise_error;
1825: --
1826: END IF;
1827: end if;
1828: end if;
1826: END IF;
1827: end if;
1828: end if;
1829: --
1830: hr_utility.set_location('Leaving: '|| l_proc, 40);
1831: --
1832: end chk_sub_field;
1833: --
1834: --
1871: l_proc varchar2(72) := g_package||'chk_provider';
1872: l_api_updating boolean;
1873: --
1874: begin
1875: hr_utility.set_location('Entering:'|| l_proc, 10);
1876: --
1877: -- Only proceed with validation if :
1878: -- a) The current g_old_rec is current and
1879: -- b) The value for provider has changed
1889: ) or
1890: (NOT l_api_updating)
1891: ) then
1892: --
1893: hr_utility.set_location(l_proc, 20);
1894: --
1895: -- Check that the category exists in HR_LOOKUPS
1896: --
1897: IF hr_api.not_exists_in_hr_lookups
1898: (p_effective_date => p_effective_date
1899: ,p_lookup_type => 'PER_QUAL_FWK_PROVIDER'
1900: ,p_lookup_code => p_provider) THEN
1901: --
1902: hr_utility.set_location(l_proc, 30);
1903: --
1904: hr_utility.set_message(800, 'HR_449095_QUA_FWK_PROVIDER_LKP');
1905: hr_utility.raise_error;
1906: --
1900: ,p_lookup_code => p_provider) THEN
1901: --
1902: hr_utility.set_location(l_proc, 30);
1903: --
1904: hr_utility.set_message(800, 'HR_449095_QUA_FWK_PROVIDER_LKP');
1905: hr_utility.raise_error;
1906: --
1907: END IF;
1908: end if;
1901: --
1902: hr_utility.set_location(l_proc, 30);
1903: --
1904: hr_utility.set_message(800, 'HR_449095_QUA_FWK_PROVIDER_LKP');
1905: hr_utility.raise_error;
1906: --
1907: END IF;
1908: end if;
1909: end if;
1907: END IF;
1908: end if;
1909: end if;
1910: --
1911: hr_utility.set_location('Leaving: '|| l_proc, 40);
1912: --
1913: end chk_provider;
1914: --
1915: --
1952: l_proc varchar2(72) := g_package||'chk_qa_organization';
1953: l_api_updating boolean;
1954: --
1955: begin
1956: hr_utility.set_location('Entering:'|| l_proc, 10);
1957: --
1958: -- Only proceed with validation if :
1959: -- a) The current g_old_rec is current and
1960: -- b) The value for qa organization has changed
1970: ) or
1971: (NOT l_api_updating)
1972: ) then
1973: --
1974: hr_utility.set_location(l_proc, 20);
1975: --
1976: -- Check that the category exists in HR_LOOKUPS
1977: --
1978: IF hr_api.not_exists_in_hr_lookups
1979: (p_effective_date => p_effective_date
1980: ,p_lookup_type => 'PER_QUAL_FWK_QA_ORG'
1981: ,p_lookup_code => p_qa_organization) THEN
1982: --
1983: hr_utility.set_location(l_proc, 30);
1984: --
1985: hr_utility.set_message(800, 'HR_449096_QUA_FWK_QA_ORG_LKP');
1986: hr_utility.raise_error;
1987: --
1981: ,p_lookup_code => p_qa_organization) THEN
1982: --
1983: hr_utility.set_location(l_proc, 30);
1984: --
1985: hr_utility.set_message(800, 'HR_449096_QUA_FWK_QA_ORG_LKP');
1986: hr_utility.raise_error;
1987: --
1988: END IF;
1989: end if;
1982: --
1983: hr_utility.set_location(l_proc, 30);
1984: --
1985: hr_utility.set_message(800, 'HR_449096_QUA_FWK_QA_ORG_LKP');
1986: hr_utility.raise_error;
1987: --
1988: END IF;
1989: end if;
1990: end if;
1988: END IF;
1989: end if;
1990: end if;
1991: --
1992: hr_utility.set_location('Leaving: '|| l_proc, 40);
1993: --
1994: end chk_qa_organization;
1995: --
1996: -- -----------------------------------------------------------------------
2025: --
2026: l_proc varchar2(72) := g_package||'chk_df';
2027: --
2028: begin
2029: hr_utility.set_location('Entering:'||l_proc, 10);
2030: --
2031: if (((p_rec.competence_id is not null) and (
2032: nvl(per_cpn_shd.g_old_rec.attribute_category, hr_api.g_varchar2) <>
2033: nvl(p_rec.attribute_category, hr_api.g_varchar2) or
2126: ,p_attribute20_value => p_rec.attribute20
2127: );
2128: end if;
2129: --
2130: hr_utility.set_location(' Leaving:'||l_proc, 20);
2131:
2132: end chk_df;
2133: --
2134: -- ----------------------------------------------------------------------------
2165: --
2166: l_proc varchar2(72) := g_package || 'chk_ddf';
2167: --
2168: begin
2169: hr_utility.set_location('Entering:'||l_proc,10);
2170: --
2171: if (((p_rec.competence_id is not null) and (
2172: nvl(per_cpn_shd.g_old_rec.information_category, hr_api.g_varchar2) <>
2173: nvl(p_rec.information_category, hr_api.g_varchar2) or
2261: ,p_attribute19_value => p_rec.information20
2262: );
2263: end if;
2264: --
2265: hr_utility.set_location(' Leaving:'||l_proc,20);
2266: end chk_ddf;
2267: -- ---------------------------------------------------------------------------
2268: -- |---------------------------< insert_validate >----------------------------|
2269: -- ---------------------------------------------------------------------------
2273: --
2274: l_proc varchar2(72) := g_package||'insert_validate';
2275: --
2276: Begin
2277: hr_utility.set_location('Entering:'||l_proc, 5);
2278: --
2279: -- Call all supporting business operations
2280: --
2281: --
2284: if p_rec.business_group_id is not null then
2285: hr_api.validate_bus_grp_id(p_rec.business_group_id);
2286: end if;
2287: -- ngundura end of changes.
2288: hr_utility.set_location(l_proc, 10);
2289: --
2290: -- Rule Check unique competence name
2291: --
2292: per_cpn_bus.chk_definition_id
2294: ,p_business_group_id => p_rec.business_group_id
2295: ,p_competence_definition_id => p_rec.competence_definition_id
2296: ,p_object_version_number => p_rec.object_version_number
2297: );
2298: hr_utility.set_location(l_proc, 15);
2299: --
2300: -- Rule Check if rating scale exists and is in same business group as
2301: -- as that of competence
2302: --
2304: (p_competence_id => p_rec.competence_id
2305: ,p_object_version_number => p_rec.object_version_number
2306: ,p_rating_scale_id => p_rec.rating_scale_id
2307: ,p_business_group_id => p_rec.business_group_id);
2308: hr_utility.set_location(l_proc, 16);
2309: --
2310: -- Rule Check if rating scale is valid
2311: --
2312: per_cpn_bus.chk_rating_scale_type
2329: ,p_object_version_number => p_rec.object_version_number
2330: ,p_certification_required => p_rec.certification_required
2331: ,p_effective_date => p_effective_date
2332: );
2333: hr_utility.set_location(l_proc, 25);
2334: --
2335: -- Rule check Evaluation Method
2336: --
2337: per_cpn_bus.chk_evaluation_method
2339: ,p_object_version_number => p_rec.object_version_number
2340: ,p_evaluation_method => p_rec.evaluation_method
2341: ,p_effective_date => p_effective_date
2342: );
2343: hr_utility.set_location(l_proc, 30);
2344: --
2345: -- Rule check Renewal period units
2346: --
2347: per_cpn_bus.chk_renewal_period_units
2349: ,p_object_version_number => p_rec.object_version_number
2350: ,P_renewal_period_units => p_rec.renewal_period_units
2351: ,p_effective_date => p_effective_date
2352: );
2353: hr_utility.set_location(l_proc, 35);
2354: --
2355: -- Rule check dependency of period units and period frquency
2356: --
2357: per_cpn_bus.chk_renewable_unit_frequency
2364: hr_api.mandatory_arg_error (p_api_name => l_proc,
2365: p_argument => 'competence_definition_id',
2366: p_argument_value => p_rec.competence_definition_id );
2367:
2368: hr_utility.set_location(l_proc, 40);
2369: --
2370: -- Rule check competence cluster
2371: --
2372: per_cpn_bus.chk_competence_cluster
2374: ,p_competence_cluster => p_rec.competence_cluster
2375: ,p_object_version_number => p_rec.object_version_number
2376: ,p_effective_date => p_effective_date
2377: );
2378: hr_utility.set_location(l_proc, 50);
2379:
2380: --
2381: -- Rule check unit_standard_id
2382: --
2386: ,p_business_group_id => p_rec.business_group_id
2387: ,p_object_version_number => p_rec.object_version_number
2388: ,p_effective_date => p_effective_date
2389: );
2390: hr_utility.set_location(l_proc, 60);
2391:
2392: --
2393: -- Rule check credit type
2394: --
2397: ,p_credit_type => p_rec.credit_type
2398: ,p_object_version_number => p_rec.object_version_number
2399: ,p_effective_date => p_effective_date
2400: );
2401: hr_utility.set_location(l_proc, 70);
2402: --
2403: -- Rule check level type
2404: --
2405: per_cpn_bus.chk_level_type
2407: ,p_level_type => p_rec.level_type
2408: ,p_object_version_number => p_rec.object_version_number
2409: ,p_effective_date => p_effective_date
2410: );
2411: hr_utility.set_location(l_proc, 80);
2412: --
2413: -- Rule check level
2414: --
2415: per_cpn_bus.chk_level_number
2417: ,p_level_number => p_rec.level_number
2418: ,p_object_version_number => p_rec.object_version_number
2419: ,p_effective_date => p_effective_date
2420: );
2421: hr_utility.set_location(l_proc, 90);
2422:
2423: --
2424: -- Rule check field
2425: --
2428: ,p_field => p_rec.field
2429: ,p_object_version_number => p_rec.object_version_number
2430: ,p_effective_date => p_effective_date
2431: );
2432: hr_utility.set_location(l_proc, 100);
2433:
2434: --
2435: -- Rule check sub field
2436: --
2439: ,p_sub_field => p_rec.sub_field
2440: ,p_object_version_number => p_rec.object_version_number
2441: ,p_effective_date => p_effective_date
2442: );
2443: hr_utility.set_location(l_proc, 110);
2444:
2445: --
2446: -- Rule check provider
2447: --
2450: ,p_provider => p_rec.provider
2451: ,p_object_version_number => p_rec.object_version_number
2452: ,p_effective_date => p_effective_date
2453: );
2454: hr_utility.set_location(l_proc, 120);
2455:
2456: --
2457: -- Rule check qa organization
2458: --
2461: ,p_qa_organization => p_rec.qa_organization
2462: ,p_object_version_number => p_rec.object_version_number
2463: ,p_effective_date => p_effective_date
2464: );
2465: hr_utility.set_location(l_proc, 130);
2466:
2467: --
2468: --
2469: -- Call descriptive flexfield validation routines
2469: -- Call descriptive flexfield validation routines
2470: --
2471: per_cpn_bus.chk_ddf(p_rec => p_rec); -- BUG3356369
2472: --
2473: hr_utility.set_location(l_proc, 140);
2474: --
2475: per_cpn_bus.chk_df(p_rec => p_rec);
2476: --
2477: --
2474: --
2475: per_cpn_bus.chk_df(p_rec => p_rec);
2476: --
2477: --
2478: hr_utility.set_location(' Leaving:'||l_proc, 150);
2479: End insert_validate;
2480: --
2481: -- ----------------------------------------------------------------------------
2482: -- |---------------------------< update_validate >----------------------------|
2486: --
2487: l_proc varchar2(72) := g_package||'update_validate';
2488: --
2489: Begin
2490: hr_utility.set_location('Entering:'||l_proc, 5);
2491: --
2492: -- Call all supporting business operations
2493: --
2494: --
2503: ,p_business_group_id => p_rec.business_group_id
2504: ,p_competence_definition_id => p_rec.competence_definition_id
2505: ,p_object_version_number => p_rec.object_version_number
2506: );
2507: hr_utility.set_location(l_proc, 15);
2508: --
2509: -- Rule Check Dates
2510: --
2511: per_cpn_bus.chk_competence_dates
2521: ,p_object_version_number => p_rec.object_version_number
2522: ,p_certification_required => p_rec.certification_required
2523: ,p_effective_date => p_effective_date
2524: );
2525: hr_utility.set_location(l_proc, 25);
2526: --
2527: -- Rule check Evaluation Method
2528: --
2529: per_cpn_bus.chk_evaluation_method
2531: ,p_object_version_number => p_rec.object_version_number
2532: ,p_evaluation_method => p_rec.evaluation_method
2533: ,p_effective_date => p_effective_date
2534: );
2535: hr_utility.set_location(l_proc, 30);
2536: --
2537: -- Rule check Renewal period units
2538: --
2539: per_cpn_bus.chk_renewal_period_units
2541: ,p_object_version_number => p_rec.object_version_number
2542: ,p_renewal_period_units => p_rec.renewal_period_units
2543: ,p_effective_date => p_effective_date
2544: );
2545: hr_utility.set_location(l_proc, 35);
2546: --
2547: -- Rule check dependency of period units and period frquency
2548: --
2549: per_cpn_bus.chk_renewable_unit_frequency
2551: ,p_object_version_number => p_rec.object_version_number
2552: ,p_renewal_period_units => p_rec.renewal_period_units
2553: ,p_renewal_period_frequency => p_rec.renewal_period_frequency
2554: );
2555: hr_utility.set_location(l_proc, 36);
2556: --
2557: --
2558: -- Rule Check if rating scale exists and is in same business group as
2559: -- as that of competence
2562: (p_competence_id => p_rec.competence_id
2563: ,p_object_version_number => p_rec.object_version_number
2564: ,p_rating_scale_id => p_rec.rating_scale_id
2565: ,p_business_group_id => p_rec.business_group_id);
2566: hr_utility.set_location(l_proc, 37);
2567: --
2568: --
2569: -- Rule Check if rating scale is valid
2570: --
2573: ,p_object_version_number => p_rec.object_version_number
2574: ,p_rating_scale_id => p_rec.rating_scale_id
2575: );
2576: --
2577: hr_utility.set_location(l_proc, 40);
2578: --
2579: -- Rule check if competence has any Proficiency levels. If it has
2580: -- then do not allow any rating scales to be assinged to this competence.
2581: per_cpn_bus.chk_competence_has_prof
2583: ,p_object_version_number => p_rec.object_version_number
2584: ,p_rating_scale_id => p_rec.rating_scale_id
2585: );
2586: --
2587: hr_utility.set_location(l_proc, 45);
2588: --
2589: -- Rule check competence rating scale cannot be updated if the rating
2590: -- level for that rating scale is used in competence element
2591: per_cpn_bus.chk_competence_rating_update
2593: ,p_object_version_number => p_rec.object_version_number
2594: ,p_rating_scale_id => p_rec.rating_scale_id
2595: );
2596: --
2597: hr_utility.set_location(l_proc, 50);
2598: --
2599: hr_api.mandatory_arg_error (p_api_name => l_proc,
2600: p_argument => 'competence_definition_id',
2601: p_argument_value => p_rec.competence_definition_id );
2598: --
2599: hr_api.mandatory_arg_error (p_api_name => l_proc,
2600: p_argument => 'competence_definition_id',
2601: p_argument_value => p_rec.competence_definition_id );
2602: hr_utility.set_location(l_proc, 60);
2603: --
2604: -- Rule check competence cluster
2605: --
2606: per_cpn_bus.chk_competence_cluster
2608: ,p_competence_cluster => p_rec.competence_cluster
2609: ,p_object_version_number => p_rec.object_version_number
2610: ,p_effective_date => p_effective_date
2611: );
2612: hr_utility.set_location(l_proc, 70);
2613:
2614: --
2615: -- Rule check unit_standard_id
2616: --
2620: ,p_business_group_id => p_rec.business_group_id
2621: ,p_object_version_number => p_rec.object_version_number
2622: ,p_effective_date => p_effective_date
2623: );
2624: hr_utility.set_location(l_proc, 80);
2625:
2626: --
2627: -- Rule check credit type
2628: --
2631: ,p_credit_type => p_rec.credit_type
2632: ,p_object_version_number => p_rec.object_version_number
2633: ,p_effective_date => p_effective_date
2634: );
2635: hr_utility.set_location(l_proc, 90);
2636:
2637: --
2638: -- Rule check level type
2639: --
2642: ,p_level_type => p_rec.level_type
2643: ,p_object_version_number => p_rec.object_version_number
2644: ,p_effective_date => p_effective_date
2645: );
2646: hr_utility.set_location(l_proc, 100);
2647:
2648: --
2649: -- Rule check level
2650: --
2653: ,p_level_number => p_rec.level_number
2654: ,p_object_version_number => p_rec.object_version_number
2655: ,p_effective_date => p_effective_date
2656: );
2657: hr_utility.set_location(l_proc, 110);
2658:
2659: --
2660: -- Rule check field
2661: --
2664: ,p_field => p_rec.field
2665: ,p_object_version_number => p_rec.object_version_number
2666: ,p_effective_date => p_effective_date
2667: );
2668: hr_utility.set_location(l_proc, 120);
2669:
2670: --
2671: -- Rule check sub field
2672: --
2675: ,p_sub_field => p_rec.sub_field
2676: ,p_object_version_number => p_rec.object_version_number
2677: ,p_effective_date => p_effective_date
2678: );
2679: hr_utility.set_location(l_proc, 130);
2680:
2681: --
2682: -- Rule check provider
2683: --
2687: ,p_object_version_number => p_rec.object_version_number
2688: ,p_effective_date => p_effective_date
2689: );
2690:
2691: hr_utility.set_location(l_proc, 140);
2692: --
2693: -- Rule check qa organization
2694: --
2695: per_cpn_bus.chk_qa_organization
2697: ,p_qa_organization => p_rec.qa_organization
2698: ,p_object_version_number => p_rec.object_version_number
2699: ,p_effective_date => p_effective_date
2700: );
2701: hr_utility.set_location(l_proc, 150);
2702: --
2703: --
2704: -- Call descriptive flexfield validation routines
2705: --
2704: -- Call descriptive flexfield validation routines
2705: --
2706: per_cpn_bus.chk_ddf(p_rec => p_rec); -- BUG3356369
2707: --
2708: hr_utility.set_location(l_proc, 160);
2709: --
2710: per_cpn_bus.chk_df(p_rec => p_rec);
2711: --
2712: --
2709: --
2710: per_cpn_bus.chk_df(p_rec => p_rec);
2711: --
2712: --
2713: hr_utility.set_location(' Leaving:'||l_proc, 180);
2714: End update_validate;
2715: --
2716: -- ----------------------------------------------------------------------------
2717: -- |---------------------------< delete_validate >----------------------------|
2720: --
2721: l_proc varchar2(72) := g_package||'delete_validate';
2722: --
2723: Begin
2724: hr_utility.set_location('Entering:'||l_proc, 5);
2725: --
2726: -- Call all supporting business operations
2727: --
2728: -- Validate Delete of Competence
2733: (p_competence_id => p_rec.competence_id
2734: ,p_object_version_number => p_rec.object_version_number
2735: );
2736: --
2737: hr_utility.set_location(' Leaving:'||l_proc, 10);
2738: End delete_validate;
2739: --
2740: -- ----------------------------------------------------------------------------
2741: -- |-----------------------< return_legislation_code >-------------------------|
2759: -- Bug #2536636
2760: l_business_group_id per_business_groups.business_group_id%Type;
2761: --
2762: Begin
2763: hr_utility.set_location('Entering:'||l_proc, 5);
2764: --
2765: -- Ensure that all the mandatory parameters are not null
2766: --
2767: hr_api.mandatory_arg_error (p_api_name => l_proc,
2774: -- call to this function. Just return the value in the global
2775: -- variable.
2776: --
2777: l_legislation_code := g_legislation_code;
2778: hr_utility.set_location(l_proc, 10);
2779: else
2780: --
2781: -- The ID is different to the last call to this function
2782: -- or this is the first call to this function.
2787: close csr_leg_code;
2788: --
2789: -- The primary key is invalid therefore we must error out
2790: --
2791: hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
2792: hr_utility.raise_error;
2793: end if;
2794: --
2795: close csr_leg_code;
2788: --
2789: -- The primary key is invalid therefore we must error out
2790: --
2791: hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
2792: hr_utility.raise_error;
2793: end if;
2794: --
2795: close csr_leg_code;
2796: -- Bug #2536636
2803: --
2804: end if;
2805: return l_legislation_code;
2806: --
2807: hr_utility.set_location(' Leaving:'||l_proc, 10);
2808: --
2809: End return_legislation_code;
2810: --
2811: --