31: l_range_from_date DATE;
32: --
33: BEGIN
34: --
35: hr_utility.set_location('Entering:'|| l_proc, 10);
36: --
37: l_column_type := per_cagr_utility_pkg.get_column_type
38: (p_cagr_entitlement_item_id => p_cagr_entitlement_item_id
39: ,p_effective_date => p_effective_date);
42: -- that have been defined as a DATE type.
43: --
44: IF l_column_type = 'DATE' THEN
45: --
46: hr_utility.set_location(l_proc, 20);
47: --
48: -- Convert paramters to date format for comparison
49: --
50: l_value_date := p_value;
50: l_value_date := p_value;
51: l_range_from_date := p_range_from;
52: l_range_to_date := p_range_to;
53: --
54: hr_utility.set_location(l_proc||' / '||l_value_Date,25);
55: hr_utility.set_location(l_proc||' / '||l_range_from_Date,26);
56: hr_utility.set_location(l_proc||' / '||l_range_to_Date,27);
57: --
58: -- Check to ensure that the value date is within
51: l_range_from_date := p_range_from;
52: l_range_to_date := p_range_to;
53: --
54: hr_utility.set_location(l_proc||' / '||l_value_Date,25);
55: hr_utility.set_location(l_proc||' / '||l_range_from_Date,26);
56: hr_utility.set_location(l_proc||' / '||l_range_to_Date,27);
57: --
58: -- Check to ensure that the value date is within
59: -- the range_from and range_to dates.
52: l_range_to_date := p_range_to;
53: --
54: hr_utility.set_location(l_proc||' / '||l_value_Date,25);
55: hr_utility.set_location(l_proc||' / '||l_range_from_Date,26);
56: hr_utility.set_location(l_proc||' / '||l_range_to_Date,27);
57: --
58: -- Check to ensure that the value date is within
59: -- the range_from and range_to dates.
60: --
60: --
61: IF l_value_date < l_range_from_date OR
62: l_value_date > l_range_to_date THEN
63: --
64: hr_utility.set_message(800, 'HR_289331_DATE_NOT_IN_RANGE');
65: hr_utility.raise_error;
66: --
67: -- Ensure that the range_from date is
68: -- not later than the range_to date.
61: IF l_value_date < l_range_from_date OR
62: l_value_date > l_range_to_date THEN
63: --
64: hr_utility.set_message(800, 'HR_289331_DATE_NOT_IN_RANGE');
65: hr_utility.raise_error;
66: --
67: -- Ensure that the range_from date is
68: -- not later than the range_to date.
69: --
68: -- not later than the range_to date.
69: --
70: ELSIF l_range_from_date > l_range_to_date THEN
71: --
72: hr_utility.set_message(800, 'HR_289332_FROM_DT_AFTER_TO_DT');
73: hr_utility.raise_error;
74: --
75: -- Ensure that the range_to date is
76: -- not before the range_from date
69: --
70: ELSIF l_range_from_date > l_range_to_date THEN
71: --
72: hr_utility.set_message(800, 'HR_289332_FROM_DT_AFTER_TO_DT');
73: hr_utility.raise_error;
74: --
75: -- Ensure that the range_to date is
76: -- not before the range_from date
77: --
76: -- not before the range_from date
77: --
78: ELSIF l_range_to_date < l_range_from_date THEN
79: --
80: hr_utility.set_message(800, 'HR_289333_TO_DT_BEFORE_FROM_DT');
81: hr_utility.raise_error;
82: --
83: END IF;
84: --
77: --
78: ELSIF l_range_to_date < l_range_from_date THEN
79: --
80: hr_utility.set_message(800, 'HR_289333_TO_DT_BEFORE_FROM_DT');
81: hr_utility.raise_error;
82: --
83: END IF;
84: --
85: END IF;
83: END IF;
84: --
85: END IF;
86: --
87: hr_utility.set_location('Leaving:'|| l_proc, 999);
88: --
89: END chk_dates_are_valid;
90: --
91: -- ----------------------------------------------------------------------------
124: AND cei.cagr_entitlement_item_id = p_cagr_entitlement_item_id;
125: --
126: BEGIN
127: --
128: hr_utility.set_location('Entering:'|| l_proc, 10);
129: --
130: l_column_type := per_cagr_utility_pkg.get_column_type
131: (p_cagr_entitlement_item_id => p_cagr_entitlement_item_id
132: ,p_effective_date => p_effective_date);
132: ,p_effective_date => p_effective_date);
133: --
134: IF l_column_type = 'NUM' THEN
135: --
136: hr_utility.set_location(l_proc, 20);
137: --
138: l_number := p_value;
139: --
140: hr_utility.set_location(l_proc, 30);
136: hr_utility.set_location(l_proc, 20);
137: --
138: l_number := p_value;
139: --
140: hr_utility.set_location(l_proc, 30);
141: --
142: -- Check that the column size for the number
143: -- fields is not greater than the size seeded
144: -- for that api parameter
149: FETCH csr_get_item_size INTO l_column_size;
150: --
151: CLOSE csr_get_item_size;
152: --
153: hr_utility.set_location(l_proc, 40);
154: --
155: IF LENGTH(p_value) > l_column_size THEN
156: --
157: RAISE size_error;
165: END;
166: --
167: ELSIF l_column_type = 'DATE' THEN
168: --
169: hr_utility.set_location(l_proc, 50);
170: --
171: l_date := p_value;
172: --
173: ELSIF l_column_type = 'VAR' THEN
171: l_date := p_value;
172: --
173: ELSIF l_column_type = 'VAR' THEN
174: --
175: hr_utility.set_location(l_proc, 60);
176: --
177: l_value := p_value;
178: --
179: ELSE
177: l_value := p_value;
178: --
179: ELSE
180: --
181: hr_utility.set_location(l_proc, 70);
182: --
183: l_value := p_value;
184: --
185: OPEN csr_get_ccy_code;
185: OPEN csr_get_ccy_code;
186: FETCH csr_get_ccy_code INTO l_ccy_code;
187: CLOSE csr_get_ccy_code;
188: --
189: hr_utility.set_location(l_proc, 80);
190: --
191: hr_chkfmt.checkformat
192: (value => l_value
193: ,format => l_column_type
201: p_value := l_value;
202: --
203: END IF;
204: --
205: hr_utility.set_location('Leaving:'|| l_proc, 999);
206: --
207: EXCEPTION
208: --
209: WHEN size_error THEN
264: l_proc varchar2(72) := g_package||'set_security_group_id';
265: --
266: begin
267: --
268: hr_utility.set_location('Entering:'|| l_proc, 10);
269: --
270: -- Ensure that all the mandatory parameter are not null
271: --
272: hr_api.mandatory_arg_error
295: hr_api.set_security_group_id
296: (p_security_group_id => l_security_group_id
297: );
298: --
299: hr_utility.set_location(' Leaving:'|| l_proc, 20);
300: --
301: end set_security_group_id;
302: --
303: -- ---------------------------------------------------------------------------
332: l_proc varchar2(72) := g_package||'return_legislation_code';
333: --
334: Begin
335: --
336: hr_utility.set_location('Entering:'|| l_proc, 10);
337: --
338: -- Ensure that all the mandatory parameter are not null
339: --
340: hr_api.mandatory_arg_error
350: -- call to this function. Just return the value in the global
351: -- variable.
352: --
353: l_legislation_code := per_pcl_bus.g_legislation_code;
354: hr_utility.set_location(l_proc, 20);
355: else
356: --
357: -- The ID is different to the last call to this function
358: -- or this is the first call to this function.
367: close csr_leg_code;
368: fnd_message.set_name('PAY','HR_7220_INVALID_PRIMARY_KEY');
369: fnd_message.raise_error;
370: end if;
371: hr_utility.set_location(l_proc,30);
372: --
373: -- Set the global variables so the values are
374: -- available for the next call to this function.
375: --
376: close csr_leg_code;
377: per_pcl_bus.g_cagr_entitlement_line_id := p_cagr_entitlement_line_id;
378: per_pcl_bus.g_legislation_code := l_legislation_code;
379: end if;
380: hr_utility.set_location(' Leaving:'|| l_proc, 40);
381: return l_legislation_code;
382: end return_legislation_code;
383: --
384: -- ----------------------------------------------------------------------------
497: --
498:
499: BEGIN
500: --
501: hr_utility.set_location('Entering:'||l_proc, 10);
502: --
503: -- Check mandatory is not null
504: --
505: IF p_mandatory IS NULL THEN
503: -- Check mandatory is not null
504: --
505: IF p_mandatory IS NULL THEN
506: --
507: hr_utility.set_message(800, 'HR_289281_MANDATORY_NULL');
508: hr_utility.raise_error;
509: --
510: END IF;
511: --
504: --
505: IF p_mandatory IS NULL THEN
506: --
507: hr_utility.set_message(800, 'HR_289281_MANDATORY_NULL');
508: hr_utility.raise_error;
509: --
510: END IF;
511: --
512: -- Only proceed with validation if :
516: IF ( (p_cagr_entitlement_line_id IS NULL) OR
517: ((p_cagr_entitlement_line_id IS NOT NULL) AND
518: (per_pcl_shd.g_old_rec.mandatory <> p_mandatory))) THEN
519: --
520: hr_utility.set_location(l_proc, 20);
521: --
522: -- Check that the type exists in HR_LOOKUPS
523: --
524: IF hr_api.not_exists_in_dt_hr_lookups
527: ,p_lookup_code => p_mandatory
528: ,p_validation_start_date => p_validation_start_date
529: ,p_validation_end_date => p_validation_end_date) THEN
530: --
531: hr_utility.set_location(l_proc, 30);
532: --
533: hr_utility.set_message(800, 'HR_289282_MANDATORY_INVALID');
534: hr_utility.raise_error;
535: --
529: ,p_validation_end_date => p_validation_end_date) THEN
530: --
531: hr_utility.set_location(l_proc, 30);
532: --
533: hr_utility.set_message(800, 'HR_289282_MANDATORY_INVALID');
534: hr_utility.raise_error;
535: --
536: END IF;
537: --
530: --
531: hr_utility.set_location(l_proc, 30);
532: --
533: hr_utility.set_message(800, 'HR_289282_MANDATORY_INVALID');
534: hr_utility.raise_error;
535: --
536: END IF;
537: --
538: END IF;
536: END IF;
537: --
538: END IF;
539: --
540: hr_utility.set_location('Leaving '||l_proc, 40);
541: --
542: --
543: END chk_mandatory;
544: --
603: l_formatted_value VARCHAR2(2000);
604: --
605: BEGIN
606: --
607: hr_utility.set_location('Entering:'||l_proc, 10);
608: --
609: -- Check mandatory parameters has been set
610: --
611: hr_api.mandatory_arg_error
623: -- that does not use the value field then raise an error.
624: --
625: IF p_value IS NOT NULL AND l_non_value_category THEN
626: --
627: hr_utility.set_message(800, 'HR_289346_VALUE_IS_NOT_NULL');
628: hr_utility.raise_error;
629: --
630: -- Only validate if the value is populated and
631: -- the category is not a category for which the value
624: --
625: IF p_value IS NOT NULL AND l_non_value_category THEN
626: --
627: hr_utility.set_message(800, 'HR_289346_VALUE_IS_NOT_NULL');
628: hr_utility.raise_error;
629: --
630: -- Only validate if the value is populated and
631: -- the category is not a category for which the value
632: -- should not be populated (eg. Process).
632: -- should not be populated (eg. Process).
633: --
634: ELSIF p_value IS NOT NULL AND NOT l_non_value_category THEN
635: --
636: hr_utility.set_location(l_proc, 20);
637: --
638: -- Check value has been populated as it should
639: -- now contain a value.
640: --
650: IF ( (p_cagr_entitlement_line_id IS NULL) OR
651: ((p_cagr_entitlement_line_id IS NOT NULL) AND
652: (per_pcl_shd.g_old_rec.value <> p_value))) THEN
653: --
654: hr_utility.set_location(l_proc,30);
655: --
656: -- Fetch the flex_value_set_id if one has
657: -- been set for the entitlement item
658: --
658: --
659: l_flex_value_set_id := per_pcl_shd.retrieve_value_set_id
660: (p_cagr_entitlement_item_id => p_cagr_entitlement_item_id);
661: --
662: hr_utility.set_location(l_proc, 40);
663: --
664: -- If the entitlement item does not have
665: -- a value set stored against it then
666: -- just check that the value is of the
667: -- correct type for the entitlement item
668: --
669: IF l_flex_value_set_id IS NULL THEN
670: --
671: hr_utility.set_location(l_proc,50);
672: --
673: l_value := p_value;
674: --
675: -- Check that the value is of the correct
686: -- id) contents are valid for the value set.
687: --
688: ELSIF l_flex_value_set_id IS NOT NULL THEN
689: --
690: hr_utility.set_location(l_proc,60);
691: --
692: -- Fetch the value description from the value set
693: -- for the value content (which will be a fk).
694: --
695: l_value_desc := per_cagr_utility_pkg.get_name_from_value_set
696: (p_cagr_entitlement_id => p_cagr_entitlement_id
697: ,p_value => p_value);
698: --
699: hr_utility.set_location(l_proc,70);
700: --
701: -- If the value_desc is null then this means that
702: -- the value field is invalid, so raise an error.
703: --
702: -- the value field is invalid, so raise an error.
703: --
704: IF l_value_desc IS NULL THEN
705: --
706: hr_utility.set_message(800, 'HR_289283_VALUE_INVALID');
707: hr_utility.raise_error;
708: --
709: END IF;
710: --
703: --
704: IF l_value_desc IS NULL THEN
705: --
706: hr_utility.set_message(800, 'HR_289283_VALUE_INVALID');
707: hr_utility.raise_error;
708: --
709: END IF;
710: --
711: END IF;
713: END IF;
714: --
715: END IF;
716: --
717: hr_utility.set_location('Leaving: '||l_proc,999);
718: --
719: END chk_value;
720: --
721: -- ---------------------------------------------------------------------------
775: l_formatted_value VARCHAR2(2000);
776: --
777: BEGIN
778: --
779: hr_utility.set_location('Entering:'||l_proc, 10);
780: --
781: -- Check mandatory parameters has been set
782: --
783: hr_api.mandatory_arg_error
795: -- that does not use the range_from field then raise an error.
796: --
797: IF p_range_from IS NOT NULL AND l_non_value_category THEN
798: --
799: hr_utility.set_message(800, 'HR_289347_RANGE_FROM_POPULATED');
800: hr_utility.raise_error;
801: --
802: -- Only validate if the range_from is populated and
803: -- the category is not a category for which the range_from
796: --
797: IF p_range_from IS NOT NULL AND l_non_value_category THEN
798: --
799: hr_utility.set_message(800, 'HR_289347_RANGE_FROM_POPULATED');
800: hr_utility.raise_error;
801: --
802: -- Only validate if the range_from is populated and
803: -- the category is not a category for which the range_from
804: -- should not be populated (eg. Process).
804: -- should not be populated (eg. Process).
805: --
806: ELSIF p_range_from IS NOT NULL AND NOT l_non_value_category THEN
807: --
808: hr_utility.set_location(l_proc, 20);
809: --
810: -- Only proceed with validation if :
811: -- a) Inserting or
812: -- b) The value for range_from has changed
814: IF ( (p_cagr_entitlement_line_id IS NULL) OR
815: ((p_cagr_entitlement_line_id IS NOT NULL) AND
816: (per_pcl_shd.g_old_rec.range_from <> p_range_from)))THEN
817: --
818: hr_utility.set_location(l_proc,30);
819: --
820: -- Fetch the flex_value_set_id if one has
821: -- been set for the entitlement item
822: --
822: --
823: l_flex_value_set_id := per_pcl_shd.retrieve_value_set_id
824: (p_cagr_entitlement_item_id => p_cagr_entitlement_item_id);
825: --
826: hr_utility.set_location(l_proc, 40);
827: --
828: -- If the entitlement item does not have
829: -- a value set stored against it then
830: -- just check that the value is of the
831: -- correct type for the entitlement item
832: --
833: IF l_flex_value_set_id IS NULL THEN
834: --
835: hr_utility.set_location(l_proc,50);
836: --
837: l_range_from := p_range_from;
838: --
839: -- Check that the value is of the correct
850: -- id) contents are valid for the value set.
851: --
852: ELSIF l_flex_value_set_id IS NOT NULL THEN
853: --
854: hr_utility.set_location(l_proc,60);
855: --
856: -- Fetch the value description from the value set
857: -- for the value content (which will be a fk).
858: --
859: l_range_from_desc := per_cagr_utility_pkg.get_name_from_value_set
860: (p_cagr_entitlement_id => p_cagr_entitlement_item_id
861: ,p_value => p_range_from);
862: --
863: hr_utility.set_location(l_proc,70);
864: --
865: -- If the value_desc is null then this means that
866: -- the value field is invalid, so raise an error.
867: --
866: -- the value field is invalid, so raise an error.
867: --
868: IF l_range_from_desc IS NULL THEN
869: --
870: hr_utility.set_message(800, 'HR_289284_RANGE_FROM_INVALID');
871: hr_utility.raise_error;
872: --
873: END IF;
874: --
867: --
868: IF l_range_from_desc IS NULL THEN
869: --
870: hr_utility.set_message(800, 'HR_289284_RANGE_FROM_INVALID');
871: hr_utility.raise_error;
872: --
873: END IF;
874: --
875: END IF;
877: END IF;
878: --
879: END IF;
880: --
881: hr_utility.set_location('Leaving: '||l_proc,999);
882: --
883: END chk_range_from;
884: --
885: -- ---------------------------------------------------------------------------
939: l_formatted_value VARCHAR2(2000);
940: --
941: BEGIN
942: --
943: hr_utility.set_location('Entering:'||l_proc, 10);
944: --
945: -- Check mandatory parameters has been set
946: --
947: hr_api.mandatory_arg_error
959: -- that does not use the range_to field then raise an error.
960: --
961: IF p_range_to IS NOT NULL AND l_non_value_category THEN
962: --
963: hr_utility.set_message(800, 'HR_289348_RANGE_TO_POPULATED');
964: hr_utility.raise_error;
965: --
966: -- Only validate if the range_to is populated and
967: -- the category is not a category for which the range_to
960: --
961: IF p_range_to IS NOT NULL AND l_non_value_category THEN
962: --
963: hr_utility.set_message(800, 'HR_289348_RANGE_TO_POPULATED');
964: hr_utility.raise_error;
965: --
966: -- Only validate if the range_to is populated and
967: -- the category is not a category for which the range_to
968: -- should not be populated (eg. Process).
968: -- should not be populated (eg. Process).
969: --
970: ELSIF p_range_to IS NOT NULL AND NOT l_non_value_category THEN
971: --
972: hr_utility.set_location(l_proc, 20);
973: --
974: hr_utility.set_location(l_proc, 20);
975: --
976: -- Only proceed with validation if :
970: ELSIF p_range_to IS NOT NULL AND NOT l_non_value_category THEN
971: --
972: hr_utility.set_location(l_proc, 20);
973: --
974: hr_utility.set_location(l_proc, 20);
975: --
976: -- Only proceed with validation if :
977: -- a) Inserting or
978: -- b) The value for range_to has changed
980: IF ( (p_cagr_entitlement_line_id IS NULL) OR
981: ((p_cagr_entitlement_line_id IS NOT NULL) AND
982: (per_pcl_shd.g_old_rec.range_to <> p_range_to))) THEN
983: --
984: hr_utility.set_location(l_proc,30);
985: --
986: -- Fetch the flex_value_set_id if one has
987: -- been set for the entitlement item
988: --
988: --
989: l_flex_value_set_id := per_pcl_shd.retrieve_value_set_id
990: (p_cagr_entitlement_item_id => p_cagr_entitlement_item_id);
991: --
992: hr_utility.set_location(l_proc, 40);
993: --
994: -- If the entitlement item does not have
995: -- a value set stored against it then
996: -- just check that the value is of the
997: -- correct type for the entitlement item
998: --
999: IF l_flex_value_set_id IS NULL THEN
1000: --
1001: hr_utility.set_location(l_proc,50);
1002: --
1003: l_range_to := p_range_to;
1004: --
1005: -- Check that the value is of the correct
1016: -- id) contents are valid for the value set.
1017: --
1018: ELSIF l_flex_value_set_id IS NOT NULL THEN
1019: --
1020: hr_utility.set_location(l_proc,60);
1021: --
1022: -- Fetch the value description from the value set
1023: -- for the value content (which will be a fk).
1024: --
1025: l_range_to_desc := per_cagr_utility_pkg.get_name_from_value_set
1026: (p_cagr_entitlement_id => p_cagr_entitlement_item_id
1027: ,p_value => p_range_to);
1028: --
1029: hr_utility.set_location(l_proc,70);
1030: --
1031: -- If the value_desc is null then this means that
1032: -- the value field is invalid, so raise an error.
1033: --
1032: -- the value field is invalid, so raise an error.
1033: --
1034: IF l_range_to_desc IS NULL THEN
1035: --
1036: hr_utility.set_message(800, 'HR_289285_RANGE_TO_INVALID');
1037: hr_utility.raise_error;
1038: --
1039: END IF;
1040: --
1033: --
1034: IF l_range_to_desc IS NULL THEN
1035: --
1036: hr_utility.set_message(800, 'HR_289285_RANGE_TO_INVALID');
1037: hr_utility.raise_error;
1038: --
1039: END IF;
1040: --
1041: END IF;
1043: END IF;
1044: --
1045: END IF;
1046: --
1047: hr_utility.set_location('Leaving: '||l_proc,999);
1048: --
1049: END chk_range_to;
1050: --
1051: -- ---------------------------------------------------------------------------
1121: --
1122:
1123: BEGIN
1124: --
1125: hr_utility.set_location('Entering:'||l_proc, 10);
1126: --
1127: -- Check category is pay scales
1128:
1129: OPEN csr_chk_category;
1128:
1129: OPEN csr_chk_category;
1130: FETCH csr_chk_category INTO l_cat;
1131:
1132: hr_utility.set_location(l_proc,20);
1133:
1134: IF (l_cat = 'PYS') then
1135:
1136: -- Check if parent_spine_id is not null
1139: (p_api_name => l_proc
1140: ,p_argument => 'grade_spine_id'
1141: ,p_argument_value => p_grade_spine_id);
1142:
1143: hr_utility.set_location('Leaving:'||l_proc, 30);
1144:
1145: -- check while inserting or updating grade_spine_id
1146:
1147: IF ((p_cagr_entitlement_line_id IS NULL) OR
1147: IF ((p_cagr_entitlement_line_id IS NULL) OR
1148: ((p_cagr_entitlement_line_id IS NOT NULL) AND
1149: (per_pcl_shd.g_old_rec.grade_spine_id <> p_grade_spine_id))) THEN
1150:
1151: hr_utility.set_location('Leaving:'||l_proc, 40);
1152:
1153: OPEN csr_chk_grd_fk_start;
1154: FETCH csr_chk_grd_fk_start INTO l_grd;
1155:
1153: OPEN csr_chk_grd_fk_start;
1154: FETCH csr_chk_grd_fk_start INTO l_grd;
1155:
1156: IF csr_chk_grd_fk_start%NOTFOUND THEN
1157: hr_utility.set_location(l_proc,50);
1158: CLOSE csr_chk_grd_fk_start;
1159: hr_utility.set_message(800, 'HR_289287_GRD_EFFECTIVE_DT_INV');
1160: hr_utility.raise_error;
1161: END IF;
1155:
1156: IF csr_chk_grd_fk_start%NOTFOUND THEN
1157: hr_utility.set_location(l_proc,50);
1158: CLOSE csr_chk_grd_fk_start;
1159: hr_utility.set_message(800, 'HR_289287_GRD_EFFECTIVE_DT_INV');
1160: hr_utility.raise_error;
1161: END IF;
1162:
1163: CLOSE csr_chk_grd_fk_start;
1156: IF csr_chk_grd_fk_start%NOTFOUND THEN
1157: hr_utility.set_location(l_proc,50);
1158: CLOSE csr_chk_grd_fk_start;
1159: hr_utility.set_message(800, 'HR_289287_GRD_EFFECTIVE_DT_INV');
1160: hr_utility.raise_error;
1161: END IF;
1162:
1163: CLOSE csr_chk_grd_fk_start;
1164: hr_utility.set_location(l_proc,60);
1160: hr_utility.raise_error;
1161: END IF;
1162:
1163: CLOSE csr_chk_grd_fk_start;
1164: hr_utility.set_location(l_proc,60);
1165:
1166: OPEN csr_chk_grd_fk_end;
1167: FETCH csr_chk_grd_fk_end INTO l_grd;
1168:
1166: OPEN csr_chk_grd_fk_end;
1167: FETCH csr_chk_grd_fk_end INTO l_grd;
1168:
1169: IF csr_chk_grd_fk_end%NOTFOUND THEN
1170: hr_utility.set_location(l_proc,70);
1171: CLOSE csr_chk_grd_fk_end;
1172: hr_utility.set_message(800, 'HR_289287_GRD_EFFECTIVE_DT_INV');
1173: hr_utility.raise_error;
1174: END IF;
1168:
1169: IF csr_chk_grd_fk_end%NOTFOUND THEN
1170: hr_utility.set_location(l_proc,70);
1171: CLOSE csr_chk_grd_fk_end;
1172: hr_utility.set_message(800, 'HR_289287_GRD_EFFECTIVE_DT_INV');
1173: hr_utility.raise_error;
1174: END IF;
1175:
1176: CLOSE csr_chk_grd_fk_end;
1169: IF csr_chk_grd_fk_end%NOTFOUND THEN
1170: hr_utility.set_location(l_proc,70);
1171: CLOSE csr_chk_grd_fk_end;
1172: hr_utility.set_message(800, 'HR_289287_GRD_EFFECTIVE_DT_INV');
1173: hr_utility.raise_error;
1174: END IF;
1175:
1176: CLOSE csr_chk_grd_fk_end;
1177: hr_utility.set_location(l_proc,80);
1173: hr_utility.raise_error;
1174: END IF;
1175:
1176: CLOSE csr_chk_grd_fk_end;
1177: hr_utility.set_location(l_proc,80);
1178:
1179: END IF;
1180:
1181:
1184: END IF;
1185:
1186:
1187: CLOSE csr_chk_category;
1188: hr_utility.set_location(l_proc,100);
1189: --
1190:
1191: END chk_grade_spine_id;
1192:
1248: l_cat per_cagr_entitlement_items.category_name%TYPE;
1249: --
1250: BEGIN
1251: --
1252: hr_utility.set_location('Entering:'||l_proc, 10);
1253:
1254: -- Check category is pay scales
1255:
1256: OPEN csr_chk_category;
1255:
1256: OPEN csr_chk_category;
1257: FETCH csr_chk_category INTO l_cat;
1258: --
1259: hr_utility.set_location(l_proc,20);
1260:
1261: IF (l_cat = 'PYS') then
1262:
1263: -- Check if parent_spine_id is not null
1266: (p_api_name => l_proc
1267: ,p_argument => 'parent_spine_id'
1268: ,p_argument_value => p_parent_spine_id);
1269:
1270: hr_utility.set_location('Leaving:'||l_proc, 30);
1271:
1272: --
1273: -- check while inserting or updating parent_spine_id
1274: --
1277: ((p_cagr_entitlement_line_id IS NOT NULL) AND
1278: (per_pcl_shd.g_old_rec.parent_spine_id <> p_parent_spine_id))) THEN
1279:
1280:
1281: hr_utility.set_location(l_proc,40);
1282: OPEN csr_chk_parent_spine_fk;
1283: FETCH csr_chk_parent_spine_fk INTO l_dummy;
1284: hr_utility.set_location(l_proc,50);
1285:
1280:
1281: hr_utility.set_location(l_proc,40);
1282: OPEN csr_chk_parent_spine_fk;
1283: FETCH csr_chk_parent_spine_fk INTO l_dummy;
1284: hr_utility.set_location(l_proc,50);
1285:
1286: IF csr_chk_parent_spine_fk%NOTFOUND THEN
1287:
1288: hr_utility.set_location(l_proc,60);
1284: hr_utility.set_location(l_proc,50);
1285:
1286: IF csr_chk_parent_spine_fk%NOTFOUND THEN
1287:
1288: hr_utility.set_location(l_proc,60);
1289: CLOSE csr_chk_parent_spine_fk;
1290: hr_utility.set_message(800, 'HR_289286_PARENT_SPINE_INVALID');
1291: hr_utility.raise_error;
1292:
1286: IF csr_chk_parent_spine_fk%NOTFOUND THEN
1287:
1288: hr_utility.set_location(l_proc,60);
1289: CLOSE csr_chk_parent_spine_fk;
1290: hr_utility.set_message(800, 'HR_289286_PARENT_SPINE_INVALID');
1291: hr_utility.raise_error;
1292:
1293: END IF;
1294:
1287:
1288: hr_utility.set_location(l_proc,60);
1289: CLOSE csr_chk_parent_spine_fk;
1290: hr_utility.set_message(800, 'HR_289286_PARENT_SPINE_INVALID');
1291: hr_utility.raise_error;
1292:
1293: END IF;
1294:
1295: CLOSE csr_chk_parent_spine_fk;
1292:
1293: END IF;
1294:
1295: CLOSE csr_chk_parent_spine_fk;
1296: hr_utility.set_location(l_proc,70);
1297:
1298: END IF;
1299:
1300: END IF;
1298: END IF;
1299:
1300: END IF;
1301: --
1302: hr_utility.set_location('Leaving: '||l_proc,100);
1303: --
1304: END chk_parent_spine_id;
1305:
1306:
1350: --
1351:
1352: BEGIN
1353: --
1354: hr_utility.set_location('Entering:'||l_proc, 10);
1355:
1356: IF p_status is not null THEN
1357:
1358: --
1359: -- Only proceed with validation if :
1360: -- a) Inserting or
1361: -- b) The value for status has changed
1362: --
1363: hr_utility.set_location(l_proc, 20);
1364: IF ((p_cagr_entitlement_line_id IS NULL) OR
1365: ((p_cagr_entitlement_line_id IS NOT NULL) AND
1366: (per_pcl_shd.g_old_rec.status <> p_status))) THEN
1367:
1364: IF ((p_cagr_entitlement_line_id IS NULL) OR
1365: ((p_cagr_entitlement_line_id IS NOT NULL) AND
1366: (per_pcl_shd.g_old_rec.status <> p_status))) THEN
1367:
1368: hr_utility.set_location(l_proc, 30);
1369: --
1370: -- Check that the type exists in HR_LOOKUPS
1371: --
1372:
1376: ,p_lookup_code => p_status
1377: ,p_validation_start_date => p_validation_start_date
1378: ,p_validation_end_date => p_validation_end_date) THEN
1379:
1380: hr_utility.set_location(l_proc, 40);
1381: hr_utility.set_message(800, 'HR_289267_STATUS_INVALID');
1382: hr_utility.raise_error;
1383:
1384: END IF;
1377: ,p_validation_start_date => p_validation_start_date
1378: ,p_validation_end_date => p_validation_end_date) THEN
1379:
1380: hr_utility.set_location(l_proc, 40);
1381: hr_utility.set_message(800, 'HR_289267_STATUS_INVALID');
1382: hr_utility.raise_error;
1383:
1384: END IF;
1385:
1378: ,p_validation_end_date => p_validation_end_date) THEN
1379:
1380: hr_utility.set_location(l_proc, 40);
1381: hr_utility.set_message(800, 'HR_289267_STATUS_INVALID');
1382: hr_utility.raise_error;
1383:
1384: END IF;
1385:
1386: END IF;
1386: END IF;
1387:
1388: ELSE
1389:
1390: hr_utility.set_location('Leaving '||l_proc, 50);
1391: hr_utility.set_message(800, 'HR_289267_STATUS_INVALID');
1392: hr_utility.raise_error;
1393:
1394: END IF;
1387:
1388: ELSE
1389:
1390: hr_utility.set_location('Leaving '||l_proc, 50);
1391: hr_utility.set_message(800, 'HR_289267_STATUS_INVALID');
1392: hr_utility.raise_error;
1393:
1394: END IF;
1395:
1388: ELSE
1389:
1390: hr_utility.set_location('Leaving '||l_proc, 50);
1391: hr_utility.set_message(800, 'HR_289267_STATUS_INVALID');
1392: hr_utility.raise_error;
1393:
1394: END IF;
1395:
1396:
1458: --
1459:
1460: BEGIN
1461: --
1462: hr_utility.set_location('Entering:'||l_proc, 10);
1463: --
1464: -- If the oipl_id has not been set to the default
1465: -- value (0) then continue with the validation
1466: --
1473: IF ( (p_cagr_entitlement_line_id IS NULL) OR
1474: ((p_cagr_entitlement_line_id IS NOT NULL) AND
1475: (per_pcl_shd.g_old_rec.oipl_id <> p_oipl_id))) THEN
1476:
1477: hr_utility.set_location('Leaving:'||l_proc, 20);
1478: OPEN csr_chk_oipl_fk_start;
1479: FETCH csr_chk_oipl_fk_start INTO l_dummy;
1480:
1481: IF csr_chk_oipl_fk_start%NOTFOUND THEN
1479: FETCH csr_chk_oipl_fk_start INTO l_dummy;
1480:
1481: IF csr_chk_oipl_fk_start%NOTFOUND THEN
1482:
1483: hr_utility.set_location(l_proc,30);
1484: CLOSE csr_chk_oipl_fk_start;
1485: hr_utility.set_message(800, 'HR_289288_OIPL_ID_DT_INVALID');
1486: hr_utility.raise_error;
1487:
1481: IF csr_chk_oipl_fk_start%NOTFOUND THEN
1482:
1483: hr_utility.set_location(l_proc,30);
1484: CLOSE csr_chk_oipl_fk_start;
1485: hr_utility.set_message(800, 'HR_289288_OIPL_ID_DT_INVALID');
1486: hr_utility.raise_error;
1487:
1488: END IF;
1489:
1482:
1483: hr_utility.set_location(l_proc,30);
1484: CLOSE csr_chk_oipl_fk_start;
1485: hr_utility.set_message(800, 'HR_289288_OIPL_ID_DT_INVALID');
1486: hr_utility.raise_error;
1487:
1488: END IF;
1489:
1490: CLOSE csr_chk_oipl_fk_start;
1487:
1488: END IF;
1489:
1490: CLOSE csr_chk_oipl_fk_start;
1491: hr_utility.set_location(l_proc,40);
1492:
1493: OPEN csr_chk_oipl_fk_end;
1494: FETCH csr_chk_oipl_fk_end INTO l_dummy;
1495:
1494: FETCH csr_chk_oipl_fk_end INTO l_dummy;
1495:
1496: IF csr_chk_oipl_fk_end%NOTFOUND THEN
1497:
1498: hr_utility.set_location(l_proc,50);
1499: CLOSE csr_chk_oipl_fk_end;
1500: hr_utility.set_message(800, 'HR_289288_OIPL_ID_DT_INVALID');
1501: hr_utility.raise_error;
1502:
1496: IF csr_chk_oipl_fk_end%NOTFOUND THEN
1497:
1498: hr_utility.set_location(l_proc,50);
1499: CLOSE csr_chk_oipl_fk_end;
1500: hr_utility.set_message(800, 'HR_289288_OIPL_ID_DT_INVALID');
1501: hr_utility.raise_error;
1502:
1503: END IF;
1504:
1497:
1498: hr_utility.set_location(l_proc,50);
1499: CLOSE csr_chk_oipl_fk_end;
1500: hr_utility.set_message(800, 'HR_289288_OIPL_ID_DT_INVALID');
1501: hr_utility.raise_error;
1502:
1503: END IF;
1504:
1505: CLOSE csr_chk_oipl_fk_end;
1502:
1503: END IF;
1504:
1505: CLOSE csr_chk_oipl_fk_end;
1506: hr_utility.set_location(l_proc,60);
1507:
1508: END IF;
1509:
1510: END IF;
1508: END IF;
1509:
1510: END IF;
1511: --
1512: hr_utility.set_location('Leaving: '||l_proc,100);
1513: --
1514: END chk_oipl_id;
1515:
1516: --
1629: l_eligy_prfl_id per_cagr_entitlement_lines_f.oipl_id%TYPE;
1630: --
1631: BEGIN
1632: --
1633: hr_utility.set_location('Entering:'||l_proc, 10);
1634: --
1635: -- Check mandatory parameters has been set
1636: --
1637: hr_api.mandatory_arg_error
1654: (per_pcl_shd.g_old_rec.grade_spine_id <> p_grade_spine_id))
1655: )
1656: ) THEN
1657: --
1658: hr_utility.set_location(l_proc, 20);
1659: --
1660: -- If the entitlement has been defined with a formula
1661: -- for calculating elibility and cagr values then
1662: -- raise an error.
1662: -- raise an error.
1663: --
1664: IF p_formula_criteria = 'F' THEN
1665: --
1666: hr_utility.set_message(800, 'HR_289392_ELIG_FOR_FORMULA_ENT');
1667: hr_utility.raise_error;
1668: --
1669: END IF;
1670: --
1663: --
1664: IF p_formula_criteria = 'F' THEN
1665: --
1666: hr_utility.set_message(800, 'HR_289392_ELIG_FOR_FORMULA_ENT');
1667: hr_utility.raise_error;
1668: --
1669: END IF;
1670: --
1671: -- If the category is Payscale then check to see
1673: -- are unique for this entitlement
1674: --
1675: IF p_category_name = 'PYS' THEN
1676: --
1677: hr_utility.set_location(l_proc, 30);
1678: --
1679: OPEN csr_chk_payscale;
1680: FETCH csr_chk_payscale INTO l_eligy_prfl_id;
1681: --
1682: IF csr_chk_payscale%NOTFOUND THEN
1683: --
1684: CLOSE csr_chk_payscale;
1685: --
1686: hr_utility.set_message(800, 'HR_289344_ELIGY_PRFL_ID_INV');
1687: hr_utility.raise_error;
1688: --
1689: ELSE
1690: --
1683: --
1684: CLOSE csr_chk_payscale;
1685: --
1686: hr_utility.set_message(800, 'HR_289344_ELIGY_PRFL_ID_INV');
1687: hr_utility.raise_error;
1688: --
1689: ELSE
1690: --
1691: CLOSE csr_chk_payscale;
1696: -- if the eligibility profile is unique for this entitlement
1697: --
1698: ELSIF p_category_name <> 'PYS' THEN
1699: --
1700: hr_utility.set_location(l_proc, 40);
1701: --
1702: -- Check that the elig_prfl_id exists and is unique
1703: -- for the collective agreement entitlement.
1704: --
1708: IF csr_chk_id%NOTFOUND THEN
1709: --
1710: CLOSE csr_chk_id;
1711: --
1712: hr_utility.set_message(800, 'HR_289344_ELIGY_PRFL_ID_INV');
1713: hr_utility.raise_error;
1714: --
1715: ELSE
1716: --
1709: --
1710: CLOSE csr_chk_id;
1711: --
1712: hr_utility.set_message(800, 'HR_289344_ELIGY_PRFL_ID_INV');
1713: hr_utility.raise_error;
1714: --
1715: ELSE
1716: --
1717: CLOSE csr_chk_id;
1721: END IF;
1722: --
1723: END IF;
1724: --
1725: hr_utility.set_location('Leaving: '||l_proc,999);
1726: --
1727: END chk_eligy_prfl_id;
1728: --
1729: -- ---------------------------------------------------------------------------
1797: l_cat per_cagr_entitlement_items.category_name%TYPE;
1798: --
1799: BEGIN
1800: --
1801: hr_utility.set_location('Entering:'||l_proc, 10);
1802:
1803: -- Check category is pay scales
1804:
1805: OPEN csr_chk_category;
1804:
1805: OPEN csr_chk_category;
1806: FETCH csr_chk_category INTO l_cat;
1807: --
1808: hr_utility.set_location(l_proc,20);
1809:
1810: IF (l_cat = 'PYS') then
1811:
1812: -- Check if step_id is not null
1814: (p_api_name => l_proc
1815: ,p_argument => 'step_id'
1816: ,p_argument_value => p_step_id);
1817:
1818: hr_utility.set_location('Leaving:'||l_proc, 30);
1819: --
1820: -- Only proceed with validation if :
1821: -- a) Inserting or
1822: -- b) The value for step_id has changed
1825: IF ((p_cagr_entitlement_line_id IS NULL) OR
1826: ((p_cagr_entitlement_line_id IS NOT NULL) AND
1827: (per_pcl_shd.g_old_rec.step_id <> p_step_id))) THEN
1828:
1829: hr_utility.set_location(l_proc, 40);
1830: OPEN csr_chk_step_fk_start;
1831: FETCH csr_chk_step_fk_start INTO l_dummy;
1832: hr_utility.set_location(l_proc, 50);
1833:
1828:
1829: hr_utility.set_location(l_proc, 40);
1830: OPEN csr_chk_step_fk_start;
1831: FETCH csr_chk_step_fk_start INTO l_dummy;
1832: hr_utility.set_location(l_proc, 50);
1833:
1834: IF csr_chk_step_fk_start%NOTFOUND THEN
1835:
1836: hr_utility.set_location(l_proc,60);
1832: hr_utility.set_location(l_proc, 50);
1833:
1834: IF csr_chk_step_fk_start%NOTFOUND THEN
1835:
1836: hr_utility.set_location(l_proc,60);
1837: CLOSE csr_chk_step_fk_start;
1838: hr_utility.set_message(800, 'HR_289289_STEP_ID_DT_INVALID');
1839: hr_utility.raise_error;
1840:
1834: IF csr_chk_step_fk_start%NOTFOUND THEN
1835:
1836: hr_utility.set_location(l_proc,60);
1837: CLOSE csr_chk_step_fk_start;
1838: hr_utility.set_message(800, 'HR_289289_STEP_ID_DT_INVALID');
1839: hr_utility.raise_error;
1840:
1841: END IF;
1842:
1835:
1836: hr_utility.set_location(l_proc,60);
1837: CLOSE csr_chk_step_fk_start;
1838: hr_utility.set_message(800, 'HR_289289_STEP_ID_DT_INVALID');
1839: hr_utility.raise_error;
1840:
1841: END IF;
1842:
1843: CLOSE csr_chk_step_fk_start;
1840:
1841: END IF;
1842:
1843: CLOSE csr_chk_step_fk_start;
1844: hr_utility.set_location(l_proc,70);
1845: OPEN csr_chk_step_fk_end;
1846: FETCH csr_chk_step_fk_end INTO l_dummy;
1847: hr_utility.set_location(l_proc, 80);
1848:
1843: CLOSE csr_chk_step_fk_start;
1844: hr_utility.set_location(l_proc,70);
1845: OPEN csr_chk_step_fk_end;
1846: FETCH csr_chk_step_fk_end INTO l_dummy;
1847: hr_utility.set_location(l_proc, 80);
1848:
1849: IF csr_chk_step_fk_end%NOTFOUND THEN
1850:
1851: hr_utility.set_location(l_proc,90);
1847: hr_utility.set_location(l_proc, 80);
1848:
1849: IF csr_chk_step_fk_end%NOTFOUND THEN
1850:
1851: hr_utility.set_location(l_proc,90);
1852: CLOSE csr_chk_step_fk_end;
1853: hr_utility.set_message(800, 'HR_289289_STEP_ID_DT_INVALID');
1854: hr_utility.raise_error;
1855:
1849: IF csr_chk_step_fk_end%NOTFOUND THEN
1850:
1851: hr_utility.set_location(l_proc,90);
1852: CLOSE csr_chk_step_fk_end;
1853: hr_utility.set_message(800, 'HR_289289_STEP_ID_DT_INVALID');
1854: hr_utility.raise_error;
1855:
1856: END IF;
1857: --
1850:
1851: hr_utility.set_location(l_proc,90);
1852: CLOSE csr_chk_step_fk_end;
1853: hr_utility.set_message(800, 'HR_289289_STEP_ID_DT_INVALID');
1854: hr_utility.raise_error;
1855:
1856: END IF;
1857: --
1858: hr_utility.set_location(l_proc, 100);
1854: hr_utility.raise_error;
1855:
1856: END IF;
1857: --
1858: hr_utility.set_location(l_proc, 100);
1859: --
1860: CLOSE csr_chk_step_fk_end;
1861: --
1862: END IF;
1863: --
1864: END IF;
1865: --
1866: CLOSE csr_chk_category;
1867: hr_utility.set_location('LEaving: '||l_proc,100);
1868: --
1869: END chk_step_id;
1870:
1871: --
1903: --
1904: l_proc varchar2(72) := g_package||'chk_object_version_number';
1905: --
1906: begin
1907: hr_utility.set_location('Entering:'||l_proc, 1);
1908: --
1909: -- Check mandatory parameters have been set
1910: --
1911: hr_api.mandatory_arg_error
1913: ,p_argument => 'object_version_number'
1914: ,p_argument_value => p_object_version_number
1915: );
1916: --
1917: hr_utility.set_location(' Leaving:'||l_proc, 3);
1918: --
1919: end chk_object_version_number;
1920:
1921:
2178: l_category_name per_cagr_entitlement_items.category_name%TYPE;
2179: --
2180: BEGIN
2181: --
2182: hr_utility.set_location('Entering:'||l_proc, 10);
2183: --
2184: -- Call procedure that returns the collective agreement id
2185: -- and business_group_id that will be used in the chk procedures
2186: --
2188: (p_cagr_entitlement_id => p_rec.cagr_entitlement_id
2189: ,p_collective_agreement_id => l_collective_agreement_id
2190: ,p_business_group_id => l_business_group_id);
2191: --
2192: hr_utility.set_location(l_proc, 20);
2193: --
2194: -- Call parent cagr_entitlement_item's set_security_group_id function
2195: --
2196: per_pce_bus.set_security_group_id
2204: ,p_cagr_entitlement_item_id => l_cagr_entitlement_item_id
2205: ,p_category_name => l_category_name
2206: ,p_formula_criteria => l_formula_criteria);
2207: --
2208: hr_utility.set_location(l_proc, 30);
2209: --
2210: -- Validate mandatory
2211: --
2212: per_pcl_bus.chk_mandatory
2215: ,p_effective_date => p_effective_date
2216: ,p_validation_start_date => p_validation_start_date
2217: ,p_validation_end_date => p_validation_end_date);
2218: --
2219: hr_utility.set_location(l_proc, 40);
2220: --
2221: -- Validate value
2222: --
2223: per_pcl_bus.chk_value
2227: ,p_cagr_entitlement_id => p_rec.cagr_entitlement_id
2228: ,p_category_name => l_category_name
2229: ,p_effective_date => p_effective_date);
2230: --
2231: hr_utility.set_location(l_proc, 50);
2232: --
2233: -- Validate Range_From
2234: --
2235: per_pcl_bus.chk_range_from
2238: ,p_cagr_entitlement_line_id => p_rec.cagr_entitlement_line_id
2239: ,p_category_name => l_category_name
2240: ,p_effective_date => p_effective_date);
2241: --
2242: hr_utility.set_location(l_proc, 60);
2243: --
2244: -- Validate Range_To
2245: --
2246: per_pcl_bus.chk_range_to
2249: ,p_cagr_entitlement_line_id => p_rec.cagr_entitlement_line_id
2250: ,p_category_name => l_category_name
2251: ,p_effective_date => p_effective_date);
2252: --
2253: hr_utility.set_location(l_proc, 65);
2254: --
2255: -- If the entitlement item has been defined as a DATE
2256: -- type then check that all the dates are valid.
2257: --
2261: ,p_range_from => p_rec.range_from
2262: ,p_range_to => p_rec.range_to
2263: ,p_effective_date => p_effective_date);
2264: --
2265: hr_utility.set_location(l_proc, 70);
2266: --
2267: -- Validate grade_spine_id
2268: --
2269: per_pcl_bus.chk_grade_spine_id
2273: ,p_effective_date => p_effective_date
2274: ,p_validation_start_date => p_validation_start_date
2275: ,p_validation_end_date => p_validation_end_date) ;
2276: --
2277: hr_utility.set_location(l_proc, 80);
2278: --
2279: -- Validate parent_spine_id
2280: --
2281: per_pcl_bus.chk_parent_spine_id
2282: (p_parent_spine_id => p_rec.parent_spine_id
2283: ,p_cagr_entitlement_line_id => p_rec.cagr_entitlement_line_id
2284: ,p_cagr_entitlement_id => p_rec.cagr_entitlement_id);
2285: --
2286: hr_utility.set_location(l_proc, 90);
2287: --
2288: -- Validate status
2289: --
2290: per_pcl_bus.chk_status
2293: ,p_effective_date => p_effective_date
2294: ,p_validation_start_date => p_validation_start_date
2295: ,p_validation_end_date => p_validation_end_date) ;
2296: --
2297: hr_utility.set_location(l_proc, 100);
2298: --
2299: -- Validate oipl_id
2300: --
2301: per_pcl_bus.chk_oipl_id
2304: ,p_effective_date => p_effective_date
2305: ,p_validation_start_date => p_validation_start_date
2306: ,p_validation_end_date => p_validation_end_date) ;
2307: --
2308: hr_utility.set_location(l_proc, 110);
2309: --
2310: -- Validate step_id
2311: --
2312: per_pcl_bus.chk_step_id
2316: ,p_effective_date => p_effective_date
2317: ,p_validation_start_date => p_validation_start_date
2318: ,p_validation_end_date => p_validation_end_date);
2319: --
2320: hr_utility.set_location(l_proc, 120);
2321: --
2322: -- Validate eligy_prfl_id
2323: --
2324: per_pcl_bus.chk_eligy_prfl_id
2330: ,p_business_group_id => l_business_group_id
2331: ,p_effective_date => p_effective_date
2332: ,p_formula_criteria => l_formula_criteria);
2333: --
2334: hr_utility.set_location(' Leaving:'||l_proc, 999);
2335: --
2336: End insert_validate;
2337: --
2338: -- ----------------------------------------------------------------------------
2354: l_category_name per_cagr_entitlement_items.category_name%TYPE;
2355: --
2356: BEGIN
2357: --
2358: hr_utility.set_location('Entering:'||l_proc, 5);
2359: --
2360: -- Call procedure that returns the collective agreement id
2361: -- and business_group_id that will be used in the chk procedures
2362: --
2370: per_pce_bus.set_security_group_id
2371: (p_cagr_entitlement_id => p_rec.cagr_entitlement_id
2372: ,p_collective_agreement_id => l_collective_agreement_id);
2373: --
2374: hr_utility.set_location(l_proc, 10);
2375: --
2376: chk_non_updateable_args
2377: (p_effective_date => p_effective_date
2378: ,p_rec => p_rec);
2393: ,p_effective_date => p_effective_date
2394: ,p_validation_start_date => p_validation_start_date
2395: ,p_validation_end_date => p_validation_end_date);
2396: --
2397: hr_utility.set_location(l_proc, 20);
2398:
2399: --
2400: hr_utility.set_location(l_proc, 30);
2401: --
2396: --
2397: hr_utility.set_location(l_proc, 20);
2398:
2399: --
2400: hr_utility.set_location(l_proc, 30);
2401: --
2402: -- Validate value
2403: --
2404: per_pcl_bus.chk_value
2408: ,p_cagr_entitlement_id => p_rec.cagr_entitlement_id
2409: ,p_category_name => l_category_name
2410: ,p_effective_date => p_effective_date);
2411: --
2412: hr_utility.set_location(l_proc, 40);
2413: --
2414: -- Validate Range_From
2415: --
2416: per_pcl_bus.chk_range_from
2419: ,p_cagr_entitlement_line_id => p_rec.cagr_entitlement_line_id
2420: ,p_category_name => l_category_name
2421: ,p_effective_date => p_effective_date);
2422: --
2423: hr_utility.set_location(l_proc, 50);
2424: --
2425: -- Validate Range_To
2426: --
2427: per_pcl_bus.chk_range_to
2430: ,p_cagr_entitlement_line_id => p_rec.cagr_entitlement_line_id
2431: ,p_category_name => l_category_name
2432: ,p_effective_date => p_effective_date);
2433: --
2434: hr_utility.set_location(l_proc, 60);
2435: --
2436: -- If the entitlement item has been defined as a DATE
2437: -- type then check that all the dates are valid.
2438: --
2442: ,p_range_from => p_rec.range_from
2443: ,p_range_to => p_rec.range_to
2444: ,p_effective_date => p_effective_date);
2445: --
2446: hr_utility.set_location(l_proc, 65);
2447: --
2448: -- Validate grade_spine_id
2449: --
2450: per_pcl_bus.chk_grade_spine_id
2454: ,p_effective_date => p_effective_date
2455: ,p_validation_start_date => p_validation_start_date
2456: ,p_validation_end_date => p_validation_end_date) ;
2457: --
2458: hr_utility.set_location(l_proc, 70);
2459: --
2460: -- Validate parent_spine_id
2461: --
2462: per_pcl_bus.chk_parent_spine_id
2463: (p_parent_spine_id => p_rec.parent_spine_id
2464: ,p_cagr_entitlement_line_id => p_rec.cagr_entitlement_line_id
2465: ,p_cagr_entitlement_id => p_rec.cagr_entitlement_id);
2466: --
2467: hr_utility.set_location(l_proc, 80);
2468: --
2469: -- Validate status
2470: --
2471: per_pcl_bus.chk_status
2474: ,p_effective_date => p_effective_date
2475: ,p_validation_start_date => p_validation_start_date
2476: ,p_validation_end_date => p_validation_end_date) ;
2477: --
2478: hr_utility.set_location(l_proc, 90);
2479: --
2480: -- Validate oipl_id
2481: --
2482: per_pcl_bus.chk_oipl_id
2485: ,p_effective_date => p_effective_date
2486: ,p_validation_start_date => p_validation_start_date
2487: ,p_validation_end_date => p_validation_end_date) ;
2488: --
2489: hr_utility.set_location(l_proc, 100);
2490: --
2491: -- Validate step_id
2492: --
2493: per_pcl_bus.chk_step_id
2497: ,p_effective_date => p_effective_date
2498: ,p_validation_start_date => p_validation_start_date
2499: ,p_validation_end_date => p_validation_end_date);
2500: --
2501: hr_utility.set_location(l_proc, 110);
2502: --
2503: -- Validate eligy_prfl_id
2504: --
2505: per_pcl_bus.chk_eligy_prfl_id
2516: --
2517: per_pcl_bus.chk_object_version_number
2518: (p_object_version_number => p_rec.object_version_number );
2519: --
2520: hr_utility.set_location(l_proc, 120);
2521: --
2522: -- Call the datetrack update integrity operation
2523: --
2524: dt_update_validate
2530: ,p_validation_start_date => p_validation_start_date
2531: ,p_validation_end_date => p_validation_end_date
2532: );
2533: --
2534: hr_utility.set_location(l_proc, 130);
2535: --
2536: hr_utility.set_location(' Leaving:'||l_proc, 10);
2537: --
2538: End update_validate;
2532: );
2533: --
2534: hr_utility.set_location(l_proc, 130);
2535: --
2536: hr_utility.set_location(' Leaving:'||l_proc, 10);
2537: --
2538: End update_validate;
2539: --
2540: -- ----------------------------------------------------------------------------
2550: --
2551: l_proc varchar2(72) := g_package||'delete_validate';
2552: --
2553: Begin
2554: hr_utility.set_location('Entering:'||l_proc, 5);
2555: --
2556: -- Call all supporting business operations
2557: --
2558:
2566: ,p_validation_end_date => p_validation_end_date
2567: ,p_cagr_entitlement_line_id => p_rec.cagr_entitlement_line_id
2568: );
2569: --
2570: hr_utility.set_location(' Leaving:'||l_proc, 10);
2571: End delete_validate;
2572: --
2573: end per_pcl_bus;