45: l_proc varchar2(72) := g_package||'constraint_error2';
46: --
47: Begin
48: --
49: hr_utility.set_location('Entering:'||l_proc, 5);
50: --
51: if p_constraint_name = 'startdate_must_be_populated' then
52: fnd_message.set_name('OTA','OTA_13457_GEN_MAND_START_DATE');
53: elsif p_constraint_name = 'enddate_must_be_greater_than_startdate' then
94: fnd_message.set_name('OTA','OTA_13399_PLE_INCREASE_RANGE');
95: elsif p_constraint_name = 'wrong_rounding_factor' then
96: fnd_message.set_name('OTA','OTA_13427_PLE_ROUNDING_FACTOR');
97: else
98: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
99: hr_utility.set_message_token('PROCEDURE', l_proc);
100: hr_utility.set_message_token('STEP',p_constraint_name);
101: hr_utility.raise_error;
102: End If;
95: elsif p_constraint_name = 'wrong_rounding_factor' then
96: fnd_message.set_name('OTA','OTA_13427_PLE_ROUNDING_FACTOR');
97: else
98: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
99: hr_utility.set_message_token('PROCEDURE', l_proc);
100: hr_utility.set_message_token('STEP',p_constraint_name);
101: hr_utility.raise_error;
102: End If;
103: --
96: fnd_message.set_name('OTA','OTA_13427_PLE_ROUNDING_FACTOR');
97: else
98: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
99: hr_utility.set_message_token('PROCEDURE', l_proc);
100: hr_utility.set_message_token('STEP',p_constraint_name);
101: hr_utility.raise_error;
102: End If;
103: --
104: fnd_message.raise_error;
97: else
98: hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
99: hr_utility.set_message_token('PROCEDURE', l_proc);
100: hr_utility.set_message_token('STEP',p_constraint_name);
101: hr_utility.raise_error;
102: End If;
103: --
104: fnd_message.raise_error;
105: --
102: End If;
103: --
104: fnd_message.raise_error;
105: --
106: hr_utility.set_location(' Leaving:'||l_proc, 10);
107: --
108: End constraint_error2;
109: --
=============================================================================
110: --===============================================================================
121: l_parent_exists boolean;
122: -------------
123: begin
124: --
125: hr_utility.set_location('Entering: check_tpl', 5);
126: if p_tpl_id is null then
127: constraint_error2('price_list_must_be_polulated');
128: else
129: hr_utility.trace('Check_tpl '||to_char(p_tpl_id));
125: hr_utility.set_location('Entering: check_tpl', 5);
126: if p_tpl_id is null then
127: constraint_error2('price_list_must_be_polulated');
128: else
129: hr_utility.trace('Check_tpl '||to_char(p_tpl_id));
130: open csr_tpl;
131: fetch csr_tpl into g_dummy;
132: l_parent_exists := csr_tpl%found;
133: if not l_parent_exists then
133: if not l_parent_exists then
134: constraint_error2('price_list_doesnt_exist');
135: end if;
136: end if;
137: hr_utility.set_location('Leaving: check_tpl', 5);
138: --
139: end check_tpl;
140: --=============================================================================
141: --=============================================================================
145: )
146: is
147: -----------
148: begin
149: hr_utility.set_location('Entering: check_tav_vsp_exclusively', 5);
150: if p_tav_id is not null and p_vsp_id is not null then
151: constraint_error2('activityversion_or_vendorsupply_should_be_null');
152: elsif p_tav_id is null and p_vsp_id is null then
153: constraint_error2('activity_and_vendor_cant_be_both_null');
151: constraint_error2('activityversion_or_vendorsupply_should_be_null');
152: elsif p_tav_id is null and p_vsp_id is null then
153: constraint_error2('activity_and_vendor_cant_be_both_null');
154: end if;
155: hr_utility.set_location('Leaving: check_tav_vsp_exclusivity', 5);
156:
157: --
158: end check_tav_vsp_exclusivity;
159: --=============================================================================
175: l_parent_exists boolean;
176: -------------
177:
178: begin
179: hr_utility.set_location('Entering: check_tav_and_vsp', 5);
180: --
181: check_tav_vsp_exclusivity(p_tav_id,p_vsp_id);
182: --
183: if p_tav_id is not null then
188: if not l_parent_exists then
189: constraint_error2('activity_version_doesnt_exist');
190: end if;
191: end if;
192: hr_utility.set_location('Leaving: check_tav_and_vsp', 5);
193: --
194: end check_tav_and_vsp;
195: --=============================================================================
196: --=============================================================================
202: )
203: is
204: ---------------
205: begin
206: hr_utility.set_location('Entering: check_pricebasis_attendees', 5);
207: --
208: if p_price_basis is null
209: or p_price_basis not in ('C','S') then
210: constraint_error2('price_basis_must_be_C_or_S');
228: elsif p_maxattendees < p_minattendees then
229: constraint_error2('maximum_should_be_greater_than_minimum');
230: end if;
231: end if;
232: hr_utility.set_location('Leaving: check_pricebasis_attendees', 5);
233: --
234: end check_pricebasis_attendees;
235: --=============================================================================
236: --=============================================================================
246: hr_api.mandatory_arg_error(g_package,'p_startdate',p_startdate);
247: end chkp;
248: -------------------
249: begin
250: hr_utility.set_location('Entering: dates_are_in_order', 5);
251: --
252: chkp;
253: --
254: if p_enddate is null then
258: else
259: return FALSE;
260: end if;
261: --
262: hr_utility.set_location('Leaving: dates_are_in_order', 5);
263: end dates_are_in_order;
264: --==============================================================================
265: procedure check_dates_order
266: (
269: )
270: is
271: -------------------
272: begin
273: hr_utility.set_location('Entering: check_dates_order', 5);
274: --
275: if p_startdate is null then
276: constraint_error2('startdate_must_be_populated');
277: end if;
278: --
279: if not dates_are_in_order(p_startdate,p_enddate) then
280: constraint_error2('enddate_must_be_greater_than_startdate');
281: end if;
282: hr_utility.set_location('Leaving: check_dates_order', 5);
283: --
284: end check_dates_order;
285: --============================================================================
286: --============================================================================
290: )
291: is
292: -------------
293: begin
294: hr_utility.set_location('Entering: check_table_constraints', 5);
295: --
296: check_tpl (
297: p_tpl_id => p_rec.price_list_id);
298: --
308: check_dates_order (
309: p_startdate => p_rec.start_date,
310: p_enddate => p_rec.end_date);
311: --
312: hr_utility.set_location('Leaving: check_table_constraints', 5);
313: end check_table_constraints;
314: --===============================================================================
315: --===============================================================================
316: function return_tav_id
332: check_tav_vsp_exclusivity(p_tav_id,p_vsp_id);
333: end chkp;
334: ---------
335: begin
336: hr_utility.set_location('Entering: return_tav_id', 5);
337: --
338: chkp;
339: --
340: if p_tav_id is null then
346: end if;
347: --
348: return l_activity_id;
349: --
350: hr_utility.set_location('Leaving: return_tav_id', 5);
351: end return_tav_id;
352: --
*****************************************************************************
353: -- DATES VALIDATION
354: -- See also overlapping
377: hr_api.mandatory_arg_error(g_package,'start_succeeds_tpl_start:p_tpl_id',p_tpl_id);
378: end chkp;
379: ------------------
380: begin
381: hr_utility.set_location('Entering: start_succeeds_tpl_start', 5);
382: --
383: chkp;
384: --
385: open csr_tpl_date;
387: l_parent_exists := csr_tpl_date%found;
388: close csr_tpl_date;
389: --
390: if not l_parent_exists then
391: hr_utility.trace('start_succeeds_tpl_start ');
392: constraint_error2('price_list_doesnt_exist');
393: end if;
394: --
395: if p_ple_startdate >= l_tpl_startdate then
397: else
398: return FALSE;
399: end if;
400: --
401: hr_utility.set_location('Leaving: start_succeeds_tpl_start', 5);
402: end start_succeeds_tpl_start;
403: --==============================================================================
404: --==============================================================================
405: function start_succeeds_tav_start
427: hr_api.mandatory_arg_error(g_package,'start_succeeds_tav_start:p_tav_id',p_tav_id);
428: end chkp;
429: ------------------
430: begin
431: hr_utility.set_location('Entering: start_succeeds_tav_start', 5);
432: --
433: chkp;
434: --
435: open csr_tav_date;
440: if not l_parent_exists then
441: constraint_error2('activity_version_doesnt_exist');
442: end if;
443: --
444: hr_utility.set_location('ple_startdate = '||to_char(p_ple_startdate
445: ,'DD-MON-YYYY'), 5);
446: hr_utility.set_location('l_tav_startdate = '||to_char(l_tav_startdate
447: ,'DD-MON-YYYY'), 5);
448: if l_tav_startdate is null then
442: end if;
443: --
444: hr_utility.set_location('ple_startdate = '||to_char(p_ple_startdate
445: ,'DD-MON-YYYY'), 5);
446: hr_utility.set_location('l_tav_startdate = '||to_char(l_tav_startdate
447: ,'DD-MON-YYYY'), 5);
448: if l_tav_startdate is null then
449: return TRUE;
450: elsif p_ple_startdate >= l_tav_startdate then
452: else
453: return FALSE;
454: end if;
455: --
456: hr_utility.set_location('Leaving: start_succeeds_tav_start', 5);
457: end start_succeeds_tav_start;
458: --==============================================================================
459: --==============================================================================
460: function end_precedes_tpl_end
480: hr_api.mandatory_arg_error(g_package,'end_precedes_tpl_end:p_tpl_id',p_tpl_id);
481: end chkp;
482: ------------------
483: begin
484: hr_utility.set_location('Entering: end_precedes_tpl_end', 5);
485: --
486: chkp;
487: --
488: open csr_tpl_date;
490: l_parent_exists := csr_tpl_date%found;
491: close csr_tpl_date;
492: --
493: if not l_parent_exists then
494: hr_utility.trace('end_precedes_tpl_end');
495: constraint_error2('price_list_doesnt_exist');
496: end if;
497: --
498: hr_utility.trace('TPL End Date = '||to_char(l_tpl_enddate));
494: hr_utility.trace('end_precedes_tpl_end');
495: constraint_error2('price_list_doesnt_exist');
496: end if;
497: --
498: hr_utility.trace('TPL End Date = '||to_char(l_tpl_enddate));
499: hr_utility.trace('PLE End Date = '||to_char(p_ple_enddate));
500: --
501: if l_tpl_enddate is null then
502: return TRUE;
495: constraint_error2('price_list_doesnt_exist');
496: end if;
497: --
498: hr_utility.trace('TPL End Date = '||to_char(l_tpl_enddate));
499: hr_utility.trace('PLE End Date = '||to_char(p_ple_enddate));
500: --
501: if l_tpl_enddate is null then
502: return TRUE;
503: elsif nvl(p_ple_enddate,hr_general.end_of_time) <= l_tpl_enddate then
505: else
506: return FALSE;
507: end if;
508: --
509: hr_utility.set_location('Leaving: end_precedes_tpl_end', 5);
510: end end_precedes_tpl_end;
511: --==============================================================================
512: --==============================================================================
513: function end_precedes_tav_end
797: end if;
798: end chkp;
799: --------------------
800: begin
801: hr_utility.set_location('Entering: return_new_price', 5);
802: --
803: chkp;
804: --
805: l_new_price := (p_old_price * p_price_increase /100) + p_old_price;
814: l_new_price := p_rounding_factor*(round(l_new_price/p_rounding_factor));
815: --
816: end if;
817: --
818: hr_utility.set_location('Leaving: return_new_price', 5);
819: return l_new_price;
820: --
821: end return_new_price;
822: --***********************************************************************
935: end if;
936: end chkp;
937: ---------------------
938: begin
939: hr_utility.set_location('Entering: modify_entries', 5);
940: --
941: chkp;
942: -------------
943: open csr_plerec;
943: open csr_plerec;
944: --
945: LOOP
946: --
947: hr_utility.trace('Price List ID '||to_char(p_old_tpl_id));
948: l_copy := true;
949: fetch csr_plerec into l_plerec;
950: l_activity_version_id := l_plerec.activity_version_id;
951: exit when csr_plerec%notfound;
953: ---------------------------
954: -- Copy price list function
955: ---------------------------
956: if p_proc_use = 1 then
957: hr_utility.trace('Price List Entry ID '||to_char(l_plerec.price_list_entry_id));
958: --
959: open get_activity;
960: fetch get_activity into l_activity_start_date,l_activity_end_date;
961: close get_activity;
962: --
963: l_plerec.price_list_id := p_new_tpl_id;
964: --
965: if p_new_startdate < p_old_startdate then
966: hr_utility.trace('New Start Date < Old Start Date');
967: if p_old_startdate = l_plerec.start_date then
968: l_plerec.start_date := greatest(p_new_startdate
969: ,l_activity_start_date);
970: end if;
969: ,l_activity_start_date);
970: end if;
971: --
972: elsif p_new_startdate > p_old_startdate then
973: hr_utility.trace('New Start Date > Old Start Date');
974: l_plerec.start_date := greatest(l_plerec.start_date
975: ,p_new_startdate);
976: end if;
977: --
975: ,p_new_startdate);
976: end if;
977: --
978: if nvl(p_new_enddate,hr_api.g_eot) < nvl(p_old_enddate,hr_api.g_eot) then
979: hr_utility.trace('New End Date < Old End Date');
980: if l_plerec.end_date is null and p_new_enddate is null then
981: l_plerec.end_date := null;
982: else
983: l_plerec.end_date := least(nvl(p_new_enddate,hr_api.g_eot)
985: end if;
986: --
987: elsif
988: nvl(p_new_enddate,hr_api.g_eot) > nvl(p_old_enddate,hr_api.g_eot) then
989: hr_utility.trace('New End Date > Old End Date');
990: if nvl(p_old_enddate,hr_api.g_eot) =
991: nvl(l_plerec.end_date,hr_api.g_eot) then
992: if p_new_enddate is null and l_activity_end_date is null then
993: l_plerec.end_date := null;
998: end if;
999: --
1000: end if;
1001: --
1002: hr_utility.trace('Start Date '||to_char(l_plerec.start_date));
1003: hr_utility.trace(' End Date '||to_char(nvl(l_plerec.end_date,hr_api.g_eot)));
1004: if l_plerec.start_date > nvl(l_plerec.end_date,hr_api.g_eot) then
1005: null;
1006: else
999: --
1000: end if;
1001: --
1002: hr_utility.trace('Start Date '||to_char(l_plerec.start_date));
1003: hr_utility.trace(' End Date '||to_char(nvl(l_plerec.end_date,hr_api.g_eot)));
1004: if l_plerec.start_date > nvl(l_plerec.end_date,hr_api.g_eot) then
1005: null;
1006: else
1007: hr_utility.trace('Inserting Entry');
1003: hr_utility.trace(' End Date '||to_char(nvl(l_plerec.end_date,hr_api.g_eot)));
1004: if l_plerec.start_date > nvl(l_plerec.end_date,hr_api.g_eot) then
1005: null;
1006: else
1007: hr_utility.trace('Inserting Entry');
1008: l_plerec.price_list_entry_id := null;
1009: l_plerec.object_version_number := null;
1010: l_plerec.price := return_new_price(l_plerec.price
1011: ,p_price_increase
1018: -- Copy entries function
1019: -------------------------
1020: elsif p_proc_use = 2 then
1021: --
1022: hr_utility.trace('Proc Use = 2');
1023: hr_utility.trace('PLE Start Date '||to_char(l_plerec.start_date));
1024: hr_utility.trace('PLE End Date '||to_char(l_plerec.end_date));
1025: --
1026: if p_increase_date <= l_plerec.start_date then
1019: -------------------------
1020: elsif p_proc_use = 2 then
1021: --
1022: hr_utility.trace('Proc Use = 2');
1023: hr_utility.trace('PLE Start Date '||to_char(l_plerec.start_date));
1024: hr_utility.trace('PLE End Date '||to_char(l_plerec.end_date));
1025: --
1026: if p_increase_date <= l_plerec.start_date then
1027: if nvl(p_enddate,hr_api.g_eot)
1020: elsif p_proc_use = 2 then
1021: --
1022: hr_utility.trace('Proc Use = 2');
1023: hr_utility.trace('PLE Start Date '||to_char(l_plerec.start_date));
1024: hr_utility.trace('PLE End Date '||to_char(l_plerec.end_date));
1025: --
1026: if p_increase_date <= l_plerec.start_date then
1027: if nvl(p_enddate,hr_api.g_eot)
1028: >= nvl(l_plerec.end_date,hr_api.g_eot) then
1026: if p_increase_date <= l_plerec.start_date then
1027: if nvl(p_enddate,hr_api.g_eot)
1028: >= nvl(l_plerec.end_date,hr_api.g_eot) then
1029: --
1030: hr_utility.trace('Updating the whole entry');
1031: l_plerec2 := l_plerec;
1032: l_plerec2.price := return_new_price(l_plerec2.price
1033: ,p_price_increase
1034: ,p_rounding_direction
1037: --
1038: else -- nvl(p_enddate,hr_api.g_eot)
1039: -- < nvl(l_plerec.end_date,hr_api.g_eot)
1040: --
1041: hr_utility.trace('Updating the entry up until the New End Date');
1042: l_plerec2 := l_plerec;
1043: l_plerec2.end_date := p_enddate;
1044: l_plerec2.price := return_new_price(l_plerec2.price
1045: ,p_price_increase
1046: ,p_rounding_direction
1047: ,p_rounding_factor);
1048: ota_ple_upd.upd(l_plerec2,FALSE);
1049: --
1050: hr_utility.trace('Inserting the remainder of the entry with old price');
1051: l_plerec2 := l_plerec;
1052: l_plerec2.price_list_entry_id := null;
1053: l_plerec2.object_version_number := null;
1054: l_plerec2.start_date := p_enddate + 1;
1060: --
1061: if nvl(p_enddate,hr_api.g_eot)
1062: >= nvl(l_plerec.end_date,hr_api.g_eot) then
1063: --
1064: hr_utility.trace('Setting New End Date on old entry');
1065: l_plerec2 := l_plerec;
1066: l_plerec2.end_date := p_increase_date - 1;
1067: ota_ple_upd.upd(l_plerec2,FALSE);
1068: --
1065: l_plerec2 := l_plerec;
1066: l_plerec2.end_date := p_increase_date - 1;
1067: ota_ple_upd.upd(l_plerec2,FALSE);
1068: --
1069: hr_utility.trace('Inserting new entry with updated price');
1070: l_plerec2 := l_plerec;
1071: l_plerec2.price_list_entry_id := null;
1072: l_plerec2.object_version_number := null;
1073: l_plerec2.start_date := p_increase_date;
1079: --
1080: else -- nvl(p_enddate,hr_api.g_eot)
1081: -- < nvl(l_plerec.end_date,hr_api.g_eot)
1082: --
1083: hr_utility.trace('Setting New End Date on old entry');
1084: l_plerec2 := l_plerec;
1085: l_plerec2.end_date := p_increase_date - 1;
1086: ota_ple_upd.upd(l_plerec2,FALSE);
1087: --
1084: l_plerec2 := l_plerec;
1085: l_plerec2.end_date := p_increase_date - 1;
1086: ota_ple_upd.upd(l_plerec2,FALSE);
1087: --
1088: hr_utility.trace('Inserting entry with new price');
1089: l_plerec2 := l_plerec;
1090: l_plerec2.price_list_entry_id := null;
1091: l_plerec2.object_version_number := null;
1092: l_plerec2.start_date := p_increase_date;
1096: ,p_rounding_direction
1097: ,p_rounding_factor);
1098: ota_ple_ins.ins(l_plerec2,FALSE);
1099: --
1100: hr_utility.trace('Inserting the remainder of the entry with old price');
1101: l_plerec2 := l_plerec;
1102: l_plerec2.price_list_entry_id := null;
1103: l_plerec2.object_version_number := null;
1104: l_plerec2.start_date := p_enddate + 1;
1180: l_plerec.end_date := l_end_date;
1181: end if;
1182: l_plerec.start_date := l_start_date;
1183: --
1184: hr_utility.trace('Start Date = '||to_char(l_plerec.start_date));
1185: hr_utility.trace(' End Date = '||to_char(l_plerec.end_date));
1186: OTA_PLE_UPD.upd(l_plerec,FALSE);
1187: --
1188: end if;
1181: end if;
1182: l_plerec.start_date := l_start_date;
1183: --
1184: hr_utility.trace('Start Date = '||to_char(l_plerec.start_date));
1185: hr_utility.trace(' End Date = '||to_char(l_plerec.end_date));
1186: OTA_PLE_UPD.upd(l_plerec,FALSE);
1187: --
1188: end if;
1189: end if;
1193: END LOOP;
1194: --
1195: close csr_plerec;
1196: --
1197: hr_utility.set_location('Leaving: modify_entries', 5);
1198: end modify_entries;
1199: --***********************************************************************
1200: --***********************************************************************
1201: --
1227: end if;
1228: end chkp;
1229: ---------------
1230: begin
1231: hr_utility.set_location('Entering: copy_price_list_entries', 5);
1232: --
1233: chkp;
1234: --
1235: modify_entries (
1243: p_increase_date => p_increase_date,
1244: p_enddate => p_enddate,
1245: p_starting_from => p_starting_from );
1246: --
1247: hr_utility.set_location('Leaving: copy_price_list_entries', 5);
1248: end copy_price_list_entries;
1249: --=============================================================
1250: --============================================================
1251: --
1265: )
1266: is
1267: ---------------
1268: begin
1269: hr_utility.set_location('Entering: copy_price_list', 5);
1270: --
1271: modify_entries (
1272: p_proc_use => 1,
1273: p_old_tpl_id => p_old_price_list_id,
1283: p_increase_date => null,
1284: p_enddate => null,
1285: p_starting_from => null );
1286: --
1287: hr_utility.set_location('Leaving: copy_price_list', 5);
1288: end copy_price_list;
1289: --=============================================================
1290: --=============================================================
1291: --
1301: )
1302: is
1303: ---------------
1304: begin
1305: hr_utility.set_location('Entering: widen_entries_dates', 5);
1306: --
1307: modify_entries (
1308: p_proc_use => 3
1309: ,p_old_tpl_id => p_price_list_id
1320: ,p_old_enddate => p_old_enddate
1321: ,p_new_enddate => p_new_enddate
1322: );
1323: --
1324: hr_utility.set_location('Leaving: widen_entries_dates', 5);
1325: end widen_entries_dates;
1326:
1327:
1328: -- ----------------------------------------------------------------------------
1349: where ple.activity_version_id = p_activity_version_from;
1350: --
1351: Begin
1352: --
1353: hr_utility.set_location('Entering:'|| v_proc, 5);
1354: --
1355: Open sel_price;
1356: fetch sel_price into l_rec;
1357: --
1399: End Loop;
1400: --
1401: close sel_price;
1402: --
1403: hr_utility.set_location(' Leaving:'|| v_proc, 10);
1404: --
1405: End copy_price;
1406: --
1407: --******************************************************************************
1414: --
1415: l_proc varchar2(72) := g_package||'insert_validate';
1416: --
1417: Begin
1418: hr_utility.set_location('Entering:'||l_proc, 5);
1419: --
1420: -- Call all supporting business operations
1421: insert_validate2(p_rec);
1422: --
1421: insert_validate2(p_rec);
1422: --
1423: --
1424: --
1425: hr_utility.set_location(' Leaving:'||l_proc, 10);
1426: End insert_validate;
1427: --
1428: -- ----------------------------------------------------------------------------
1429: -- |---------------------------< handle_leap_years >---------------------------
1439: l_old_start_year number;
1440: l_old_leap_days number;
1441: --
1442: Begin
1443: hr_utility.set_location('Entering:'||l_proc, 5);
1444: --
1445: if p_dates_difference is not null then
1446: l_old_start_date := p_start_date;
1447: l_days := p_dates_difference;
1473: end if;
1474: if l_old_leap_days > 0 then
1475: p_start_date := p_start_date - l_old_leap_days;
1476: end if;
1477: hr_utility.set_location(' Leaving:'||l_proc, 10);
1478: End handle_leap_years;
1479: --
1480: -- ----------------------------------------------------------------------------
1481: -- |---------------------------< consider_leap_years >-------------------------
1490: where price_list_id = p_old_tpl_id;
1491: l_old_start_date date;
1492: l_days number := 0;
1493: Begin
1494: hr_utility.set_location('Entering:'||l_proc, 5);
1495: --
1496: open c1;
1497: fetch c1 into l_old_start_date;
1498: if c1%found then
1511: p_dates_difference := l_days;
1512: else
1513: p_dates_difference := 0;
1514: end if;
1515: hr_utility.set_location(' Leaving:'||l_proc, 10);
1516: End consider_leap_years;
1517: --
1518: -- ----------------------------------------------------------------------------
1519: -- |---------------------------< update_validate >----------------------------|
1522: --
1523: l_proc varchar2(72) := g_package||'update_validate';
1524: --
1525: Begin
1526: hr_utility.set_location('Entering:'||l_proc, 5);
1527: --
1528: -- Call all supporting business operations
1529: update_validate2(p_rec);
1530: --
1529: update_validate2(p_rec);
1530: --
1531: --
1532: --
1533: hr_utility.set_location(' Leaving:'||l_proc, 10);
1534: End update_validate;
1535: --
1536: -- ----------------------------------------------------------------------------
1537: -- |---------------------------< delete_validate >----------------------------|
1540: --
1541: l_proc varchar2(72) := g_package||'delete_validate';
1542: --
1543: Begin
1544: hr_utility.set_location('Entering:'||l_proc, 5);
1545: --
1546: -- Call all supporting business operations
1547: delete_validate2(p_rec);
1548: --
1545: --
1546: -- Call all supporting business operations
1547: delete_validate2(p_rec);
1548: --
1549: hr_utility.set_location(' Leaving:'||l_proc, 10);
1550: End delete_validate;
1551: --
1552: end ota_ple_bus;