[Home] [Help]
PACKAGE BODY: APPS.HR_LOA_SS
Source
1 PACKAGE BODY HR_LOA_SS
2 /* $Header: hrloawrs.pkb 120.7.12010000.3 2008/08/06 08:43:31 ubhat ship $*/
3 AS
4 g_package constant varchar2(75):='HR_LOA_SS.';
5 g_data_error exception;
6 g_date_format constant varchar2(10):='RRRR-MM-DD';
7 g_confirm constant varchar2(9):='CONFIRMED';
8 g_planned constant varchar2(7):='PLANNED';
9 g_usr_date_fmt varchar2(20) := fnd_profile.value('ICX_DATE_FORMAT_MASK');
10 g_usr_day_time_fmt varchar(40) := g_usr_date_fmt|| ' HH24:MI:SS';
11
12 --2793140 change starts
13 --cursor to fetch the absence row from per_absence_attendances
14 CURSOR gc_get_absence_row (p_absence_attendance_id in number) IS
15 SELECT paa.absence_attendance_type_id
16 ,paa.business_group_id
17 ,paa.person_id
18 ,paa.abs_attendance_reason_id
19 ,paa.authorising_person_id
20 ,paa.replacement_person_id
21 ,paa.absence_days
22 ,paa.absence_hours
23 ,paa.date_projected_start
24 ,paa.time_projected_start
25 ,paa.date_projected_end
26 ,paa.time_projected_end
27 ,paa.date_start
28 ,paa.time_start
29 ,paa.date_end
30 ,paa.time_end
31 ,paa.comments
32 ,paa.absence_attendance_id
33 ,paa.object_version_number
34 ,paa.date_notification
35 ,paa.attribute_category
36 ,paa.attribute1
37 ,paa.attribute2
38 ,paa.attribute3
39 ,paa.attribute4
40 ,paa.attribute5
41 ,paa.attribute6
42 ,paa.attribute7
43 ,paa.attribute8
44 ,paa.attribute9
45 ,paa.attribute10
46 ,paa.attribute11
47 ,paa.attribute12
48 ,paa.attribute13
49 ,paa.attribute14
50 ,paa.attribute15
51 ,paa.attribute16
52 ,paa.attribute17
53 ,paa.attribute18
54 ,paa.attribute19
55 ,paa.attribute20
56 ,paa.abs_information_category
57 ,paa.abs_information1
58 ,paa.abs_information2
59 ,paa.abs_information3
60 ,paa.abs_information4
61 ,paa.abs_information5
62 ,paa.abs_information6
63 ,paa.abs_information7
64 ,paa.abs_information8
65 ,paa.abs_information9
66 ,paa.abs_information10
67 ,paa.abs_information11
68 ,paa.abs_information12
69 ,paa.abs_information13
70 ,paa.abs_information14
71 ,paa.abs_information15
72 ,paa.abs_information16
73 ,paa.abs_information17
74 ,paa.abs_information18
75 ,paa.abs_information19
76 ,paa.abs_information20
77 ,paa.abs_information21
78 ,paa.abs_information22
79 ,paa.abs_information23
80 ,paa.abs_information24
81 ,paa.abs_information25
82 ,paa.abs_information26
83 ,paa.abs_information27
84 ,paa.abs_information28
85 ,paa.abs_information29
86 ,paa.abs_information30
87 FROM per_absence_attendances paa
88 WHERE paa.absence_attendance_id = p_absence_attendance_id;
89
90 --2793140 change ends
91 /*
92 ||===========================================================================
93 || PROCEDURE: create_person_absence
94 ||---------------------------------------------------------------------------
95 ||
96 || Description:
97 || This procedure will call the actual API -
98 || hr_person_absence_api.create_person_absence()
99 ||
100 || Access Status:
101 || Public.
102 ||
103 ||===========================================================================
104 */
105 PROCEDURE create_person_absence
106 (p_validate in number default 0
107 ,p_effective_date in date
108 ,p_person_id in number
109 ,p_business_group_id in number
110 ,p_absence_attendance_type_id in number
111 ,p_abs_attendance_reason_id in number default null
112 ,p_comments in long default null
113 ,p_date_notification in date default null
114 ,p_date_projected_start in date default null
115 ,p_time_projected_start in varchar2 default null
116 ,p_date_projected_end in date default null
117 ,p_time_projected_end in date default null
118 ,p_date_start in date default null
119 ,p_time_start in varchar2 default null
120 ,p_date_end in date default null
121 ,p_time_end in varchar2 default null
122 ,p_absence_days in out nocopy number
123 ,p_absence_hours in out nocopy number
124 ,p_authorising_person_id in number default null
125 ,p_replacement_person_id in number default null
126 ,p_attribute_category in varchar2 default null
127 ,p_attribute1 in varchar2 default null
128 ,p_attribute2 in varchar2 default null
129 ,p_attribute3 in varchar2 default null
130 ,p_attribute4 in varchar2 default null
131 ,p_attribute5 in varchar2 default null
132 ,p_attribute6 in varchar2 default null
133 ,p_attribute7 in varchar2 default null
134 ,p_attribute8 in varchar2 default null
135 ,p_attribute9 in varchar2 default null
136 ,p_attribute10 in varchar2 default null
137 ,p_attribute11 in varchar2 default null
138 ,p_attribute12 in varchar2 default null
139 ,p_attribute13 in varchar2 default null
140 ,p_attribute14 in varchar2 default null
141 ,p_attribute15 in varchar2 default null
142 ,p_attribute16 in varchar2 default null
143 ,p_attribute17 in varchar2 default null
144 ,p_attribute18 in varchar2 default null
145 ,p_attribute19 in varchar2 default null
146 ,p_attribute20 in varchar2 default null
147 ,p_period_of_incapacity_id in number default null
148 ,p_ssp1_issued in varchar2 default 'N'
149 ,p_maternity_id in number default null
150 ,p_sickness_start_date in date default null
151 ,p_sickness_end_date in date default null
152 ,p_pregnancy_related_illness in varchar2 default 'N'
153 ,p_reason_for_notification_dela in varchar2 default null
154 ,p_accept_late_notification_fla in varchar2 default 'N'
155 ,p_linked_absence_id in number default null
156 ,p_abs_information_category in varchar2 default null
157 ,p_abs_information1 in varchar2 default null
158 ,p_abs_information2 in varchar2 default null
159 ,p_abs_information3 in varchar2 default null
160 ,p_abs_information4 in varchar2 default null
161 ,p_abs_information5 in varchar2 default null
162 ,p_abs_information6 in varchar2 default null
163 ,p_abs_information7 in varchar2 default null
164 ,p_abs_information8 in varchar2 default null
165 ,p_abs_information9 in varchar2 default null
166 ,p_abs_information10 in varchar2 default null
167 ,p_abs_information11 in varchar2 default null
168 ,p_abs_information12 in varchar2 default null
169 ,p_abs_information13 in varchar2 default null
170 ,p_abs_information14 in varchar2 default null
171 ,p_abs_information15 in varchar2 default null
172 ,p_abs_information16 in varchar2 default null
173 ,p_abs_information17 in varchar2 default null
174 ,p_abs_information18 in varchar2 default null
175 ,p_abs_information19 in varchar2 default null
176 ,p_abs_information20 in varchar2 default null
177 ,p_abs_information21 in varchar2 default null
178 ,p_abs_information22 in varchar2 default null
179 ,p_abs_information23 in varchar2 default null
180 ,p_abs_information24 in varchar2 default null
181 ,p_abs_information25 in varchar2 default null
182 ,p_abs_information26 in varchar2 default null
183 ,p_abs_information27 in varchar2 default null
184 ,p_abs_information28 in varchar2 default null
185 ,p_abs_information29 in varchar2 default null
186 ,p_abs_information30 in varchar2 default null
187 ,p_absence_attendance_id out nocopy number
188 ,p_object_version_number out nocopy number
189 ,p_occurrence out nocopy number
190 ,p_dur_dys_less_warning out nocopy number
191 ,p_dur_hrs_less_warning out nocopy number
192 ,p_exceeds_pto_entit_warning out nocopy number
193 ,p_exceeds_run_total_warning out nocopy number
194 ,p_abs_overlap_warning out nocopy number
195 ,p_abs_day_after_warning out nocopy number
196 ,p_dur_overwritten_warning out nocopy number
197 )
198 IS
199
200 l_proc varchar2(72) := g_package||'create_person_absence';
201 lb_abs_day_after_warning BOOLEAN;
202 lb_abs_overlap_warning BOOLEAN;
203 lb_dur_dys_less_warning BOOLEAN;
204 lb_dur_hrs_less_warning BOOLEAN;
205 lb_exceeds_pto_entit_warning BOOLEAN;
206 lb_exceeds_run_total_warning BOOLEAN;
207 lb_dur_overwritten_warning BOOLEAN;
208
209
210 BEGIN
211 --
212 --
213 --
214 hr_utility.set_location(' Entering:' || l_proc,5);
215
216 -- Call the actual API.
217 hr_person_absence_api.create_person_absence
218 (p_validate => hr_java_conv_util_ss.get_boolean (
219 p_number => p_validate
220 )
221 ,p_effective_date => p_effective_date
222 ,p_person_id => p_person_id
223 ,p_business_group_id => p_business_group_id
224 ,p_absence_attendance_type_id => p_absence_attendance_type_id
225 ,p_abs_attendance_reason_id => p_abs_attendance_reason_id
226 ,p_comments => p_comments
227 ,p_date_notification => p_date_notification
228 ,p_date_projected_start => p_date_projected_start
229 ,p_time_projected_start => p_time_projected_start
230 ,p_date_projected_end => p_date_projected_end
231 ,p_time_projected_end => p_time_projected_end
232 ,p_date_start => p_date_start
233 ,p_time_start => p_time_start
234 ,p_date_end => p_date_end
235 ,p_time_end => p_time_end
236 ,p_absence_days => p_absence_days
237 ,p_absence_hours => p_absence_hours
238 ,p_authorising_person_id => p_authorising_person_id
239 ,p_replacement_person_id => p_replacement_person_id
240 ,p_attribute_category => p_attribute_category
241 ,p_attribute1 => p_attribute1
242 ,p_attribute2 => p_attribute2
243 ,p_attribute3 => p_attribute3
244 ,p_attribute4 => p_attribute4
245 ,p_attribute5 => p_attribute5
246 ,p_attribute6 => p_attribute6
247 ,p_attribute7 => p_attribute7
248 ,p_attribute8 => p_attribute8
249 ,p_attribute9 => p_attribute9
250 ,p_attribute10 => p_attribute10
251 ,p_attribute11 => p_attribute11
252 ,p_attribute12 => p_attribute12
253 ,p_attribute13 => p_attribute13
254 ,p_attribute14 => p_attribute14
255 ,p_attribute15 => p_attribute15
256 ,p_attribute16 => p_attribute16
257 ,p_attribute17 => p_attribute17
258 ,p_attribute18 => p_attribute18
259 ,p_attribute19 => p_attribute19
260 ,p_attribute20 => p_attribute20
261 ,p_period_of_incapacity_id => p_period_of_incapacity_id
262 ,p_ssp1_issued => p_ssp1_issued
263 ,p_maternity_id => p_maternity_id
264 ,p_sickness_start_date => p_sickness_start_date
265 ,p_sickness_end_date => p_sickness_end_date
266 ,p_pregnancy_related_illness => p_pregnancy_related_illness
267 ,p_reason_for_notification_dela => p_reason_for_notification_dela
268 ,p_accept_late_notification_fla => p_accept_late_notification_fla
269 ,p_linked_absence_id => p_linked_absence_id
270 ,p_abs_information_category => p_abs_information_category
271 ,p_abs_information1 => p_abs_information1
272 ,p_abs_information2 => p_abs_information2
273 ,p_abs_information3 => p_abs_information3
274 ,p_abs_information4 => p_abs_information4
275 ,p_abs_information5 => p_abs_information5
276 ,p_abs_information6 => p_abs_information6
277 ,p_abs_information7 => p_abs_information7
278 ,p_abs_information8 => p_abs_information8
279 ,p_abs_information9 => p_abs_information9
280 ,p_abs_information10 => p_abs_information10
281 ,p_abs_information11 => p_abs_information11
282 ,p_abs_information12 => p_abs_information12
283 ,p_abs_information13 => p_abs_information13
284 ,p_abs_information14 => p_abs_information14
285 ,p_abs_information15 => p_abs_information15
286 ,p_abs_information16 => p_abs_information16
287 ,p_abs_information17 => p_abs_information17
288 ,p_abs_information18 => p_abs_information18
289 ,p_abs_information19 => p_abs_information19
290 ,p_abs_information20 => p_abs_information20
291 ,p_abs_information21 => p_abs_information21
292 ,p_abs_information22 => p_abs_information22
293 ,p_abs_information23 => p_abs_information23
294 ,p_abs_information24 => p_abs_information24
295 ,p_abs_information25 => p_abs_information25
296 ,p_abs_information26 => p_abs_information26
297 ,p_abs_information27 => p_abs_information27
298 ,p_abs_information28 => p_abs_information28
299 ,p_abs_information29 => p_abs_information29
300 ,p_abs_information30 => p_abs_information30
301 ,p_absence_attendance_id => p_absence_attendance_id
302 ,p_object_version_number => p_object_version_number
303 ,p_occurrence => p_occurrence
304 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
305 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
306 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
307 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
308 ,p_abs_overlap_warning => lb_abs_overlap_warning
309 ,p_abs_day_after_warning => lb_abs_day_after_warning
310 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
311 );
312 hr_utility.set_location( l_proc,10);
313
314 p_abs_day_after_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_day_after_warning);
315 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
316 p_dur_dys_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_dys_less_warning);
317 p_dur_hrs_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_hrs_less_warning);
318 p_exceeds_pto_entit_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_pto_entit_warning);
319 p_exceeds_run_total_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_run_total_warning);
320 p_dur_overwritten_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_overwritten_warning);
321
322 hr_utility.set_location(' Leaving:' || l_proc,15);
323
324 EXCEPTION
325 WHEN OTHERS THEN
326 hr_utility.trace(' Exception in HR_LOA_SS.create_person_absence: ' || SQLERRM );
327 hr_utility.set_location(' Leaving:' || l_proc,555);
328
329 RAISE; -- Raise error here relevant to the new tech stack.
330
331 END create_person_absence;
332
333 --2793140 change starts
334 /*
335 ||===========================================================================
336 || PROCEDURE: is_rec_changed
337 ||---------------------------------------------------------------------------
338 ||
339 || Description:
340 || This procedure will check if the user has changed the data or not
341 ||
342 || Access Status:
343 || Private.
344 ||
345 ||===========================================================================
346 */
347
348 FUNCTION is_rec_changed
349 (p_effective_date in date default hr_api.g_date
350 ,p_absence_attendance_id in number default hr_api.g_number
351 ,p_abs_attendance_reason_id in number default hr_api.g_number
352 ,p_comments in long default hr_api.g_varchar2
353 ,p_date_notification in date default hr_api.g_date
354 ,p_date_projected_start in date default hr_api.g_date
355 ,p_time_projected_start in varchar2 default hr_api.g_varchar2
356 ,p_date_projected_end in date default hr_api.g_date
357 ,p_time_projected_end in varchar2 default hr_api.g_varchar2
358 ,p_date_start in date default hr_api.g_date
359 ,p_time_start in varchar2 default hr_api.g_varchar2
360 ,p_date_end in date default hr_api.g_date
361 ,p_time_end in varchar2 default hr_api.g_varchar2
362 ,p_absence_days in number default hr_api.g_number
363 ,p_absence_hours in number default hr_api.g_number
364 ,p_authorising_person_id in number default hr_api.g_number
365 ,p_replacement_person_id in number default hr_api.g_number
366 ,p_attribute_category in varchar2 default hr_api.g_varchar2
367 ,p_attribute1 in varchar2 default hr_api.g_varchar2
368 ,p_attribute2 in varchar2 default hr_api.g_varchar2
369 ,p_attribute3 in varchar2 default hr_api.g_varchar2
370 ,p_attribute4 in varchar2 default hr_api.g_varchar2
371 ,p_attribute5 in varchar2 default hr_api.g_varchar2
372 ,p_attribute6 in varchar2 default hr_api.g_varchar2
373 ,p_attribute7 in varchar2 default hr_api.g_varchar2
374 ,p_attribute8 in varchar2 default hr_api.g_varchar2
375 ,p_attribute9 in varchar2 default hr_api.g_varchar2
376 ,p_attribute10 in varchar2 default hr_api.g_varchar2
377 ,p_attribute11 in varchar2 default hr_api.g_varchar2
378 ,p_attribute12 in varchar2 default hr_api.g_varchar2
379 ,p_attribute13 in varchar2 default hr_api.g_varchar2
380 ,p_attribute14 in varchar2 default hr_api.g_varchar2
381 ,p_attribute15 in varchar2 default hr_api.g_varchar2
382 ,p_attribute16 in varchar2 default hr_api.g_varchar2
383 ,p_attribute17 in varchar2 default hr_api.g_varchar2
384 ,p_attribute18 in varchar2 default hr_api.g_varchar2
385 ,p_attribute19 in varchar2 default hr_api.g_varchar2
386 ,p_attribute20 in varchar2 default hr_api.g_varchar2
387 ,p_absiod_of_incapacity_id in number default hr_api.g_number
388 ,p_ssp1_issued in varchar2 default hr_api.g_varchar2
389 ,p_maternity_id in number default hr_api.g_number
390 ,p_sickness_start_date in date default hr_api.g_date
391 ,p_sickness_end_date in date default hr_api.g_date
392 ,p_pregnancy_related_illness in varchar2 default hr_api.g_varchar2
393 ,p_reason_for_notification_dela in varchar2 default hr_api.g_varchar2
394 ,p_accept_late_notification_fla in varchar2 default hr_api.g_varchar2
395 ,p_linked_absence_id in number default hr_api.g_number
396 ,p_batch_id in number default hr_api.g_number
397 ,p_abs_information_category in varchar2 default hr_api.g_varchar2
398 ,p_abs_information1 in varchar2 default hr_api.g_varchar2
399 ,p_abs_information2 in varchar2 default hr_api.g_varchar2
400 ,p_abs_information3 in varchar2 default hr_api.g_varchar2
401 ,p_abs_information4 in varchar2 default hr_api.g_varchar2
402 ,p_abs_information5 in varchar2 default hr_api.g_varchar2
403 ,p_abs_information6 in varchar2 default hr_api.g_varchar2
404 ,p_abs_information7 in varchar2 default hr_api.g_varchar2
405 ,p_abs_information8 in varchar2 default hr_api.g_varchar2
406 ,p_abs_information9 in varchar2 default hr_api.g_varchar2
407 ,p_abs_information10 in varchar2 default hr_api.g_varchar2
408 ,p_abs_information11 in varchar2 default hr_api.g_varchar2
409 ,p_abs_information12 in varchar2 default hr_api.g_varchar2
410 ,p_abs_information13 in varchar2 default hr_api.g_varchar2
411 ,p_abs_information14 in varchar2 default hr_api.g_varchar2
412 ,p_abs_information15 in varchar2 default hr_api.g_varchar2
413 ,p_abs_information16 in varchar2 default hr_api.g_varchar2
414 ,p_abs_information17 in varchar2 default hr_api.g_varchar2
415 ,p_abs_information18 in varchar2 default hr_api.g_varchar2
416 ,p_abs_information19 in varchar2 default hr_api.g_varchar2
417 ,p_abs_information20 in varchar2 default hr_api.g_varchar2
418 ,p_abs_information21 in varchar2 default hr_api.g_varchar2
419 ,p_abs_information22 in varchar2 default hr_api.g_varchar2
420 ,p_abs_information23 in varchar2 default hr_api.g_varchar2
421 ,p_abs_information24 in varchar2 default hr_api.g_varchar2
422 ,p_abs_information25 in varchar2 default hr_api.g_varchar2
423 ,p_abs_information26 in varchar2 default hr_api.g_varchar2
424 ,p_abs_information27 in varchar2 default hr_api.g_varchar2
425 ,p_abs_information28 in varchar2 default hr_api.g_varchar2
426 ,p_abs_information29 in varchar2 default hr_api.g_varchar2
427 ,p_abs_information30 in varchar2 default hr_api.g_varchar2
428 ,p_object_version_number in number default hr_api.g_number
429 )
430 return boolean
431 IS
432
433 l_proc varchar2(200) := g_package || 'is_rec_changed';
434 l_rec_changed boolean default false;
435 l_cur_absence_row gc_get_absence_row%rowtype;
436 custom_exc exception;
437 --
438 BEGIN
439
440 hr_utility.set_location(' Entering:' || l_proc,5);
441
442 OPEN gc_get_absence_row (p_absence_attendance_id => p_absence_attendance_id);
443
444 FETCH gc_get_absence_row into l_cur_absence_row;
445 IF gc_get_absence_row%NOTFOUND
446 THEN
447 hr_utility.set_location(l_proc,10);
448 CLOSE gc_get_absence_row;
449 raise g_data_error;
450 ELSE
451 hr_utility.set_location(l_proc,15);
452 CLOSE gc_get_absence_row;
453 END IF;
454 --
455 ------------------------------------------------------------------------------
456 -- NOTE: We need to use nvl(xxx attribute name, hr_api.g_xxxx) because the
457 -- parameter coming in can be null. If we do not use nvl, then it will
458 -- never be equal to the database null value if the parameter value is
459 -- also null.
460 ------------------------------------------------------------------------------
461 IF p_date_projected_start <> hr_api.g_date OR p_date_projected_start IS NULL
462 THEN
463 hr_utility.set_location(l_proc,20);
464 IF nvl(p_date_projected_start, hr_api.g_date) <>
465 nvl(l_cur_absence_row.date_projected_start, hr_api.g_date)
466 THEN
467 hr_utility.set_location(' Leaving:' || l_proc,25);
468 return TRUE;
469 END IF;
470 END IF;
471 --
472 IF p_date_projected_end <> hr_api.g_date OR p_date_projected_end IS NULL
473 THEN
474 IF nvl(p_date_projected_end, hr_api.g_date) <>
475 nvl(l_cur_absence_row.date_projected_end, hr_api.g_date)
476 THEN
477 hr_utility.set_location(' Leaving:' || l_proc,30);
478 return TRUE;
479 END IF;
480 END IF;
481 --
482 IF p_time_projected_start <> hr_api.g_varchar2 OR p_time_projected_start IS NULL
483 THEN
484 IF nvl(p_time_projected_start, hr_api.g_varchar2) <>
485 nvl(l_cur_absence_row.time_projected_start, hr_api.g_varchar2)
486 THEN
487 hr_utility.set_location(' Leaving:' || l_proc,35);
488 return TRUE;
489 END IF;
490 END IF;
491 --
492 IF p_time_projected_end <> hr_api.g_varchar2 OR p_time_projected_end IS NULL
493 THEN
494 IF nvl(p_time_projected_end, hr_api.g_varchar2) <>
495 nvl(l_cur_absence_row.time_projected_end, hr_api.g_varchar2)
496 THEN
497 hr_utility.set_location(' Leaving:' || l_proc,40);
498 return TRUE;
499 END IF;
500 END IF;
501 --
502 IF p_date_start <> hr_api.g_date OR p_date_start IS NULL
503 THEN
504 IF nvl(p_date_start, hr_api.g_date) <>
505 nvl(l_cur_absence_row.date_start, hr_api.g_date)
506 THEN
507 hr_utility.set_location(' Leaving:' || l_proc,45);
508 return TRUE;
509 END IF;
510 END IF;
511 --
512 IF p_date_end <> hr_api.g_date OR p_date_end IS NULL
513 THEN
514 IF nvl(p_date_end, hr_api.g_date) <>
515 nvl(l_cur_absence_row.date_end, hr_api.g_date)
516 THEN
517 hr_utility.set_location(' Leaving:' || l_proc,50);
518 return TRUE;
519 END IF;
520 END IF;
521 --
522 IF p_time_start <> hr_api.g_varchar2 OR p_time_start IS NULL
523 THEN
524 IF nvl(p_time_start, hr_api.g_varchar2) <>
525 nvl(l_cur_absence_row.time_start, hr_api.g_varchar2)
526 THEN
527 hr_utility.set_location(' Leaving:' || l_proc,55);
528 return TRUE;
529 END IF;
530 END IF;
531 --
532 IF p_time_end <> hr_api.g_varchar2 OR p_time_end IS NULL
533 THEN
534 IF nvl(p_time_end, hr_api.g_varchar2) <>
535 nvl(l_cur_absence_row.time_end, hr_api.g_varchar2)
536 THEN
537 hr_utility.set_location(' Leaving:' || l_proc,60);
538 return TRUE;
539 END IF;
540 END IF;
541 --
542 IF p_absence_days <> hr_api.g_number OR p_absence_days IS NULL
543 THEN
544 IF nvl(p_absence_days, hr_api.g_number) <>
545 nvl(l_cur_absence_row.absence_days, hr_api.g_number)
546 THEN
547 hr_utility.set_location(' Leaving:' || l_proc,65);
548 return TRUE;
549 END IF;
550 END IF;
551 --
552 IF p_absence_hours <> hr_api.g_number OR p_absence_hours IS NULL
553 THEN
554 IF nvl(p_absence_hours, hr_api.g_number) <>
555 nvl(l_cur_absence_row.absence_hours, hr_api.g_number)
556 THEN
557 hr_utility.set_location(' Leaving:' || l_proc,70);
558 return TRUE;
559 END IF;
560 END IF;
561 --
562 IF p_replacement_person_id <> hr_api.g_number OR p_replacement_person_id IS NULL
563 THEN
564 IF nvl(p_replacement_person_id, hr_api.g_number) <>
565 nvl(l_cur_absence_row.replacement_person_id, hr_api.g_number)
566 THEN
567 hr_utility.set_location(' Leaving:' || l_proc,70);
568 return TRUE;
569 END IF;
570 END IF;
571 --
572 IF p_comments <> hr_api.g_varchar2 OR p_comments IS NULL
573 THEN
574 IF nvl(p_comments, hr_api.g_varchar2) <>
575 nvl(l_cur_absence_row.comments, hr_api.g_varchar2)
576 THEN
577 hr_utility.set_location(' Leaving:' || l_proc,75);
578 return TRUE;
579 END IF;
580 END IF;
581 --
582 IF p_attribute_category <> hr_api.g_varchar2 OR p_attribute_category IS NULL
583 THEN
584 IF nvl(p_attribute_category, hr_api.g_varchar2) <>
585 nvl(l_cur_absence_row.attribute_category, hr_api.g_varchar2)
586 THEN
587 hr_utility.set_location(' Leaving:' || l_proc,80);
588 return TRUE;
589 END IF;
590 END IF;
591 --
592 IF p_attribute1 <> hr_api.g_varchar2 OR p_attribute1 IS NULL
593 THEN
594 IF nvl(p_attribute1, hr_api.g_varchar2) <>
595 nvl(l_cur_absence_row.attribute1, hr_api.g_varchar2)
596 THEN
597 hr_utility.set_location(' Leaving:' || l_proc,85);
598 return TRUE;
599 END IF;
600 END IF;
601 --
602 IF p_attribute2 <> hr_api.g_varchar2 OR p_attribute2 IS NULL
603 THEN
604 IF nvl(p_attribute2, hr_api.g_varchar2) <>
605 nvl(l_cur_absence_row.attribute2, hr_api.g_varchar2)
606 THEN
607 hr_utility.set_location(' Leaving:' || l_proc,90);
608 return TRUE;
609 END IF;
610 END IF;
611 --
612 IF p_attribute3 <> hr_api.g_varchar2 OR p_attribute3 IS NULL
613 THEN
614 IF nvl(p_attribute3, hr_api.g_varchar2) <>
615 nvl(l_cur_absence_row.attribute3, hr_api.g_varchar2)
616 THEN
617 hr_utility.set_location(' Leaving:' || l_proc,95);
618 return TRUE;
619 END IF;
620 END IF;
621 --
622 IF p_attribute4 <> hr_api.g_varchar2 OR p_attribute4 IS NULL
623 THEN
624 IF nvl(p_attribute4, hr_api.g_varchar2) <>
625 nvl(l_cur_absence_row.attribute4, hr_api.g_varchar2)
626 THEN
627 hr_utility.set_location(' Leaving:' || l_proc,100);
628 return TRUE;
629 END IF;
630 END IF;
631 --
632 IF p_attribute5 <> hr_api.g_varchar2 OR p_attribute5 IS NULL
633 THEN
634 IF nvl(p_attribute5, hr_api.g_varchar2) <>
635 nvl(l_cur_absence_row.attribute5, hr_api.g_varchar2)
636 THEN
637 hr_utility.set_location(' Leaving:' || l_proc,105);
638 return TRUE;
639 END IF;
640 END IF;
641 --
642 IF p_attribute6 <> hr_api.g_varchar2 OR p_attribute6 IS NULL
643 THEN
644 IF nvl(p_attribute6, hr_api.g_varchar2) <>
645 nvl(l_cur_absence_row.attribute6, hr_api.g_varchar2)
646 THEN
647 hr_utility.set_location(' Leaving:' || l_proc,110);
648 return TRUE;
649 END IF;
650 END IF;
651 --
652 IF p_attribute7 <> hr_api.g_varchar2 OR p_attribute7 IS NULL
653 THEN
654 IF nvl(p_attribute7, hr_api.g_varchar2) <>
655 nvl(l_cur_absence_row.attribute7, hr_api.g_varchar2)
656 THEN
657 hr_utility.set_location(' Leaving:' || l_proc,115);
658 return TRUE;
659 END IF;
660 END IF;
661 --
662 IF p_attribute8 <> hr_api.g_varchar2 OR p_attribute8 IS NULL
663 THEN
664 IF nvl(p_attribute8, hr_api.g_varchar2) <>
665 nvl(l_cur_absence_row.attribute8, hr_api.g_varchar2)
666 THEN
667 hr_utility.set_location(' Leaving:' || l_proc,120);
668 return TRUE;
669 END IF;
670 END IF;
671 --
672 IF p_attribute9 <> hr_api.g_varchar2 OR p_attribute9 IS NULL
673 THEN
674 IF nvl(p_attribute9, hr_api.g_varchar2) <>
675 nvl(l_cur_absence_row.attribute9, hr_api.g_varchar2)
676 THEN
677 hr_utility.set_location(' Leaving:' || l_proc,125);
678 return TRUE;
679 END IF;
680 END IF;
681 --
682 IF p_attribute10 <> hr_api.g_varchar2 OR p_attribute10 IS NULL
683 THEN
684 IF nvl(p_attribute10, hr_api.g_varchar2) <>
685 nvl(l_cur_absence_row.attribute10, hr_api.g_varchar2)
686 THEN
687 hr_utility.set_location(' Leaving:' || l_proc,130);
688 return TRUE;
689 END IF;
690 END IF;
691 --
692 IF p_attribute11 <> hr_api.g_varchar2 OR p_attribute11 IS NULL
693 THEN
694 IF nvl(p_attribute11, hr_api.g_varchar2) <>
695 nvl(l_cur_absence_row.attribute11, hr_api.g_varchar2)
696 THEN
697 hr_utility.set_location(' Leaving:' || l_proc,135);
698 return TRUE;
699 END IF;
700 END IF;
701 --
702 IF p_attribute12 <> hr_api.g_varchar2 OR p_attribute12 IS NULL
703 THEN
704 IF nvl(p_attribute12, hr_api.g_varchar2) <>
705 nvl(l_cur_absence_row.attribute12, hr_api.g_varchar2)
706 THEN
707 hr_utility.set_location(' Leaving:' || l_proc,140);
708 return TRUE;
709 END IF;
710 END IF;
711 --
712 IF p_attribute13 <> hr_api.g_varchar2 OR p_attribute13 IS NULL
713 THEN
714 IF nvl(p_attribute13, hr_api.g_varchar2) <>
715 nvl(l_cur_absence_row.attribute13, hr_api.g_varchar2)
716 THEN
717 hr_utility.set_location(' Leaving:' || l_proc,145);
718 return TRUE;
719 END IF;
720 END IF;
721 --
722 IF p_attribute14 <> hr_api.g_varchar2 OR p_attribute14 IS NULL
723 THEN
724 IF nvl(p_attribute14, hr_api.g_varchar2) <>
725 nvl(l_cur_absence_row.attribute14, hr_api.g_varchar2)
726 THEN
727 hr_utility.set_location(' Leaving:' || l_proc,150);
728 return TRUE;
729 END IF;
730 END IF;
731 --
732 IF p_attribute15 <> hr_api.g_varchar2 OR p_attribute15 IS NULL
733 THEN
734 IF nvl(p_attribute15, hr_api.g_varchar2) <>
735 nvl(l_cur_absence_row.attribute15, hr_api.g_varchar2)
736 THEN
737 hr_utility.set_location(' Leaving:' || l_proc,155);
738 return TRUE;
739 END IF;
740 END IF;
741 --
742 IF p_attribute16 <> hr_api.g_varchar2 OR p_attribute16 IS NULL
743 THEN
744 IF nvl(p_attribute16, hr_api.g_varchar2) <>
745 nvl(l_cur_absence_row.attribute16, hr_api.g_varchar2)
746 THEN
747 hr_utility.set_location(' Leaving:' || l_proc,160);
748 return TRUE;
749 END IF;
750 END IF;
751 --
752 IF p_attribute17 <> hr_api.g_varchar2 OR p_attribute17 IS NULL
753 THEN
754 IF nvl(p_attribute17, hr_api.g_varchar2) <>
755 nvl(l_cur_absence_row.attribute17, hr_api.g_varchar2)
756 THEN
757 hr_utility.set_location(' Leaving:' || l_proc,165);
758 return TRUE;
759 END IF;
760 END IF;
761 --
762 IF p_attribute18 <> hr_api.g_varchar2 OR p_attribute18 IS NULL
763 THEN
764 IF nvl(p_attribute18, hr_api.g_varchar2) <>
765 nvl(l_cur_absence_row.attribute18, hr_api.g_varchar2)
766 THEN
767 hr_utility.set_location(' Leaving:' || l_proc,170);
768 return TRUE;
769 END IF;
770 END IF;
771 --
772 IF p_attribute19 <> hr_api.g_varchar2 OR p_attribute19 IS NULL
773 THEN
774 IF nvl(p_attribute19, hr_api.g_varchar2) <>
775 nvl(l_cur_absence_row.attribute19, hr_api.g_varchar2)
776 THEN
777 hr_utility.set_location(' Leaving:' || l_proc,175);
778 return TRUE;
779 END IF;
780 END IF;
781 --
782 IF p_attribute20 <> hr_api.g_varchar2 OR p_attribute20 IS NULL
783 THEN
784 IF nvl(p_attribute20, hr_api.g_varchar2) <>
785 nvl(l_cur_absence_row.attribute20, hr_api.g_varchar2)
786 THEN
787 hr_utility.set_location(' Leaving:' || l_proc,180);
788 return TRUE;
789 END IF;
790 END IF;
791 --
792 IF p_abs_information_category <> hr_api.g_varchar2 OR p_abs_information_category IS NULL
793 THEN
794 IF nvl(p_abs_information_category, hr_api.g_varchar2) <>
795 nvl(l_cur_absence_row.abs_information_category, hr_api.g_varchar2)
796 THEN
797 hr_utility.set_location(' Leaving:' || l_proc,185);
798 return TRUE;
799 END IF;
800 END IF;
801 --
802 IF p_abs_information1 <> hr_api.g_varchar2 OR p_abs_information1 IS NULL
803 THEN
804 IF nvl(p_abs_information1, hr_api.g_varchar2) <>
805 nvl(l_cur_absence_row.abs_information1, hr_api.g_varchar2)
806 THEN
807 hr_utility.set_location(' Leaving:' || l_proc,190);
808 return TRUE;
809 END IF;
810 END IF;
811 --
812 IF p_abs_information2 <> hr_api.g_varchar2 OR p_abs_information2 IS NULL
813 THEN
814 IF nvl(p_abs_information2, hr_api.g_varchar2) <>
815 nvl(l_cur_absence_row.abs_information2, hr_api.g_varchar2)
816 THEN
817 hr_utility.set_location(' Leaving:' || l_proc,195);
818 return TRUE;
819 END IF;
820 END IF;
821 --
822 IF p_abs_information3 <> hr_api.g_varchar2 OR p_abs_information3 IS NULL
823 THEN
824 IF nvl(p_abs_information3, hr_api.g_varchar2) <>
825 nvl(l_cur_absence_row.abs_information3, hr_api.g_varchar2)
826 THEN
827 hr_utility.set_location(' Leaving:' || l_proc,200);
828 return TRUE;
829 END IF;
830 END IF;
831 --
832 IF p_abs_information4 <> hr_api.g_varchar2 OR p_abs_information4 IS NULL
833 THEN
834 IF nvl(p_abs_information4, hr_api.g_varchar2) <>
835 nvl(l_cur_absence_row.abs_information4, hr_api.g_varchar2)
836 THEN
837 hr_utility.set_location(' Leaving:' || l_proc,205);
838 return TRUE;
839 END IF;
840 END IF;
841 --
842 IF p_abs_information5 <> hr_api.g_varchar2 OR p_abs_information5 IS NULL
843 THEN
844 IF nvl(p_abs_information5, hr_api.g_varchar2) <>
845 nvl(l_cur_absence_row.abs_information5, hr_api.g_varchar2)
846 THEN
847 hr_utility.set_location(' Leaving:' || l_proc,210);
848 return TRUE;
849 END IF;
850 END IF;
851 --
852 IF p_abs_information6 <> hr_api.g_varchar2 OR p_abs_information6 IS NULL
853 THEN
854 IF nvl(p_abs_information6, hr_api.g_varchar2) <>
855 nvl(l_cur_absence_row.abs_information6, hr_api.g_varchar2)
856 THEN
857 hr_utility.set_location(' Leaving:' || l_proc,215);
858 return TRUE;
859 END IF;
860 END IF;
861 --
862 IF p_abs_information7 <> hr_api.g_varchar2 OR p_abs_information7 IS NULL
863 THEN
864 IF nvl(p_abs_information7, hr_api.g_varchar2) <>
865 nvl(l_cur_absence_row.abs_information7, hr_api.g_varchar2)
866 THEN
867 hr_utility.set_location(' Leaving:' || l_proc,220);
868 return TRUE;
869 END IF;
870 END IF;
871 --
872 IF p_abs_information8 <> hr_api.g_varchar2 OR p_abs_information8 IS NULL
873 THEN
874 IF nvl(p_abs_information8, hr_api.g_varchar2) <>
875 nvl(l_cur_absence_row.abs_information8, hr_api.g_varchar2)
876 THEN
877 hr_utility.set_location(' Leaving:' || l_proc,225);
878 return TRUE;
879 END IF;
880 END IF;
881 --
882 IF p_abs_information9 <> hr_api.g_varchar2 OR p_abs_information9 IS NULL
883 THEN
884 IF nvl(p_abs_information9, hr_api.g_varchar2) <>
885 nvl(l_cur_absence_row.abs_information9, hr_api.g_varchar2)
886 THEN
887 hr_utility.set_location(' Leaving:' || l_proc,230);
888 return TRUE;
889 END IF;
890 END IF;
891 --
892 IF p_abs_information10 <> hr_api.g_varchar2 OR p_abs_information10 IS NULL
893 THEN
894 IF nvl(p_abs_information10, hr_api.g_varchar2) <>
895 nvl(l_cur_absence_row.abs_information10, hr_api.g_varchar2)
896 THEN
897 hr_utility.set_location(' Leaving:' || l_proc,235);
898 return TRUE;
899 END IF;
900 END IF;
901 --
902 IF p_abs_information11 <> hr_api.g_varchar2 OR p_abs_information11 IS NULL
903 THEN
904 IF nvl(p_abs_information11, hr_api.g_varchar2) <>
905 nvl(l_cur_absence_row.abs_information11, hr_api.g_varchar2)
906 THEN
907 hr_utility.set_location(' Leaving:' || l_proc,240);
908 return TRUE;
909 END IF;
910 END IF;
911 --
912 IF p_abs_information12 <> hr_api.g_varchar2 OR p_abs_information12 IS NULL
913 THEN
914 IF nvl(p_abs_information12, hr_api.g_varchar2) <>
915 nvl(l_cur_absence_row.abs_information12, hr_api.g_varchar2)
916 THEN
917 hr_utility.set_location(' Leaving:' || l_proc,245);
918 return TRUE;
919 END IF;
920 END IF;
921 --
922 IF p_abs_information13 <> hr_api.g_varchar2 OR p_abs_information13 IS NULL
923 THEN
924 IF nvl(p_abs_information13, hr_api.g_varchar2) <>
925 nvl(l_cur_absence_row.abs_information13, hr_api.g_varchar2)
926 THEN
927 hr_utility.set_location(' Leaving:' || l_proc,250);
928 return TRUE;
929 END IF;
930 END IF;
931 --
932 IF p_abs_information14 <> hr_api.g_varchar2 OR p_abs_information14 IS NULL
933 THEN
934 IF nvl(p_abs_information14, hr_api.g_varchar2) <>
935 nvl(l_cur_absence_row.abs_information14, hr_api.g_varchar2)
936 THEN
937 hr_utility.set_location(' Leaving:' || l_proc,255);
938 return TRUE;
939 END IF;
940 END IF;
941 --
942 IF p_abs_information15 <> hr_api.g_varchar2 OR p_abs_information15 IS NULL
943 THEN
944 IF nvl(p_abs_information15, hr_api.g_varchar2) <>
945 nvl(l_cur_absence_row.abs_information15, hr_api.g_varchar2)
946 THEN
947 hr_utility.set_location(' Leaving:' || l_proc,260);
948 return TRUE;
949 END IF;
950 END IF;
951 --
952 IF p_abs_information16 <> hr_api.g_varchar2 OR p_abs_information16 IS NULL
953 THEN
954 IF nvl(p_abs_information16, hr_api.g_varchar2) <>
955 nvl(l_cur_absence_row.abs_information16, hr_api.g_varchar2)
956 THEN
957 hr_utility.set_location(' Leaving:' || l_proc,265);
958 return TRUE;
959 END IF;
960 END IF;
961 --
962 IF p_abs_information17 <> hr_api.g_varchar2 OR p_abs_information17 IS NULL
963 THEN
964 IF nvl(p_abs_information17, hr_api.g_varchar2) <>
965 nvl(l_cur_absence_row.abs_information17, hr_api.g_varchar2)
966 THEN
967 hr_utility.set_location(' Leaving:' || l_proc,270);
968 return TRUE;
969 END IF;
970 END IF;
971 --
972 IF p_abs_information18 <> hr_api.g_varchar2 OR p_abs_information18 IS NULL
973 THEN
974 IF nvl(p_abs_information18, hr_api.g_varchar2) <>
975 nvl(l_cur_absence_row.abs_information18, hr_api.g_varchar2)
976 THEN
977 hr_utility.set_location(' Leaving:' || l_proc,275);
978 return TRUE;
979 END IF;
980 END IF;
981 --
982 IF p_abs_information19 <> hr_api.g_varchar2 OR p_abs_information19 IS NULL
983 THEN
984 IF nvl(p_abs_information19, hr_api.g_varchar2) <>
985 nvl(l_cur_absence_row.abs_information19, hr_api.g_varchar2)
986 THEN
987 hr_utility.set_location(' Leaving:' || l_proc,280);
988 return TRUE;
989 END IF;
990 END IF;
991 --
992 IF p_abs_information20 <> hr_api.g_varchar2 OR p_abs_information20 IS NULL
993 THEN
994 IF nvl(p_abs_information20, hr_api.g_varchar2) <>
995 nvl(l_cur_absence_row.abs_information20, hr_api.g_varchar2)
996 THEN
997 hr_utility.set_location(' Leaving:' || l_proc,285);
998 return TRUE;
999 END IF;
1000 END IF;
1001 --
1002 IF p_abs_information21 <> hr_api.g_varchar2 OR p_abs_information21 IS NULL
1003 THEN
1004 IF nvl(p_abs_information21, hr_api.g_varchar2) <>
1005 nvl(l_cur_absence_row.abs_information21, hr_api.g_varchar2)
1006 THEN
1007 hr_utility.set_location(' Leaving:' || l_proc,290);
1008 return TRUE;
1009 END IF;
1010 END IF;
1011 --
1012 IF p_abs_information22 <> hr_api.g_varchar2 OR p_abs_information22 IS NULL
1013 THEN
1014 IF nvl(p_abs_information22, hr_api.g_varchar2) <>
1015 nvl(l_cur_absence_row.abs_information22, hr_api.g_varchar2)
1016 THEN
1017 hr_utility.set_location(' Leaving:' || l_proc,295);
1018 return TRUE;
1019 END IF;
1020 END IF;
1021 --
1022 IF p_abs_information23 <> hr_api.g_varchar2 OR p_abs_information23 IS NULL
1023 THEN
1024 IF nvl(p_abs_information23, hr_api.g_varchar2) <>
1025 nvl(l_cur_absence_row.abs_information23, hr_api.g_varchar2)
1026 THEN
1027 hr_utility.set_location(' Leaving:' || l_proc,300);
1028 return TRUE;
1029 END IF;
1030 END IF;
1031 --
1032 IF p_abs_information24 <> hr_api.g_varchar2 OR p_abs_information24 IS NULL
1033 THEN
1034 IF nvl(p_abs_information24, hr_api.g_varchar2) <>
1035 nvl(l_cur_absence_row.abs_information24, hr_api.g_varchar2)
1036 THEN
1037 hr_utility.set_location(' Leaving:' || l_proc,305);
1038 return TRUE;
1039 END IF;
1040 END IF;
1041 --
1042 IF p_abs_information25 <> hr_api.g_varchar2 OR p_abs_information25 IS NULL
1043 THEN
1044 IF nvl(p_abs_information25, hr_api.g_varchar2) <>
1045 nvl(l_cur_absence_row.abs_information25, hr_api.g_varchar2)
1046 THEN
1047 hr_utility.set_location(' Leaving:' || l_proc,310);
1048 return TRUE;
1049 END IF;
1050 END IF;
1051 --
1052 IF p_abs_information26 <> hr_api.g_varchar2 OR p_abs_information26 IS NULL
1053 THEN
1054 IF nvl(p_abs_information26, hr_api.g_varchar2) <>
1055 nvl(l_cur_absence_row.abs_information26, hr_api.g_varchar2)
1056 THEN
1057 hr_utility.set_location(' Leaving:' || l_proc,315);
1058 return TRUE;
1059 END IF;
1060 END IF;
1061 --
1062 IF p_abs_information27 <> hr_api.g_varchar2 OR p_abs_information27 IS NULL
1063 THEN
1064 IF nvl(p_abs_information27, hr_api.g_varchar2) <>
1065 nvl(l_cur_absence_row.abs_information27, hr_api.g_varchar2)
1066 THEN
1067 hr_utility.set_location(' Leaving:' || l_proc,320);
1068 return TRUE;
1069 END IF;
1070 END IF;
1071 --
1072 IF p_abs_information28 <> hr_api.g_varchar2 OR p_abs_information28 IS NULL
1073 THEN
1074 IF nvl(p_abs_information28, hr_api.g_varchar2) <>
1075 nvl(l_cur_absence_row.abs_information28, hr_api.g_varchar2)
1076 THEN
1077 hr_utility.set_location(' Leaving:' || l_proc,325);
1078 return TRUE;
1079 END IF;
1080 END IF;
1081 --
1082 IF p_abs_information29 <> hr_api.g_varchar2 OR p_abs_information29 IS NULL
1083 THEN
1084 IF nvl(p_abs_information29, hr_api.g_varchar2) <>
1085 nvl(l_cur_absence_row.abs_information29, hr_api.g_varchar2)
1086 THEN
1087 hr_utility.set_location(' Leaving:' || l_proc,330);
1088 return TRUE;
1089 END IF;
1090 END IF;
1091 --
1092 IF p_abs_information30 <> hr_api.g_varchar2 OR p_abs_information30 IS NULL
1093 THEN
1094 IF nvl(p_abs_information30, hr_api.g_varchar2) <>
1095 nvl(l_cur_absence_row.abs_information30, hr_api.g_varchar2)
1096 THEN
1097 hr_utility.set_location(' Leaving:' || l_proc,335);
1098 return TRUE;
1099 END IF;
1100 END IF;
1101 --
1102 hr_utility.set_location(' Leaving:' || l_proc,340);
1103 RETURN FALSE;
1104
1105
1106 EXCEPTION
1107 When g_data_error THEN
1108 hr_utility.set_location(' Leaving:' || l_proc,555);
1109 raise;
1110
1111 When others THEN
1112 hr_utility.set_location(' Leaving:' || l_proc,560);
1113 raise;
1114
1115 END is_rec_changed;
1116
1117 --2793140 change ends
1118
1119 /*
1120 ||===========================================================================
1121 || PROCEDURE: update_person_absence
1122 ||---------------------------------------------------------------------------
1123 ||
1124 || Description:
1125 || This procedure will call the actual API -
1126 || hr_person_absence_api.update_person_absence()
1127 ||
1128 || Access Status:
1129 || Public.
1130 ||
1131 ||===========================================================================
1132 */
1133
1134 PROCEDURE update_person_absence
1135 (p_validate in number default 0
1136 ,p_effective_date in date
1137 ,p_business_group_id in number
1138 ,p_absence_attendance_id in number
1139 ,p_abs_attendance_reason_id in number default hr_api.g_number
1140 ,p_comments in long default hr_api.g_varchar2
1141 ,p_date_notification in date default hr_api.g_date
1142 ,p_date_projected_start in date default hr_api.g_date
1143 ,p_time_projected_start in varchar2 default hr_api.g_varchar2
1144 ,p_date_projected_end in date default hr_api.g_date
1145 ,p_time_projected_end in varchar2 default hr_api.g_varchar2
1146 ,p_date_start in date default hr_api.g_date
1147 ,p_time_start in varchar2 default hr_api.g_varchar2
1148 ,p_date_end in date default hr_api.g_date
1149 ,p_time_end in varchar2 default hr_api.g_varchar2
1150 ,p_absence_days in out nocopy number
1151 ,p_absence_hours in out nocopy number
1152 ,p_authorising_person_id in number default hr_api.g_number
1153 ,p_replacement_person_id in number default hr_api.g_number
1154 ,p_attribute_category in varchar2 default hr_api.g_varchar2
1155 ,p_attribute1 in varchar2 default hr_api.g_varchar2
1156 ,p_attribute2 in varchar2 default hr_api.g_varchar2
1157 ,p_attribute3 in varchar2 default hr_api.g_varchar2
1158 ,p_attribute4 in varchar2 default hr_api.g_varchar2
1159 ,p_attribute5 in varchar2 default hr_api.g_varchar2
1160 ,p_attribute6 in varchar2 default hr_api.g_varchar2
1161 ,p_attribute7 in varchar2 default hr_api.g_varchar2
1162 ,p_attribute8 in varchar2 default hr_api.g_varchar2
1163 ,p_attribute9 in varchar2 default hr_api.g_varchar2
1164 ,p_attribute10 in varchar2 default hr_api.g_varchar2
1165 ,p_attribute11 in varchar2 default hr_api.g_varchar2
1166 ,p_attribute12 in varchar2 default hr_api.g_varchar2
1167 ,p_attribute13 in varchar2 default hr_api.g_varchar2
1168 ,p_attribute14 in varchar2 default hr_api.g_varchar2
1169 ,p_attribute15 in varchar2 default hr_api.g_varchar2
1170 ,p_attribute16 in varchar2 default hr_api.g_varchar2
1171 ,p_attribute17 in varchar2 default hr_api.g_varchar2
1172 ,p_attribute18 in varchar2 default hr_api.g_varchar2
1173 ,p_attribute19 in varchar2 default hr_api.g_varchar2
1174 ,p_attribute20 in varchar2 default hr_api.g_varchar2
1175 ,p_period_of_incapacity_id in number default hr_api.g_number
1176 ,p_ssp1_issued in varchar2 default hr_api.g_varchar2
1177 ,p_maternity_id in number default hr_api.g_number
1178 ,p_sickness_start_date in date default hr_api.g_date
1179 ,p_sickness_end_date in date default hr_api.g_date
1180 ,p_pregnancy_related_illness in varchar2 default hr_api.g_varchar2
1181 ,p_reason_for_notification_dela in varchar2 default hr_api.g_varchar2
1182 ,p_accept_late_notification_fla in varchar2 default hr_api.g_varchar2
1183 ,p_linked_absence_id in number default hr_api.g_number
1184 ,p_object_version_number in out nocopy number
1185 ,p_abs_information_category in varchar2 default null
1186 ,p_abs_information1 in varchar2 default null
1187 ,p_abs_information2 in varchar2 default null
1188 ,p_abs_information3 in varchar2 default null
1189 ,p_abs_information4 in varchar2 default null
1190 ,p_abs_information5 in varchar2 default null
1191 ,p_abs_information6 in varchar2 default null
1192 ,p_abs_information7 in varchar2 default null
1193 ,p_abs_information8 in varchar2 default null
1194 ,p_abs_information9 in varchar2 default null
1195 ,p_abs_information10 in varchar2 default null
1196 ,p_abs_information11 in varchar2 default null
1197 ,p_abs_information12 in varchar2 default null
1198 ,p_abs_information13 in varchar2 default null
1199 ,p_abs_information14 in varchar2 default null
1200 ,p_abs_information15 in varchar2 default null
1201 ,p_abs_information16 in varchar2 default null
1202 ,p_abs_information17 in varchar2 default null
1203 ,p_abs_information18 in varchar2 default null
1204 ,p_abs_information19 in varchar2 default null
1205 ,p_abs_information20 in varchar2 default null
1206 ,p_abs_information21 in varchar2 default null
1207 ,p_abs_information22 in varchar2 default null
1208 ,p_abs_information23 in varchar2 default null
1209 ,p_abs_information24 in varchar2 default null
1210 ,p_abs_information25 in varchar2 default null
1211 ,p_abs_information26 in varchar2 default null
1212 ,p_abs_information27 in varchar2 default null
1213 ,p_abs_information28 in varchar2 default null
1214 ,p_abs_information29 in varchar2 default null
1215 ,p_abs_information30 in varchar2 default null
1216 ,p_dur_dys_less_warning out nocopy number
1217 ,p_dur_hrs_less_warning out nocopy number
1218 ,p_exceeds_pto_entit_warning out nocopy number
1219 ,p_exceeds_run_total_warning out nocopy number
1220 ,p_abs_overlap_warning out nocopy number
1221 ,p_abs_day_after_warning out nocopy number
1222 ,p_dur_overwritten_warning out nocopy number
1223 ,p_del_element_entry_warning out nocopy number
1224 )
1225 IS
1226
1227 l_proc varchar2(72) := g_package||'update_person_absence';
1228 lb_abs_day_after_warning BOOLEAN;
1229 lb_abs_overlap_warning BOOLEAN;
1230 lb_dur_dys_less_warning BOOLEAN;
1231 lb_dur_hrs_less_warning BOOLEAN;
1232 lb_exceeds_pto_entit_warning BOOLEAN;
1233 lb_exceeds_run_total_warning BOOLEAN;
1234 lb_dur_overwritten_warning BOOLEAN;
1235 lb_del_element_entry_warning BOOLEAN;
1236
1237 BEGIN
1238 hr_utility.set_location(' Entering:' || l_proc,5);
1239
1240
1241 -- Call the actual API.
1242 hr_person_absence_api.update_person_absence
1243 (p_validate => hr_java_conv_util_ss.get_boolean (
1244 p_number => p_validate
1245 )
1246 ,p_effective_date => p_effective_date
1247 -- ,p_business_group_id => p_business_group_id
1248 ,p_absence_attendance_id => p_absence_attendance_id
1249 ,p_abs_attendance_reason_id => p_abs_attendance_reason_id
1250 ,p_comments => p_comments
1251 ,p_date_notification => p_date_notification
1252 ,p_date_projected_start => p_date_projected_start
1253 ,p_time_projected_start => p_time_projected_start
1254 ,p_date_projected_end => p_date_projected_end
1255 ,p_time_projected_end => p_time_projected_end
1256 ,p_date_start => p_date_start
1257 ,p_time_start => p_time_start
1258 ,p_date_end => p_date_end
1259 ,p_time_end => p_time_end
1260 ,p_absence_days => p_absence_days
1261 ,p_absence_hours => p_absence_hours
1262 ,p_authorising_person_id => p_authorising_person_id
1263 ,p_replacement_person_id => p_replacement_person_id
1264 ,p_attribute_category => p_attribute_category
1265 ,p_attribute1 => p_attribute1
1266 ,p_attribute2 => p_attribute2
1267 ,p_attribute3 => p_attribute3
1268 ,p_attribute4 => p_attribute4
1269 ,p_attribute5 => p_attribute5
1270 ,p_attribute6 => p_attribute6
1271 ,p_attribute7 => p_attribute7
1272 ,p_attribute8 => p_attribute8
1273 ,p_attribute9 => p_attribute9
1274 ,p_attribute10 => p_attribute10
1275 ,p_attribute11 => p_attribute11
1276 ,p_attribute12 => p_attribute12
1277 ,p_attribute13 => p_attribute13
1278 ,p_attribute14 => p_attribute14
1279 ,p_attribute15 => p_attribute15
1280 ,p_attribute16 => p_attribute16
1281 ,p_attribute17 => p_attribute17
1282 ,p_attribute18 => p_attribute18
1283 ,p_attribute19 => p_attribute19
1284 ,p_attribute20 => p_attribute20
1285 ,p_period_of_incapacity_id => p_period_of_incapacity_id
1286 ,p_ssp1_issued => p_ssp1_issued
1287 ,p_maternity_id => p_maternity_id
1288 ,p_sickness_start_date => p_sickness_start_date
1289 ,p_sickness_end_date => p_sickness_end_date
1290 ,p_pregnancy_related_illness => p_pregnancy_related_illness
1291 ,p_reason_for_notification_dela => p_reason_for_notification_dela
1292 ,p_accept_late_notification_fla => p_accept_late_notification_fla
1293 ,p_linked_absence_id => p_linked_absence_id
1294 ,p_object_version_number => p_object_version_number
1295 ,p_abs_information_category => p_abs_information_category
1296 ,p_abs_information1 => p_abs_information1
1297 ,p_abs_information2 => p_abs_information2
1298 ,p_abs_information3 => p_abs_information3
1299 ,p_abs_information4 => p_abs_information4
1300 ,p_abs_information5 => p_abs_information5
1301 ,p_abs_information6 => p_abs_information6
1302 ,p_abs_information7 => p_abs_information7
1303 ,p_abs_information8 => p_abs_information8
1304 ,p_abs_information9 => p_abs_information9
1305 ,p_abs_information10 => p_abs_information10
1306 ,p_abs_information11 => p_abs_information11
1307 ,p_abs_information12 => p_abs_information12
1308 ,p_abs_information13 => p_abs_information13
1309 ,p_abs_information14 => p_abs_information14
1310 ,p_abs_information15 => p_abs_information15
1311 ,p_abs_information16 => p_abs_information16
1312 ,p_abs_information17 => p_abs_information17
1313 ,p_abs_information18 => p_abs_information18
1314 ,p_abs_information19 => p_abs_information19
1315 ,p_abs_information20 => p_abs_information20
1316 ,p_abs_information21 => p_abs_information21
1317 ,p_abs_information22 => p_abs_information22
1318 ,p_abs_information23 => p_abs_information23
1319 ,p_abs_information24 => p_abs_information24
1320 ,p_abs_information25 => p_abs_information25
1321 ,p_abs_information26 => p_abs_information26
1322 ,p_abs_information27 => p_abs_information27
1323 ,p_abs_information28 => p_abs_information28
1324 ,p_abs_information29 => p_abs_information29
1325 ,p_abs_information30 => p_abs_information30
1326 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
1327 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
1328 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
1329 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
1330 ,p_abs_overlap_warning => lb_abs_overlap_warning
1331 ,p_abs_day_after_warning => lb_abs_day_after_warning
1332 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
1333 ,p_del_element_entry_warning => lb_del_element_entry_warning
1334 );
1335
1336 p_abs_day_after_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_day_after_warning );
1337 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
1338 p_dur_dys_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_dys_less_warning);
1339 p_dur_hrs_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_hrs_less_warning);
1340 p_exceeds_pto_entit_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_pto_entit_warning);
1341 p_exceeds_run_total_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_run_total_warning);
1342 p_dur_overwritten_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_overwritten_warning);
1343 p_del_element_entry_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_del_element_entry_warning);
1344
1345 hr_utility.set_location(' Leaving:' || l_proc,10);
1346
1347 EXCEPTION
1348 WHEN OTHERS THEN
1349 hr_utility.trace(' Exception in HR_LOA_SS.update_person_absence: ' || SQLERRM );
1350 hr_utility.set_location(' Leaving:' || l_proc,555);
1351
1352 RAISE; -- Raise error here relevant to the new tech stack.
1353
1354 END update_person_absence;
1355
1356 /*
1357 ||===========================================================================
1358 || PROCEDURE: create_transactrion
1359 ||---------------------------------------------------------------------------
1360 ||
1361 || Description:
1362 || This procedure will call the following API
1363 || hr_transaction_ss
1364 || hr_transaction_api
1365 ||
1366 || Access Status:
1367 || Public.
1368 ||
1369 ||===========================================================================
1370 */
1371 PROCEDURE create_transaction(
1372 p_item_type IN WF_ITEMS.ITEM_TYPE%TYPE ,
1373 p_item_key IN WF_ITEMS.ITEM_KEY%TYPE ,
1374 p_act_id IN NUMBER ,
1375 p_activity_name IN VARCHAR2,
1376 p_transaction_id IN OUT NOCOPY NUMBER ,
1377 p_transaction_step_id IN OUT NOCOPY NUMBER,
1378 p_login_person_id IN NUMBER,
1379 p_review_proc_call IN VARCHAR2) IS
1380
1381 l_proc varchar2(72) := g_package||'create_transaction';
1382 ln_transaction_id NUMBER ;
1383 ln_transaction_step_id NUMBER ;
1384 lv_result VARCHAR2(100) ;
1385 ltt_trans_obj_vers_num hr_util_web.g_varchar2_tab_type;
1386 lv_activity_name wf_item_activity_statuses_v.activity_name%TYPE;
1387 ln_trans_step_rows number default 0;
1388 ltt_trans_step_ids hr_util_web.g_varchar2_tab_type;
1389 ln_ovn hr_api_transaction_steps.object_version_number%TYPE;
1390 lv_creator_person_id per_all_people_f.person_id%TYPE;
1391
1392
1393 BEGIN
1394
1395 hr_utility.set_location(' Entering:' || l_proc,5);
1396
1397 hr_util_misc_web.validate_session(p_person_id => lv_creator_person_id);
1398
1399
1400 ---------------------------------------------------------------------
1401 -- Check if there is already a transaction for this process?
1402 ---------------------------------------------------------------------
1403 ln_transaction_id := hr_transaction_ss.get_transaction_id
1404 (p_Item_Type => p_item_type
1405 ,p_Item_Key => p_item_key);
1406
1407
1408 IF ln_transaction_id IS NULL
1409 THEN
1410 hr_utility.set_location(l_proc,10);
1411
1412
1413 -------------------------------------------------------------------
1414 -- Create a new transaction
1415 -------------------------------------------------------------------
1416 hr_transaction_ss.start_transaction
1417 (itemtype => p_item_type
1418 ,itemkey => p_item_key
1419 ,actid => p_act_id
1420 ,funmode => 'RUN'
1421 ,p_login_person_id=>p_login_person_id
1422 ,result => lv_result);
1423
1424
1425 ln_transaction_id := hr_transaction_ss.get_transaction_id
1426 (p_item_type => p_item_type
1427 ,p_item_key => p_item_key);
1428
1429
1430 END IF; -- now we have a valid txn id , let's find out txn steps
1431
1432 hr_utility.set_location(l_proc,15);
1433 ---------------------------------------------------------------------
1434 -- There is already a transaction for this process.
1435 -- Retieve the transaction step for this current
1436 -- activity. We will update this transaction step with
1437 -- the new information.
1438 ---------------------------------------------------------------------
1439
1440 hr_transaction_api.get_transaction_step_info
1441 (p_Item_Type => p_item_type
1442 ,p_Item_Key => p_item_key
1443 ,p_activity_id => to_number(p_act_id)
1444 ,p_transaction_step_id => ltt_trans_step_ids
1445 ,p_object_version_number => ltt_trans_obj_vers_num
1446 ,p_rows => ln_trans_step_rows);
1447
1448
1449 IF ln_trans_step_rows < 1 THEN
1450 hr_utility.set_location(l_proc,20);
1451
1452 ---------------------------------------------------------------------
1453 --There is no transaction step for this transaction.
1454 --Create a step within this new transaction
1455 ---------------------------------------------------------------------
1456
1457 hr_transaction_api.create_transaction_step(
1458 p_validate => false
1459 ,p_creator_person_id => p_login_person_id
1460 ,p_transaction_id => ln_transaction_id
1461 ,p_api_name => 'HR_LOA_SS.PROCESS_API'
1462 ,p_Item_Type => p_item_type
1463 ,p_Item_Key => p_item_key
1464 ,p_activity_id => p_act_id
1465 ,p_transaction_step_id => ln_transaction_step_id
1466 ,p_object_version_number =>ln_ovn ) ;
1467
1468 ELSE
1469 hr_utility.set_location(l_proc,25);
1470 ---------------------------------------------------------------------
1471 --There are transaction steps for this transaction.
1472 --Get the Transaction Step ID for this activity.
1473 ---------------------------------------------------------------------
1474 ln_transaction_step_id :=
1475 hr_transaction_ss.get_activity_trans_step_id(
1476 p_activity_name => 'HR_CREATE_ABSENCE' ,
1477 p_trans_step_id_tbl => ltt_trans_step_ids);
1478
1479 END IF;
1480
1481 hr_utility.set_location(l_proc,30);
1482 -- write activity name to txn table
1483 -- review page requires the following information
1484 hr_transaction_api.set_varchar2_value (
1485 p_transaction_step_id =>ln_transaction_step_id,
1486 p_person_id => lv_creator_person_id ,
1487 p_name => 'p_activity_name' ,
1488 p_value => p_activity_name ) ;
1489
1490 hr_transaction_api.set_varchar2_value (
1491 p_transaction_step_id =>ln_transaction_step_id,
1492 p_person_id => lv_creator_person_id ,
1493 p_name => 'P_REVIEW_PROC_CALL' ,
1494 p_value => p_review_proc_call ) ;
1495
1496 hr_transaction_api.set_varchar2_value (
1497 p_transaction_step_id =>ln_transaction_step_id,
1498 p_person_id => lv_creator_person_id ,
1499 p_name => 'P_REVIEW_ACTID' ,
1500 p_value => p_act_id ) ;
1501
1502 p_transaction_id := ln_transaction_id ;
1503 p_transaction_step_id := ln_transaction_step_id ;
1504
1505
1506 hr_utility.set_location(' Leaving:' || l_proc,35);
1507
1508 EXCEPTION
1509 WHEN OTHERS THEN
1510 hr_utility.trace(' Exception in HR_LOA_SS.create_transaction:' || SQLERRM );
1511 hr_utility.set_location(' Leaving:' || l_proc,555);
1512
1513 raise ;
1514 END create_transaction ;
1515
1516 /*
1517 ||===========================================================================
1518 || PROCEDURE: write_transaction
1519 ||---------------------------------------------------------------------------
1520 ||
1521 || Description:
1522 || This procedure will write transaction data into transaction table
1523 || hr_api_transaction_vlues
1524 ||
1525 || Access Status:
1526 || Public.
1527 ||
1528 ||===========================================================================
1529 */
1530 PROCEDURE write_transaction (
1531 p_transaction_step_id in NUMBER
1532 ,p_validate in NUMBER default 0
1533 ,p_effective_date in Date
1534 ,p_person_id in NUMBER default NULL
1535 ,p_business_group_id in NUMBER default NULL
1536 ,p_absence_attendance_type_id in NUMBER default NULL
1537 ,p_abs_attendance_reason_id in NUMBER default NULL
1538 ,p_comments in long
1539 ,p_date_notification in Date
1540 ,p_projected_start_date in Date
1541 ,p_projected_start_time in varchar2
1542 ,p_projected_end_date in Date
1543 ,p_projected_end_time in varchar2
1544 ,p_start_date in Date
1545 ,p_start_time in VARCHAR2
1546 ,p_end_date in Date
1547 ,p_end_time in VARCHAR2
1548 ,p_days in VARCHAR2
1549 ,p_hours in VARCHAR2
1550 ,p_authorising_id in NUMBER default NULL
1551 ,p_replacement_id in NUMBER default NULL
1552 ,p_attribute_category in varchar2 default null
1553 ,p_attribute1 in varchar2 default null
1554 ,p_attribute2 in varchar2 default null
1555 ,p_attribute3 in varchar2 default null
1556 ,p_attribute4 in varchar2 default null
1557 ,p_attribute5 in varchar2 default null
1558 ,p_attribute6 in varchar2 default null
1559 ,p_attribute7 in varchar2 default null
1560 ,p_attribute8 in varchar2 default null
1561 ,p_attribute9 in varchar2 default null
1562 ,p_attribute10 in varchar2 default null
1563 ,p_attribute11 in varchar2 default null
1564 ,p_attribute12 in varchar2 default null
1565 ,p_attribute13 in varchar2 default null
1566 ,p_attribute14 in varchar2 default null
1567 ,p_attribute15 in varchar2 default null
1568 ,p_attribute16 in varchar2 default null
1569 ,p_attribute17 in varchar2 default null
1570 ,p_attribute18 in varchar2 default null
1571 ,p_attribute19 in varchar2 default null
1572 ,p_attribute20 in varchar2 default null
1573 ,p_abs_information_category in varchar2 default null
1574 ,p_abs_information1 in varchar2 default null
1575 ,p_abs_information2 in varchar2 default null
1576 ,p_abs_information3 in varchar2 default null
1577 ,p_abs_information4 in varchar2 default null
1578 ,p_abs_information5 in varchar2 default null
1579 ,p_abs_information6 in varchar2 default null
1580 ,p_abs_information7 in varchar2 default null
1581 ,p_abs_information8 in varchar2 default null
1582 ,p_abs_information9 in varchar2 default null
1583 ,p_abs_information10 in varchar2 default null
1584 ,p_abs_information11 in varchar2 default null
1585 ,p_abs_information12 in varchar2 default null
1586 ,p_abs_information13 in varchar2 default null
1587 ,p_abs_information14 in varchar2 default null
1588 ,p_abs_information15 in varchar2 default null
1589 ,p_abs_information16 in varchar2 default null
1590 ,p_abs_information17 in varchar2 default null
1591 ,p_abs_information18 in varchar2 default null
1592 ,p_abs_information19 in varchar2 default null
1593 ,p_abs_information20 in varchar2 default null
1594 ,p_abs_information21 in varchar2 default null
1595 ,p_abs_information22 in varchar2 default null
1596 ,p_abs_information23 in varchar2 default null
1597 ,p_abs_information24 in varchar2 default null
1598 ,p_abs_information25 in varchar2 default null
1599 ,p_abs_information26 in varchar2 default null
1600 ,p_abs_information27 in varchar2 default null
1601 ,p_abs_information28 in varchar2 default null
1602 ,p_abs_information29 in varchar2 default null
1603 ,p_abs_information30 in varchar2 default null
1604
1605 ) IS
1606
1607 l_proc varchar2(72) := g_package||'write_transaction';
1608 lv_creator_person_id per_all_people_f.person_id%TYPE;
1609
1610 BEGIN
1611
1612 hr_utility.set_location(' Entering:' || l_proc,5);
1613
1614 hr_util_misc_web.validate_session(p_person_id => lv_creator_person_id);
1615
1616
1617 hr_transaction_api.set_number_value (
1618 p_transaction_step_id =>p_transaction_step_id,
1619 p_person_id => lv_creator_person_id ,
1620 p_name => 'p_validate' ,
1621 p_value =>p_validate ) ;
1622
1623 hr_transaction_api.set_date_value (
1624 p_transaction_step_id =>p_transaction_step_id,
1625 p_person_id => lv_creator_person_id ,
1626 p_name => 'p_effective_date' ,
1627 p_value =>p_effective_date ) ;
1628
1629 hr_transaction_api.set_number_value (
1630 p_transaction_step_id =>p_transaction_step_id,
1631 p_person_id => lv_creator_person_id ,
1632 p_name => 'p_person_id' ,
1633 p_value =>p_person_id ) ;
1634
1635 hr_transaction_api.set_number_value (
1636 p_transaction_step_id =>p_transaction_step_id,
1637 p_person_id => lv_creator_person_id ,
1638 p_name => 'p_business_group_id' ,
1639 p_value =>p_business_group_id ) ;
1640
1641 hr_transaction_api.set_number_value (
1642 p_transaction_step_id =>p_transaction_step_id,
1643 p_person_id => lv_creator_person_id ,
1644 p_name => 'p_absence_attendance_type_id' ,
1645 p_value =>p_absence_attendance_type_id ) ;
1646
1647 hr_transaction_api.set_number_value (
1648 p_transaction_step_id =>p_transaction_step_id,
1649 p_person_id => lv_creator_person_id ,
1650 p_name => 'p_abs_attendance_reason_id' ,
1651 p_value =>p_abs_attendance_reason_id ) ;
1652
1653 hr_transaction_api.set_varchar2_value (
1654 p_transaction_step_id =>p_transaction_step_id,
1655 p_person_id => lv_creator_person_id ,
1656 p_name => 'p_comments' ,
1657 p_value =>p_comments ) ;
1658
1659 hr_transaction_api.set_number_value (
1660 p_transaction_step_id =>p_transaction_step_id,
1661 p_person_id => lv_creator_person_id ,
1662 p_name => 'p_replacement_person_id' ,
1663 p_value =>p_replacement_id ) ;
1664
1665 hr_transaction_api.set_date_value (
1666 p_transaction_step_id =>p_transaction_step_id,
1667 p_person_id => lv_creator_person_id ,
1668 p_name => 'p_date_projected_start' ,
1669 p_value =>p_projected_start_date) ;
1670
1671 hr_transaction_api.set_varchar2_value (
1672 p_transaction_step_id =>p_transaction_step_id,
1673 p_person_id => lv_creator_person_id ,
1674 p_name => 'p_time_projected_start' ,
1675 p_value =>p_projected_start_time ) ;
1676
1677 hr_transaction_api.set_date_value (
1678 p_transaction_step_id =>p_transaction_step_id,
1679 p_person_id => lv_creator_person_id ,
1680 p_name => 'p_date_projected_end' ,
1681 p_value =>p_projected_end_date) ;
1682
1683 hr_transaction_api.set_varchar2_value (
1684 p_transaction_step_id =>p_transaction_step_id,
1685 p_person_id => lv_creator_person_id ,
1686 p_name => 'p_time_projected_end' ,
1687 p_value =>p_projected_end_time ) ;
1688
1689 hr_transaction_api.set_number_value (
1690 p_transaction_step_id =>p_transaction_step_id,
1691 p_person_id => lv_creator_person_id ,
1692 p_name => 'p_replacement_person_id' ,
1693 p_value =>p_replacement_id ) ;
1694
1695 hr_transaction_api.set_date_value (
1696 p_transaction_step_id =>p_transaction_step_id,
1697 p_person_id => lv_creator_person_id ,
1698 p_name => 'p_date_start' ,
1699 p_value =>p_start_date) ;
1700
1701 hr_transaction_api.set_varchar2_value (
1702 p_transaction_step_id =>p_transaction_step_id,
1703 p_person_id => lv_creator_person_id ,
1704 p_name => 'p_time_start' ,
1705 p_value =>p_start_time ) ;
1706
1707
1708 hr_transaction_api.set_date_value (
1709 p_transaction_step_id =>p_transaction_step_id,
1710 p_person_id => lv_creator_person_id ,
1711 p_name => 'p_date_end' ,
1712 p_value =>p_end_date) ;
1713
1714 hr_transaction_api.set_varchar2_value (
1715 p_transaction_step_id =>p_transaction_step_id,
1716 p_person_id => lv_creator_person_id ,
1717 p_name => 'p_time_end' ,
1718 p_value =>p_end_time ) ;
1719
1720 hr_transaction_api.set_varchar2_value (
1721 p_transaction_step_id =>p_transaction_step_id,
1722 p_person_id => lv_creator_person_id ,
1723 p_name => 'p_absence_days' ,
1724 p_value =>p_days ) ;
1725
1726 hr_transaction_api.set_varchar2_value (
1727 p_transaction_step_id =>p_transaction_step_id,
1728 p_person_id => lv_creator_person_id ,
1729 p_name => 'p_absence_hours' ,
1730 p_value =>p_hours ) ;
1731
1732 hr_transaction_api.set_date_value (
1733 p_transaction_step_id =>p_transaction_step_id,
1734 p_person_id => lv_creator_person_id ,
1735 p_name => 'p_date_notification' ,
1736 p_value =>p_date_notification ) ;
1737
1738 hr_transaction_api.set_number_value (
1739 p_transaction_step_id =>p_transaction_step_id,
1740 p_person_id => lv_creator_person_id ,
1741 p_name => 'p_authorising_person_id' ,
1742 p_value =>p_authorising_id ) ;
1743
1744 hr_transaction_api.set_varchar2_value (
1745 p_transaction_step_id =>p_transaction_step_id,
1746 p_person_id => lv_creator_person_id ,
1747 p_name => 'p_attribute_category' ,
1748 p_value =>p_attribute_category ) ;
1749
1750 hr_transaction_api.set_varchar2_value (
1751 p_transaction_step_id =>p_transaction_step_id,
1752 p_person_id => lv_creator_person_id ,
1753 p_name => 'p_attribute1' ,
1754 p_value =>p_attribute1 ) ;
1755
1756 hr_transaction_api.set_varchar2_value (
1757 p_transaction_step_id =>p_transaction_step_id,
1758 p_person_id => lv_creator_person_id ,
1759 p_name => 'p_attribute2' ,
1760 p_value =>p_attribute2 ) ;
1761
1762
1763 hr_transaction_api.set_varchar2_value (
1764 p_transaction_step_id =>p_transaction_step_id,
1765 p_person_id => lv_creator_person_id ,
1766 p_name => 'p_attribute3' ,
1767 p_value =>p_attribute3 ) ;
1768
1769 hr_transaction_api.set_varchar2_value (
1770 p_transaction_step_id =>p_transaction_step_id,
1771 p_person_id => lv_creator_person_id ,
1772 p_name => 'p_attribute4' ,
1773 p_value =>p_attribute4 ) ;
1774
1775 hr_transaction_api.set_varchar2_value (
1776 p_transaction_step_id =>p_transaction_step_id,
1777 p_person_id => lv_creator_person_id ,
1778 p_name => 'p_attribute5' ,
1779 p_value =>p_attribute5 ) ;
1780
1781 hr_transaction_api.set_varchar2_value (
1782 p_transaction_step_id =>p_transaction_step_id,
1783 p_person_id => lv_creator_person_id ,
1784 p_name => 'p_attribute6' ,
1785 p_value =>p_attribute6 ) ;
1786
1787 hr_transaction_api.set_varchar2_value (
1788 p_transaction_step_id =>p_transaction_step_id,
1789 p_person_id => lv_creator_person_id ,
1790 p_name => 'p_attribute7' ,
1791 p_value =>p_attribute7 ) ;
1792
1793 hr_transaction_api.set_varchar2_value (
1794 p_transaction_step_id =>p_transaction_step_id,
1795 p_person_id => lv_creator_person_id ,
1796 p_name => 'p_attribute8' ,
1797 p_value =>p_attribute8 ) ;
1798
1799 hr_transaction_api.set_varchar2_value (
1800 p_transaction_step_id =>p_transaction_step_id,
1801 p_person_id => lv_creator_person_id ,
1802 p_name => 'p_attribute9' ,
1803 p_value =>p_attribute9 ) ;
1804
1805 hr_transaction_api.set_varchar2_value (
1806 p_transaction_step_id =>p_transaction_step_id,
1807 p_person_id => lv_creator_person_id ,
1808 p_name => 'p_attribute10' ,
1809 p_value =>p_attribute10 ) ;
1810
1811 hr_transaction_api.set_varchar2_value (
1812 p_transaction_step_id =>p_transaction_step_id,
1813 p_person_id => lv_creator_person_id ,
1814 p_name => 'p_attribute11' ,
1815 p_value =>p_attribute11 ) ;
1816
1817 hr_transaction_api.set_varchar2_value (
1818 p_transaction_step_id =>p_transaction_step_id,
1819 p_person_id => lv_creator_person_id ,
1820 p_name => 'p_attribute12' ,
1821 p_value =>p_attribute12 ) ;
1822
1823 hr_transaction_api.set_varchar2_value (
1824 p_transaction_step_id =>p_transaction_step_id,
1825 p_person_id => lv_creator_person_id ,
1826 p_name => 'p_attribute13' ,
1827 p_value =>p_attribute13 ) ;
1828
1829 hr_transaction_api.set_varchar2_value (
1830 p_transaction_step_id =>p_transaction_step_id,
1831 p_person_id => lv_creator_person_id ,
1832 p_name => 'p_attribute14' ,
1833 p_value =>p_attribute14 ) ;
1834
1835 hr_transaction_api.set_varchar2_value (
1836 p_transaction_step_id =>p_transaction_step_id,
1837 p_person_id => lv_creator_person_id ,
1838 p_name => 'p_attribute15' ,
1839 p_value =>p_attribute15 ) ;
1840
1841 hr_transaction_api.set_varchar2_value (
1842 p_transaction_step_id =>p_transaction_step_id,
1843 p_person_id => lv_creator_person_id ,
1844 p_name => 'p_attribute16' ,
1845 p_value =>p_attribute16 ) ;
1846
1847 hr_transaction_api.set_varchar2_value (
1848 p_transaction_step_id =>p_transaction_step_id,
1849 p_person_id => lv_creator_person_id ,
1850 p_name => 'p_attribute17' ,
1851 p_value =>p_attribute17 ) ;
1852
1853 hr_transaction_api.set_varchar2_value (
1854 p_transaction_step_id =>p_transaction_step_id,
1855 p_person_id => lv_creator_person_id ,
1856 p_name => 'p_attribute18' ,
1857 p_value =>p_attribute18 ) ;
1858
1859 hr_transaction_api.set_varchar2_value (
1860 p_transaction_step_id =>p_transaction_step_id,
1861 p_person_id => lv_creator_person_id ,
1862 p_name => 'p_attribute19' ,
1863 p_value =>p_attribute19 ) ;
1864
1865 hr_transaction_api.set_varchar2_value (
1866 p_transaction_step_id =>p_transaction_step_id,
1867 p_person_id => lv_creator_person_id ,
1868 p_name => 'p_attribute20' ,
1869 p_value =>p_attribute20 ) ;
1870
1871 hr_transaction_api.set_varchar2_value (
1872 p_transaction_step_id =>p_transaction_step_id,
1873 p_person_id => lv_creator_person_id ,
1874 p_name => 'p_abs_information_category' ,
1875 p_value =>p_abs_information_category ) ;
1876
1877 hr_transaction_api.set_varchar2_value (
1878 p_transaction_step_id =>p_transaction_step_id,
1879 p_person_id => lv_creator_person_id ,
1880 p_name => 'p_abs_information1' ,
1881 p_value =>p_abs_information1 ) ;
1882
1883 hr_transaction_api.set_varchar2_value (
1884 p_transaction_step_id =>p_transaction_step_id,
1885 p_person_id => lv_creator_person_id ,
1886 p_name => 'p_abs_information2' ,
1887 p_value =>p_abs_information2 ) ;
1888
1889
1890 hr_transaction_api.set_varchar2_value (
1891 p_transaction_step_id =>p_transaction_step_id,
1892 p_person_id => lv_creator_person_id ,
1893 p_name => 'p_abs_information3' ,
1894 p_value =>p_abs_information3 ) ;
1895
1896 hr_transaction_api.set_varchar2_value (
1897 p_transaction_step_id =>p_transaction_step_id,
1898 p_person_id => lv_creator_person_id ,
1899 p_name => 'p_abs_information4' ,
1900 p_value =>p_abs_information4 ) ;
1901
1902 hr_transaction_api.set_varchar2_value (
1903 p_transaction_step_id =>p_transaction_step_id,
1904 p_person_id => lv_creator_person_id ,
1905 p_name => 'p_abs_information5' ,
1906 p_value =>p_abs_information5 ) ;
1907
1908 hr_transaction_api.set_varchar2_value (
1909 p_transaction_step_id =>p_transaction_step_id,
1910 p_person_id => lv_creator_person_id ,
1911 p_name => 'p_abs_information6' ,
1912 p_value =>p_abs_information6 ) ;
1913
1914 hr_transaction_api.set_varchar2_value (
1915 p_transaction_step_id =>p_transaction_step_id,
1916 p_person_id => lv_creator_person_id ,
1917 p_name => 'p_abs_information7' ,
1918 p_value =>p_abs_information7 ) ;
1919
1920 hr_transaction_api.set_varchar2_value (
1921 p_transaction_step_id =>p_transaction_step_id,
1922 p_person_id => lv_creator_person_id ,
1923 p_name => 'p_abs_information8' ,
1924 p_value =>p_abs_information8 ) ;
1925
1926 hr_transaction_api.set_varchar2_value (
1927 p_transaction_step_id =>p_transaction_step_id,
1928 p_person_id => lv_creator_person_id ,
1929 p_name => 'p_abs_information9' ,
1930 p_value =>p_abs_information9 ) ;
1931
1932 hr_transaction_api.set_varchar2_value (
1933 p_transaction_step_id =>p_transaction_step_id,
1934 p_person_id => lv_creator_person_id ,
1935 p_name => 'p_abs_information10' ,
1936 p_value =>p_abs_information10 ) ;
1937
1938 hr_transaction_api.set_varchar2_value (
1939 p_transaction_step_id =>p_transaction_step_id,
1940 p_person_id => lv_creator_person_id ,
1941 p_name => 'p_abs_information11' ,
1942 p_value =>p_abs_information11 ) ;
1943
1944 hr_transaction_api.set_varchar2_value (
1945 p_transaction_step_id =>p_transaction_step_id,
1946 p_person_id => lv_creator_person_id ,
1947 p_name => 'p_abs_information12' ,
1948 p_value =>p_abs_information12 ) ;
1949
1950 hr_transaction_api.set_varchar2_value (
1951 p_transaction_step_id =>p_transaction_step_id,
1952 p_person_id => lv_creator_person_id ,
1953 p_name => 'p_abs_information13' ,
1954 p_value =>p_abs_information13 ) ;
1955
1956 hr_transaction_api.set_varchar2_value (
1957 p_transaction_step_id =>p_transaction_step_id,
1958 p_person_id => lv_creator_person_id ,
1959 p_name => 'p_abs_information14' ,
1960 p_value =>p_abs_information14 ) ;
1961
1962 hr_transaction_api.set_varchar2_value (
1963 p_transaction_step_id =>p_transaction_step_id,
1964 p_person_id => lv_creator_person_id ,
1965 p_name => 'p_abs_information15' ,
1966 p_value =>p_abs_information15 ) ;
1967
1968 hr_transaction_api.set_varchar2_value (
1969 p_transaction_step_id =>p_transaction_step_id,
1970 p_person_id => lv_creator_person_id ,
1971 p_name => 'p_abs_information16' ,
1972 p_value =>p_abs_information16 ) ;
1973
1974 hr_transaction_api.set_varchar2_value (
1975 p_transaction_step_id =>p_transaction_step_id,
1976 p_person_id => lv_creator_person_id ,
1977 p_name => 'p_abs_information17' ,
1978 p_value =>p_abs_information17 ) ;
1979
1980 hr_transaction_api.set_varchar2_value (
1981 p_transaction_step_id =>p_transaction_step_id,
1982 p_person_id => lv_creator_person_id ,
1983 p_name => 'p_abs_information18' ,
1984 p_value =>p_abs_information18 ) ;
1985
1986 hr_transaction_api.set_varchar2_value (
1987 p_transaction_step_id =>p_transaction_step_id,
1988 p_person_id => lv_creator_person_id ,
1989 p_name => 'p_abs_information19' ,
1990 p_value =>p_abs_information19 ) ;
1991
1992 hr_transaction_api.set_varchar2_value (
1993 p_transaction_step_id =>p_transaction_step_id,
1994 p_person_id => lv_creator_person_id ,
1995 p_name => 'p_abs_information20' ,
1996 p_value =>p_abs_information20 ) ;
1997
1998 hr_transaction_api.set_varchar2_value (
1999 p_transaction_step_id =>p_transaction_step_id,
2000 p_person_id => lv_creator_person_id ,
2001 p_name => 'p_abs_information21' ,
2002 p_value =>p_abs_information21 ) ;
2003
2004 hr_transaction_api.set_varchar2_value (
2005 p_transaction_step_id =>p_transaction_step_id,
2006 p_person_id => lv_creator_person_id ,
2007 p_name => 'p_abs_information22' ,
2008 p_value =>p_abs_information22 ) ;
2009
2010 hr_transaction_api.set_varchar2_value (
2011 p_transaction_step_id =>p_transaction_step_id,
2012 p_person_id => lv_creator_person_id ,
2013 p_name => 'p_abs_information23' ,
2014 p_value =>p_abs_information23 ) ;
2015
2016 hr_transaction_api.set_varchar2_value (
2017 p_transaction_step_id =>p_transaction_step_id,
2018 p_person_id => lv_creator_person_id ,
2019 p_name => 'p_abs_information24' ,
2020 p_value =>p_abs_information24 ) ;
2021
2022 hr_transaction_api.set_varchar2_value (
2023 p_transaction_step_id =>p_transaction_step_id,
2024 p_person_id => lv_creator_person_id ,
2025 p_name => 'p_abs_information25' ,
2026 p_value =>p_abs_information25 ) ;
2027
2028 hr_transaction_api.set_varchar2_value (
2029 p_transaction_step_id =>p_transaction_step_id,
2030 p_person_id => lv_creator_person_id ,
2031 p_name => 'p_abs_information26' ,
2032 p_value =>p_abs_information26 ) ;
2033
2034 hr_transaction_api.set_varchar2_value (
2035 p_transaction_step_id =>p_transaction_step_id,
2036 p_person_id => lv_creator_person_id ,
2037 p_name => 'p_abs_information27' ,
2038 p_value =>p_abs_information27 ) ;
2039
2040 hr_transaction_api.set_varchar2_value (
2041 p_transaction_step_id =>p_transaction_step_id,
2042 p_person_id => lv_creator_person_id ,
2043 p_name => 'p_abs_information28' ,
2044 p_value =>p_abs_information28 ) ;
2045
2046 hr_transaction_api.set_varchar2_value (
2047 p_transaction_step_id =>p_transaction_step_id,
2048 p_person_id => lv_creator_person_id ,
2049 p_name => 'p_abs_information29' ,
2050 p_value =>p_abs_information29 ) ;
2051
2052 hr_transaction_api.set_varchar2_value (
2053 p_transaction_step_id =>p_transaction_step_id,
2054 p_person_id => lv_creator_person_id ,
2055 p_name => 'p_abs_information30' ,
2056 p_value =>p_abs_information30 ) ;
2057
2058 hr_utility.set_location(' Leaving:' || l_proc,10);
2059
2060 EXCEPTION
2061 WHEN OTHERS THEN
2062 hr_utility.trace(' HR_LOA_SS.write_transaction:' || SQLERRM );
2063 hr_utility.set_location(' Leaving:' || l_proc,555);
2064
2065 raise ;
2066
2067 END write_transaction ;
2068
2069 /*
2070 ||===========================================================================
2071 || PROCEDURE: get_absence_transaction
2072 ||---------------------------------------------------------------------------
2073 ||
2074 || Description:
2075 || Reads Absence Transaction from transaction table
2076 ||
2077 || Pre Conditions:
2078 ||
2079 || In Arguments:
2080 || Transaction id keys
2081 ||
2082 || out nocopy Arguments:
2083 || None.
2084 ||
2085 || In out nocopy Arguments:
2086 ||
2087 || Post Success:
2088 || Reads from transaction table
2089 ||
2090 || Post Failure:
2091 || Raises an exception
2092 ||
2093 || Access Status:
2094 || Public
2095 ||
2096 ||===========================================================================
2097 */
2098 procedure get_absence_transaction
2099 (p_transaction_step_id IN VARCHAR2,
2100 p_effective_date OUT NOCOPY VARCHAR2,
2101 p_person_id OUT NOCOPY VARCHAR2,
2102 p_absence_attendance_type_id OUT NOCOPY VARCHAR2,
2103 p_abs_attendance_reason_id OUT NOCOPY VARCHAR2,
2104 p_comments OUT NOCOPY VARCHAR2,
2105 p_date_notification OUT NOCOPY VARCHAR2,
2106 p_authorising_id OUT NOCOPY VARCHAR2,
2107 p_replacement_id OUT NOCOPY VARCHAR2,
2108 p_projected_start_date OUT NOCOPY VARCHAR2,
2109 p_projected_start_time OUT NOCOPY VARCHAR2,
2110 p_projected_end_date OUT NOCOPY VARCHAR2,
2111 p_projected_end_time OUT NOCOPY VARCHAR2,
2112 p_start_date OUT NOCOPY VARCHAR2,
2113 p_start_time OUT NOCOPY VARCHAR2,
2114 p_end_date OUT NOCOPY VARCHAR2,
2115 p_end_time OUT NOCOPY VARCHAR2,
2116 p_days OUT NOCOPY VARCHAR2,
2117 p_hours OUT NOCOPY VARCHAR2,
2118 p_start_ampm OUT NOCOPY VARCHAR2,
2119 p_end_ampm OUT NOCOPY VARCHAR2,
2120 p_attribute_category OUT NOCOPY VARCHAR2,
2121 p_attribute1 OUT NOCOPY VARCHAR2,
2122 p_attribute2 OUT NOCOPY VARCHAR2,
2123 p_attribute3 OUT NOCOPY VARCHAR2,
2124 p_attribute4 OUT NOCOPY VARCHAR2,
2125 p_attribute5 OUT NOCOPY VARCHAR2,
2126 p_attribute6 OUT NOCOPY VARCHAR2,
2127 p_attribute7 OUT NOCOPY VARCHAR2,
2128 p_attribute8 OUT NOCOPY VARCHAR2,
2129 p_attribute9 OUT NOCOPY VARCHAR2,
2130 p_attribute10 OUT NOCOPY VARCHAR2,
2131 p_attribute11 OUT NOCOPY VARCHAR2,
2132 p_attribute12 OUT NOCOPY VARCHAR2,
2133 p_attribute13 OUT NOCOPY VARCHAR2,
2134 p_attribute14 OUT NOCOPY VARCHAR2,
2135 p_attribute15 OUT NOCOPY VARCHAR2,
2136 p_attribute16 OUT NOCOPY VARCHAR2,
2137 p_attribute17 OUT NOCOPY VARCHAR2,
2138 p_attribute18 OUT NOCOPY VARCHAR2,
2139 p_attribute19 OUT NOCOPY VARCHAR2,
2140 p_attribute20 OUT NOCOPY VARCHAR2,
2141 p_absence_attendance_id OUT NOCOPY VARCHAR2,
2142 p_review_actid OUT NOCOPY VARCHAR2,
2143 p_review_proc_call OUT NOCOPY VARCHAR2,
2144 p_abs_information_category OUT NOCOPY VARCHAR2,
2145 p_abs_information1 OUT NOCOPY VARCHAR2,
2146 p_abs_information2 OUT NOCOPY VARCHAR2,
2147 p_abs_information3 OUT NOCOPY VARCHAR2,
2148 p_abs_information4 OUT NOCOPY VARCHAR2,
2149 p_abs_information5 OUT NOCOPY VARCHAR2,
2150 p_abs_information6 OUT NOCOPY VARCHAR2,
2151 p_abs_information7 OUT NOCOPY VARCHAR2,
2152 p_abs_information8 OUT NOCOPY VARCHAR2,
2153 p_abs_information9 OUT NOCOPY VARCHAR2,
2154 p_abs_information10 OUT NOCOPY VARCHAR2,
2155 p_abs_information11 OUT NOCOPY VARCHAR2,
2156 p_abs_information12 OUT NOCOPY VARCHAR2,
2157 p_abs_information13 OUT NOCOPY VARCHAR2,
2158 p_abs_information14 OUT NOCOPY VARCHAR2,
2159 p_abs_information15 OUT NOCOPY VARCHAR2,
2160 p_abs_information16 OUT NOCOPY VARCHAR2,
2161 p_abs_information17 OUT NOCOPY VARCHAR2,
2162 p_abs_information18 OUT NOCOPY VARCHAR2,
2163 p_abs_information19 OUT NOCOPY VARCHAR2,
2164 p_abs_information20 OUT NOCOPY VARCHAR2,
2165 p_abs_information21 OUT NOCOPY VARCHAR2,
2166 p_abs_information22 OUT NOCOPY VARCHAR2,
2167 p_abs_information23 OUT NOCOPY VARCHAR2,
2168 p_abs_information24 OUT NOCOPY VARCHAR2,
2169 p_abs_information25 OUT NOCOPY VARCHAR2,
2170 p_abs_information26 OUT NOCOPY VARCHAR2,
2171 p_abs_information27 OUT NOCOPY VARCHAR2,
2172 p_abs_information28 OUT NOCOPY VARCHAR2,
2173 p_abs_information29 OUT NOCOPY VARCHAR2,
2174 p_abs_information30 OUT NOCOPY VARCHAR2,
2175 p_leave_status OUT NOCOPY VARCHAR2,
2176 p_save_mode OUT NOCOPY VARCHAR2,
2177 p_activity_name OUT NOCOPY VARCHAR2,
2178 p_business_group_id OUT NOCOPY VARCHAR2,
2179 p_object_version_number OUT NOCOPY VARCHAR2 --2793220
2180 ) IS
2181
2182 --
2183 l_proc varchar2(72) := g_package||'get_absence_transaction';
2184 --
2185
2186 BEGIN
2187 --
2188 hr_utility.set_location(' Entering:' || l_proc,5);
2189
2190 p_effective_date:= to_char(
2191 hr_transaction_api.get_date_value
2192 (p_transaction_step_id => p_transaction_step_id
2193 ,p_name => 'p_effective_date')
2194 ,g_date_format);
2195 --
2196 p_person_id :=
2197 hr_transaction_api.get_number_value
2198 (p_transaction_step_id => p_transaction_step_id
2199 ,p_name => 'p_person_id');
2200 --
2201 p_absence_attendance_type_id :=
2202 hr_transaction_api.get_number_value
2203 (p_transaction_step_id => p_transaction_step_id
2204 ,p_name => 'p_absence_attendance_type_id');
2205 --
2206 p_abs_attendance_reason_id:=
2207 hr_transaction_api.get_number_value
2208 (p_transaction_step_id => p_transaction_step_id
2209 ,p_name => 'p_abs_attendance_reason_id');
2210 --
2211 p_comments:=
2212 hr_transaction_api.get_varchar2_value
2213 (p_transaction_step_id => p_transaction_step_id
2214 ,p_name => 'p_comments');
2215 --
2216 p_date_notification:= to_char(
2217 hr_transaction_api.get_date_value
2218 (p_transaction_step_id => p_transaction_step_id
2219 ,p_name => 'p_date_notification')
2220 ,g_date_format);
2221 --
2222 p_authorising_id:=
2223 hr_transaction_api.get_number_value
2224 (p_transaction_step_id => p_transaction_step_id
2225 ,p_name => 'p_authorising_person_id');
2226 --
2227 p_replacement_id:=
2228 hr_transaction_api.get_number_value
2229 (p_transaction_step_id => p_transaction_step_id
2230 ,p_name => 'p_replacement_person_id');
2231 --
2232 p_projected_start_date:= to_char(
2233 hr_transaction_api.get_date_value
2234 (p_transaction_step_id => p_transaction_step_id
2235 ,p_name => 'p_date_projected_start')
2236 ,g_date_format);
2237 --
2238 p_projected_start_time:=
2239 hr_transaction_api.get_varchar2_value
2240 (p_transaction_step_id => p_transaction_step_id
2241 ,p_name => 'p_time_projected_start');
2242 --
2243 p_projected_end_date:= to_char(
2244 hr_transaction_api.get_date_value
2245 (p_transaction_step_id => p_transaction_step_id
2246 ,p_name => 'p_date_projected_end')
2247 ,g_date_format);
2248 --
2249 p_projected_end_time:=
2250 hr_transaction_api.get_varchar2_value
2251 (p_transaction_step_id => p_transaction_step_id
2252 ,p_name => 'p_time_projected_end');
2253 --
2254 p_start_date:= to_char(
2255 hr_transaction_api.get_date_value
2256 (p_transaction_step_id => p_transaction_step_id
2257 ,p_name => 'p_date_start')
2258 ,g_date_format);
2259 --
2260 p_start_time:=
2261 hr_transaction_api.get_varchar2_value
2262 (p_transaction_step_id => p_transaction_step_id
2263 ,p_name => 'p_time_start');
2264 --
2265 p_end_date:= to_char(
2266 hr_transaction_api.get_date_value
2267 (p_transaction_step_id => p_transaction_step_id
2268 ,p_name => 'p_date_end')
2269 ,g_date_format);
2270 --
2271 p_end_time:=
2272 hr_transaction_api.get_varchar2_value
2273 (p_transaction_step_id => p_transaction_step_id
2274 ,p_name => 'p_time_end');
2275 --
2276 p_days:=
2277 hr_transaction_api.get_number_value
2278 (p_transaction_step_id => p_transaction_step_id
2279 ,p_name => 'p_absence_days');
2280 --
2281 p_hours:=
2282 hr_transaction_api.get_number_value
2283 (p_transaction_step_id => p_transaction_step_id
2284 ,p_name => 'p_absence_hours');
2285 --
2286 p_start_ampm:=
2287 hr_transaction_api.get_varchar2_value
2288 (p_transaction_step_id => p_transaction_step_id
2289 ,p_name => 'p_start_ampm');
2290 --
2291 p_end_ampm:=
2292 hr_transaction_api.get_varchar2_value
2293 (p_transaction_step_id => p_transaction_step_id
2294 ,p_name => 'p_end_ampm');
2295 --
2296 p_attribute_category:=
2297 hr_transaction_api.get_varchar2_value
2298 (p_transaction_step_id => p_transaction_step_id
2299 ,p_name => 'p_attribute_category');
2300 --
2301 p_attribute1:=
2302 hr_transaction_api.get_varchar2_value
2303 (p_transaction_step_id => p_transaction_step_id
2304 ,p_name => 'p_attribute1');
2305 --
2306 p_attribute2:=
2307 hr_transaction_api.get_varchar2_value
2308 (p_transaction_step_id => p_transaction_step_id
2309 ,p_name => 'p_attribute2');
2310 --
2311 p_attribute3:=
2312 hr_transaction_api.get_varchar2_value
2313 (p_transaction_step_id => p_transaction_step_id
2314 ,p_name => 'p_attribute3');
2315 --
2316 p_attribute4:=
2317 hr_transaction_api.get_varchar2_value
2318 (p_transaction_step_id => p_transaction_step_id
2319 ,p_name => 'p_attribute4');
2320 --
2321 p_attribute5:=
2322 hr_transaction_api.get_varchar2_value
2323 (p_transaction_step_id => p_transaction_step_id
2324 ,p_name => 'p_attribute5');
2325 --
2326 p_attribute6:=
2327 hr_transaction_api.get_varchar2_value
2328 (p_transaction_step_id => p_transaction_step_id
2329 ,p_name => 'p_attribute6');
2330 --
2331 p_attribute7:=
2332 hr_transaction_api.get_varchar2_value
2333 (p_transaction_step_id => p_transaction_step_id
2334 ,p_name => 'p_attribute7');
2335 --
2336 p_attribute8:=
2337 hr_transaction_api.get_varchar2_value
2338 (p_transaction_step_id => p_transaction_step_id
2339 ,p_name => 'p_attribute8');
2340 --
2341 p_attribute9:=
2342 hr_transaction_api.get_varchar2_value
2343 (p_transaction_step_id => p_transaction_step_id
2344 ,p_name => 'p_attribute9');
2345 --
2346 p_attribute10:=
2347 hr_transaction_api.get_varchar2_value
2348 (p_transaction_step_id => p_transaction_step_id
2349 ,p_name => 'p_attribute10');
2350 --
2351 p_attribute11:=
2352 hr_transaction_api.get_varchar2_value
2353 (p_transaction_step_id => p_transaction_step_id
2354 ,p_name => 'p_attribute11');
2355 --
2356 p_attribute12:=
2357 hr_transaction_api.get_varchar2_value
2358 (p_transaction_step_id => p_transaction_step_id
2359 ,p_name => 'p_attribute12');
2360 --
2361 p_attribute13:=
2362 hr_transaction_api.get_varchar2_value
2363 (p_transaction_step_id => p_transaction_step_id
2364 ,p_name => 'p_attribute13');
2365 --
2366 p_attribute14:=
2367 hr_transaction_api.get_varchar2_value
2368 (p_transaction_step_id => p_transaction_step_id
2369 ,p_name => 'p_attribute14');
2370 --
2371 p_attribute15:=
2372 hr_transaction_api.get_varchar2_value
2373 (p_transaction_step_id => p_transaction_step_id
2374 ,p_name => 'p_attribute15');
2375 --
2376 p_attribute16:=
2377 hr_transaction_api.get_varchar2_value
2378 (p_transaction_step_id => p_transaction_step_id
2379 ,p_name => 'p_attribute16');
2380 --
2381 p_attribute17:=
2382 hr_transaction_api.get_varchar2_value
2383 (p_transaction_step_id => p_transaction_step_id
2384 ,p_name => 'p_attribute17');
2385 --
2386 p_attribute18:=
2387 hr_transaction_api.get_varchar2_value
2388 (p_transaction_step_id => p_transaction_step_id
2389 ,p_name => 'p_attribute18');
2390 --
2391 p_attribute19:=
2392 hr_transaction_api.get_varchar2_value
2393 (p_transaction_step_id => p_transaction_step_id
2394 ,p_name => 'p_attribute19');
2395 --
2396 p_attribute20:=
2397 hr_transaction_api.get_varchar2_value
2398 (p_transaction_step_id => p_transaction_step_id
2399 ,p_name => 'p_attribute20');
2400 --
2401 p_absence_attendance_id:=
2402 hr_transaction_api.get_number_value
2403 (p_transaction_step_id => p_transaction_step_id
2404 ,p_name => 'p_absence_attendance_id');
2405 --
2406 p_review_proc_call:=
2407 hr_transaction_api.get_varchar2_value
2408 (p_transaction_step_id => p_transaction_step_id
2409 ,p_name => 'p_review_proc_call');
2410 --
2411 p_review_actid:=
2412 hr_transaction_api.get_varchar2_value
2413 (p_transaction_step_id => p_transaction_step_id
2414 ,p_name => 'p_review_actid');
2415
2416 --
2417 p_abs_information_category:=
2418 hr_transaction_api.get_varchar2_value
2419 (p_transaction_step_id => p_transaction_step_id
2420 ,p_name => 'p_abs_information_category');
2421 --
2422 p_abs_information1:=
2423 hr_transaction_api.get_varchar2_value
2424 (p_transaction_step_id => p_transaction_step_id
2425 ,p_name => 'p_abs_information1');
2426 --
2427 p_abs_information2:=
2428 hr_transaction_api.get_varchar2_value
2429 (p_transaction_step_id => p_transaction_step_id
2430 ,p_name => 'p_abs_information2');
2431 --
2432 p_abs_information3:=
2433 hr_transaction_api.get_varchar2_value
2434 (p_transaction_step_id => p_transaction_step_id
2435 ,p_name => 'p_abs_information3');
2436 --
2437 p_abs_information4:=
2438 hr_transaction_api.get_varchar2_value
2439 (p_transaction_step_id => p_transaction_step_id
2440 ,p_name => 'p_abs_information4');
2441 --
2442 p_abs_information5:=
2443 hr_transaction_api.get_varchar2_value
2444 (p_transaction_step_id => p_transaction_step_id
2445 ,p_name => 'p_abs_information5');
2446 --
2447 p_abs_information6:=
2448 hr_transaction_api.get_varchar2_value
2449 (p_transaction_step_id => p_transaction_step_id
2450 ,p_name => 'p_abs_information6');
2451 --
2452 p_abs_information7:=
2453 hr_transaction_api.get_varchar2_value
2454 (p_transaction_step_id => p_transaction_step_id
2455 ,p_name => 'p_abs_information7');
2456 --
2457 p_abs_information8:=
2458 hr_transaction_api.get_varchar2_value
2459 (p_transaction_step_id => p_transaction_step_id
2460 ,p_name => 'p_abs_information8');
2461 --
2462 p_abs_information9:=
2463 hr_transaction_api.get_varchar2_value
2464 (p_transaction_step_id => p_transaction_step_id
2465 ,p_name => 'p_abs_information9');
2466 --
2467 p_abs_information10:=
2468 hr_transaction_api.get_varchar2_value
2469 (p_transaction_step_id => p_transaction_step_id
2470 ,p_name => 'p_abs_information10');
2471 --
2472 p_abs_information11:=
2473 hr_transaction_api.get_varchar2_value
2474 (p_transaction_step_id => p_transaction_step_id
2475 ,p_name => 'p_abs_information11');
2476 --
2477 p_abs_information12:=
2478 hr_transaction_api.get_varchar2_value
2479 (p_transaction_step_id => p_transaction_step_id
2480 ,p_name => 'p_abs_information12');
2481 --
2482 p_abs_information13:=
2483 hr_transaction_api.get_varchar2_value
2484 (p_transaction_step_id => p_transaction_step_id
2485 ,p_name => 'p_abs_information13');
2486 --
2487 p_abs_information14:=
2488 hr_transaction_api.get_varchar2_value
2489 (p_transaction_step_id => p_transaction_step_id
2490 ,p_name => 'p_abs_information14');
2491 --
2492 p_abs_information15:=
2493 hr_transaction_api.get_varchar2_value
2494 (p_transaction_step_id => p_transaction_step_id
2495 ,p_name => 'p_abs_information15');
2496 --
2497 p_abs_information16:=
2498 hr_transaction_api.get_varchar2_value
2499 (p_transaction_step_id => p_transaction_step_id
2500 ,p_name => 'p_abs_information16');
2501 --
2502 p_abs_information17:=
2503 hr_transaction_api.get_varchar2_value
2504 (p_transaction_step_id => p_transaction_step_id
2505 ,p_name => 'p_abs_information17');
2506 --
2507 p_abs_information18:=
2508 hr_transaction_api.get_varchar2_value
2509 (p_transaction_step_id => p_transaction_step_id
2510 ,p_name => 'p_abs_information18');
2511 --
2512 p_abs_information19:=
2513 hr_transaction_api.get_varchar2_value
2514 (p_transaction_step_id => p_transaction_step_id
2515 ,p_name => 'p_abs_information19');
2516 --
2517 p_abs_information20:=
2518 hr_transaction_api.get_varchar2_value
2519 (p_transaction_step_id => p_transaction_step_id
2520 ,p_name => 'p_abs_information20');
2521 --
2522 p_abs_information21:=
2523 hr_transaction_api.get_varchar2_value
2524 (p_transaction_step_id => p_transaction_step_id
2525 ,p_name => 'p_abs_information21');
2526 --
2527 p_abs_information22:=
2528 hr_transaction_api.get_varchar2_value
2529 (p_transaction_step_id => p_transaction_step_id
2530 ,p_name => 'p_abs_information22');
2531 --
2532 p_abs_information23:=
2533 hr_transaction_api.get_varchar2_value
2534 (p_transaction_step_id => p_transaction_step_id
2535 ,p_name => 'p_abs_information23');
2536 --
2537 p_abs_information24:=
2538 hr_transaction_api.get_varchar2_value
2539 (p_transaction_step_id => p_transaction_step_id
2540 ,p_name => 'p_abs_information24');
2541 --
2542 p_abs_information25:=
2543 hr_transaction_api.get_varchar2_value
2544 (p_transaction_step_id => p_transaction_step_id
2545 ,p_name => 'p_abs_information25');
2546 --
2547 p_abs_information26:=
2548 hr_transaction_api.get_varchar2_value
2549 (p_transaction_step_id => p_transaction_step_id
2550 ,p_name => 'p_abs_information26');
2551 --
2552 p_abs_information27:=
2553 hr_transaction_api.get_varchar2_value
2554 (p_transaction_step_id => p_transaction_step_id
2555 ,p_name => 'p_abs_information27');
2556 --
2557 p_abs_information28:=
2558 hr_transaction_api.get_varchar2_value
2559 (p_transaction_step_id => p_transaction_step_id
2560 ,p_name => 'p_abs_information28');
2561 --
2562 p_abs_information29:=
2563 hr_transaction_api.get_varchar2_value
2564 (p_transaction_step_id => p_transaction_step_id
2565 ,p_name => 'p_abs_information29');
2566 --
2567 p_abs_information30:=
2568 hr_transaction_api.get_varchar2_value
2569 (p_transaction_step_id => p_transaction_step_id
2570 ,p_name => 'p_abs_information30');
2571 --
2572 p_leave_status:=
2573 hr_transaction_api.get_varchar2_value
2574 (p_transaction_step_id => p_transaction_step_id
2575 ,p_name => 'p_leave_status');
2576 --
2577 p_save_mode:=
2578 hr_transaction_api.get_varchar2_value
2579 (p_transaction_step_id => p_transaction_step_id
2580 ,p_name => 'p_save_mode');
2581 --
2582 p_activity_name:=
2583 hr_transaction_api.get_varchar2_value
2584 (p_transaction_step_id => p_transaction_step_id
2585 ,p_name => 'p_activity_name');
2586 --
2587 p_business_group_id :=
2588 hr_transaction_api.get_number_value
2589 (p_transaction_step_id => p_transaction_step_id
2590 ,p_name => 'p_business_group_id');
2591 --
2592 --2793220 changes start
2593 p_object_version_number :=
2594 hr_transaction_api.get_number_value
2595 (p_transaction_step_id => p_transaction_step_id
2596 ,p_name => 'p_object_version_number');
2597 --2793220 changes end
2598
2599 hr_utility.set_location(' Leaving:' || l_proc,10);
2600
2601 EXCEPTION
2602 WHEN OTHERS THEN
2603 hr_utility.trace(' Exception in get_absence_transaction ' || SQLERRM );
2604 hr_utility.set_location(' Leaving:' || l_proc,555);
2605
2606 RAISE; -- Raise error here relevant to the new tech stack.
2607 END get_absence_transaction;
2608
2609 /*
2610 ||===========================================================================
2611 || PROCEDURE: get_return_transaction
2612 ||---------------------------------------------------------------------------
2613 ||
2614 || Description:
2615 || This procedure will retrieve confirm return information from
2616 || trensaction table
2617 ||
2618 || Access Status:
2619 || Public.
2620 ||
2621 ||===========================================================================
2622 */
2623 procedure get_return_transaction
2624 (p_transaction_step_id IN VARCHAR2
2625 ,p_effective_date OUT NOCOPY VARCHAR2
2626 ,p_start_date OUT NOCOPY VARCHAR2
2627 ,p_start_time OUT NOCOPY VARCHAR2
2628 ,p_end_date OUT NOCOPY VARCHAR2
2629 ,p_end_time OUT NOCOPY VARCHAR2
2630 ,p_days OUT NOCOPY VARCHAR2
2631 ,p_hours OUT NOCOPY VARCHAR2
2632 ,p_review_actid OUT NOCOPY VARCHAR2
2633 ,p_review_proc_call OUT NOCOPY VARCHAR2
2634 ,p_attribute_category OUT NOCOPY VARCHAR2
2635 ,p_attribute1 OUT NOCOPY VARCHAR2
2636 ,p_attribute2 OUT NOCOPY VARCHAR2
2637 ,p_attribute3 OUT NOCOPY VARCHAR2
2638 ,p_attribute4 OUT NOCOPY VARCHAR2
2639 ,p_attribute5 OUT NOCOPY VARCHAR2
2640 ,p_attribute6 OUT NOCOPY VARCHAR2
2641 ,p_attribute7 OUT NOCOPY VARCHAR2
2642 ,p_attribute8 OUT NOCOPY VARCHAR2
2643 ,p_attribute9 OUT NOCOPY VARCHAR2
2644 ,p_attribute10 OUT NOCOPY VARCHAR2
2645 ,p_attribute11 OUT NOCOPY VARCHAR2
2646 ,p_attribute12 OUT NOCOPY VARCHAR2
2647 ,p_attribute13 OUT NOCOPY VARCHAR2
2648 ,p_attribute14 OUT NOCOPY VARCHAR2
2649 ,p_attribute15 OUT NOCOPY VARCHAR2
2650 ,p_attribute16 OUT NOCOPY VARCHAR2
2651 ,p_attribute17 OUT NOCOPY VARCHAR2
2652 ,p_attribute18 OUT NOCOPY VARCHAR2
2653 ,p_attribute19 OUT NOCOPY VARCHAR2
2654 ,p_attribute20 OUT NOCOPY VARCHAR2
2655 ,p_abs_information_category OUT NOCOPY VARCHAR2
2656 ,p_abs_information1 OUT NOCOPY VARCHAR2
2657 ,p_abs_information2 OUT NOCOPY VARCHAR2
2658 ,p_abs_information3 OUT NOCOPY VARCHAR2
2659 ,p_abs_information4 OUT NOCOPY VARCHAR2
2660 ,p_abs_information5 OUT NOCOPY VARCHAR2
2661 ,p_abs_information6 OUT NOCOPY VARCHAR2
2662 ,p_abs_information7 OUT NOCOPY VARCHAR2
2663 ,p_abs_information8 OUT NOCOPY VARCHAR2
2664 ,p_abs_information9 OUT NOCOPY VARCHAR2
2665 ,p_abs_information10 OUT NOCOPY VARCHAR2
2666 ,p_abs_information11 OUT NOCOPY VARCHAR2
2667 ,p_abs_information12 OUT NOCOPY VARCHAR2
2668 ,p_abs_information13 OUT NOCOPY VARCHAR2
2669 ,p_abs_information14 OUT NOCOPY VARCHAR2
2670 ,p_abs_information15 OUT NOCOPY VARCHAR2
2671 ,p_abs_information16 OUT NOCOPY VARCHAR2
2672 ,p_abs_information17 OUT NOCOPY VARCHAR2
2673 ,p_abs_information18 OUT NOCOPY VARCHAR2
2674 ,p_abs_information19 OUT NOCOPY VARCHAR2
2675 ,p_abs_information20 OUT NOCOPY VARCHAR2
2676 ,p_abs_information21 OUT NOCOPY VARCHAR2
2677 ,p_abs_information22 OUT NOCOPY VARCHAR2
2678 ,p_abs_information23 OUT NOCOPY VARCHAR2
2679 ,p_abs_information24 OUT NOCOPY VARCHAR2
2680 ,p_abs_information25 OUT NOCOPY VARCHAR2
2681 ,p_abs_information26 OUT NOCOPY VARCHAR2
2682 ,p_abs_information27 OUT NOCOPY VARCHAR2
2683 ,p_abs_information28 OUT NOCOPY VARCHAR2
2684 ,p_abs_information29 OUT NOCOPY VARCHAR2
2685 ,p_abs_information30 OUT NOCOPY VARCHAR2
2686 ) IS
2687
2688 --
2689 l_proc varchar2(72) := g_package||'get_return_transaction';
2690 --
2691 --
2692
2693 BEGIN
2694 --
2695 hr_utility.set_location(' Entering:' || l_proc,5);
2696
2697 p_effective_date:= to_char(
2698 hr_transaction_api.get_date_value
2699 (p_transaction_step_id => p_transaction_step_id
2700 ,p_name => 'p_effective_date')
2701 ,g_date_format);
2702 --
2703 p_start_date:= to_char(
2704 hr_transaction_api.get_date_value
2705 (p_transaction_step_id => p_transaction_step_id
2706 ,p_name => 'p_date_start')
2707 ,g_date_format);
2708 --
2709 p_start_time:=
2710 hr_transaction_api.get_varchar2_value
2711 (p_transaction_step_id => p_transaction_step_id
2712 ,p_name => 'p_time_start');
2713 --
2714 p_end_date:= to_char(
2715 hr_transaction_api.get_date_value
2716 (p_transaction_step_id => p_transaction_step_id
2717 ,p_name => 'p_date_end')
2718 ,g_date_format);
2719 --
2720 p_end_time:=
2721 hr_transaction_api.get_varchar2_value
2722 (p_transaction_step_id => p_transaction_step_id
2723 ,p_name => 'p_time_end');
2724 --
2725 p_days:=
2726 hr_transaction_api.get_number_value
2727 (p_transaction_step_id => p_transaction_step_id
2728 ,p_name => 'p_absence_days');
2729 --
2730 p_hours:=
2731 hr_transaction_api.get_number_value
2732 (p_transaction_step_id => p_transaction_step_id
2733 ,p_name => 'p_absence_hours');
2734 --
2735 p_review_proc_call:=
2736 hr_transaction_api.get_varchar2_value
2737 (p_transaction_step_id => p_transaction_step_id
2738 ,p_name => 'p_review_proc_call');
2739 --
2740 p_review_actid:=
2741 hr_transaction_api.get_varchar2_value
2742 (p_transaction_step_id => p_transaction_step_id
2743 ,p_name => 'p_review_actid');
2744
2745 --
2746 p_attribute_category:=
2747 hr_transaction_api.get_varchar2_value
2748 (p_transaction_step_id => p_transaction_step_id
2749 ,p_name => 'p_attribute_category');
2750 --
2751 p_attribute1:=
2752 hr_transaction_api.get_varchar2_value
2753 (p_transaction_step_id => p_transaction_step_id
2754 ,p_name => 'p_attribute1');
2755 --
2756 p_attribute2:=
2757 hr_transaction_api.get_varchar2_value
2758 (p_transaction_step_id => p_transaction_step_id
2759 ,p_name => 'p_attribute2');
2760 --
2761 p_attribute3:=
2762 hr_transaction_api.get_varchar2_value
2763 (p_transaction_step_id => p_transaction_step_id
2764 ,p_name => 'p_attribute3');
2765 --
2766 p_attribute4:=
2767 hr_transaction_api.get_varchar2_value
2768 (p_transaction_step_id => p_transaction_step_id
2769 ,p_name => 'p_attribute4');
2770 --
2771 p_attribute5:=
2772 hr_transaction_api.get_varchar2_value
2773 (p_transaction_step_id => p_transaction_step_id
2774 ,p_name => 'p_attribute5');
2775 --
2776 p_attribute6:=
2777 hr_transaction_api.get_varchar2_value
2778 (p_transaction_step_id => p_transaction_step_id
2779 ,p_name => 'p_attribute6');
2780 --
2781 p_attribute7:=
2782 hr_transaction_api.get_varchar2_value
2783 (p_transaction_step_id => p_transaction_step_id
2784 ,p_name => 'p_attribute7');
2785 --
2786 p_attribute8:=
2787 hr_transaction_api.get_varchar2_value
2788 (p_transaction_step_id => p_transaction_step_id
2789 ,p_name => 'p_attribute8');
2790 --
2791 p_attribute9:=
2792 hr_transaction_api.get_varchar2_value
2793 (p_transaction_step_id => p_transaction_step_id
2794 ,p_name => 'p_attribute9');
2795 --
2796 p_attribute10:=
2797 hr_transaction_api.get_varchar2_value
2798 (p_transaction_step_id => p_transaction_step_id
2799 ,p_name => 'p_attribute10');
2800 --
2801 p_attribute11:=
2802 hr_transaction_api.get_varchar2_value
2803 (p_transaction_step_id => p_transaction_step_id
2804 ,p_name => 'p_attribute11');
2805 --
2806 p_attribute12:=
2807 hr_transaction_api.get_varchar2_value
2808 (p_transaction_step_id => p_transaction_step_id
2809 ,p_name => 'p_attribute12');
2810 --
2811 p_attribute13:=
2812 hr_transaction_api.get_varchar2_value
2813 (p_transaction_step_id => p_transaction_step_id
2814 ,p_name => 'p_attribute13');
2815 --
2816 p_attribute14:=
2817 hr_transaction_api.get_varchar2_value
2818 (p_transaction_step_id => p_transaction_step_id
2819 ,p_name => 'p_attribute14');
2820 --
2821 p_attribute15:=
2822 hr_transaction_api.get_varchar2_value
2823 (p_transaction_step_id => p_transaction_step_id
2824 ,p_name => 'p_attribute15');
2825 --
2826 p_attribute16:=
2827 hr_transaction_api.get_varchar2_value
2828 (p_transaction_step_id => p_transaction_step_id
2829 ,p_name => 'p_attribute16');
2830 --
2831 p_attribute17:=
2832 hr_transaction_api.get_varchar2_value
2833 (p_transaction_step_id => p_transaction_step_id
2834 ,p_name => 'p_attribute17');
2835 --
2836 p_attribute18:=
2837 hr_transaction_api.get_varchar2_value
2838 (p_transaction_step_id => p_transaction_step_id
2839 ,p_name => 'p_attribute18');
2840 --
2841 p_attribute19:=
2842 hr_transaction_api.get_varchar2_value
2843 (p_transaction_step_id => p_transaction_step_id
2844 ,p_name => 'p_attribute19');
2845 --
2846 p_attribute20:=
2847 hr_transaction_api.get_varchar2_value
2848 (p_transaction_step_id => p_transaction_step_id
2849 ,p_name => 'p_attribute20');
2850 --
2851 p_abs_information_category:=
2852 hr_transaction_api.get_varchar2_value
2853 (p_transaction_step_id => p_transaction_step_id
2854 ,p_name => 'p_abs_information_category');
2855 --
2856 p_abs_information1:=
2857 hr_transaction_api.get_varchar2_value
2858 (p_transaction_step_id => p_transaction_step_id
2859 ,p_name => 'p_abs_information1');
2860 --
2861 p_abs_information2:=
2862 hr_transaction_api.get_varchar2_value
2863 (p_transaction_step_id => p_transaction_step_id
2864 ,p_name => 'p_abs_information2');
2865 --
2866 p_abs_information3:=
2867 hr_transaction_api.get_varchar2_value
2868 (p_transaction_step_id => p_transaction_step_id
2869 ,p_name => 'p_abs_information3');
2870 --
2871 p_abs_information4:=
2872 hr_transaction_api.get_varchar2_value
2873 (p_transaction_step_id => p_transaction_step_id
2874 ,p_name => 'p_abs_information4');
2875 --
2876 p_abs_information5:=
2877 hr_transaction_api.get_varchar2_value
2878 (p_transaction_step_id => p_transaction_step_id
2879 ,p_name => 'p_abs_information5');
2880 --
2881 p_abs_information6:=
2882 hr_transaction_api.get_varchar2_value
2883 (p_transaction_step_id => p_transaction_step_id
2884 ,p_name => 'p_abs_information6');
2885 --
2886 p_abs_information7:=
2887 hr_transaction_api.get_varchar2_value
2888 (p_transaction_step_id => p_transaction_step_id
2889 ,p_name => 'p_abs_information7');
2890 --
2891 p_abs_information8:=
2892 hr_transaction_api.get_varchar2_value
2893 (p_transaction_step_id => p_transaction_step_id
2894 ,p_name => 'p_abs_information8');
2895 --
2896 p_abs_information9:=
2897 hr_transaction_api.get_varchar2_value
2898 (p_transaction_step_id => p_transaction_step_id
2899 ,p_name => 'p_abs_information9');
2900 --
2901 p_abs_information10:=
2902 hr_transaction_api.get_varchar2_value
2903 (p_transaction_step_id => p_transaction_step_id
2904 ,p_name => 'p_abs_information10');
2905 --
2906 p_abs_information11:=
2907 hr_transaction_api.get_varchar2_value
2908 (p_transaction_step_id => p_transaction_step_id
2909 ,p_name => 'p_abs_information11');
2910 --
2911 p_abs_information12:=
2912 hr_transaction_api.get_varchar2_value
2913 (p_transaction_step_id => p_transaction_step_id
2914 ,p_name => 'p_abs_information12');
2915 --
2916 p_abs_information13:=
2917 hr_transaction_api.get_varchar2_value
2918 (p_transaction_step_id => p_transaction_step_id
2919 ,p_name => 'p_abs_information13');
2920 --
2921 p_abs_information14:=
2922 hr_transaction_api.get_varchar2_value
2923 (p_transaction_step_id => p_transaction_step_id
2924 ,p_name => 'p_abs_information14');
2925 --
2926 p_abs_information15:=
2927 hr_transaction_api.get_varchar2_value
2928 (p_transaction_step_id => p_transaction_step_id
2929 ,p_name => 'p_abs_information15');
2930 --
2931 p_abs_information16:=
2932 hr_transaction_api.get_varchar2_value
2933 (p_transaction_step_id => p_transaction_step_id
2934 ,p_name => 'p_abs_information16');
2935 --
2936 p_abs_information17:=
2937 hr_transaction_api.get_varchar2_value
2938 (p_transaction_step_id => p_transaction_step_id
2939 ,p_name => 'p_abs_information17');
2940 --
2941 p_abs_information18:=
2942 hr_transaction_api.get_varchar2_value
2943 (p_transaction_step_id => p_transaction_step_id
2944 ,p_name => 'p_abs_information18');
2945 --
2946 p_abs_information19:=
2947 hr_transaction_api.get_varchar2_value
2948 (p_transaction_step_id => p_transaction_step_id
2949 ,p_name => 'p_abs_information19');
2950 --
2951 p_abs_information20:=
2952 hr_transaction_api.get_varchar2_value
2953 (p_transaction_step_id => p_transaction_step_id
2954 ,p_name => 'p_abs_information20');
2955 --
2956 p_abs_information21:=
2957 hr_transaction_api.get_varchar2_value
2958 (p_transaction_step_id => p_transaction_step_id
2959 ,p_name => 'p_abs_information21');
2960 --
2961 p_abs_information22:=
2962 hr_transaction_api.get_varchar2_value
2963 (p_transaction_step_id => p_transaction_step_id
2964 ,p_name => 'p_abs_information22');
2965 --
2966 p_abs_information23:=
2967 hr_transaction_api.get_varchar2_value
2968 (p_transaction_step_id => p_transaction_step_id
2969 ,p_name => 'p_abs_information23');
2970 --
2971 p_abs_information24:=
2972 hr_transaction_api.get_varchar2_value
2973 (p_transaction_step_id => p_transaction_step_id
2974 ,p_name => 'p_abs_information24');
2975 --
2976 p_abs_information25:=
2977 hr_transaction_api.get_varchar2_value
2978 (p_transaction_step_id => p_transaction_step_id
2979 ,p_name => 'p_abs_information25');
2980 --
2981 p_abs_information26:=
2982 hr_transaction_api.get_varchar2_value
2983 (p_transaction_step_id => p_transaction_step_id
2984 ,p_name => 'p_abs_information26');
2985 --
2986 p_abs_information27:=
2987 hr_transaction_api.get_varchar2_value
2988 (p_transaction_step_id => p_transaction_step_id
2989 ,p_name => 'p_abs_information27');
2990 --
2991 p_abs_information28:=
2992 hr_transaction_api.get_varchar2_value
2993 (p_transaction_step_id => p_transaction_step_id
2994 ,p_name => 'p_abs_information28');
2995 --
2996 p_abs_information29:=
2997 hr_transaction_api.get_varchar2_value
2998 (p_transaction_step_id => p_transaction_step_id
2999 ,p_name => 'p_abs_information29');
3000 --
3001 p_abs_information30:=
3002 hr_transaction_api.get_varchar2_value
3003 (p_transaction_step_id => p_transaction_step_id
3004 ,p_name => 'p_abs_information30');
3005 --
3006
3007 hr_utility.set_location(' Leaving:' || l_proc,10);
3008
3009 EXCEPTION
3010 WHEN OTHERS THEN
3011 hr_utility.trace(' Exception in get_return_transaction :' || SQLERRM );
3012 hr_utility.set_location(' Leaving:' || l_proc,555);
3013
3014 RAISE; -- Raise error here relevant to the new tech stack.
3015 END get_return_transaction;
3016
3017 /*
3018 ||===========================================================================
3019 || PROCEDURE: get_update_transaction
3020 ||---------------------------------------------------------------------------
3021 ||
3022 || Description:
3023 || This procedure will retrieve confirm return information from
3024 || trensaction table
3025 ||
3026 || Access Status:
3027 || Public.
3028 ||
3029 ||===========================================================================
3030 */
3031 procedure get_update_transaction
3032 (p_transaction_step_id IN VARCHAR2
3033 ,p_effective_date OUT NOCOPY VARCHAR2
3034 ,p_projected_start_date OUT NOCOPY VARCHAR2
3035 ,p_projected_start_time OUT NOCOPY VARCHAR2
3036 ,p_projected_end_date OUT NOCOPY VARCHAR2
3037 ,p_projected_end_time OUT NOCOPY VARCHAR2
3038 ,p_days OUT NOCOPY VARCHAR2
3039 ,p_hours OUT NOCOPY VARCHAR2
3040 ,p_review_actid OUT NOCOPY VARCHAR2
3041 ,p_review_proc_call OUT NOCOPY VARCHAR2
3042 ,p_attribute_category OUT NOCOPY VARCHAR2
3043 ,p_attribute1 OUT NOCOPY VARCHAR2
3044 ,p_attribute2 OUT NOCOPY VARCHAR2
3045 ,p_attribute3 OUT NOCOPY VARCHAR2
3046 ,p_attribute4 OUT NOCOPY VARCHAR2
3047 ,p_attribute5 OUT NOCOPY VARCHAR2
3048 ,p_attribute6 OUT NOCOPY VARCHAR2
3049 ,p_attribute7 OUT NOCOPY VARCHAR2
3050 ,p_attribute8 OUT NOCOPY VARCHAR2
3051 ,p_attribute9 OUT NOCOPY VARCHAR2
3052 ,p_attribute10 OUT NOCOPY VARCHAR2
3053 ,p_attribute11 OUT NOCOPY VARCHAR2
3054 ,p_attribute12 OUT NOCOPY VARCHAR2
3055 ,p_attribute13 OUT NOCOPY VARCHAR2
3056 ,p_attribute14 OUT NOCOPY VARCHAR2
3057 ,p_attribute15 OUT NOCOPY VARCHAR2
3058 ,p_attribute16 OUT NOCOPY VARCHAR2
3059 ,p_attribute17 OUT NOCOPY VARCHAR2
3060 ,p_attribute18 OUT NOCOPY VARCHAR2
3061 ,p_attribute19 OUT NOCOPY VARCHAR2
3062 ,p_attribute20 OUT NOCOPY VARCHAR2
3063 ,p_abs_information_category OUT NOCOPY VARCHAR2
3064 ,p_abs_information1 OUT NOCOPY VARCHAR2
3065 ,p_abs_information2 OUT NOCOPY VARCHAR2
3066 ,p_abs_information3 OUT NOCOPY VARCHAR2
3067 ,p_abs_information4 OUT NOCOPY VARCHAR2
3068 ,p_abs_information5 OUT NOCOPY VARCHAR2
3069 ,p_abs_information6 OUT NOCOPY VARCHAR2
3070 ,p_abs_information7 OUT NOCOPY VARCHAR2
3071 ,p_abs_information8 OUT NOCOPY VARCHAR2
3072 ,p_abs_information9 OUT NOCOPY VARCHAR2
3073 ,p_abs_information10 OUT NOCOPY VARCHAR2
3074 ,p_abs_information11 OUT NOCOPY VARCHAR2
3075 ,p_abs_information12 OUT NOCOPY VARCHAR2
3076 ,p_abs_information13 OUT NOCOPY VARCHAR2
3077 ,p_abs_information14 OUT NOCOPY VARCHAR2
3078 ,p_abs_information15 OUT NOCOPY VARCHAR2
3079 ,p_abs_information16 OUT NOCOPY VARCHAR2
3080 ,p_abs_information17 OUT NOCOPY VARCHAR2
3081 ,p_abs_information18 OUT NOCOPY VARCHAR2
3082 ,p_abs_information19 OUT NOCOPY VARCHAR2
3083 ,p_abs_information20 OUT NOCOPY VARCHAR2
3084 ,p_abs_information21 OUT NOCOPY VARCHAR2
3085 ,p_abs_information22 OUT NOCOPY VARCHAR2
3086 ,p_abs_information23 OUT NOCOPY VARCHAR2
3087 ,p_abs_information24 OUT NOCOPY VARCHAR2
3088 ,p_abs_information25 OUT NOCOPY VARCHAR2
3089 ,p_abs_information26 OUT NOCOPY VARCHAR2
3090 ,p_abs_information27 OUT NOCOPY VARCHAR2
3091 ,p_abs_information28 OUT NOCOPY VARCHAR2
3092 ,p_abs_information29 OUT NOCOPY VARCHAR2
3093 ,p_abs_information30 OUT NOCOPY VARCHAR2
3094 ,p_comments OUT NOCOPY VARCHAR2
3095 ) IS
3096
3097 --
3098 l_proc varchar2(72) := g_package||'get_update_transaction';
3099 --
3100 --
3101
3102 BEGIN
3103 --
3104 hr_utility.set_location(' Entering:' || l_proc,5);
3105
3106 p_effective_date:= to_char(
3107 hr_transaction_api.get_date_value
3108 (p_transaction_step_id => p_transaction_step_id
3109 ,p_name => 'p_effective_date')
3110 ,g_date_format);
3111 --
3112 p_projected_start_date:= to_char(
3113 hr_transaction_api.get_date_value
3114 (p_transaction_step_id => p_transaction_step_id
3115 ,p_name => 'p_date_projected_start')
3116 ,g_date_format);
3117 --
3118 p_projected_start_time:=
3119 hr_transaction_api.get_varchar2_value
3120 (p_transaction_step_id => p_transaction_step_id
3121 ,p_name => 'p_time_projected_start');
3122 --
3123 p_projected_end_date:= to_char(
3124 hr_transaction_api.get_date_value
3125 (p_transaction_step_id => p_transaction_step_id
3126 ,p_name => 'p_date_projected_end')
3127 ,g_date_format);
3128 --
3129 p_projected_end_time:=
3130 hr_transaction_api.get_varchar2_value
3131 (p_transaction_step_id => p_transaction_step_id
3132 ,p_name => 'p_time_projected_end');
3133 --
3134 p_days:=
3135 hr_transaction_api.get_number_value
3136 (p_transaction_step_id => p_transaction_step_id
3137 ,p_name => 'p_absence_days');
3138 --
3139 p_hours:=
3140 hr_transaction_api.get_number_value
3141 (p_transaction_step_id => p_transaction_step_id
3142 ,p_name => 'p_absence_hours');
3143 --
3144 p_review_proc_call:=
3145 hr_transaction_api.get_varchar2_value
3146 (p_transaction_step_id => p_transaction_step_id
3147 ,p_name => 'p_review_proc_call');
3148 --
3149 p_review_actid:=
3150 hr_transaction_api.get_varchar2_value
3151 (p_transaction_step_id => p_transaction_step_id
3152 ,p_name => 'p_review_actid');
3153 --
3154 p_attribute_category:=
3155 hr_transaction_api.get_varchar2_value
3156 (p_transaction_step_id => p_transaction_step_id
3157 ,p_name => 'p_attribute_category');
3158 --
3159 p_attribute1:=
3160 hr_transaction_api.get_varchar2_value
3161 (p_transaction_step_id => p_transaction_step_id
3162 ,p_name => 'p_attribute1');
3163 --
3164 p_attribute2:=
3165 hr_transaction_api.get_varchar2_value
3166 (p_transaction_step_id => p_transaction_step_id
3167 ,p_name => 'p_attribute2');
3168 --
3169 p_attribute3:=
3170 hr_transaction_api.get_varchar2_value
3171 (p_transaction_step_id => p_transaction_step_id
3172 ,p_name => 'p_attribute3');
3173 --
3174 p_attribute4:=
3175 hr_transaction_api.get_varchar2_value
3176 (p_transaction_step_id => p_transaction_step_id
3177 ,p_name => 'p_attribute4');
3178 --
3179 p_attribute5:=
3180 hr_transaction_api.get_varchar2_value
3181 (p_transaction_step_id => p_transaction_step_id
3182 ,p_name => 'p_attribute5');
3183 --
3184 p_attribute6:=
3185 hr_transaction_api.get_varchar2_value
3186 (p_transaction_step_id => p_transaction_step_id
3187 ,p_name => 'p_attribute6');
3188 --
3189 p_attribute7:=
3190 hr_transaction_api.get_varchar2_value
3191 (p_transaction_step_id => p_transaction_step_id
3192 ,p_name => 'p_attribute7');
3193 --
3194 p_attribute8:=
3195 hr_transaction_api.get_varchar2_value
3196 (p_transaction_step_id => p_transaction_step_id
3197 ,p_name => 'p_attribute8');
3198 --
3199 p_attribute9:=
3200 hr_transaction_api.get_varchar2_value
3201 (p_transaction_step_id => p_transaction_step_id
3202 ,p_name => 'p_attribute9');
3203 --
3204 p_attribute10:=
3205 hr_transaction_api.get_varchar2_value
3206 (p_transaction_step_id => p_transaction_step_id
3207 ,p_name => 'p_attribute10');
3208 --
3209 p_attribute11:=
3210 hr_transaction_api.get_varchar2_value
3211 (p_transaction_step_id => p_transaction_step_id
3212 ,p_name => 'p_attribute11');
3213 --
3214 p_attribute12:=
3215 hr_transaction_api.get_varchar2_value
3216 (p_transaction_step_id => p_transaction_step_id
3217 ,p_name => 'p_attribute12');
3218 --
3219 p_attribute13:=
3220 hr_transaction_api.get_varchar2_value
3221 (p_transaction_step_id => p_transaction_step_id
3222 ,p_name => 'p_attribute13');
3223 --
3224 p_attribute14:=
3225 hr_transaction_api.get_varchar2_value
3226 (p_transaction_step_id => p_transaction_step_id
3227 ,p_name => 'p_attribute14');
3228 --
3229 p_attribute15:=
3230 hr_transaction_api.get_varchar2_value
3231 (p_transaction_step_id => p_transaction_step_id
3232 ,p_name => 'p_attribute15');
3233 --
3234 p_attribute16:=
3235 hr_transaction_api.get_varchar2_value
3236 (p_transaction_step_id => p_transaction_step_id
3237 ,p_name => 'p_attribute16');
3238 --
3239 p_attribute17:=
3240 hr_transaction_api.get_varchar2_value
3241 (p_transaction_step_id => p_transaction_step_id
3242 ,p_name => 'p_attribute17');
3243 --
3244 p_attribute18:=
3245 hr_transaction_api.get_varchar2_value
3246 (p_transaction_step_id => p_transaction_step_id
3247 ,p_name => 'p_attribute18');
3248 --
3249 p_attribute19:=
3250 hr_transaction_api.get_varchar2_value
3251 (p_transaction_step_id => p_transaction_step_id
3252 ,p_name => 'p_attribute19');
3253 --
3254 p_attribute20:=
3255 hr_transaction_api.get_varchar2_value
3256 (p_transaction_step_id => p_transaction_step_id
3257 ,p_name => 'p_attribute20');
3258 --
3259 p_abs_information_category:=
3260 hr_transaction_api.get_varchar2_value
3261 (p_transaction_step_id => p_transaction_step_id
3262 ,p_name => 'p_abs_information_category');
3263 --
3264 p_abs_information1:=
3265 hr_transaction_api.get_varchar2_value
3266 (p_transaction_step_id => p_transaction_step_id
3267 ,p_name => 'p_abs_information1');
3268 --
3269 p_abs_information2:=
3270 hr_transaction_api.get_varchar2_value
3271 (p_transaction_step_id => p_transaction_step_id
3272 ,p_name => 'p_abs_information2');
3273 --
3274 p_abs_information3:=
3275 hr_transaction_api.get_varchar2_value
3276 (p_transaction_step_id => p_transaction_step_id
3277 ,p_name => 'p_abs_information3');
3278 --
3279 p_abs_information4:=
3280 hr_transaction_api.get_varchar2_value
3281 (p_transaction_step_id => p_transaction_step_id
3282 ,p_name => 'p_abs_information4');
3283 --
3284 p_abs_information5:=
3285 hr_transaction_api.get_varchar2_value
3286 (p_transaction_step_id => p_transaction_step_id
3287 ,p_name => 'p_abs_information5');
3288 --
3289 p_abs_information6:=
3290 hr_transaction_api.get_varchar2_value
3291 (p_transaction_step_id => p_transaction_step_id
3292 ,p_name => 'p_abs_information6');
3293 --
3294 p_abs_information7:=
3295 hr_transaction_api.get_varchar2_value
3296 (p_transaction_step_id => p_transaction_step_id
3297 ,p_name => 'p_abs_information7');
3298 --
3299 p_abs_information8:=
3300 hr_transaction_api.get_varchar2_value
3301 (p_transaction_step_id => p_transaction_step_id
3302 ,p_name => 'p_abs_information8');
3303 --
3304 p_abs_information9:=
3305 hr_transaction_api.get_varchar2_value
3306 (p_transaction_step_id => p_transaction_step_id
3307 ,p_name => 'p_abs_information9');
3308 --
3309 p_abs_information10:=
3310 hr_transaction_api.get_varchar2_value
3311 (p_transaction_step_id => p_transaction_step_id
3312 ,p_name => 'p_abs_information10');
3313 --
3314 p_abs_information11:=
3315 hr_transaction_api.get_varchar2_value
3316 (p_transaction_step_id => p_transaction_step_id
3317 ,p_name => 'p_abs_information11');
3318 --
3319 p_abs_information12:=
3320 hr_transaction_api.get_varchar2_value
3321 (p_transaction_step_id => p_transaction_step_id
3322 ,p_name => 'p_abs_information12');
3323 --
3324 p_abs_information13:=
3325 hr_transaction_api.get_varchar2_value
3326 (p_transaction_step_id => p_transaction_step_id
3327 ,p_name => 'p_abs_information13');
3328 --
3329 p_abs_information14:=
3330 hr_transaction_api.get_varchar2_value
3331 (p_transaction_step_id => p_transaction_step_id
3332 ,p_name => 'p_abs_information14');
3333 --
3334 p_abs_information15:=
3335 hr_transaction_api.get_varchar2_value
3336 (p_transaction_step_id => p_transaction_step_id
3337 ,p_name => 'p_abs_information15');
3338 --
3339 p_abs_information16:=
3340 hr_transaction_api.get_varchar2_value
3341 (p_transaction_step_id => p_transaction_step_id
3342 ,p_name => 'p_abs_information16');
3343 --
3344 p_abs_information17:=
3345 hr_transaction_api.get_varchar2_value
3346 (p_transaction_step_id => p_transaction_step_id
3347 ,p_name => 'p_abs_information17');
3348 --
3349 p_abs_information18:=
3350 hr_transaction_api.get_varchar2_value
3351 (p_transaction_step_id => p_transaction_step_id
3352 ,p_name => 'p_abs_information18');
3353 --
3354 p_abs_information19:=
3355 hr_transaction_api.get_varchar2_value
3356 (p_transaction_step_id => p_transaction_step_id
3357 ,p_name => 'p_abs_information19');
3358 --
3359 p_abs_information20:=
3360 hr_transaction_api.get_varchar2_value
3361 (p_transaction_step_id => p_transaction_step_id
3362 ,p_name => 'p_abs_information20');
3363 --
3364 p_abs_information21:=
3365 hr_transaction_api.get_varchar2_value
3366 (p_transaction_step_id => p_transaction_step_id
3367 ,p_name => 'p_abs_information21');
3368 --
3369 p_abs_information22:=
3370 hr_transaction_api.get_varchar2_value
3371 (p_transaction_step_id => p_transaction_step_id
3372 ,p_name => 'p_abs_information22');
3373 --
3374 p_abs_information23:=
3375 hr_transaction_api.get_varchar2_value
3376 (p_transaction_step_id => p_transaction_step_id
3377 ,p_name => 'p_abs_information23');
3378 --
3379 p_abs_information24:=
3380 hr_transaction_api.get_varchar2_value
3381 (p_transaction_step_id => p_transaction_step_id
3382 ,p_name => 'p_abs_information24');
3383 --
3384 p_abs_information25:=
3385 hr_transaction_api.get_varchar2_value
3386 (p_transaction_step_id => p_transaction_step_id
3387 ,p_name => 'p_abs_information25');
3388 --
3389 p_abs_information26:=
3390 hr_transaction_api.get_varchar2_value
3391 (p_transaction_step_id => p_transaction_step_id
3392 ,p_name => 'p_abs_information26');
3393 --
3394 p_abs_information27:=
3395 hr_transaction_api.get_varchar2_value
3396 (p_transaction_step_id => p_transaction_step_id
3397 ,p_name => 'p_abs_information27');
3398 --
3399 p_abs_information28:=
3400 hr_transaction_api.get_varchar2_value
3401 (p_transaction_step_id => p_transaction_step_id
3402 ,p_name => 'p_abs_information28');
3403 --
3404 p_abs_information29:=
3405 hr_transaction_api.get_varchar2_value
3406 (p_transaction_step_id => p_transaction_step_id
3407 ,p_name => 'p_abs_information29');
3408 --
3409 p_abs_information30:=
3410 hr_transaction_api.get_varchar2_value
3411 (p_transaction_step_id => p_transaction_step_id
3412 ,p_name => 'p_abs_information30');
3413 --
3414 p_comments:=
3415 hr_transaction_api.get_varchar2_value
3416 (p_transaction_step_id => p_transaction_step_id
3417 ,p_name => 'p_comments');
3418 --
3419
3420 hr_utility.set_location(' Leaving:' || l_proc,10);
3421
3422 EXCEPTION
3423 WHEN OTHERS THEN
3424 hr_utility.trace(' HR_LOA_SS.get_update_transaction ' || SQLERRM );
3425 hr_utility.set_location(' Leaving:' || l_proc,555);
3426
3427 RAISE; -- Raise error here relevant to the new tech stack.
3428 END get_update_transaction;
3429 /*
3430 ||===========================================================================
3431 || PROCEDURE: validate_api
3432 ||---------------------------------------------------------------------------
3433 ||
3434 || Description:
3435 || This procedure will call actual API with validate mode
3436 || if there are no error, save date into transaction table
3437 ||
3438 || Access Status:
3439 || Public.
3440 ||
3441 ||===========================================================================
3442 */
3443 procedure validate_api(
3444 p_effective_date in date
3445 ,p_person_id in number
3446 ,p_business_group_id in number
3447 ,p_absence_attendance_type_id in number
3448 ,p_abs_attendance_reason_id in number default null
3449 ,p_comments in long default null
3450 ,p_date_notification in date default null
3451 ,p_date_projected_start in date default null
3452 ,p_time_projected_start in varchar2 default null
3453 ,p_date_projected_end in date default null
3454 ,p_time_projected_end in date default null
3455 ,p_date_start in date default null
3456 ,p_time_start in varchar2 default null
3457 ,p_date_end in date default null
3458 ,p_time_end in varchar2 default null
3459 ,p_absence_days in out nocopy number
3460 ,p_absence_hours in out nocopy number
3461 -- ,p_authorising_person_id in number default null
3462 -- ,p_replacement_person_id in number default null
3463 ,p_authorising_person_id in varchar2 default null
3464 ,p_replacement_person_id in varchar2 default null
3465 ,p_attribute_category in varchar2 default null
3466 ,p_attribute1 in varchar2 default null
3467 ,p_attribute2 in varchar2 default null
3468 ,p_attribute3 in varchar2 default null
3469 ,p_attribute4 in varchar2 default null
3470 ,p_attribute5 in varchar2 default null
3471 ,p_attribute6 in varchar2 default null
3472 ,p_attribute7 in varchar2 default null
3473 ,p_attribute8 in varchar2 default null
3474 ,p_attribute9 in varchar2 default null
3475 ,p_attribute10 in varchar2 default null
3476 ,p_attribute11 in varchar2 default null
3477 ,p_attribute12 in varchar2 default null
3478 ,p_attribute13 in varchar2 default null
3479 ,p_attribute14 in varchar2 default null
3480 ,p_attribute15 in varchar2 default null
3481 ,p_attribute16 in varchar2 default null
3482 ,p_attribute17 in varchar2 default null
3483 ,p_attribute18 in varchar2 default null
3484 ,p_attribute19 in varchar2 default null
3485 ,p_attribute20 in varchar2 default null
3486 ,p_abs_information_category in varchar2 default null
3487 ,p_abs_information1 in varchar2 default null
3488 ,p_abs_information2 in varchar2 default null
3489 ,p_abs_information3 in varchar2 default null
3490 ,p_abs_information4 in varchar2 default null
3491 ,p_abs_information5 in varchar2 default null
3492 ,p_abs_information6 in varchar2 default null
3493 ,p_abs_information7 in varchar2 default null
3494 ,p_abs_information8 in varchar2 default null
3495 ,p_abs_information9 in varchar2 default null
3496 ,p_abs_information10 in varchar2 default null
3497 ,p_abs_information11 in varchar2 default null
3498 ,p_abs_information12 in varchar2 default null
3499 ,p_abs_information13 in varchar2 default null
3500 ,p_abs_information14 in varchar2 default null
3501 ,p_abs_information15 in varchar2 default null
3502 ,p_abs_information16 in varchar2 default null
3503 ,p_abs_information17 in varchar2 default null
3504 ,p_abs_information18 in varchar2 default null
3505 ,p_abs_information19 in varchar2 default null
3506 ,p_abs_information20 in varchar2 default null
3507 ,p_abs_information21 in varchar2 default null
3508 ,p_abs_information22 in varchar2 default null
3509 ,p_abs_information23 in varchar2 default null
3510 ,p_abs_information24 in varchar2 default null
3511 ,p_abs_information25 in varchar2 default null
3512 ,p_abs_information26 in varchar2 default null
3513 ,p_abs_information27 in varchar2 default null
3514 ,p_abs_information28 in varchar2 default null
3515 ,p_abs_information29 in varchar2 default null
3516 ,p_abs_information30 in varchar2 default null
3517 ,p_absence_attendance_id out nocopy number
3518 ,p_object_version_number out nocopy number
3519 ,p_occurrence out nocopy number
3520 ,p_dur_dys_less_warning out nocopy number
3521 ,p_dur_hrs_less_warning out nocopy number
3522 ,p_exceeds_pto_entit_warning out nocopy number
3523 ,p_exceeds_run_total_warning out nocopy number
3524 ,p_abs_overlap_warning out nocopy number
3525 ,p_abs_day_after_warning out nocopy number
3526 ,p_dur_overwritten_warning out nocopy number
3527 ) IS
3528
3529 l_proc varchar2(72) := g_package||'validate_api';
3530 l_validate boolean;
3531 l_authorising_person_id number;
3532 l_replacement_person_id number;
3533 lb_abs_day_after_warning BOOLEAN;
3534 lb_abs_overlap_warning BOOLEAN;
3535 lb_dur_dys_less_warning BOOLEAN;
3536 lb_dur_hrs_less_warning BOOLEAN;
3537 lb_exceeds_pto_entit_warning BOOLEAN;
3538 lb_exceeds_run_total_warning BOOLEAN;
3539 lb_dur_overwritten_warning BOOLEAN;
3540
3541
3542 BEGIN
3543 --
3544 --
3545 --
3546 hr_utility.set_location(' Entering:' || l_proc,5);
3547
3548 l_validate := TRUE;
3549 l_authorising_person_id := to_number(p_authorising_person_id);
3550 l_replacement_person_id := to_number(p_replacement_person_id);
3551 hr_person_absence_api.create_person_absence(
3552 p_validate => l_validate
3553 ,p_effective_date => p_effective_date
3554 ,p_person_id => p_person_id
3555 ,p_business_group_id => p_business_group_id
3556 ,p_absence_attendance_type_id => p_absence_attendance_type_id
3557 ,p_abs_attendance_reason_id => p_abs_attendance_reason_id
3558 ,p_comments => p_comments
3559 ,p_date_notification => p_date_notification
3560 ,p_date_projected_start => p_date_projected_start
3561 ,p_time_projected_start => p_time_projected_start
3562 ,p_date_projected_end => p_date_projected_end
3563 ,p_time_projected_end => p_time_projected_end
3564 ,p_date_start => p_date_start
3565 ,p_time_start => p_time_start
3566 ,p_date_end => p_date_end
3567 ,p_time_end => p_time_end
3568 ,p_absence_days => p_absence_days
3569 ,p_absence_hours => p_absence_hours
3570 ,p_authorising_person_id => l_authorising_person_id
3571 ,p_replacement_person_id => l_replacement_person_id
3572 ,p_attribute_category => p_attribute_category
3573 ,p_attribute1 => p_attribute1
3574 ,p_attribute2 => p_attribute2
3575 ,p_attribute3 => p_attribute3
3576 ,p_attribute4 => p_attribute4
3577 ,p_attribute5 => p_attribute5
3578 ,p_attribute6 => p_attribute6
3579 ,p_attribute7 => p_attribute7
3580 ,p_attribute8 => p_attribute8
3581 ,p_attribute9 => p_attribute9
3582 ,p_attribute10 => p_attribute10
3583 ,p_attribute11 => p_attribute11
3584 ,p_attribute12 => p_attribute12
3585 ,p_attribute13 => p_attribute13
3586 ,p_attribute14 => p_attribute14
3587 ,p_attribute15 => p_attribute15
3588 ,p_attribute16 => p_attribute16
3589 ,p_attribute17 => p_attribute17
3590 ,p_attribute18 => p_attribute18
3591 ,p_attribute19 => p_attribute19
3592 ,p_attribute20 => p_attribute20
3593 ,p_period_of_incapacity_id => null
3594 ,p_ssp1_issued => 'N'
3595 ,p_maternity_id => null
3596 ,p_sickness_start_date => null
3597 ,p_sickness_end_date => null
3598 ,p_pregnancy_related_illness => 'N'
3599 ,p_reason_for_notification_dela => null
3600 ,p_accept_late_notification_fla => 'N'
3601 ,p_linked_absence_id => null
3602 ,p_abs_information_category => p_abs_information_category
3603 ,p_abs_information1 => p_abs_information1
3604 ,p_abs_information2 => p_abs_information2
3605 ,p_abs_information3 => p_abs_information3
3606 ,p_abs_information4 => p_abs_information4
3607 ,p_abs_information5 => p_abs_information5
3608 ,p_abs_information6 => p_abs_information6
3609 ,p_abs_information7 => p_abs_information7
3610 ,p_abs_information8 => p_abs_information8
3611 ,p_abs_information9 => p_abs_information9
3612 ,p_abs_information10 => p_abs_information10
3613 ,p_abs_information11 => p_abs_information11
3614 ,p_abs_information12 => p_abs_information12
3615 ,p_abs_information13 => p_abs_information13
3616 ,p_abs_information14 => p_abs_information14
3617 ,p_abs_information15 => p_abs_information15
3618 ,p_abs_information16 => p_abs_information16
3619 ,p_abs_information17 => p_abs_information17
3620 ,p_abs_information18 => p_abs_information18
3621 ,p_abs_information19 => p_abs_information19
3622 ,p_abs_information20 => p_abs_information20
3623 ,p_abs_information21 => p_abs_information21
3624 ,p_abs_information22 => p_abs_information22
3625 ,p_abs_information23 => p_abs_information23
3626 ,p_abs_information24 => p_abs_information24
3627 ,p_abs_information25 => p_abs_information25
3628 ,p_abs_information26 => p_abs_information26
3629 ,p_abs_information27 => p_abs_information27
3630 ,p_abs_information28 => p_abs_information28
3631 ,p_abs_information29 => p_abs_information29
3632 ,p_abs_information30 => p_abs_information30
3633 ,p_absence_attendance_id => p_absence_attendance_id
3634 ,p_object_version_number => p_object_version_number
3635 ,p_occurrence => p_occurrence
3636 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
3637 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
3638 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
3639 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
3640 ,p_abs_overlap_warning => lb_abs_overlap_warning
3641 ,p_abs_day_after_warning => lb_abs_day_after_warning
3642 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
3643 );
3644
3645 p_abs_day_after_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_day_after_warning);
3646 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
3647 p_dur_dys_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_dys_less_warning);
3648 p_dur_hrs_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_hrs_less_warning);
3649 p_exceeds_pto_entit_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_pto_entit_warning);
3650 p_exceeds_run_total_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_run_total_warning);
3651 p_dur_overwritten_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_overwritten_warning);
3652
3653 hr_utility.set_location(' Leaving:' || l_proc,10);
3654
3655 EXCEPTION
3656 WHEN g_data_error THEN
3657 hr_utility.trace('Exception in g_data_error in HR_LOA_SS..validate_api ' || SQLERRM );
3658 hr_utility.set_location(' Leaving:' || l_proc,555);
3659
3660 raise;
3661
3662 WHEN OTHERS THEN
3663 hr_utility.trace('When others exception in HR_LOA_SS..validate_api ' || SQLERRM );
3664 hr_utility.set_location(' Leaving:' || l_proc,560);
3665 raise ;
3666
3667 END validate_api;
3668
3669 /*
3670 ||===========================================================================
3671 || PROCEDURE: process_save
3672 ||---------------------------------------------------------------------------
3673 ||
3674 || Description:
3675 || This procedure will call actual API with validate mode
3676 || if there are no error, save date into transaction table
3677 ||
3678 || Access Status:
3679 || Public.
3680 ||
3681 ||===========================================================================
3682 */
3683 procedure process_save(
3684 p_item_type in WF_ITEMS.ITEM_TYPE%TYPE
3685 ,p_item_key in WF_ITEMS.ITEM_KEY%TYPE
3686 ,p_act_id in NUMBER
3687 ,p_login_person_id in number
3688 ,p_review_proc_call in varchar2
3689 ,p_effective_date in date
3690 ,p_person_id in number
3691 ,p_business_group_id in number
3692 ,p_absence_attendance_type_id in number
3693 ,p_abs_attendance_reason_id in number default null
3694 ,p_comments in long default null
3695 ,p_date_notification in date default null
3696 ,p_date_projected_start in date default null
3697 ,p_time_projected_start in varchar2 default null
3698 ,p_date_projected_end in date default null
3699 ,p_time_projected_end in varchar2 default null
3700 ,p_date_start in date default null
3701 ,p_time_start in varchar2 default null
3702 ,p_date_end in date default null
3703 ,p_time_end in varchar2 default null
3704 ,p_absence_days in out nocopy number
3705 ,p_absence_hours in out nocopy number
3706 ,p_authorising_person_id in number default null
3707 ,p_replacement_person_id in number default null
3708 ,p_attribute_category in varchar2 default null
3709 ,p_attribute1 in varchar2 default null
3710 ,p_attribute2 in varchar2 default null
3711 ,p_attribute3 in varchar2 default null
3712 ,p_attribute4 in varchar2 default null
3713 ,p_attribute5 in varchar2 default null
3714 ,p_attribute6 in varchar2 default null
3715 ,p_attribute7 in varchar2 default null
3716 ,p_attribute8 in varchar2 default null
3717 ,p_attribute9 in varchar2 default null
3718 ,p_attribute10 in varchar2 default null
3719 ,p_attribute11 in varchar2 default null
3720 ,p_attribute12 in varchar2 default null
3721 ,p_attribute13 in varchar2 default null
3722 ,p_attribute14 in varchar2 default null
3723 ,p_attribute15 in varchar2 default null
3724 ,p_attribute16 in varchar2 default null
3725 ,p_attribute17 in varchar2 default null
3726 ,p_attribute18 in varchar2 default null
3727 ,p_attribute19 in varchar2 default null
3728 ,p_attribute20 in varchar2 default null
3729 ,p_start_ampm in varchar2 default null
3730 ,p_end_ampm in varchar2 default null
3731 ,p_save_mode in varchar2 default null
3732 ,p_abs_information_category in varchar2 default null
3733 ,p_abs_information1 in varchar2 default null
3734 ,p_abs_information2 in varchar2 default null
3735 ,p_abs_information3 in varchar2 default null
3736 ,p_abs_information4 in varchar2 default null
3737 ,p_abs_information5 in varchar2 default null
3738 ,p_abs_information6 in varchar2 default null
3739 ,p_abs_information7 in varchar2 default null
3740 ,p_abs_information8 in varchar2 default null
3741 ,p_abs_information9 in varchar2 default null
3742 ,p_abs_information10 in varchar2 default null
3743 ,p_abs_information11 in varchar2 default null
3744 ,p_abs_information12 in varchar2 default null
3745 ,p_abs_information13 in varchar2 default null
3746 ,p_abs_information14 in varchar2 default null
3747 ,p_abs_information15 in varchar2 default null
3748 ,p_abs_information16 in varchar2 default null
3749 ,p_abs_information17 in varchar2 default null
3750 ,p_abs_information18 in varchar2 default null
3751 ,p_abs_information19 in varchar2 default null
3752 ,p_abs_information20 in varchar2 default null
3753 ,p_abs_information21 in varchar2 default null
3754 ,p_abs_information22 in varchar2 default null
3755 ,p_abs_information23 in varchar2 default null
3756 ,p_abs_information24 in varchar2 default null
3757 ,p_abs_information25 in varchar2 default null
3758 ,p_abs_information26 in varchar2 default null
3759 ,p_abs_information27 in varchar2 default null
3760 ,p_abs_information28 in varchar2 default null
3761 ,p_abs_information29 in varchar2 default null
3762 ,p_abs_information30 in varchar2 default null
3763 ,p_leave_status in varchar2 default null
3764 ,p_return_on_warning in varchar2 default null --2713296
3765 ,p_absence_attendance_id out nocopy number
3766 ,p_object_version_number out nocopy number
3767 ,p_occurrence out nocopy number
3768 ,p_dur_dys_less_warning out nocopy number
3769 ,p_dur_hrs_less_warning out nocopy number
3770 ,p_exceeds_pto_entit_warning out nocopy number
3771 ,p_exceeds_run_total_warning out nocopy number
3772 ,p_abs_overlap_warning out nocopy number
3773 ,p_abs_day_after_warning out nocopy number
3774 ,p_dur_overwritten_warning out nocopy number
3775 ,p_transaction_step_id out nocopy number
3776 ,p_page_error out nocopy varchar2
3777 ,p_page_error_msg out nocopy varchar2
3778 ,p_page_error_num out nocopy varchar2
3779 ) IS
3780
3781 l_proc varchar2(72) := g_package||'process_save';
3782 l_creator_person_id per_all_people_f.person_id%TYPE;
3783 l_validate boolean;
3784 l_transaction_id number;
3785 l_absence_days number;
3786 l_absence_hours number;
3787 l_transaction_step_id number;
3788 l_abs_attendance_reason_id number;
3789 l_login_person_id number;
3790 l_authorising_person_id number;
3791 l_replacement_person_id number;
3792 lb_abs_day_after_warning BOOLEAN;
3793 lb_abs_overlap_warning BOOLEAN;
3794 lb_dur_dys_less_warning BOOLEAN;
3795 lb_dur_hrs_less_warning BOOLEAN;
3796 lb_exceeds_pto_entit_warning BOOLEAN;
3797 lb_exceeds_run_total_warning BOOLEAN;
3798 lb_dur_overwritten_warning BOOLEAN;
3799
3800 --2966372 changes start
3801 l_populate_sickness_dates boolean := false;
3802 l_sickness_start_date date := null;
3803 l_sickness_end_date date := null;
3804 --2966372 changes end
3805
3806
3807 BEGIN
3808 hr_utility.set_location('Entering:'|| l_proc, 10);
3809 --
3810 -- Call API with validate mode
3811 --
3812
3813 l_validate := TRUE;
3814 l_authorising_person_id := to_number(p_authorising_person_id);
3815 l_replacement_person_id := to_number(p_replacement_person_id);
3816
3817 if p_abs_attendance_reason_id = -1 then
3818 l_abs_attendance_reason_id := null;
3819 else
3820 l_abs_attendance_reason_id := p_abs_attendance_reason_id;
3821 end if;
3822 if p_absence_days = -1 then
3823 l_absence_days := null;
3824 -- p_absence_days := null; -- #2491612
3825 else
3826 l_absence_days := p_absence_days;
3827 end if;
3828 if p_absence_hours = -1 then
3829 l_absence_hours := null;
3830 -- p_absence_hours := null;
3831 else
3832 l_absence_hours := p_absence_hours;
3833 end if;
3834
3835 --2966372 changes start
3836 l_populate_sickness_dates := is_gb_leg_and_category_s(p_absence_attendance_type_id , p_business_group_id);
3837
3838 IF l_populate_sickness_dates THEN
3839 l_sickness_start_date := p_date_start;
3840 l_sickness_end_date := p_date_end;
3841 END IF;
3842 --2966372 changes end
3843
3844 --
3845 -- Support Save For Later
3846 --
3847 if p_save_mode <> 'SaveForLater' then
3848
3849 hr_utility.set_location(l_proc, 20);
3850
3851 hr_person_absence_api.create_person_absence(
3852 p_validate => l_validate
3853 ,p_effective_date => p_effective_date
3854 ,p_person_id => p_person_id
3855 ,p_business_group_id => p_business_group_id
3856 ,p_absence_attendance_type_id => p_absence_attendance_type_id
3857 ,p_abs_attendance_reason_id => l_abs_attendance_reason_id
3858 ,p_comments => p_comments
3859 ,p_date_notification => p_date_notification
3860 ,p_date_projected_start => p_date_projected_start
3861 ,p_time_projected_start => p_time_projected_start
3862 ,p_date_projected_end => p_date_projected_end
3863 ,p_time_projected_end => p_time_projected_end
3864 ,p_date_start => p_date_start
3865 ,p_time_start => p_time_start
3866 ,p_date_end => p_date_end
3867 ,p_time_end => p_time_end
3868 ,p_absence_days => l_absence_days
3869 ,p_absence_hours => l_absence_hours
3870 ,p_authorising_person_id => l_authorising_person_id
3871 ,p_replacement_person_id => l_replacement_person_id
3872 ,p_attribute_category => p_attribute_category
3873 ,p_attribute1 => p_attribute1
3874 ,p_attribute2 => p_attribute2
3875 ,p_attribute3 => p_attribute3
3876 ,p_attribute4 => p_attribute4
3877 ,p_attribute5 => p_attribute5
3878 ,p_attribute6 => p_attribute6
3879 ,p_attribute7 => p_attribute7
3880 ,p_attribute8 => p_attribute8
3881 ,p_attribute9 => p_attribute9
3882 ,p_attribute10 => p_attribute10
3883 ,p_attribute11 => p_attribute11
3884 ,p_attribute12 => p_attribute12
3885 ,p_attribute13 => p_attribute13
3886 ,p_attribute14 => p_attribute14
3887 ,p_attribute15 => p_attribute15
3888 ,p_attribute16 => p_attribute16
3889 ,p_attribute17 => p_attribute17
3890 ,p_attribute18 => p_attribute18
3891 ,p_attribute19 => p_attribute19
3892 ,p_attribute20 => p_attribute20
3893 ,p_period_of_incapacity_id => null
3894 ,p_ssp1_issued => 'N'
3895 ,p_maternity_id => null
3896 ,p_sickness_start_date => l_sickness_start_date --2966372
3897 ,p_sickness_end_date => l_sickness_end_date --2966372
3898 ,p_pregnancy_related_illness => 'N'
3899 ,p_reason_for_notification_dela => null
3900 ,p_accept_late_notification_fla => 'N'
3901 ,p_linked_absence_id => null
3902 ,p_abs_information_category => p_abs_information_category
3903 ,p_abs_information1 => p_abs_information1
3904 ,p_abs_information2 => p_abs_information2
3905 ,p_abs_information3 => p_abs_information3
3906 ,p_abs_information4 => p_abs_information4
3907 ,p_abs_information5 => p_abs_information5
3908 ,p_abs_information6 => p_abs_information6
3909 ,p_abs_information7 => p_abs_information7
3910 ,p_abs_information8 => p_abs_information8
3911 ,p_abs_information9 => p_abs_information9
3912 ,p_abs_information10 => p_abs_information10
3913 ,p_abs_information11 => p_abs_information11
3914 ,p_abs_information12 => p_abs_information12
3915 ,p_abs_information13 => p_abs_information13
3916 ,p_abs_information14 => p_abs_information14
3917 ,p_abs_information15 => p_abs_information15
3918 ,p_abs_information16 => p_abs_information16
3919 ,p_abs_information17 => p_abs_information17
3920 ,p_abs_information18 => p_abs_information18
3921 ,p_abs_information19 => p_abs_information19
3922 ,p_abs_information20 => p_abs_information20
3923 ,p_abs_information21 => p_abs_information21
3924 ,p_abs_information22 => p_abs_information22
3925 ,p_abs_information23 => p_abs_information23
3926 ,p_abs_information24 => p_abs_information24
3927 ,p_abs_information25 => p_abs_information25
3928 ,p_abs_information26 => p_abs_information26
3929 ,p_abs_information27 => p_abs_information27
3930 ,p_abs_information28 => p_abs_information28
3931 ,p_abs_information29 => p_abs_information29
3932 ,p_abs_information30 => p_abs_information30
3933 ,p_absence_attendance_id => p_absence_attendance_id
3934 ,p_object_version_number => p_object_version_number
3935 ,p_occurrence => p_occurrence
3936 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
3937 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
3938 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
3939 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
3940 ,p_abs_overlap_warning => lb_abs_overlap_warning
3941 ,p_abs_day_after_warning => lb_abs_day_after_warning
3942 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
3943 );
3944
3945 p_abs_day_after_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_day_after_warning);
3946 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
3947 p_dur_dys_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_dys_less_warning);
3948 p_dur_hrs_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_hrs_less_warning);
3949 p_exceeds_pto_entit_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_pto_entit_warning);
3950 p_exceeds_run_total_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_run_total_warning);
3951 p_dur_overwritten_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_overwritten_warning);
3952
3953 -- 2713296 changes start
3954 if (lb_abs_day_after_warning OR
3955 lb_abs_overlap_warning OR
3956 lb_exceeds_pto_entit_warning OR --2848345
3957 lb_dur_dys_less_warning OR --2765646
3958 lb_dur_hrs_less_warning OR --2765646
3959 lb_exceeds_run_total_warning) AND --2797220
3960 p_return_on_warning = 'true' then
3961 hr_utility.set_location(l_proc, 40);
3962 return;
3963 else -- BUG 2415512
3964 lb_abs_overlap_warning := chk_overlap(p_person_id,p_business_group_id,p_date_start,p_date_end,p_time_start,p_time_end);
3965
3966 if lb_abs_overlap_warning AND p_return_on_warning = 'true' then
3967 hr_utility.set_location(l_proc, 50);
3968 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
3969 return;
3970 end if;
3971 end if;
3972 -- 2713296 changes ends
3973 end if; -- Support Save For Later
3974
3975 hr_utility.set_location(l_proc, 60);
3976 --
3977 -- Create transaction
3978 --
3979 create_transaction(
3980 p_item_type => p_item_type
3981 ,p_item_key => p_item_key
3982 ,p_act_id => p_act_id
3983 ,p_activity_name => p_review_proc_call
3984 ,p_transaction_id => l_transaction_id
3985 ,p_transaction_step_id => l_transaction_step_id
3986 ,p_login_person_id => p_login_person_id
3987 ,p_review_proc_call => p_review_proc_call
3988 );
3989
3990 p_transaction_step_id := l_transaction_step_id;
3991
3992 p_absence_days := l_absence_days;
3993 p_absence_hours := l_absence_hours;
3994
3995 --
3996 -- Write Transaction
3997 --
3998
3999 l_validate := FALSE;
4000 -- hr_util_misc_web.validate_session(p_person_id => l_creator_person_id);
4001 l_creator_person_id := p_login_person_id;
4002
4003
4004 hr_transaction_api.set_boolean_value (
4005 p_transaction_step_id =>l_transaction_step_id,
4006 p_person_id => l_creator_person_id ,
4007 p_name => 'p_validate' ,
4008 p_value =>l_validate ) ;
4009
4010 hr_transaction_api.set_date_value (
4011 p_transaction_step_id =>l_transaction_step_id,
4012 p_person_id => l_creator_person_id ,
4013 p_name => 'p_effective_date' ,
4014 p_value =>p_effective_date ) ;
4015
4016 hr_transaction_api.set_number_value (
4017 p_transaction_step_id =>l_transaction_step_id,
4018 p_person_id => l_creator_person_id ,
4019 p_name => 'p_person_id' ,
4020 p_value =>p_person_id ) ;
4021
4022 hr_transaction_api.set_number_value (
4023 p_transaction_step_id =>l_transaction_step_id,
4024 p_person_id => l_creator_person_id ,
4025 p_name => 'p_business_group_id' ,
4026 p_value =>p_business_group_id ) ;
4027
4028 hr_transaction_api.set_number_value (
4029 p_transaction_step_id =>l_transaction_step_id,
4030 p_person_id => l_creator_person_id ,
4031 p_name => 'p_absence_attendance_type_id' ,
4032 p_value =>p_absence_attendance_type_id ) ;
4033
4034 hr_transaction_api.set_number_value (
4035 p_transaction_step_id =>l_transaction_step_id,
4036 p_person_id => l_creator_person_id ,
4037 p_name => 'p_abs_attendance_reason_id' ,
4038 p_value =>l_abs_attendance_reason_id ) ;
4039
4040 hr_transaction_api.set_varchar2_value (
4041 p_transaction_step_id =>l_transaction_step_id,
4042 p_person_id => l_creator_person_id ,
4043 p_name => 'p_comments' ,
4044 p_value =>p_comments ) ;
4045
4046 hr_transaction_api.set_number_value (
4047 p_transaction_step_id =>l_transaction_step_id,
4048 p_person_id => l_creator_person_id ,
4049 p_name => 'p_authorising_person_id' ,
4050 p_value =>p_authorising_person_id ) ;
4051
4052 hr_transaction_api.set_number_value (
4053 p_transaction_step_id =>l_transaction_step_id,
4054 p_person_id => l_creator_person_id ,
4055 p_name => 'p_replacement_person_id' ,
4056 p_value =>p_replacement_person_id ) ;
4057
4058 hr_transaction_api.set_date_value (
4059 p_transaction_step_id =>l_transaction_step_id,
4060 p_person_id => l_creator_person_id ,
4061 p_name => 'p_date_projected_start' ,
4062 p_value =>p_date_projected_start) ;
4063
4064 hr_transaction_api.set_varchar2_value (
4065 p_transaction_step_id =>l_transaction_step_id,
4066 p_person_id => l_creator_person_id ,
4067 p_name => 'p_time_projected_start' ,
4068 p_value =>p_time_projected_start ) ;
4069
4070 hr_transaction_api.set_date_value (
4071 p_transaction_step_id =>l_transaction_step_id,
4072 p_person_id => l_creator_person_id ,
4073 p_name => 'p_date_projected_end' ,
4074 p_value =>p_date_projected_end) ;
4075
4076 hr_transaction_api.set_varchar2_value (
4077 p_transaction_step_id =>l_transaction_step_id,
4078 p_person_id => l_creator_person_id ,
4079 p_name => 'p_time_projected_end' ,
4080 p_value =>p_time_projected_end ) ;
4081
4082 hr_transaction_api.set_date_value (
4083 p_transaction_step_id =>l_transaction_step_id,
4084 p_person_id => l_creator_person_id ,
4085 p_name => 'p_date_start' ,
4086 p_value =>p_date_start) ;
4087
4088 hr_transaction_api.set_varchar2_value (
4089 p_transaction_step_id =>l_transaction_step_id,
4090 p_person_id => l_creator_person_id ,
4091 p_name => 'p_time_start' ,
4092 p_value =>p_time_start ) ;
4093
4094 hr_transaction_api.set_date_value (
4095 p_transaction_step_id =>l_transaction_step_id,
4096 p_person_id => l_creator_person_id ,
4097 p_name => 'p_date_end' ,
4098 p_value =>p_date_end) ;
4099
4100 hr_transaction_api.set_varchar2_value (
4101 p_transaction_step_id =>l_transaction_step_id,
4102 p_person_id => l_creator_person_id ,
4103 p_name => 'p_time_end' ,
4104 p_value =>p_time_end ) ;
4105
4106 hr_transaction_api.set_number_value (
4107 p_transaction_step_id =>l_transaction_step_id,
4108 p_person_id => l_creator_person_id ,
4109 p_name => 'p_absence_days' ,
4110 p_value =>p_absence_days ) ;
4111
4112 hr_transaction_api.set_number_value (
4113 p_transaction_step_id =>l_transaction_step_id,
4114 p_person_id => l_creator_person_id ,
4115 p_name => 'p_absence_hours' ,
4116 p_value =>p_absence_hours ) ;
4117
4118 hr_transaction_api.set_date_value (
4119 p_transaction_step_id =>l_transaction_step_id,
4120 p_person_id => l_creator_person_id ,
4121 p_name => 'p_date_notification' ,
4122 p_value =>p_date_notification ) ;
4123
4124 hr_transaction_api.set_varchar2_value (
4125 p_transaction_step_id =>l_transaction_step_id,
4126 p_person_id => l_creator_person_id ,
4127 p_name => 'p_attribute_category' ,
4128 p_value =>p_attribute_category ) ;
4129
4130 hr_transaction_api.set_varchar2_value (
4131 p_transaction_step_id =>l_transaction_step_id,
4132 p_person_id => l_creator_person_id ,
4133 p_name => 'p_attribute1' ,
4134 p_value =>p_attribute1 ) ;
4135
4136 hr_transaction_api.set_varchar2_value (
4137 p_transaction_step_id =>l_transaction_step_id,
4138 p_person_id => l_creator_person_id ,
4139 p_name => 'p_attribute2' ,
4140 p_value =>p_attribute2 ) ;
4141
4142 hr_transaction_api.set_varchar2_value (
4143 p_transaction_step_id =>l_transaction_step_id,
4144 p_person_id => l_creator_person_id ,
4145 p_name => 'p_attribute3' ,
4146 p_value =>p_attribute3 ) ;
4147
4148 hr_transaction_api.set_varchar2_value (
4149 p_transaction_step_id =>l_transaction_step_id,
4150 p_person_id => l_creator_person_id ,
4151 p_name => 'p_attribute4' ,
4152 p_value =>p_attribute4 ) ;
4153
4154 hr_transaction_api.set_varchar2_value (
4155 p_transaction_step_id =>l_transaction_step_id,
4156 p_person_id => l_creator_person_id ,
4157 p_name => 'p_attribute5' ,
4158 p_value =>p_attribute5 ) ;
4159
4160 hr_transaction_api.set_varchar2_value (
4161 p_transaction_step_id =>l_transaction_step_id,
4162 p_person_id => l_creator_person_id ,
4163 p_name => 'p_attribute6' ,
4164 p_value =>p_attribute6 ) ;
4165
4166 hr_transaction_api.set_varchar2_value (
4167 p_transaction_step_id =>l_transaction_step_id,
4168 p_person_id => l_creator_person_id ,
4169 p_name => 'p_attribute7' ,
4170 p_value =>p_attribute7 ) ;
4171
4172 hr_transaction_api.set_varchar2_value (
4173 p_transaction_step_id =>l_transaction_step_id,
4174 p_person_id => l_creator_person_id ,
4175 p_name => 'p_attribute8' ,
4176 p_value =>p_attribute8 ) ;
4177
4178 hr_transaction_api.set_varchar2_value (
4179 p_transaction_step_id =>l_transaction_step_id,
4180 p_person_id => l_creator_person_id ,
4181 p_name => 'p_attribute9' ,
4182 p_value =>p_attribute9 ) ;
4183
4184 hr_transaction_api.set_varchar2_value (
4185 p_transaction_step_id =>l_transaction_step_id,
4186 p_person_id => l_creator_person_id ,
4187 p_name => 'p_attribute10' ,
4188 p_value =>p_attribute10 ) ;
4189
4190 hr_transaction_api.set_varchar2_value (
4191 p_transaction_step_id =>l_transaction_step_id,
4192 p_person_id => l_creator_person_id ,
4193 p_name => 'p_attribute11' ,
4194 p_value =>p_attribute11 ) ;
4195
4196 hr_transaction_api.set_varchar2_value (
4197 p_transaction_step_id =>l_transaction_step_id,
4198 p_person_id => l_creator_person_id ,
4199 p_name => 'p_attribute12' ,
4200 p_value =>p_attribute12 ) ;
4201
4202 hr_transaction_api.set_varchar2_value (
4203 p_transaction_step_id =>l_transaction_step_id,
4204 p_person_id => l_creator_person_id ,
4205 p_name => 'p_attribute13' ,
4206 p_value =>p_attribute13 ) ;
4207
4208 hr_transaction_api.set_varchar2_value (
4209 p_transaction_step_id =>l_transaction_step_id,
4210 p_person_id => l_creator_person_id ,
4211 p_name => 'p_attribute14' ,
4212 p_value =>p_attribute14 ) ;
4213
4214 hr_transaction_api.set_varchar2_value (
4215 p_transaction_step_id =>l_transaction_step_id,
4216 p_person_id => l_creator_person_id ,
4217 p_name => 'p_attribute15' ,
4218 p_value =>p_attribute15 ) ;
4219
4220 hr_transaction_api.set_varchar2_value (
4221 p_transaction_step_id =>l_transaction_step_id,
4222 p_person_id => l_creator_person_id ,
4223 p_name => 'p_attribute16' ,
4224 p_value =>p_attribute16 ) ;
4225
4226 hr_transaction_api.set_varchar2_value (
4227 p_transaction_step_id =>l_transaction_step_id,
4228 p_person_id => l_creator_person_id ,
4229 p_name => 'p_attribute17' ,
4230 p_value =>p_attribute17 ) ;
4231
4232 hr_transaction_api.set_varchar2_value (
4233 p_transaction_step_id =>l_transaction_step_id,
4234 p_person_id => l_creator_person_id ,
4235 p_name => 'p_attribute18' ,
4236 p_value =>p_attribute18 ) ;
4237
4238 hr_transaction_api.set_varchar2_value (
4239 p_transaction_step_id =>l_transaction_step_id,
4240 p_person_id => l_creator_person_id ,
4241 p_name => 'p_attribute19' ,
4242 p_value =>p_attribute19 ) ;
4243
4244 hr_transaction_api.set_varchar2_value (
4245 p_transaction_step_id =>l_transaction_step_id,
4246 p_person_id => l_creator_person_id ,
4247 p_name => 'p_attribute20' ,
4248 p_value =>p_attribute20 ) ;
4249
4250 hr_transaction_api.set_varchar2_value (
4251 p_transaction_step_id =>l_transaction_step_id,
4252 p_person_id => l_creator_person_id ,
4253 p_name => 'p_abs_information_category' ,
4254 p_value =>p_abs_information_category ) ;
4255
4256 hr_transaction_api.set_varchar2_value (
4257 p_transaction_step_id =>l_transaction_step_id,
4258 p_person_id => l_creator_person_id ,
4259 p_name => 'p_abs_information1' ,
4260 p_value =>p_abs_information1 ) ;
4261
4262 hr_transaction_api.set_varchar2_value (
4263 p_transaction_step_id =>l_transaction_step_id,
4264 p_person_id => l_creator_person_id ,
4265 p_name => 'p_abs_information2' ,
4266 p_value =>p_abs_information2 ) ;
4267
4268 hr_transaction_api.set_varchar2_value (
4269 p_transaction_step_id =>l_transaction_step_id,
4270 p_person_id => l_creator_person_id ,
4271 p_name => 'p_abs_information3' ,
4272 p_value =>p_abs_information3 ) ;
4273
4274 hr_transaction_api.set_varchar2_value (
4275 p_transaction_step_id =>l_transaction_step_id,
4276 p_person_id => l_creator_person_id ,
4277 p_name => 'p_abs_information4' ,
4278 p_value =>p_abs_information4 ) ;
4279
4280 hr_transaction_api.set_varchar2_value (
4281 p_transaction_step_id =>l_transaction_step_id,
4282 p_person_id => l_creator_person_id ,
4283 p_name => 'p_abs_information5' ,
4284 p_value =>p_abs_information5 ) ;
4285
4286 hr_transaction_api.set_varchar2_value (
4287 p_transaction_step_id =>l_transaction_step_id,
4288 p_person_id => l_creator_person_id ,
4289 p_name => 'p_abs_information6' ,
4290 p_value =>p_abs_information6 ) ;
4291
4292 hr_transaction_api.set_varchar2_value (
4293 p_transaction_step_id =>l_transaction_step_id,
4294 p_person_id => l_creator_person_id ,
4295 p_name => 'p_abs_information7' ,
4296 p_value =>p_abs_information7 ) ;
4297
4298 hr_transaction_api.set_varchar2_value (
4299 p_transaction_step_id =>l_transaction_step_id,
4300 p_person_id => l_creator_person_id ,
4301 p_name => 'p_abs_information8' ,
4302 p_value =>p_abs_information8 ) ;
4303
4304 hr_transaction_api.set_varchar2_value (
4305 p_transaction_step_id =>l_transaction_step_id,
4306 p_person_id => l_creator_person_id ,
4307 p_name => 'p_abs_information9' ,
4308 p_value =>p_abs_information9 ) ;
4309
4310 hr_transaction_api.set_varchar2_value (
4311 p_transaction_step_id =>l_transaction_step_id,
4312 p_person_id => l_creator_person_id ,
4313 p_name => 'p_abs_information10' ,
4314 p_value =>p_abs_information10 ) ;
4315
4316 hr_transaction_api.set_varchar2_value (
4317 p_transaction_step_id =>l_transaction_step_id,
4318 p_person_id => l_creator_person_id ,
4319 p_name => 'p_abs_information11' ,
4320 p_value =>p_abs_information11 ) ;
4321
4322 hr_transaction_api.set_varchar2_value (
4323 p_transaction_step_id =>l_transaction_step_id,
4324 p_person_id => l_creator_person_id ,
4325 p_name => 'p_abs_information12' ,
4326 p_value =>p_abs_information12 ) ;
4327
4328 hr_transaction_api.set_varchar2_value (
4329 p_transaction_step_id =>l_transaction_step_id,
4330 p_person_id => l_creator_person_id ,
4331 p_name => 'p_abs_information13' ,
4332 p_value =>p_abs_information13 ) ;
4333
4334 hr_transaction_api.set_varchar2_value (
4335 p_transaction_step_id =>l_transaction_step_id,
4336 p_person_id => l_creator_person_id ,
4337 p_name => 'p_abs_information14' ,
4338 p_value =>p_abs_information14 ) ;
4339
4340 hr_transaction_api.set_varchar2_value (
4341 p_transaction_step_id =>l_transaction_step_id,
4342 p_person_id => l_creator_person_id ,
4343 p_name => 'p_abs_information15' ,
4344 p_value =>p_abs_information15 ) ;
4345
4346 hr_transaction_api.set_varchar2_value (
4347 p_transaction_step_id =>l_transaction_step_id,
4348 p_person_id => l_creator_person_id ,
4349 p_name => 'p_abs_information16' ,
4350 p_value =>p_abs_information16 ) ;
4351
4352 hr_transaction_api.set_varchar2_value (
4353 p_transaction_step_id =>l_transaction_step_id,
4354 p_person_id => l_creator_person_id ,
4355 p_name => 'p_abs_information17' ,
4356 p_value =>p_abs_information17 ) ;
4357
4358 hr_transaction_api.set_varchar2_value (
4359 p_transaction_step_id =>l_transaction_step_id,
4360 p_person_id => l_creator_person_id ,
4361 p_name => 'p_abs_information18' ,
4362 p_value =>p_abs_information18 ) ;
4363
4364 hr_transaction_api.set_varchar2_value (
4365 p_transaction_step_id =>l_transaction_step_id,
4366 p_person_id => l_creator_person_id ,
4367 p_name => 'p_abs_information19' ,
4368 p_value =>p_abs_information19 ) ;
4369
4370 hr_transaction_api.set_varchar2_value (
4371 p_transaction_step_id =>l_transaction_step_id,
4372 p_person_id => l_creator_person_id ,
4373 p_name => 'p_abs_information20' ,
4374 p_value =>p_abs_information20 ) ;
4375
4376 hr_transaction_api.set_varchar2_value (
4377 p_transaction_step_id =>l_transaction_step_id,
4378 p_person_id => l_creator_person_id ,
4379 p_name => 'p_abs_information21' ,
4380 p_value =>p_abs_information21 ) ;
4381
4382 hr_transaction_api.set_varchar2_value (
4383 p_transaction_step_id =>l_transaction_step_id,
4384 p_person_id => l_creator_person_id ,
4385 p_name => 'p_abs_information22' ,
4386 p_value =>p_abs_information22 ) ;
4387
4388 hr_transaction_api.set_varchar2_value (
4389 p_transaction_step_id =>l_transaction_step_id,
4390 p_person_id => l_creator_person_id ,
4391 p_name => 'p_abs_information23' ,
4392 p_value =>p_abs_information23 ) ;
4393
4394 hr_transaction_api.set_varchar2_value (
4395 p_transaction_step_id =>l_transaction_step_id,
4396 p_person_id => l_creator_person_id ,
4397 p_name => 'p_abs_information24' ,
4398 p_value =>p_abs_information24 ) ;
4399
4400 hr_transaction_api.set_varchar2_value (
4401 p_transaction_step_id =>l_transaction_step_id,
4402 p_person_id => l_creator_person_id ,
4403 p_name => 'p_abs_information25' ,
4404 p_value =>p_abs_information25 ) ;
4405
4406 hr_transaction_api.set_varchar2_value (
4407 p_transaction_step_id =>l_transaction_step_id,
4408 p_person_id => l_creator_person_id ,
4409 p_name => 'p_abs_information26' ,
4410 p_value =>p_abs_information26 ) ;
4411
4412 hr_transaction_api.set_varchar2_value (
4413 p_transaction_step_id =>l_transaction_step_id,
4414 p_person_id => l_creator_person_id ,
4415 p_name => 'p_abs_information27' ,
4416 p_value =>p_abs_information27 ) ;
4417
4418 hr_transaction_api.set_varchar2_value (
4419 p_transaction_step_id =>l_transaction_step_id,
4420 p_person_id => l_creator_person_id ,
4421 p_name => 'p_abs_information28' ,
4422 p_value =>p_abs_information28 ) ;
4423
4424 hr_transaction_api.set_varchar2_value (
4425 p_transaction_step_id =>l_transaction_step_id,
4426 p_person_id => l_creator_person_id ,
4427 p_name => 'p_abs_information29' ,
4428 p_value =>p_abs_information29 ) ;
4429
4430 hr_transaction_api.set_varchar2_value (
4431 p_transaction_step_id =>l_transaction_step_id,
4432 p_person_id => l_creator_person_id ,
4433 p_name => 'p_abs_information30' ,
4434 p_value =>p_abs_information30 ) ;
4435
4436 --
4437 hr_transaction_api.set_varchar2_value (
4438 p_transaction_step_id =>l_transaction_step_id,
4439 p_person_id => l_creator_person_id ,
4440 p_name => 'p_leave_status' ,
4441 p_value =>p_leave_status ) ;
4442
4443 --
4444 -- Save For Later
4445 --
4446 hr_transaction_api.set_varchar2_value (
4447 p_transaction_step_id =>l_transaction_step_id,
4448 p_person_id => l_creator_person_id ,
4449 p_name => 'p_start_ampm' ,
4450 p_value =>p_start_ampm ) ;
4451
4452 hr_transaction_api.set_varchar2_value (
4453 p_transaction_step_id =>l_transaction_step_id,
4454 p_person_id => l_creator_person_id ,
4455 p_name => 'p_end_ampm' ,
4456 p_value =>p_end_ampm ) ;
4457
4458 hr_transaction_api.set_varchar2_value (
4459 p_transaction_step_id =>l_transaction_step_id,
4460 p_person_id => l_creator_person_id ,
4461 p_name => 'p_save_mode' ,
4462 p_value =>p_save_mode ) ;
4463 --
4464 --
4465 --
4466 hr_utility.set_location('Leaving..:' || l_proc, 70);
4467 EXCEPTION
4468 WHEN hr_utility.hr_error then
4469 hr_message.provide_error;
4470 p_page_error := hr_message.last_message_app;
4471 p_page_error_msg := hr_message.get_message_text;
4472 p_page_error_num := hr_message.last_message_number;
4473 hr_utility.set_location('Leaving..:' || l_proc, 555);
4474 WHEN OTHERS THEN
4475 hr_utility.trace('Exception HR_LOA_SS..process_save:: ' || SQLERRM );
4476 hr_utility.set_location('Leaving..:' || l_proc, 560);
4477 raise ;
4478
4479 END process_save;
4480
4481 --2966372 changes start
4482 /*
4483 ||===========================================================================
4484 || FUNCTION: is_gb_leg_and_category_s
4485 ||---------------------------------------------------------------------------
4486 ||
4487 || Description:
4488 || This function will return true if the absence category is 'Sickness'
4489 || and the legislation is 'GB' , else will return false.
4490 ||
4491 || Access Status:
4492 || Public.
4493 ||
4494 ||===========================================================================
4495 */
4496
4497 function is_gb_leg_and_category_s(p_absence_attendance_type_id IN NUMBER ,
4498 p_business_group_id IN NUMBER)
4499 return boolean is
4500
4501 l_proc varchar2(200) := g_package || 'is_gb_leg_and_category_s';
4502
4503 populate_sickness_dates boolean := false;
4504 l_absence_category per_absence_attendance_types.absence_category%type ;
4505 l_legislation_code varchar2(150);
4506
4507 cursor get_category_code (p_absence_attendance_type_id number) is
4508 select absence_category
4509 from per_absence_attendance_types
4510 where absence_attendance_type_id = p_absence_attendance_type_id;
4511
4512 begin
4513 hr_utility.set_location(' Entering:' || l_proc,5);
4514
4515 open get_category_code(p_absence_attendance_type_id);
4516 fetch get_category_code into l_absence_category ;
4517 close get_category_code ;
4518
4519 IF l_absence_category = 'S' THEN
4520 l_legislation_code := hr_api.return_legislation_code(p_business_group_id);
4521 IF l_legislation_code = 'GB' THEN
4522 hr_utility.set_location(l_proc,10);
4523
4524 populate_sickness_dates := true;
4525 END IF;
4526 END IF;
4527 hr_utility.set_location(' Leaving:' || l_proc,15);
4528
4529 return populate_sickness_dates;
4530 END is_gb_leg_and_category_s ;
4531 --2966372 changes end
4532
4533
4534 --kcks
4535
4536 procedure process_update_save(
4537 p_item_type in WF_ITEMS.ITEM_TYPE%TYPE
4538 ,p_item_key in WF_ITEMS.ITEM_KEY%TYPE
4539 ,p_act_id in NUMBER
4540 ,p_login_person_id in number
4541 ,p_review_proc_call in varchar2
4542 ,p_effective_date in date
4543 ,p_date_notification in date
4544 ,p_absence_attendance_id in per_absence_attendances.absence_attendance_id%type
4545 ,p_object_version_number in out nocopy number
4546 ,p_date_start in date default null
4547 ,p_time_start in varchar2 default null
4548 ,p_date_end in date default null
4549 ,p_time_end in varchar2 default null
4550 ,p_absence_days in out nocopy number
4551 ,p_absence_hours in out nocopy number
4552 ,p_replacement_person_id in number default null
4553 ,p_update_return in varchar2
4554 ,p_save_mode in varchar2
4555 ,p_attribute_category in varchar2 default null
4556 ,p_attribute1 in varchar2 default null
4557 ,p_attribute2 in varchar2 default null
4558 ,p_attribute3 in varchar2 default null
4559 ,p_attribute4 in varchar2 default null
4560 ,p_attribute5 in varchar2 default null
4561 ,p_attribute6 in varchar2 default null
4562 ,p_attribute7 in varchar2 default null
4563 ,p_attribute8 in varchar2 default null
4564 ,p_attribute9 in varchar2 default null
4565 ,p_attribute10 in varchar2 default null
4566 ,p_attribute11 in varchar2 default null
4567 ,p_attribute12 in varchar2 default null
4568 ,p_attribute13 in varchar2 default null
4569 ,p_attribute14 in varchar2 default null
4570 ,p_attribute15 in varchar2 default null
4571 ,p_attribute16 in varchar2 default null
4572 ,p_attribute17 in varchar2 default null
4573 ,p_attribute18 in varchar2 default null
4574 ,p_attribute19 in varchar2 default null
4575 ,p_attribute20 in varchar2 default null
4576 ,p_abs_information_category in varchar2 default null
4577 ,p_abs_information1 in varchar2 default null
4578 ,p_abs_information2 in varchar2 default null
4579 ,p_abs_information3 in varchar2 default null
4580 ,p_abs_information4 in varchar2 default null
4581 ,p_abs_information5 in varchar2 default null
4582 ,p_abs_information6 in varchar2 default null
4583 ,p_abs_information7 in varchar2 default null
4584 ,p_abs_information8 in varchar2 default null
4585 ,p_abs_information9 in varchar2 default null
4586 ,p_abs_information10 in varchar2 default null
4587 ,p_abs_information11 in varchar2 default null
4588 ,p_abs_information12 in varchar2 default null
4589 ,p_abs_information13 in varchar2 default null
4590 ,p_abs_information14 in varchar2 default null
4591 ,p_abs_information15 in varchar2 default null
4592 ,p_abs_information16 in varchar2 default null
4593 ,p_abs_information17 in varchar2 default null
4594 ,p_abs_information18 in varchar2 default null
4595 ,p_abs_information19 in varchar2 default null
4596 ,p_abs_information20 in varchar2 default null
4597 ,p_abs_information21 in varchar2 default null
4598 ,p_abs_information22 in varchar2 default null
4599 ,p_abs_information23 in varchar2 default null
4600 ,p_abs_information24 in varchar2 default null
4601 ,p_abs_information25 in varchar2 default null
4602 ,p_abs_information26 in varchar2 default null
4603 ,p_abs_information27 in varchar2 default null
4604 ,p_abs_information28 in varchar2 default null
4605 ,p_abs_information29 in varchar2 default null
4606 ,p_abs_information30 in varchar2 default null
4607 ,p_leave_status in varchar2 default null
4608 ,p_comments in varchar2 default null
4609 ,p_person_id in number
4610 ,p_absence_attendance_type_id in number
4611 ,p_abs_attendance_reason_id in number default null
4612 ,p_date_projected_start in date default null
4613 ,p_time_projected_start in varchar2 default null
4614 ,p_date_projected_end in date default null
4615 ,p_time_projected_end in varchar2 default null
4616 ,p_return_on_warning in varchar2 default null --2713296
4617 ,p_dur_dys_less_warning out nocopy number
4618 ,p_dur_hrs_less_warning out nocopy number
4619 ,p_exceeds_pto_entit_warning out nocopy number
4620 ,p_exceeds_run_total_warning out nocopy number
4621 ,p_abs_overlap_warning out nocopy number
4622 ,p_abs_day_after_warning out nocopy number
4623 ,p_dur_overwritten_warning out nocopy number
4624 ,p_transaction_step_id out nocopy number
4625 ,p_page_error out nocopy varchar2
4626 ,p_page_error_msg out nocopy varchar2
4627 ,p_page_error_num out nocopy varchar2
4628 ) IS
4629
4630 l_proc varchar2(72) := g_package||'process_update_save';
4631 l_creator_person_id per_all_people_f.person_id%TYPE;
4632 l_absence_rec per_absence_attendances%rowtype;
4633 l_validate boolean ;
4634 l_transaction_id number;
4635 l_transaction_step_id number;
4636 l_login_person_id number;
4637 l_object_version_number number;
4638 lb_abs_day_after_warning BOOLEAN;
4639 lb_abs_overlap_warning BOOLEAN;
4640 lb_dur_dys_less_warning BOOLEAN;
4641 lb_dur_hrs_less_warning BOOLEAN;
4642 lb_exceeds_pto_entit_warning BOOLEAN;
4643 lb_exceeds_run_total_warning BOOLEAN;
4644 lb_dur_overwritten_warning BOOLEAN;
4645 lb_del_element_entry_warning BOOLEAN;
4646 l_absence_days number;
4647 l_absence_day_hours number;
4648 l_absence_hours number;
4649 l_business_group_id number;
4650
4651 --2966372 changes start
4652 l_populate_sickness_dates boolean := false;
4653 l_sickness_start_date date := null;
4654 l_sickness_end_date date := null;
4655 --2966372 changes end
4656
4657 l_leave_data_changed boolean := false ; --2793140
4658
4659 cursor csr_abs_attendances is
4660 select *
4661 from per_absence_attendances paa
4662 where paa.absence_attendance_id = p_absence_attendance_id ;
4663
4664 BEGIN
4665 --
4666 --
4667 --
4668 hr_utility.set_location('Entering:'|| l_proc, 10);
4669 open csr_abs_attendances;
4670 fetch csr_abs_attendances into l_absence_rec;
4671 if csr_abs_attendances%notfound then
4672 close csr_abs_attendances;
4673 hr_utility.set_location('api error exists', 10);
4674 raise g_data_error;
4675 end if;
4676
4677
4678 if p_absence_days = -1 then
4679 l_absence_days := null;
4680 else
4681 l_absence_days := p_absence_days;
4682 end if;
4683 if p_absence_hours = -1 then
4684 l_absence_hours := null;
4685 else
4686 l_absence_hours := p_absence_hours;
4687 end if;
4688
4689 --2793140 changes start
4690 l_leave_data_changed := is_rec_changed
4691 (p_effective_date => p_effective_date
4692 ,p_absence_attendance_id => p_absence_attendance_id
4693 ,p_abs_attendance_reason_id => p_abs_attendance_reason_id
4694 ,p_comments => p_comments
4695 ,p_date_notification => p_date_notification
4696 ,p_date_projected_start => p_date_projected_start
4697 ,p_time_projected_start => p_time_projected_start
4698 ,p_date_projected_end => p_date_projected_end
4699 ,p_time_projected_end => p_time_projected_end
4700 ,p_date_start => p_date_start
4701 ,p_time_start => p_time_start
4702 ,p_date_end => p_date_end
4703 ,p_time_end => p_time_end
4704 ,p_absence_days => l_absence_days
4705 ,p_absence_hours => l_absence_hours
4706 ,p_replacement_person_id => p_replacement_person_id
4707 ,p_attribute_category => p_attribute_category
4708 ,p_attribute1 => p_attribute1
4709 ,p_attribute2 => p_attribute2
4710 ,p_attribute3 => p_attribute3
4711 ,p_attribute4 => p_attribute4
4712 ,p_attribute5 => p_attribute5
4713 ,p_attribute6 => p_attribute6
4714 ,p_attribute7 => p_attribute7
4715 ,p_attribute8 => p_attribute8
4716 ,p_attribute9 => p_attribute9
4717 ,p_attribute10 => p_attribute10
4718 ,p_attribute11 => p_attribute11
4719 ,p_attribute12 => p_attribute12
4720 ,p_attribute13 => p_attribute13
4721 ,p_attribute14 => p_attribute14
4722 ,p_attribute15 => p_attribute15
4723 ,p_attribute16 => p_attribute16
4724 ,p_attribute17 => p_attribute17
4725 ,p_attribute18 => p_attribute18
4726 ,p_attribute19 => p_attribute19
4727 ,p_attribute20 => p_attribute20
4728 ,p_abs_information_category => p_abs_information_category
4729 ,p_abs_information1 => p_abs_information1
4730 ,p_abs_information2 => p_abs_information2
4731 ,p_abs_information3 => p_abs_information3
4732 ,p_abs_information4 => p_abs_information4
4733 ,p_abs_information5 => p_abs_information5
4734 ,p_abs_information6 => p_abs_information6
4735 ,p_abs_information7 => p_abs_information7
4736 ,p_abs_information8 => p_abs_information8
4737 ,p_abs_information9 => p_abs_information9
4738 ,p_abs_information10 => p_abs_information10
4739 ,p_abs_information11 => p_abs_information11
4740 ,p_abs_information12 => p_abs_information12
4741 ,p_abs_information13 => p_abs_information13
4742 ,p_abs_information14 => p_abs_information14
4743 ,p_abs_information15 => p_abs_information15
4744 ,p_abs_information16 => p_abs_information16
4745 ,p_abs_information17 => p_abs_information17
4746 ,p_abs_information18 => p_abs_information18
4747 ,p_abs_information19 => p_abs_information19
4748 ,p_abs_information20 => p_abs_information20
4749 ,p_abs_information21 => p_abs_information21
4750 ,p_abs_information22 => p_abs_information22
4751 ,p_abs_information23 => p_abs_information23
4752 ,p_abs_information24 => p_abs_information24
4753 ,p_abs_information25 => p_abs_information25
4754 ,p_abs_information26 => p_abs_information26
4755 ,p_abs_information27 => p_abs_information27
4756 ,p_abs_information28 => p_abs_information28
4757 ,p_abs_information29 => p_abs_information29
4758 ,p_abs_information30 => p_abs_information30
4759 ,p_object_version_number => p_object_version_number
4760 );
4761
4762 if l_leave_data_changed = false then
4763 hr_utility.set_location(l_proc||' no data changed:returning', 15);
4764 return;
4765 end if;
4766
4767 --2793140 changes end
4768
4769 l_object_version_number := p_object_version_number; -- WWBUG 2411426
4770 hr_utility.trace(l_proc || ':p_object_version_number =>'|| to_char(l_object_version_number));
4771
4772 --2966372 changes start
4773 l_populate_sickness_dates := is_gb_leg_and_category_s(p_absence_attendance_type_id
4774 , l_absence_rec.business_group_id);
4775
4776 IF l_populate_sickness_dates THEN
4777 l_sickness_start_date := p_date_start;
4778 l_sickness_end_date := p_date_end;
4779 END IF;
4780 --2966372 changes end
4781
4782 --
4783 -- Call API with validate mode
4784 --
4785
4786 if p_save_mode <> 'SaveForLater' then
4787 hr_utility.set_location(l_proc, 20);
4788
4789 l_validate := TRUE;
4790
4791 if p_leave_status = g_confirm then
4792
4793 hr_utility.set_location(l_proc, 30);
4794
4795 hr_person_absence_api.update_person_absence(
4796 p_validate => l_validate
4797 ,p_effective_date => p_effective_date
4798 -- ,p_business_group_id => l_absence_rec.business_group_id
4799 ,p_absence_attendance_id => p_absence_attendance_id
4800 ,p_date_notification => p_date_notification
4801 ,p_date_start => p_date_start
4802 ,p_time_start => p_time_start
4803 ,p_date_end => p_date_end
4804 ,p_time_end => p_time_end
4805 ,p_absence_days => l_absence_days
4806 ,p_absence_hours => l_absence_hours
4807 ,p_replacement_person_id => p_replacement_person_id
4808 ,p_object_version_number => l_object_version_number
4809 ,p_attribute_category => p_attribute_category
4810 ,p_attribute1 => p_attribute1
4811 ,p_attribute2 => p_attribute2
4812 ,p_attribute3 => p_attribute3
4813 ,p_attribute4 => p_attribute4
4814 ,p_attribute5 => p_attribute5
4815 ,p_attribute6 => p_attribute6
4816 ,p_attribute7 => p_attribute7
4817 ,p_attribute8 => p_attribute8
4818 ,p_attribute9 => p_attribute9
4819 ,p_attribute10 => p_attribute10
4820 ,p_attribute11 => p_attribute11
4821 ,p_attribute12 => p_attribute12
4822 ,p_attribute13 => p_attribute13
4823 ,p_attribute14 => p_attribute14
4824 ,p_attribute15 => p_attribute15
4825 ,p_attribute16 => p_attribute16
4826 ,p_attribute17 => p_attribute17
4827 ,p_attribute18 => p_attribute18
4828 ,p_attribute19 => p_attribute19
4829 ,p_attribute20 => p_attribute20
4830 ,p_abs_information_category => p_abs_information_category
4831 ,p_abs_information1 => p_abs_information1
4832 ,p_abs_information2 => p_abs_information2
4833 ,p_abs_information3 => p_abs_information3
4834 ,p_abs_information4 => p_abs_information4
4835 ,p_abs_information5 => p_abs_information5
4836 ,p_abs_information6 => p_abs_information6
4837 ,p_abs_information7 => p_abs_information7
4838 ,p_abs_information8 => p_abs_information8
4839 ,p_abs_information9 => p_abs_information9
4840 ,p_abs_information10 => p_abs_information10
4841 ,p_abs_information11 => p_abs_information11
4842 ,p_abs_information12 => p_abs_information12
4843 ,p_abs_information13 => p_abs_information13
4844 ,p_abs_information14 => p_abs_information14
4845 ,p_abs_information15 => p_abs_information15
4846 ,p_abs_information16 => p_abs_information16
4847 ,p_abs_information17 => p_abs_information17
4848 ,p_abs_information18 => p_abs_information18
4849 ,p_abs_information19 => p_abs_information19
4850 ,p_abs_information20 => p_abs_information20
4851 ,p_abs_information21 => p_abs_information21
4852 ,p_abs_information22 => p_abs_information22
4853 ,p_abs_information23 => p_abs_information23
4854 ,p_abs_information24 => p_abs_information24
4855 ,p_abs_information25 => p_abs_information25
4856 ,p_abs_information26 => p_abs_information26
4857 ,p_abs_information27 => p_abs_information27
4858 ,p_abs_information28 => p_abs_information28
4859 ,p_abs_information29 => p_abs_information29
4860 ,p_abs_information30 => p_abs_information30
4861 ,p_sickness_start_date => l_sickness_start_date --2966372
4862 ,p_sickness_end_date => l_sickness_end_date --2966372
4863 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
4864 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
4865 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
4866 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
4867 ,p_abs_overlap_warning => lb_abs_overlap_warning
4868 ,p_abs_day_after_warning => lb_abs_day_after_warning
4869 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
4870 ,p_del_element_entry_warning => lb_del_element_entry_warning
4871 );
4872 else
4873 -- Update absence
4874 hr_utility.set_location(l_proc, 40);
4875
4876 hr_person_absence_api.update_person_absence(
4877 p_validate => l_validate
4878 ,p_effective_date => p_effective_date
4879 -- ,p_business_group_id => l_absence_rec.business_group_id
4880 ,p_absence_attendance_id => p_absence_attendance_id
4881 ,p_date_notification => p_date_notification
4882 ,p_date_projected_start => p_date_projected_start --WWBUG 2413294
4883 ,p_time_projected_start => p_time_projected_start --WWBUG 2413294
4884 ,p_date_projected_end => p_date_projected_end --WWBUG 2413294
4885 ,p_time_projected_end => p_time_projected_end --WWBUG 2413294
4886 ,p_date_start => null
4887 ,p_time_start => null
4888 ,p_date_end => null
4889 ,p_time_end => null
4890 ,p_absence_days => l_absence_days
4891 ,p_absence_hours => l_absence_hours
4892 ,p_replacement_person_id => p_replacement_person_id
4893 ,p_object_version_number => l_object_version_number
4894 ,p_attribute_category => p_attribute_category
4895 ,p_attribute1 => p_attribute1
4896 ,p_attribute2 => p_attribute2
4897 ,p_attribute3 => p_attribute3
4898 ,p_attribute4 => p_attribute4
4899 ,p_attribute5 => p_attribute5
4900 ,p_attribute6 => p_attribute6
4901 ,p_attribute7 => p_attribute7
4902 ,p_attribute8 => p_attribute8
4903 ,p_attribute9 => p_attribute9
4904 ,p_attribute10 => p_attribute10
4905 ,p_attribute11 => p_attribute11
4906 ,p_attribute12 => p_attribute12
4907 ,p_attribute13 => p_attribute13
4908 ,p_attribute14 => p_attribute14
4909 ,p_attribute15 => p_attribute15
4910 ,p_attribute16 => p_attribute16
4911 ,p_attribute17 => p_attribute17
4912 ,p_attribute18 => p_attribute18
4913 ,p_attribute19 => p_attribute19
4914 ,p_attribute20 => p_attribute20
4915 ,p_abs_information_category => p_abs_information_category
4916 ,p_abs_information1 => p_abs_information1
4917 ,p_abs_information2 => p_abs_information2
4918 ,p_abs_information3 => p_abs_information3
4919 ,p_abs_information4 => p_abs_information4
4920 ,p_abs_information5 => p_abs_information5
4921 ,p_abs_information6 => p_abs_information6
4922 ,p_abs_information7 => p_abs_information7
4923 ,p_abs_information8 => p_abs_information8
4924 ,p_abs_information9 => p_abs_information9
4925 ,p_abs_information10 => p_abs_information10
4926 ,p_abs_information11 => p_abs_information11
4927 ,p_abs_information12 => p_abs_information12
4928 ,p_abs_information13 => p_abs_information13
4929 ,p_abs_information14 => p_abs_information14
4930 ,p_abs_information15 => p_abs_information15
4931 ,p_abs_information16 => p_abs_information16
4932 ,p_abs_information17 => p_abs_information17
4933 ,p_abs_information18 => p_abs_information18
4934 ,p_abs_information19 => p_abs_information19
4935 ,p_abs_information20 => p_abs_information20
4936 ,p_abs_information21 => p_abs_information21
4937 ,p_abs_information22 => p_abs_information22
4938 ,p_abs_information23 => p_abs_information23
4939 ,p_abs_information24 => p_abs_information24
4940 ,p_abs_information25 => p_abs_information25
4941 ,p_abs_information26 => p_abs_information26
4942 ,p_abs_information27 => p_abs_information27
4943 ,p_abs_information28 => p_abs_information28
4944 ,p_abs_information29 => p_abs_information29
4945 ,p_abs_information30 => p_abs_information30
4946 ,p_sickness_start_date => l_sickness_start_date --2966372
4947 ,p_sickness_end_date => l_sickness_end_date --2966372
4948 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
4949 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
4950 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
4951 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
4952 ,p_abs_overlap_warning => lb_abs_overlap_warning
4953 ,p_abs_day_after_warning => lb_abs_day_after_warning
4954 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
4955 ,p_del_element_entry_warning => lb_del_element_entry_warning
4956 );
4957 end if;
4958
4959 p_abs_day_after_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_day_after_warning);
4960 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
4961
4962 -- When validate mode is 'TRUE', API always returns null for p_object_version_number
4963 -- p_object_version_number := l_object_version_number; -- WWBUG 2411426
4964
4965 hr_utility.trace(l_proc || ':p_object_version_number =>'|| to_char(l_object_version_number));
4966
4967 p_dur_dys_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_dys_less_warning);
4968 p_dur_hrs_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_hrs_less_warning);
4969 p_exceeds_pto_entit_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_pto_entit_warning);
4970 p_exceeds_run_total_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_run_total_warning);
4971 p_dur_overwritten_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_overwritten_warning);
4972
4973 --2713296 change starts
4974 if (lb_abs_day_after_warning OR
4975 lb_abs_overlap_warning OR
4976 lb_exceeds_pto_entit_warning OR --2848345
4977 lb_dur_dys_less_warning OR --2765646
4978 lb_dur_hrs_less_warning OR --2765646
4979 lb_exceeds_run_total_warning) AND --2797220
4980 p_return_on_warning = 'true' then
4981 hr_utility.set_location(l_proc, 50);
4982 return;
4983 else -- BUG 2415512
4984 lb_abs_overlap_warning := chk_overlap(p_person_id,l_absence_rec.business_group_id,p_date_start,p_date_end,p_time_start,p_time_end);
4985
4986
4987 if lb_abs_overlap_warning AND p_return_on_warning = 'true' then
4988 hr_utility.set_location(l_proc, 55);
4989 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
4990 return;
4991 end if;
4992 --2713296 change ends
4993 end if;
4994 hr_utility.set_location(l_proc, 60);
4995
4996 end if; -- Support of Save Of Later
4997
4998 --
4999 -- Create transaction
5000 --
5001 create_transaction(
5002 p_item_type => p_item_type
5003 ,p_item_key => p_item_key
5004 ,p_act_id => p_act_id
5005 ,p_activity_name => p_update_return
5006 ,p_transaction_id => l_transaction_id
5007 ,p_transaction_step_id => l_transaction_step_id
5008 ,p_login_person_id => p_login_person_id
5009 ,p_review_proc_call => p_review_proc_call
5010 );
5011
5012 p_transaction_step_id := l_transaction_step_id;
5013 hr_utility.set_location(l_proc, 70);
5014 hr_utility.trace(l_proc || ':transaction_step_id =>'|| to_char(l_transaction_step_id));
5015
5016 --
5017 -- Write Transaction
5018 --
5019
5020 l_creator_person_id := p_login_person_id;
5021
5022 l_validate := FALSE;
5023
5024 hr_transaction_api.set_boolean_value (
5025 p_transaction_step_id =>l_transaction_step_id,
5026 p_person_id => l_creator_person_id ,
5027 p_name => 'p_validate' ,
5028 p_value =>l_validate ) ;
5029
5030 hr_transaction_api.set_date_value (
5031 p_transaction_step_id =>l_transaction_step_id,
5032 p_person_id => l_creator_person_id ,
5033 p_name => 'p_effective_date' ,
5034 p_value =>p_effective_date ) ;
5035
5036 hr_transaction_api.set_date_value (
5037 p_transaction_step_id =>l_transaction_step_id,
5038 p_person_id => l_creator_person_id ,
5039 p_name => 'p_date_notification' ,
5040 p_value =>p_date_notification) ;
5041
5042 hr_transaction_api.set_number_value (
5043 p_transaction_step_id =>l_transaction_step_id,
5044 p_person_id => l_creator_person_id ,
5045 p_name => 'p_business_group_id' ,
5046 p_value =>l_absence_rec.business_group_id ) ;
5047
5048 hr_transaction_api.set_number_value (
5049 p_transaction_step_id =>l_transaction_step_id,
5050 p_person_id => l_creator_person_id ,
5051 p_name => 'p_object_version_number' ,
5052 p_value => p_object_version_number ) ;
5053
5054 hr_transaction_api.set_number_value (
5055 p_transaction_step_id =>l_transaction_step_id,
5056 p_person_id => l_creator_person_id ,
5057 p_name => 'p_absence_attendance_id' ,
5058 p_value =>p_absence_attendance_id ) ;
5059
5060 --if p_leave_status = g_confirm then
5061 hr_transaction_api.set_date_value (
5062 p_transaction_step_id =>l_transaction_step_id,
5063 p_person_id => l_creator_person_id ,
5064 p_name => 'p_date_start' ,
5065 p_value =>p_date_start) ;
5066
5067 hr_transaction_api.set_varchar2_value (
5068 p_transaction_step_id =>l_transaction_step_id,
5069 p_person_id => l_creator_person_id ,
5070 p_name => 'p_time_start' ,
5071 p_value =>p_time_start ) ;
5072
5073 hr_transaction_api.set_date_value (
5074 p_transaction_step_id =>l_transaction_step_id,
5075 p_person_id => l_creator_person_id ,
5076 p_name => 'p_date_end' ,
5077 p_value =>p_date_end) ;
5078
5079 hr_transaction_api.set_varchar2_value (
5080 p_transaction_step_id =>l_transaction_step_id,
5081 p_person_id => l_creator_person_id ,
5082 p_name => 'p_time_end' ,
5083 p_value =>p_time_end ) ;
5084
5085 --end if;
5086
5087 hr_transaction_api.set_date_value (
5088 p_transaction_step_id =>l_transaction_step_id,
5089 p_person_id => l_creator_person_id ,
5090 p_name => 'p_date_projected_start' ,
5091 p_value =>p_date_projected_start) ;
5092
5093 hr_transaction_api.set_varchar2_value (
5094 p_transaction_step_id =>l_transaction_step_id,
5095 p_person_id => l_creator_person_id ,
5096 p_name => 'p_time_projected_start' ,
5097 p_value =>p_time_projected_start ) ;
5098
5099 hr_transaction_api.set_date_value (
5100 p_transaction_step_id =>l_transaction_step_id,
5101 p_person_id => l_creator_person_id ,
5102 p_name => 'p_date_projected_end' ,
5103 p_value =>p_date_projected_end) ;
5104
5105 hr_transaction_api.set_varchar2_value (
5106 p_transaction_step_id =>l_transaction_step_id,
5107 p_person_id => l_creator_person_id ,
5108 p_name => 'p_time_projected_end' ,
5109 p_value =>p_time_projected_end ) ;
5110
5111
5112
5113 hr_utility.set_location(l_proc, 90);
5114
5115 hr_transaction_api.set_number_value (
5116 p_transaction_step_id =>l_transaction_step_id,
5117 p_person_id => l_creator_person_id ,
5118 p_name => 'p_absence_days' ,
5119 p_value =>l_absence_days ) ;
5120
5121 hr_transaction_api.set_number_value (
5122 p_transaction_step_id =>l_transaction_step_id,
5123 p_person_id => l_creator_person_id ,
5124 p_name => 'p_absence_hours' ,
5125 p_value =>l_absence_hours ) ;
5126
5127 hr_transaction_api.set_number_value (
5128 p_transaction_step_id =>l_transaction_step_id,
5129 p_person_id => l_creator_person_id ,
5130 p_name => 'p_replacement_person_id' ,
5131 p_value =>p_replacement_person_id ) ;
5132
5133 hr_transaction_api.set_varchar2_value (
5134 p_transaction_step_id =>l_transaction_step_id,
5135 p_person_id => l_creator_person_id ,
5136 p_name => 'p_attribute_category' ,
5137 p_value =>p_attribute_category ) ;
5138
5139 hr_transaction_api.set_varchar2_value (
5140 p_transaction_step_id =>l_transaction_step_id,
5141 p_person_id => l_creator_person_id ,
5142 p_name => 'p_attribute1' ,
5143 p_value =>p_attribute1 ) ;
5144
5145 hr_transaction_api.set_varchar2_value (
5146 p_transaction_step_id =>l_transaction_step_id,
5147 p_person_id => l_creator_person_id ,
5148 p_name => 'p_attribute2' ,
5149 p_value =>p_attribute2 ) ;
5150
5151 hr_transaction_api.set_varchar2_value (
5152 p_transaction_step_id =>l_transaction_step_id,
5153 p_person_id => l_creator_person_id ,
5154 p_name => 'p_attribute3' ,
5155 p_value =>p_attribute3 ) ;
5156
5157 hr_transaction_api.set_varchar2_value (
5158 p_transaction_step_id =>l_transaction_step_id,
5159 p_person_id => l_creator_person_id ,
5160 p_name => 'p_attribute4' ,
5161 p_value =>p_attribute4 ) ;
5162
5163 hr_transaction_api.set_varchar2_value (
5164 p_transaction_step_id =>l_transaction_step_id,
5165 p_person_id => l_creator_person_id ,
5166 p_name => 'p_attribute5' ,
5167 p_value =>p_attribute5 ) ;
5168
5169 hr_transaction_api.set_varchar2_value (
5170 p_transaction_step_id =>l_transaction_step_id,
5171 p_person_id => l_creator_person_id ,
5172 p_name => 'p_attribute6' ,
5173 p_value =>p_attribute6 ) ;
5174
5175 hr_transaction_api.set_varchar2_value (
5176 p_transaction_step_id =>l_transaction_step_id,
5177 p_person_id => l_creator_person_id ,
5178 p_name => 'p_attribute7' ,
5179 p_value =>p_attribute7 ) ;
5180
5181 hr_transaction_api.set_varchar2_value (
5182 p_transaction_step_id =>l_transaction_step_id,
5183 p_person_id => l_creator_person_id ,
5184 p_name => 'p_attribute8' ,
5185 p_value =>p_attribute8 ) ;
5186
5187 hr_transaction_api.set_varchar2_value (
5188 p_transaction_step_id =>l_transaction_step_id,
5189 p_person_id => l_creator_person_id ,
5190 p_name => 'p_attribute9' ,
5191 p_value =>p_attribute9 ) ;
5192
5193 hr_transaction_api.set_varchar2_value (
5194 p_transaction_step_id =>l_transaction_step_id,
5195 p_person_id => l_creator_person_id ,
5196 p_name => 'p_attribute10' ,
5197 p_value =>p_attribute10 ) ;
5198
5199 hr_transaction_api.set_varchar2_value (
5200 p_transaction_step_id =>l_transaction_step_id,
5201 p_person_id => l_creator_person_id ,
5202 p_name => 'p_attribute11' ,
5203 p_value =>p_attribute11 ) ;
5204
5205 hr_transaction_api.set_varchar2_value (
5206 p_transaction_step_id =>l_transaction_step_id,
5207 p_person_id => l_creator_person_id ,
5208 p_name => 'p_attribute12' ,
5209 p_value =>p_attribute12 ) ;
5210
5211 hr_transaction_api.set_varchar2_value (
5212 p_transaction_step_id =>l_transaction_step_id,
5213 p_person_id => l_creator_person_id ,
5214 p_name => 'p_attribute13' ,
5215 p_value =>p_attribute13 ) ;
5216
5217 hr_transaction_api.set_varchar2_value (
5218 p_transaction_step_id =>l_transaction_step_id,
5219 p_person_id => l_creator_person_id ,
5220 p_name => 'p_attribute14' ,
5221 p_value =>p_attribute14 ) ;
5222
5223 hr_transaction_api.set_varchar2_value (
5224 p_transaction_step_id =>l_transaction_step_id,
5225 p_person_id => l_creator_person_id ,
5226 p_name => 'p_attribute15' ,
5227 p_value =>p_attribute15 ) ;
5228
5229 hr_transaction_api.set_varchar2_value (
5230 p_transaction_step_id =>l_transaction_step_id,
5231 p_person_id => l_creator_person_id ,
5232 p_name => 'p_attribute16' ,
5233 p_value =>p_attribute16 ) ;
5234
5235 hr_transaction_api.set_varchar2_value (
5236 p_transaction_step_id =>l_transaction_step_id,
5237 p_person_id => l_creator_person_id ,
5238 p_name => 'p_attribute17' ,
5239 p_value =>p_attribute17 ) ;
5240
5241 hr_transaction_api.set_varchar2_value (
5242 p_transaction_step_id =>l_transaction_step_id,
5243 p_person_id => l_creator_person_id ,
5244 p_name => 'p_attribute18' ,
5245 p_value =>p_attribute18 ) ;
5246
5247 hr_transaction_api.set_varchar2_value (
5248 p_transaction_step_id =>l_transaction_step_id,
5249 p_person_id => l_creator_person_id ,
5250 p_name => 'p_attribute19' ,
5251 p_value =>p_attribute19 ) ;
5252
5253 hr_transaction_api.set_varchar2_value (
5254 p_transaction_step_id =>l_transaction_step_id,
5255 p_person_id => l_creator_person_id ,
5256 p_name => 'p_attribute20' ,
5257 p_value =>p_attribute20 ) ;
5258
5259 hr_transaction_api.set_varchar2_value (
5260 p_transaction_step_id =>l_transaction_step_id,
5261 p_person_id => l_creator_person_id ,
5262 p_name => 'p_abs_information_category' ,
5263 p_value =>p_abs_information_category ) ;
5264
5265 hr_transaction_api.set_varchar2_value (
5266 p_transaction_step_id =>l_transaction_step_id,
5267 p_person_id => l_creator_person_id ,
5268 p_name => 'p_abs_information1' ,
5269 p_value =>p_abs_information1 ) ;
5270
5271 hr_transaction_api.set_varchar2_value (
5272 p_transaction_step_id =>l_transaction_step_id,
5273 p_person_id => l_creator_person_id ,
5274 p_name => 'p_abs_information2' ,
5275 p_value =>p_abs_information2 ) ;
5276
5277 hr_transaction_api.set_varchar2_value (
5278 p_transaction_step_id =>l_transaction_step_id,
5279 p_person_id => l_creator_person_id ,
5280 p_name => 'p_abs_information3' ,
5281 p_value =>p_abs_information3 ) ;
5282
5283 hr_transaction_api.set_varchar2_value (
5284 p_transaction_step_id =>l_transaction_step_id,
5285 p_person_id => l_creator_person_id ,
5286 p_name => 'p_abs_information4' ,
5287 p_value =>p_abs_information4 ) ;
5288
5289 hr_transaction_api.set_varchar2_value (
5290 p_transaction_step_id =>l_transaction_step_id,
5291 p_person_id => l_creator_person_id ,
5292 p_name => 'p_abs_information5' ,
5293 p_value =>p_abs_information5 ) ;
5294
5295 hr_transaction_api.set_varchar2_value (
5296 p_transaction_step_id =>l_transaction_step_id,
5297 p_person_id => l_creator_person_id ,
5298 p_name => 'p_abs_information6' ,
5299 p_value =>p_abs_information6 ) ;
5300
5301 hr_transaction_api.set_varchar2_value (
5302 p_transaction_step_id =>l_transaction_step_id,
5303 p_person_id => l_creator_person_id ,
5304 p_name => 'p_abs_information7' ,
5305 p_value =>p_abs_information7 ) ;
5306
5307 hr_transaction_api.set_varchar2_value (
5308 p_transaction_step_id =>l_transaction_step_id,
5309 p_person_id => l_creator_person_id ,
5310 p_name => 'p_abs_information8' ,
5311 p_value =>p_abs_information8 ) ;
5312
5313 hr_transaction_api.set_varchar2_value (
5314 p_transaction_step_id =>l_transaction_step_id,
5315 p_person_id => l_creator_person_id ,
5316 p_name => 'p_abs_information9' ,
5317 p_value =>p_abs_information9 ) ;
5318
5319 hr_transaction_api.set_varchar2_value (
5320 p_transaction_step_id =>l_transaction_step_id,
5321 p_person_id => l_creator_person_id ,
5322 p_name => 'p_abs_information10' ,
5323 p_value =>p_abs_information10 ) ;
5324
5325 hr_transaction_api.set_varchar2_value (
5326 p_transaction_step_id =>l_transaction_step_id,
5327 p_person_id => l_creator_person_id ,
5328 p_name => 'p_abs_information11' ,
5329 p_value =>p_abs_information11 ) ;
5330
5331 hr_transaction_api.set_varchar2_value (
5332 p_transaction_step_id =>l_transaction_step_id,
5333 p_person_id => l_creator_person_id ,
5334 p_name => 'p_abs_information12' ,
5335 p_value =>p_abs_information12 ) ;
5336
5337 hr_transaction_api.set_varchar2_value (
5338 p_transaction_step_id =>l_transaction_step_id,
5339 p_person_id => l_creator_person_id ,
5340 p_name => 'p_abs_information13' ,
5341 p_value =>p_abs_information13 ) ;
5342
5343 hr_transaction_api.set_varchar2_value (
5344 p_transaction_step_id =>l_transaction_step_id,
5345 p_person_id => l_creator_person_id ,
5346 p_name => 'p_abs_information14' ,
5347 p_value =>p_abs_information14 ) ;
5348
5349 hr_transaction_api.set_varchar2_value (
5350 p_transaction_step_id =>l_transaction_step_id,
5351 p_person_id => l_creator_person_id ,
5352 p_name => 'p_abs_information15' ,
5353 p_value =>p_abs_information15 ) ;
5354
5355 hr_transaction_api.set_varchar2_value (
5356 p_transaction_step_id =>l_transaction_step_id,
5357 p_person_id => l_creator_person_id ,
5358 p_name => 'p_abs_information16' ,
5359 p_value =>p_abs_information16 ) ;
5360
5361 hr_transaction_api.set_varchar2_value (
5362 p_transaction_step_id =>l_transaction_step_id,
5363 p_person_id => l_creator_person_id ,
5364 p_name => 'p_abs_information17' ,
5365 p_value =>p_abs_information17 ) ;
5366
5367 hr_transaction_api.set_varchar2_value (
5368 p_transaction_step_id =>l_transaction_step_id,
5369 p_person_id => l_creator_person_id ,
5370 p_name => 'p_abs_information18' ,
5371 p_value =>p_abs_information18 ) ;
5372
5373 hr_transaction_api.set_varchar2_value (
5374 p_transaction_step_id =>l_transaction_step_id,
5375 p_person_id => l_creator_person_id ,
5376 p_name => 'p_abs_information19' ,
5377 p_value =>p_abs_information19 ) ;
5378
5379 hr_transaction_api.set_varchar2_value (
5380 p_transaction_step_id =>l_transaction_step_id,
5381 p_person_id => l_creator_person_id ,
5382 p_name => 'p_abs_information20' ,
5383 p_value =>p_abs_information20 ) ;
5384
5385 hr_transaction_api.set_varchar2_value (
5386 p_transaction_step_id =>l_transaction_step_id,
5387 p_person_id => l_creator_person_id ,
5388 p_name => 'p_abs_information21' ,
5389 p_value =>p_abs_information21 ) ;
5390
5391 hr_transaction_api.set_varchar2_value (
5392 p_transaction_step_id =>l_transaction_step_id,
5393 p_person_id => l_creator_person_id ,
5394 p_name => 'p_abs_information22' ,
5395 p_value =>p_abs_information22 ) ;
5396
5397 hr_transaction_api.set_varchar2_value (
5398 p_transaction_step_id =>l_transaction_step_id,
5399 p_person_id => l_creator_person_id ,
5400 p_name => 'p_abs_information23' ,
5401 p_value =>p_abs_information23 ) ;
5402
5403 hr_transaction_api.set_varchar2_value (
5404 p_transaction_step_id =>l_transaction_step_id,
5405 p_person_id => l_creator_person_id ,
5406 p_name => 'p_abs_information24' ,
5407 p_value =>p_abs_information24 ) ;
5408
5409 hr_transaction_api.set_varchar2_value (
5410 p_transaction_step_id =>l_transaction_step_id,
5411 p_person_id => l_creator_person_id ,
5412 p_name => 'p_abs_information25' ,
5413 p_value =>p_abs_information25 ) ;
5414
5415 hr_transaction_api.set_varchar2_value (
5416 p_transaction_step_id =>l_transaction_step_id,
5417 p_person_id => l_creator_person_id ,
5418 p_name => 'p_abs_information26' ,
5419 p_value =>p_abs_information26 ) ;
5420
5421 hr_transaction_api.set_varchar2_value (
5422 p_transaction_step_id =>l_transaction_step_id,
5423 p_person_id => l_creator_person_id ,
5424 p_name => 'p_abs_information27' ,
5425 p_value =>p_abs_information27 ) ;
5426
5427 hr_transaction_api.set_varchar2_value (
5428 p_transaction_step_id =>l_transaction_step_id,
5429 p_person_id => l_creator_person_id ,
5430 p_name => 'p_abs_information28' ,
5431 p_value =>p_abs_information28 ) ;
5432
5433 hr_transaction_api.set_varchar2_value (
5434 p_transaction_step_id =>l_transaction_step_id,
5435 p_person_id => l_creator_person_id ,
5436 p_name => 'p_abs_information29' ,
5437 p_value =>p_abs_information29 ) ;
5438
5439 hr_transaction_api.set_varchar2_value (
5440 p_transaction_step_id =>l_transaction_step_id,
5441 p_person_id => l_creator_person_id ,
5442 p_name => 'p_abs_information30' ,
5443 p_value =>p_abs_information30 ) ;
5444
5445 hr_transaction_api.set_varchar2_value (
5446 p_transaction_step_id =>l_transaction_step_id,
5447 p_person_id => l_creator_person_id ,
5448 p_name => 'p_leave_status' ,
5449 p_value =>p_leave_status ) ;
5450
5451 hr_transaction_api.set_varchar2_value (
5452 p_transaction_step_id =>l_transaction_step_id,
5453 p_person_id => l_creator_person_id ,
5454 p_name => 'p_comments' ,
5455 p_value =>p_comments ) ;
5456
5457 hr_transaction_api.set_varchar2_value (
5458 p_transaction_step_id =>l_transaction_step_id,
5459 p_person_id => l_creator_person_id ,
5460 p_name => 'p_save_mode' ,
5461 p_value =>p_save_mode ) ;
5462
5463 hr_transaction_api.set_number_value (
5464 p_transaction_step_id =>l_transaction_step_id,
5465 p_person_id => l_creator_person_id ,
5466 p_name => 'p_person_id' ,
5467 p_value =>p_person_id ) ;
5468
5469 hr_transaction_api.set_number_value (
5470 p_transaction_step_id =>l_transaction_step_id,
5471 p_person_id => l_creator_person_id ,
5472 p_name => 'p_absence_attendance_type_id' ,
5473 p_value =>p_absence_attendance_type_id ) ;
5474
5475 hr_transaction_api.set_number_value (
5476 p_transaction_step_id =>l_transaction_step_id,
5477 p_person_id => l_creator_person_id ,
5478 p_name => 'p_abs_attendance_reason_id' ,
5479 p_value =>p_abs_attendance_reason_id ) ;
5480
5481
5482 close csr_abs_attendances;
5483
5484 hr_utility.set_location(l_proc, 100);
5485
5486 p_absence_days := l_absence_days;
5487 p_absence_hours := l_absence_hours;
5488 --
5489 --
5490 -- hr_utility.set_location(' Leaving:' || l_proc,105);
5491
5492 EXCEPTION
5493 WHEN hr_utility.hr_error then
5494 hr_message.provide_error;
5495 p_page_error := hr_message.last_message_app;
5496 p_page_error_msg := hr_message.get_message_text;
5497 p_page_error_num := hr_message.last_message_number;
5498 hr_utility.set_location(' Leaving:' || l_proc,555);
5499
5500 WHEN g_data_error THEN
5501 hr_utility.trace( 'g_data_error in .process_update_save: ' || SQLERRM );
5502 hr_utility.set_location(' Leaving:' || l_proc,560);
5503
5504 raise ;
5505 WHEN OTHERS THEN
5506 close csr_abs_attendances;
5507 hr_utility.trace( 'when others in .process_update_save: ' || SQLERRM );
5508 hr_utility.set_location(' Leaving:' || l_proc,565);
5509
5510 raise ;
5511
5512 END process_update_save;
5513
5514 /*
5515 ||===========================================================================
5516 || PROCEDURE: process_update_txn_save
5517 ||---------------------------------------------------------------------------
5518 ||
5519 || Description:
5520 || This procedure will call actual API with validate mode
5521 || if there are no error, save date into transaction table
5522 || when updating transaction table for update absence
5523 ||
5524 || Access Status:
5525 || Public.
5526 ||
5527 ||===========================================================================
5528 */
5529 procedure process_update_txn_save(
5530 p_transaction_step_id in number
5531 ,p_login_person_id in number
5532 ,p_effective_date in date
5533 --2713296 changes start
5534 ,p_person_id in number
5535 ,p_business_group_id in number
5536 ,p_absence_attendance_id in per_absence_attendances.absence_attendance_id%type
5537 ,p_object_version_number in number
5538 ,p_save_mode in varchar2 default null
5539 --2713296 changes end
5540 ,p_absence_attendance_type_id in number --2966372
5541 ,p_date_notification in date
5542 ,p_date_start in date default null
5543 ,p_time_start in varchar2 default null
5544 ,p_date_end in date default null
5545 ,p_time_end in varchar2 default null
5546 ,p_attribute_category in varchar2 default null
5547 ,p_attribute1 in varchar2 default null
5548 ,p_attribute2 in varchar2 default null
5549 ,p_attribute3 in varchar2 default null
5550 ,p_attribute4 in varchar2 default null
5551 ,p_attribute5 in varchar2 default null
5552 ,p_attribute6 in varchar2 default null
5553 ,p_attribute7 in varchar2 default null
5554 ,p_attribute8 in varchar2 default null
5555 ,p_attribute9 in varchar2 default null
5556 ,p_attribute10 in varchar2 default null
5557 ,p_attribute11 in varchar2 default null
5558 ,p_attribute12 in varchar2 default null
5559 ,p_attribute13 in varchar2 default null
5560 ,p_attribute14 in varchar2 default null
5561 ,p_attribute15 in varchar2 default null
5562 ,p_attribute16 in varchar2 default null
5563 ,p_attribute17 in varchar2 default null
5564 ,p_attribute18 in varchar2 default null
5565 ,p_attribute19 in varchar2 default null
5566 ,p_attribute20 in varchar2 default null
5567 ,p_abs_information_category in varchar2 default null
5568 ,p_abs_information1 in varchar2 default null
5569 ,p_abs_information2 in varchar2 default null
5570 ,p_abs_information3 in varchar2 default null
5571 ,p_abs_information4 in varchar2 default null
5572 ,p_abs_information5 in varchar2 default null
5573 ,p_abs_information6 in varchar2 default null
5574 ,p_abs_information7 in varchar2 default null
5575 ,p_abs_information8 in varchar2 default null
5576 ,p_abs_information9 in varchar2 default null
5577 ,p_abs_information10 in varchar2 default null
5578 ,p_abs_information11 in varchar2 default null
5579 ,p_abs_information12 in varchar2 default null
5580 ,p_abs_information13 in varchar2 default null
5581 ,p_abs_information14 in varchar2 default null
5582 ,p_abs_information15 in varchar2 default null
5583 ,p_abs_information16 in varchar2 default null
5584 ,p_abs_information17 in varchar2 default null
5585 ,p_abs_information18 in varchar2 default null
5586 ,p_abs_information19 in varchar2 default null
5587 ,p_abs_information20 in varchar2 default null
5588 ,p_abs_information21 in varchar2 default null
5589 ,p_abs_information22 in varchar2 default null
5590 ,p_abs_information23 in varchar2 default null
5591 ,p_abs_information24 in varchar2 default null
5592 ,p_abs_information25 in varchar2 default null
5593 ,p_abs_information26 in varchar2 default null
5594 ,p_abs_information27 in varchar2 default null
5595 ,p_abs_information28 in varchar2 default null
5596 ,p_abs_information29 in varchar2 default null
5597 ,p_abs_information30 in varchar2 default null
5598 ,p_leave_status in varchar2 default null
5599 ,p_comments in varchar2 default null
5600 ,p_absence_days in out nocopy number
5601 ,p_absence_hours in out nocopy number
5602 ,p_replacement_person_id in number default null
5603 ,p_date_projected_start in date default null
5604 ,p_time_projected_start in varchar2 default null
5605 ,p_date_projected_end in date default null
5606 ,p_time_projected_end in varchar2 default null
5607 --2713296 changes start
5608 ,p_return_on_warning in varchar2 default null
5609 ,p_dur_dys_less_warning out nocopy number
5610 ,p_dur_hrs_less_warning out nocopy number
5611 ,p_exceeds_pto_entit_warning out nocopy number
5612 ,p_exceeds_run_total_warning out nocopy number
5613 ,p_abs_overlap_warning out nocopy number
5614 ,p_abs_day_after_warning out nocopy number
5615 ,p_dur_overwritten_warning out nocopy number
5616 ,p_page_error out nocopy varchar2
5617 ,p_page_error_msg out nocopy varchar2
5618 ,p_page_error_num out nocopy varchar2
5619 --2713296 changes end
5620 ) IS
5621
5622 l_proc varchar2(72) := g_package||'process_updae_txn_save';
5623 l_creator_person_id per_all_people_f.person_id%TYPE;
5624 l_absence_rec per_absence_attendances%rowtype;
5625 l_absence_days per_absence_attendances.absence_days%TYPE;
5626 l_absence_hours per_absence_attendances.absence_hours%TYPE;
5627 l_validate boolean ;
5628 l_transaction_id number;
5629 l_transaction_step_id number;
5630 l_login_person_id number;
5631
5632 --2713296 changes start
5633 l_object_version_number number;
5634 l_authorising_person_id number;
5635 l_replacement_person_id number;
5636 lb_abs_day_after_warning BOOLEAN;
5637 lb_abs_overlap_warning BOOLEAN;
5638 lb_dur_dys_less_warning BOOLEAN;
5639 lb_dur_hrs_less_warning BOOLEAN;
5640 lb_exceeds_pto_entit_warning BOOLEAN;
5641 lb_exceeds_run_total_warning BOOLEAN;
5642 lb_dur_overwritten_warning BOOLEAN;
5643 lb_del_element_entry_warning BOOLEAN;
5644
5645 --2966372 changes start
5646 l_populate_sickness_dates boolean := false;
5647 l_sickness_start_date date := null;
5648 l_sickness_end_date date := null;
5649 --2966372 changes end
5650
5651 -- Do not consider current transaction records while checking for overlap
5652 -- Absence timings are to be considered for checking overlap.
5653
5654 l_exists varchar2(1) ;
5655
5656 CURSOR c_abs_overlap(p_person_id IN NUMBER
5657 ,p_business_group_id IN NUMBER
5658 ,p_date_start IN DATE
5659 ,p_date_end IN DATE
5660 ,p_transaction_step_id IN varchar2
5661 ,p_time_start IN VARCHAR2
5662 ,p_time_end IN VARCHAR2
5663 ) IS
5664
5665 SELECT null
5666 FROM hr_api_transaction_values tv
5667 ,hr_api_transaction_steps ts
5668 ,hr_api_transaction_values tv1
5669 ,hr_api_transaction_values tv2
5670 ,hr_api_transaction_values tv3
5671 ,hr_api_transaction_values tv4
5672 ,hr_api_transaction_values tv5
5673 ,hr_api_transaction_values tv6
5674 ,hr_api_transactions hat -- Fix 3191531
5675 WHERE
5676 ts.api_name = 'HR_LOA_SS.PROCESS_API'
5677 and ts.UPDATE_PERSON_ID = p_person_id
5678 and p_date_start IS NOT NULL
5679 and p_date_end IS NOT NULL
5680 and ts.transaction_step_id = tv.transaction_step_id
5681 and tv.name = 'P_PERSON_ID'
5682 and tv.number_value = p_person_id
5683 and ts.transaction_step_id = tv1.transaction_step_id
5684 and tv1.name = 'P_BUSINESS_GROUP_ID'
5685 and tv1.number_value = p_business_group_id
5686 and ts.transaction_step_id = tv2.transaction_step_id
5687 and ts.transaction_id=hat.transaction_id
5688 and hat.status in ('Y','C') -- Fix 3191531 and 3205669
5689 and ts.transaction_step_id = tv3.transaction_step_id
5690 and tv3.name = 'P_DATE_START'
5691 and ts.transaction_step_id = tv4.transaction_step_id
5692 and tv4.name = 'P_DATE_END'
5693 and ts.transaction_step_id = tv5.transaction_step_id
5694 and ts.transaction_step_id = tv6.transaction_step_id
5695 and tv5.name = 'P_TIME_START'
5696 and tv5.name = 'P_TIME_END'
5697 and tv3.date_value is NOT NULL
5698 and tv4.date_value is NOT NULL
5699 and (
5700 (
5701 to_date( to_char(nvl(tv3.date_value,hr_api.g_eot), g_usr_date_fmt) ||' ' || nvl(tv5.varchar2_value,'00:00'),g_usr_day_time_fmt)
5702 BETWEEN to_date (to_char(p_date_start, g_usr_date_fmt)||' ' || nvl(p_time_start,'00:00'),g_usr_day_time_fmt)
5703 AND to_date(to_char(p_date_end, g_usr_date_fmt) || ' '|| nvl(p_time_end,'00:00') , g_usr_day_time_fmt)
5704 )
5705 or
5706 (
5707 to_date (to_char(p_date_start, g_usr_date_fmt) ||' ' || nvl(p_time_start,'00:00'),g_usr_day_time_fmt)
5708 BETWEEN
5709 to_date( to_char(nvl(tv3.date_value,hr_api.g_eot), g_usr_date_fmt) ||' ' || nvl(tv5.varchar2_value,'00:00'),g_usr_day_time_fmt)
5710 AND
5711 to_date( to_char(nvl(tv4.date_value,hr_api.g_eot), g_usr_date_fmt) ||' ' || nvl(tv6.varchar2_value,'00:00'),g_usr_day_time_fmt)
5712 )
5713
5714 )
5715 and ts.transaction_step_id <>p_transaction_step_id ;
5716
5717 --2713296 changes end
5718
5719
5720
5721
5722 BEGIN
5723
5724 --
5725 -- Update Transaction Table
5726 --
5727 hr_utility.set_location(' Entering:' || l_proc,5);
5728
5729 l_creator_person_id := p_login_person_id;
5730 l_transaction_step_id := p_transaction_step_id;
5731
5732 --2713296 changes start
5733 l_object_version_number := p_object_version_number;
5734 l_validate := TRUE;
5735 --2713296 changes end
5736
5737 if p_absence_days = -1 then
5738 l_absence_days := null;
5739 else
5740 l_absence_days := p_absence_days;
5741 end if;
5742 if p_absence_hours = -1 then
5743 l_absence_hours := null;
5744 else
5745 l_absence_hours := p_absence_hours;
5746 end if;
5747
5748 --2966372 changes start
5749 l_populate_sickness_dates := is_gb_leg_and_category_s(p_absence_attendance_type_id , p_business_group_id);
5750
5751 IF l_populate_sickness_dates THEN
5752 l_sickness_start_date := p_date_start;
5753 l_sickness_end_date := p_date_end;
5754 END IF;
5755 --2966372 changes end
5756
5757 --2713296 changes start
5758 --
5759 -- Support Save For Later
5760 --
5761 -- p_absence_attendance_id and p_object_version_number will be 0
5762 -- when transaction corresponds to Return for correction.
5763 if p_save_mode <> 'SaveForLater'
5764 and p_absence_attendance_id <> 0 --2824349
5765 then
5766
5767 hr_utility.set_location(l_proc, 20);
5768 hr_person_absence_api.update_person_absence(
5769 p_validate => l_validate
5770 ,p_effective_date => p_effective_date
5771 -- ,p_business_group_id => l_absence_rec.business_group_id
5772 ,p_absence_attendance_id => p_absence_attendance_id
5773 ,p_date_notification => p_date_notification
5774 ,p_date_start => p_date_start
5775 ,p_time_start => p_time_start
5776 ,p_date_end => p_date_end
5777 ,p_time_end => p_time_end
5778 ,p_absence_days => l_absence_days
5779 ,p_absence_hours => l_absence_hours
5780 ,p_replacement_person_id => p_replacement_person_id
5781 ,p_object_version_number => l_object_version_number
5782 ,p_attribute_category => p_attribute_category
5783 ,p_attribute1 => p_attribute1
5784 ,p_attribute2 => p_attribute2
5785 ,p_attribute3 => p_attribute3
5786 ,p_attribute4 => p_attribute4
5787 ,p_attribute5 => p_attribute5
5788 ,p_attribute6 => p_attribute6
5789 ,p_attribute7 => p_attribute7
5790 ,p_attribute8 => p_attribute8
5791 ,p_attribute9 => p_attribute9
5792 ,p_attribute10 => p_attribute10
5793 ,p_attribute11 => p_attribute11
5794 ,p_attribute12 => p_attribute12
5795 ,p_attribute13 => p_attribute13
5796 ,p_attribute14 => p_attribute14
5797 ,p_attribute15 => p_attribute15
5798 ,p_attribute16 => p_attribute16
5799 ,p_attribute17 => p_attribute17
5800 ,p_attribute18 => p_attribute18
5801 ,p_attribute19 => p_attribute19
5802 ,p_attribute20 => p_attribute20
5803 ,p_abs_information_category => p_abs_information_category
5804 ,p_abs_information1 => p_abs_information1
5805 ,p_abs_information2 => p_abs_information2
5806 ,p_abs_information3 => p_abs_information3
5807 ,p_abs_information4 => p_abs_information4
5808 ,p_abs_information5 => p_abs_information5
5809 ,p_abs_information6 => p_abs_information6
5810 ,p_abs_information7 => p_abs_information7
5811 ,p_abs_information8 => p_abs_information8
5812 ,p_abs_information9 => p_abs_information9
5813 ,p_abs_information10 => p_abs_information10
5814 ,p_abs_information11 => p_abs_information11
5815 ,p_abs_information12 => p_abs_information12
5816 ,p_abs_information13 => p_abs_information13
5817 ,p_abs_information14 => p_abs_information14
5818 ,p_abs_information15 => p_abs_information15
5819 ,p_abs_information16 => p_abs_information16
5820 ,p_abs_information17 => p_abs_information17
5821 ,p_abs_information18 => p_abs_information18
5822 ,p_abs_information19 => p_abs_information19
5823 ,p_abs_information20 => p_abs_information20
5824 ,p_abs_information21 => p_abs_information21
5825 ,p_abs_information22 => p_abs_information22
5826 ,p_abs_information23 => p_abs_information23
5827 ,p_abs_information24 => p_abs_information24
5828 ,p_abs_information25 => p_abs_information25
5829 ,p_abs_information26 => p_abs_information26
5830 ,p_abs_information27 => p_abs_information27
5831 ,p_abs_information28 => p_abs_information28
5832 ,p_abs_information29 => p_abs_information29
5833 ,p_abs_information30 => p_abs_information30
5834 ,p_sickness_start_date => l_sickness_start_date --2966372
5835 ,p_sickness_end_date => l_sickness_end_date --2966372
5836 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
5837 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
5838 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
5839 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
5840 ,p_abs_overlap_warning => lb_abs_overlap_warning
5841 ,p_abs_day_after_warning => lb_abs_day_after_warning
5842 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
5843 ,p_del_element_entry_warning => lb_del_element_entry_warning
5844 );
5845
5846 p_abs_day_after_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_day_after_warning);
5847 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
5848 p_dur_dys_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_dys_less_warning);
5849 p_dur_hrs_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_hrs_less_warning);
5850 p_exceeds_pto_entit_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_pto_entit_warning);
5851 p_exceeds_run_total_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_run_total_warning);
5852 p_dur_overwritten_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_overwritten_warning);
5853
5854 if (lb_abs_day_after_warning OR
5855 lb_abs_overlap_warning OR
5856 lb_exceeds_pto_entit_warning OR --2848345
5857 lb_dur_dys_less_warning OR --2765646
5858 lb_dur_hrs_less_warning OR --2765646
5859 lb_exceeds_run_total_warning) AND --2797220
5860 p_return_on_warning = 'true' then --2713296
5861 hr_utility.set_location(l_proc, 30);
5862 return;
5863 else
5864 -- Replaced call to chk_overlap function because we should check for overlapping
5865 -- in all but current transaction step id records of hr_api_transaction_values.
5866
5867 -- Need to check for null otherwise, we may get invalid month error
5868 IF p_date_start IS NOT NULL AND p_date_end IS NOT NULL AND
5869 p_time_start IS NOT NULL and p_time_end IS NOT NULL AND p_transaction_step_id IS NOT NULL
5870 THEN
5871
5872 open c_abs_overlap(p_person_id,p_business_group_id,p_date_start,p_date_end,p_transaction_step_id,p_time_start,p_time_end);
5873
5874 fetch c_abs_overlap into l_exists;
5875
5876 if c_abs_overlap%found then
5877
5878 lb_abs_overlap_warning := TRUE;
5879 else
5880 lb_abs_overlap_warning := FALSE;
5881 end if;
5882
5883 END IF; --Dates Not Null
5884
5885 if lb_abs_overlap_warning and p_return_on_warning = 'true' then --2713296
5886 hr_utility.set_location(l_proc, 40);
5887 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
5888 return;
5889 end if;
5890
5891 end if; --WARNING CHECK
5892
5893 end if; -- Support Save For Later
5894
5895 --2713296 changes end
5896
5897 --
5898 -- Update Transaction
5899 --
5900
5901
5902 hr_transaction_api.set_date_value (
5903 p_transaction_step_id =>l_transaction_step_id,
5904 p_person_id => l_creator_person_id ,
5905 p_name => 'p_effective_date' ,
5906 p_value =>p_effective_date ) ;
5907
5908 hr_transaction_api.set_date_value (
5909 p_transaction_step_id =>l_transaction_step_id,
5910 p_person_id => l_creator_person_id ,
5911 p_name => 'p_date_notification' ,
5912 p_value =>p_date_notification) ;
5913
5914 hr_transaction_api.set_date_value (
5915 p_transaction_step_id =>l_transaction_step_id,
5916 p_person_id => l_creator_person_id ,
5917 p_name => 'p_date_start' ,
5918 p_value =>p_date_start) ;
5919
5920 hr_transaction_api.set_varchar2_value (
5921 p_transaction_step_id =>l_transaction_step_id,
5922 p_person_id => l_creator_person_id ,
5923 p_name => 'p_time_start' ,
5924 p_value =>p_time_start ) ;
5925
5926 hr_transaction_api.set_date_value (
5927 p_transaction_step_id =>l_transaction_step_id,
5928 p_person_id => l_creator_person_id ,
5929 p_name => 'p_date_end' ,
5930 p_value =>p_date_end) ;
5931
5932 hr_transaction_api.set_varchar2_value (
5933 p_transaction_step_id =>l_transaction_step_id,
5934 p_person_id => l_creator_person_id ,
5935 p_name => 'p_time_end' ,
5936 p_value =>p_time_end ) ;
5937
5938 hr_transaction_api.set_varchar2_value (
5939 p_transaction_step_id =>l_transaction_step_id,
5940 p_person_id => l_creator_person_id ,
5941 p_name => 'p_attribute_category' ,
5942 p_value =>p_attribute_category ) ;
5943
5944 hr_transaction_api.set_varchar2_value (
5945 p_transaction_step_id =>l_transaction_step_id,
5946 p_person_id => l_creator_person_id ,
5947 p_name => 'p_attribute1' ,
5948 p_value =>p_attribute1 ) ;
5949
5950 hr_transaction_api.set_varchar2_value (
5951 p_transaction_step_id =>l_transaction_step_id,
5952 p_person_id => l_creator_person_id ,
5953 p_name => 'p_attribute2' ,
5954 p_value =>p_attribute2 ) ;
5955
5956
5957 hr_transaction_api.set_varchar2_value (
5958 p_transaction_step_id =>l_transaction_step_id,
5959 p_person_id => l_creator_person_id ,
5960 p_name => 'p_attribute3' ,
5961 p_value =>p_attribute3 ) ;
5962
5963 hr_transaction_api.set_varchar2_value (
5964 p_transaction_step_id =>l_transaction_step_id,
5965 p_person_id => l_creator_person_id ,
5966 p_name => 'p_attribute4' ,
5967 p_value =>p_attribute4 ) ;
5968
5969 hr_transaction_api.set_varchar2_value (
5970 p_transaction_step_id =>l_transaction_step_id,
5971 p_person_id => l_creator_person_id ,
5972 p_name => 'p_attribute5' ,
5973 p_value =>p_attribute5 ) ;
5974
5975 hr_transaction_api.set_varchar2_value (
5976 p_transaction_step_id =>l_transaction_step_id,
5977 p_person_id => l_creator_person_id ,
5978 p_name => 'p_attribute6' ,
5979 p_value =>p_attribute6 ) ;
5980
5981 hr_transaction_api.set_varchar2_value (
5982 p_transaction_step_id =>l_transaction_step_id,
5983 p_person_id => l_creator_person_id ,
5984 p_name => 'p_attribute7' ,
5985 p_value =>p_attribute7 ) ;
5986
5987 hr_transaction_api.set_varchar2_value (
5988 p_transaction_step_id =>l_transaction_step_id,
5989 p_person_id => l_creator_person_id ,
5990 p_name => 'p_attribute8' ,
5991 p_value =>p_attribute8 ) ;
5992
5993 hr_transaction_api.set_varchar2_value (
5994 p_transaction_step_id =>l_transaction_step_id,
5995 p_person_id => l_creator_person_id ,
5996 p_name => 'p_attribute9' ,
5997 p_value =>p_attribute9 ) ;
5998
5999 hr_transaction_api.set_varchar2_value (
6000 p_transaction_step_id =>l_transaction_step_id,
6001 p_person_id => l_creator_person_id ,
6002 p_name => 'p_attribute10' ,
6003 p_value =>p_attribute10 ) ;
6004
6005 hr_transaction_api.set_varchar2_value (
6006 p_transaction_step_id =>l_transaction_step_id,
6007 p_person_id => l_creator_person_id ,
6008 p_name => 'p_attribute11' ,
6009 p_value =>p_attribute11 ) ;
6010
6011 hr_transaction_api.set_varchar2_value (
6012 p_transaction_step_id =>l_transaction_step_id,
6013 p_person_id => l_creator_person_id ,
6014 p_name => 'p_attribute12' ,
6015 p_value =>p_attribute12 ) ;
6016
6017 hr_transaction_api.set_varchar2_value (
6018 p_transaction_step_id =>l_transaction_step_id,
6019 p_person_id => l_creator_person_id ,
6020 p_name => 'p_attribute13' ,
6021 p_value =>p_attribute13 ) ;
6022
6023 hr_transaction_api.set_varchar2_value (
6024 p_transaction_step_id =>l_transaction_step_id,
6025 p_person_id => l_creator_person_id ,
6026 p_name => 'p_attribute14' ,
6027 p_value =>p_attribute14 ) ;
6028
6029 hr_transaction_api.set_varchar2_value (
6030 p_transaction_step_id =>l_transaction_step_id,
6031 p_person_id => l_creator_person_id ,
6032 p_name => 'p_attribute15' ,
6033 p_value =>p_attribute15 ) ;
6034
6035 hr_transaction_api.set_varchar2_value (
6036 p_transaction_step_id =>l_transaction_step_id,
6037 p_person_id => l_creator_person_id ,
6038 p_name => 'p_attribute16' ,
6039 p_value =>p_attribute16 ) ;
6040
6041 hr_transaction_api.set_varchar2_value (
6042 p_transaction_step_id =>l_transaction_step_id,
6043 p_person_id => l_creator_person_id ,
6044 p_name => 'p_attribute17' ,
6045 p_value =>p_attribute17 ) ;
6046
6047 hr_transaction_api.set_varchar2_value (
6048 p_transaction_step_id =>l_transaction_step_id,
6049 p_person_id => l_creator_person_id ,
6050 p_name => 'p_attribute18' ,
6051 p_value =>p_attribute18 ) ;
6052
6053 hr_transaction_api.set_varchar2_value (
6054 p_transaction_step_id =>l_transaction_step_id,
6055 p_person_id => l_creator_person_id ,
6056 p_name => 'p_attribute19' ,
6057 p_value =>p_attribute19 ) ;
6058
6059 hr_transaction_api.set_varchar2_value (
6060 p_transaction_step_id =>l_transaction_step_id,
6061 p_person_id => l_creator_person_id ,
6062 p_name => 'p_attribute20' ,
6063 p_value =>p_attribute20 ) ;
6064
6065 hr_transaction_api.set_varchar2_value (
6066 p_transaction_step_id =>l_transaction_step_id,
6067 p_person_id => l_creator_person_id ,
6068 p_name => 'p_abs_information_category' ,
6069 p_value =>p_abs_information_category ) ;
6070
6071 hr_transaction_api.set_varchar2_value (
6072 p_transaction_step_id =>l_transaction_step_id,
6073 p_person_id => l_creator_person_id ,
6074 p_name => 'p_abs_information1' ,
6075 p_value =>p_abs_information1 ) ;
6076
6077 hr_transaction_api.set_varchar2_value (
6078 p_transaction_step_id =>l_transaction_step_id,
6079 p_person_id => l_creator_person_id ,
6080 p_name => 'p_abs_information2' ,
6081 p_value =>p_abs_information2 ) ;
6082
6083 hr_transaction_api.set_varchar2_value (
6084 p_transaction_step_id =>l_transaction_step_id,
6085 p_person_id => l_creator_person_id ,
6086 p_name => 'p_abs_information3' ,
6087 p_value =>p_abs_information3 ) ;
6088
6089 hr_transaction_api.set_varchar2_value (
6090 p_transaction_step_id =>l_transaction_step_id,
6091 p_person_id => l_creator_person_id ,
6092 p_name => 'p_abs_information4' ,
6093 p_value =>p_abs_information4 ) ;
6094
6095 hr_transaction_api.set_varchar2_value (
6096 p_transaction_step_id =>l_transaction_step_id,
6097 p_person_id => l_creator_person_id ,
6098 p_name => 'p_abs_information5' ,
6099 p_value =>p_abs_information5 ) ;
6100
6101 hr_transaction_api.set_varchar2_value (
6102 p_transaction_step_id =>l_transaction_step_id,
6103 p_person_id => l_creator_person_id ,
6104 p_name => 'p_abs_information6' ,
6105 p_value =>p_abs_information6 ) ;
6106
6107 hr_transaction_api.set_varchar2_value (
6108 p_transaction_step_id =>l_transaction_step_id,
6109 p_person_id => l_creator_person_id ,
6110 p_name => 'p_abs_information7' ,
6111 p_value =>p_abs_information7 ) ;
6112
6113 hr_transaction_api.set_varchar2_value (
6114 p_transaction_step_id =>l_transaction_step_id,
6115 p_person_id => l_creator_person_id ,
6116 p_name => 'p_abs_information8' ,
6117 p_value =>p_abs_information8 ) ;
6118
6119 hr_transaction_api.set_varchar2_value (
6120 p_transaction_step_id =>l_transaction_step_id,
6121 p_person_id => l_creator_person_id ,
6122 p_name => 'p_abs_information9' ,
6123 p_value =>p_abs_information9 ) ;
6124
6125 hr_transaction_api.set_varchar2_value (
6126 p_transaction_step_id =>l_transaction_step_id,
6127 p_person_id => l_creator_person_id ,
6128 p_name => 'p_abs_information10' ,
6129 p_value =>p_abs_information10 ) ;
6130
6131 hr_transaction_api.set_varchar2_value (
6132 p_transaction_step_id =>l_transaction_step_id,
6133 p_person_id => l_creator_person_id ,
6134 p_name => 'p_abs_information11' ,
6135 p_value =>p_abs_information11 ) ;
6136
6137 hr_transaction_api.set_varchar2_value (
6138 p_transaction_step_id =>l_transaction_step_id,
6139 p_person_id => l_creator_person_id ,
6140 p_name => 'p_abs_information12' ,
6141 p_value =>p_abs_information12 ) ;
6142
6143 hr_transaction_api.set_varchar2_value (
6144 p_transaction_step_id =>l_transaction_step_id,
6145 p_person_id => l_creator_person_id ,
6146 p_name => 'p_abs_information13' ,
6147 p_value =>p_abs_information13 ) ;
6148
6149 hr_transaction_api.set_varchar2_value (
6150 p_transaction_step_id =>l_transaction_step_id,
6151 p_person_id => l_creator_person_id ,
6152 p_name => 'p_abs_information14' ,
6153 p_value =>p_abs_information14 ) ;
6154
6155 hr_transaction_api.set_varchar2_value (
6156 p_transaction_step_id =>l_transaction_step_id,
6157 p_person_id => l_creator_person_id ,
6158 p_name => 'p_abs_information15' ,
6159 p_value =>p_abs_information15 ) ;
6160
6161 hr_transaction_api.set_varchar2_value (
6162 p_transaction_step_id =>l_transaction_step_id,
6163 p_person_id => l_creator_person_id ,
6164 p_name => 'p_abs_information16' ,
6165 p_value =>p_abs_information16 ) ;
6166
6167 hr_transaction_api.set_varchar2_value (
6168 p_transaction_step_id =>l_transaction_step_id,
6169 p_person_id => l_creator_person_id ,
6170 p_name => 'p_abs_information17' ,
6171 p_value =>p_abs_information17 ) ;
6172
6173 hr_transaction_api.set_varchar2_value (
6174 p_transaction_step_id =>l_transaction_step_id,
6175 p_person_id => l_creator_person_id ,
6176 p_name => 'p_abs_information18' ,
6177 p_value =>p_abs_information18 ) ;
6178
6179 hr_transaction_api.set_varchar2_value (
6180 p_transaction_step_id =>l_transaction_step_id,
6181 p_person_id => l_creator_person_id ,
6182 p_name => 'p_abs_information19' ,
6183 p_value =>p_abs_information19 ) ;
6184
6185 hr_transaction_api.set_varchar2_value (
6186 p_transaction_step_id =>l_transaction_step_id,
6187 p_person_id => l_creator_person_id ,
6188 p_name => 'p_abs_information20' ,
6189 p_value =>p_abs_information20 ) ;
6190
6191 hr_transaction_api.set_varchar2_value (
6192 p_transaction_step_id =>l_transaction_step_id,
6193 p_person_id => l_creator_person_id ,
6194 p_name => 'p_abs_information21' ,
6195 p_value =>p_abs_information21 ) ;
6196
6197 hr_transaction_api.set_varchar2_value (
6198 p_transaction_step_id =>l_transaction_step_id,
6199 p_person_id => l_creator_person_id ,
6200 p_name => 'p_abs_information22' ,
6201 p_value =>p_abs_information22 ) ;
6202
6203 hr_transaction_api.set_varchar2_value (
6204 p_transaction_step_id =>l_transaction_step_id,
6205 p_person_id => l_creator_person_id ,
6206 p_name => 'p_abs_information23' ,
6207 p_value =>p_abs_information23 ) ;
6208
6209 hr_transaction_api.set_varchar2_value (
6210 p_transaction_step_id =>l_transaction_step_id,
6211 p_person_id => l_creator_person_id ,
6212 p_name => 'p_abs_information24' ,
6213 p_value =>p_abs_information24 ) ;
6214
6215 hr_transaction_api.set_varchar2_value (
6216 p_transaction_step_id =>l_transaction_step_id,
6217 p_person_id => l_creator_person_id ,
6218 p_name => 'p_abs_information25' ,
6219 p_value =>p_abs_information25 ) ;
6220
6221 hr_transaction_api.set_varchar2_value (
6222 p_transaction_step_id =>l_transaction_step_id,
6223 p_person_id => l_creator_person_id ,
6224 p_name => 'p_abs_information26' ,
6225 p_value =>p_abs_information26 ) ;
6226
6227 hr_transaction_api.set_varchar2_value (
6228 p_transaction_step_id =>l_transaction_step_id,
6229 p_person_id => l_creator_person_id ,
6230 p_name => 'p_abs_information27' ,
6231 p_value =>p_abs_information27 ) ;
6232
6233 hr_transaction_api.set_varchar2_value (
6234 p_transaction_step_id =>l_transaction_step_id,
6235 p_person_id => l_creator_person_id ,
6236 p_name => 'p_abs_information28' ,
6237 p_value =>p_abs_information28 ) ;
6238
6239 hr_transaction_api.set_varchar2_value (
6240 p_transaction_step_id =>l_transaction_step_id,
6241 p_person_id => l_creator_person_id ,
6242 p_name => 'p_abs_information29' ,
6243 p_value =>p_abs_information29 ) ;
6244
6245 hr_transaction_api.set_varchar2_value (
6246 p_transaction_step_id =>l_transaction_step_id,
6247 p_person_id => l_creator_person_id ,
6248 p_name => 'p_abs_information30' ,
6249 p_value =>p_abs_information30 ) ;
6250
6251 hr_transaction_api.set_varchar2_value (
6252 p_transaction_step_id =>l_transaction_step_id,
6253 p_person_id => l_creator_person_id ,
6254 p_name => 'p_leave_status' ,
6255 p_value =>p_leave_status ) ;
6256
6257 hr_transaction_api.set_varchar2_value (
6258 p_transaction_step_id =>l_transaction_step_id,
6259 p_person_id => l_creator_person_id ,
6260 p_name => 'p_comments' ,
6261 p_value =>p_comments ) ;
6262
6263 hr_transaction_api.set_number_value (
6264 p_transaction_step_id =>l_transaction_step_id,
6265 p_person_id => l_creator_person_id ,
6266 p_name => 'p_absence_days' ,
6267 p_value =>l_absence_days ) ;
6268
6269 hr_transaction_api.set_number_value (
6270 p_transaction_step_id =>l_transaction_step_id,
6271 p_person_id => l_creator_person_id ,
6272 p_name => 'p_absence_hours' ,
6273 p_value =>l_absence_hours ) ;
6274
6275 hr_transaction_api.set_number_value (
6276 p_transaction_step_id =>l_transaction_step_id,
6277 p_person_id => l_creator_person_id ,
6278 p_name => 'p_replacement_person_id' ,
6279 p_value =>p_replacement_person_id ) ;
6280
6281 hr_transaction_api.set_date_value (
6282 p_transaction_step_id =>l_transaction_step_id,
6283 p_person_id => l_creator_person_id ,
6284 p_name => 'p_date_projected_start' ,
6285 p_value =>p_date_projected_start) ;
6286
6287 hr_transaction_api.set_varchar2_value (
6288 p_transaction_step_id =>l_transaction_step_id,
6289 p_person_id => l_creator_person_id ,
6290 p_name => 'p_time_projected_start' ,
6291 p_value =>p_time_projected_start ) ;
6292
6293 hr_transaction_api.set_date_value (
6294 p_transaction_step_id =>l_transaction_step_id,
6295 p_person_id => l_creator_person_id ,
6296 p_name => 'p_date_projected_end' ,
6297 p_value =>p_date_projected_end) ;
6298
6299 hr_transaction_api.set_varchar2_value (
6300 p_transaction_step_id =>l_transaction_step_id,
6301 p_person_id => l_creator_person_id ,
6302 p_name => 'p_time_projected_end' ,
6303 p_value =>p_time_projected_end ) ;
6304
6305 --
6306 --
6307 hr_utility.set_location(' Leaving:' || l_proc,45);
6308
6309 --
6310 EXCEPTION
6311
6312 --4064949
6313 WHEN hr_utility.hr_error then
6314 hr_message.provide_error;
6315 p_page_error := hr_message.last_message_app;
6316 p_page_error_msg := hr_message.get_message_text;
6317 p_page_error_num := hr_message.last_message_number;
6318 hr_utility.set_location(' Leaving:' || l_proc,500);
6319
6320 WHEN g_data_error THEN
6321 hr_utility.trace('g_data_error exception in .process_update_txn_save: ' || SQLERRM );
6322 hr_utility.set_location(' Leaving:' || l_proc,555);
6323
6324 raise ;
6325 WHEN OTHERS THEN
6326 hr_utility.trace(' when others exception in .process_update_txn_save: ' || SQLERRM );
6327 hr_utility.set_location(' Leaving:' || l_proc,560);
6328
6329 raise ;
6330
6331 END process_update_txn_save;
6332
6333
6334
6335 --kcke
6336
6337 /*
6338 ||===========================================================================
6339 || PROCEDURE: process_txn_save
6340 ||---------------------------------------------------------------------------
6341 ||
6342 || Description:
6343 || This procedure will call actual API with validate mode
6344 || if there are no error, save date into transaction table
6345 ||
6346 || Access Status:
6347 || Public.
6348 ||
6349 ||===========================================================================
6350 */
6351
6352 procedure process_txn_save(
6353 p_transaction_step_id in NUMBER
6354 ,p_login_person_id in number
6355 ,p_review_proc_call in varchar2
6356 ,p_effective_date in date
6357 ,p_person_id in number
6358 ,p_business_group_id in number
6359 ,p_absence_attendance_type_id in number
6360 ,p_abs_attendance_reason_id in number default null
6361 ,p_comments in long default null
6362 ,p_date_notification in date default null
6363 ,p_date_projected_start in date default null
6364 ,p_time_projected_start in varchar2 default null
6365 ,p_date_projected_end in date default null
6366 ,p_time_projected_end in varchar2 default null
6367 ,p_date_start in date default null
6368 ,p_time_start in varchar2 default null
6369 ,p_date_end in date default null
6370 ,p_time_end in varchar2 default null
6371 ,p_absence_days in out nocopy number
6372 ,p_absence_hours in out nocopy number
6373 ,p_authorising_person_id in number default null
6374 ,p_replacement_person_id in number default null
6375 ,p_attribute_category in varchar2 default null
6376 ,p_attribute1 in varchar2 default null
6377 ,p_attribute2 in varchar2 default null
6378 ,p_attribute3 in varchar2 default null
6379 ,p_attribute4 in varchar2 default null
6380 ,p_attribute5 in varchar2 default null
6381 ,p_attribute6 in varchar2 default null
6382 ,p_attribute7 in varchar2 default null
6383 ,p_attribute8 in varchar2 default null
6384 ,p_attribute9 in varchar2 default null
6385 ,p_attribute10 in varchar2 default null
6386 ,p_attribute11 in varchar2 default null
6387 ,p_attribute12 in varchar2 default null
6388 ,p_attribute13 in varchar2 default null
6389 ,p_attribute14 in varchar2 default null
6390 ,p_attribute15 in varchar2 default null
6391 ,p_attribute16 in varchar2 default null
6392 ,p_attribute17 in varchar2 default null
6393 ,p_attribute18 in varchar2 default null
6394 ,p_attribute19 in varchar2 default null
6395 ,p_attribute20 in varchar2 default null
6396 ,p_start_ampm in varchar2 default null
6397 ,p_end_ampm in varchar2 default null
6398 ,p_save_mode in varchar2 default null
6399 ,p_abs_information_category in varchar2 default null
6400 ,p_abs_information1 in varchar2 default null
6401 ,p_abs_information2 in varchar2 default null
6402 ,p_abs_information3 in varchar2 default null
6403 ,p_abs_information4 in varchar2 default null
6404 ,p_abs_information5 in varchar2 default null
6405 ,p_abs_information6 in varchar2 default null
6406 ,p_abs_information7 in varchar2 default null
6407 ,p_abs_information8 in varchar2 default null
6408 ,p_abs_information9 in varchar2 default null
6409 ,p_abs_information10 in varchar2 default null
6410 ,p_abs_information11 in varchar2 default null
6411 ,p_abs_information12 in varchar2 default null
6412 ,p_abs_information13 in varchar2 default null
6413 ,p_abs_information14 in varchar2 default null
6414 ,p_abs_information15 in varchar2 default null
6415 ,p_abs_information16 in varchar2 default null
6416 ,p_abs_information17 in varchar2 default null
6417 ,p_abs_information18 in varchar2 default null
6418 ,p_abs_information19 in varchar2 default null
6419 ,p_abs_information20 in varchar2 default null
6420 ,p_abs_information21 in varchar2 default null
6421 ,p_abs_information22 in varchar2 default null
6422 ,p_abs_information23 in varchar2 default null
6423 ,p_abs_information24 in varchar2 default null
6424 ,p_abs_information25 in varchar2 default null
6425 ,p_abs_information26 in varchar2 default null
6426 ,p_abs_information27 in varchar2 default null
6427 ,p_abs_information28 in varchar2 default null
6428 ,p_abs_information29 in varchar2 default null
6429 ,p_abs_information30 in varchar2 default null
6430 ,p_leave_status in varchar2 default null
6431 ,p_return_on_warning in varchar2 default null --2713296
6432 ,p_absence_attendance_id out nocopy number
6433 ,p_object_version_number out nocopy number
6434 ,p_occurrence out nocopy number
6435 ,p_dur_dys_less_warning out nocopy number
6436 ,p_dur_hrs_less_warning out nocopy number
6437 ,p_exceeds_pto_entit_warning out nocopy number
6438 ,p_exceeds_run_total_warning out nocopy number
6439 ,p_abs_overlap_warning out nocopy number
6440 ,p_abs_day_after_warning out nocopy number
6441 ,p_dur_overwritten_warning out nocopy number
6442 ,p_page_error out nocopy varchar2
6443 ,p_page_error_msg out nocopy varchar2
6444 ,p_page_error_num out nocopy varchar2
6445 ) IS
6446
6447 l_proc varchar2(72) := g_package||'process_txn_save';
6448 l_creator_person_id per_all_people_f.person_id%TYPE;
6449 l_validate boolean;
6450 l_transaction_id number;
6451 l_absence_days number;
6452 l_absence_hours number;
6453 l_transaction_step_id number;
6454 l_abs_attendance_reason_id number;
6455 l_login_person_id number;
6456 l_authorising_person_id number;
6457 l_replacement_person_id number;
6458 lb_abs_day_after_warning BOOLEAN;
6459 lb_abs_overlap_warning BOOLEAN;
6460 lb_dur_dys_less_warning BOOLEAN;
6461 lb_dur_hrs_less_warning BOOLEAN;
6462 lb_exceeds_pto_entit_warning BOOLEAN;
6463 lb_exceeds_run_total_warning BOOLEAN;
6464 lb_dur_overwritten_warning BOOLEAN;
6465
6466 --2966372 changes start
6467 l_populate_sickness_dates boolean := false;
6468 l_sickness_start_date date := null;
6469 l_sickness_end_date date := null;
6470 --2966372 changes end
6471
6472 -- Fix 2666959 Start
6473 -- Do not consider current transaction records while checking for overlap
6474 --
6475
6476 -- Fix 2706099
6477 -- Absence timings are to be considered for checking overlap.
6478 --
6479
6480 l_exists varchar2(1) ;
6481
6482 CURSOR c_abs_overlap(p_person_id IN NUMBER
6483 ,p_business_group_id IN NUMBER
6484 ,p_date_start IN DATE
6485 ,p_date_end IN DATE
6486 ,p_transaction_step_id IN varchar2
6487 ,p_time_start IN VARCHAR2
6488 ,p_time_end IN VARCHAR2
6489 ) IS
6490
6491 SELECT null
6492 FROM hr_api_transaction_values tv
6493 ,hr_api_transaction_steps ts
6494 ,hr_api_transaction_values tv1
6495 ,hr_api_transaction_values tv2
6496 ,hr_api_transaction_values tv3
6497 ,hr_api_transaction_values tv4
6498 ,hr_api_transaction_values tv5
6499 ,hr_api_transaction_values tv6
6500 ,hr_api_transactions hat -- Fix 3191531
6501
6502 WHERE
6503 ts.api_name = 'HR_LOA_SS.PROCESS_API'
6504 and ts.UPDATE_PERSON_ID = p_person_id
6505 and p_date_start IS NOT NULL
6506 and p_date_end IS NOT NULL
6507 and ts.transaction_step_id = tv.transaction_step_id
6508 and tv.name = 'P_PERSON_ID'
6509 and tv.number_value = p_person_id
6510 and ts.transaction_step_id = tv1.transaction_step_id
6511 and tv1.name = 'P_BUSINESS_GROUP_ID'
6512 and tv1.number_value = p_business_group_id
6513 and ts.transaction_step_id = tv2.transaction_step_id
6514 and ts.transaction_id=hat.transaction_id
6515 and hat.status in ('Y','C') -- Fix 3191531 and 3205669
6516 and ts.transaction_step_id = tv3.transaction_step_id
6517 and tv3.name = 'P_DATE_START'
6518 and ts.transaction_step_id = tv4.transaction_step_id
6519 and tv4.name = 'P_DATE_END'
6520 and ts.transaction_step_id = tv5.transaction_step_id
6521 and ts.transaction_step_id = tv6.transaction_step_id
6522 and tv5.name = 'P_TIME_START'
6523 and tv5.name = 'P_TIME_END'
6524 and tv3.date_value is NOT NULL
6525 and tv4.date_value is NOT NULL
6526 and (
6527 (
6528 to_date( to_char(nvl(tv3.date_value,hr_api.g_eot), g_usr_date_fmt) ||' ' || nvl(tv5.varchar2_value,'00:00'),g_usr_day_time_fmt)
6529 BETWEEN to_date (to_char(p_date_start, g_usr_date_fmt)||' ' || nvl(p_time_start,'00:00'),g_usr_day_time_fmt)
6530 AND to_date(to_char(p_date_end, g_usr_date_fmt) || ' '|| nvl(p_time_end,'00:00') , g_usr_day_time_fmt)
6531 )
6532 or
6533 (
6534 to_date (to_char(p_date_start, g_usr_date_fmt) ||' ' || nvl(p_time_start,'00:00'),g_usr_day_time_fmt)
6535 BETWEEN
6536 to_date( to_char(nvl(tv3.date_value,hr_api.g_eot), g_usr_date_fmt) ||' ' || nvl(tv5.varchar2_value,'00:00'),g_usr_day_time_fmt)
6537 AND
6538 to_date( to_char(nvl(tv4.date_value,hr_api.g_eot), g_usr_date_fmt) ||' ' || nvl(tv6.varchar2_value,'00:00'),g_usr_day_time_fmt)
6539 )
6540
6541 )
6542 and ts.transaction_step_id <>p_transaction_step_id ;
6543 -- Fix 2666959 End
6544 -- For checking dates in transaction tables, we should convert dates into user's date and time format.
6545
6546 BEGIN
6547 hr_utility.set_location('Entering..:' || l_proc, 10);
6548 --
6549 -- Call API with validate mode
6550 --
6551
6552 l_transaction_step_id := p_transaction_step_id;
6553
6554 l_validate := TRUE;
6555 l_authorising_person_id := to_number(p_authorising_person_id);
6556 l_replacement_person_id := to_number(p_replacement_person_id);
6557
6558 if p_abs_attendance_reason_id = -1 then
6559 l_abs_attendance_reason_id := null;
6560 else
6561 l_abs_attendance_reason_id := p_abs_attendance_reason_id;
6562 end if;
6563 if p_absence_days = -1 then
6564 l_absence_days := null;
6565 else
6566 l_absence_days := p_absence_days;
6567 end if;
6568 if p_absence_hours = -1 then
6569 l_absence_hours := null;
6570 else
6571 l_absence_hours := p_absence_hours;
6572 end if;
6573
6574 --2966372 changes start
6575 l_populate_sickness_dates := is_gb_leg_and_category_s(p_absence_attendance_type_id , p_business_group_id);
6576
6577 IF l_populate_sickness_dates THEN
6578 l_sickness_start_date := p_date_start;
6579 l_sickness_end_date := p_date_end;
6580 END IF;
6581 --2966372 changes end
6582
6583 --
6584 -- Support Save For Later
6585 --
6586 if p_save_mode <> 'SaveForLater' then
6587
6588 hr_utility.set_location(l_proc, 20);
6589 hr_person_absence_api.create_person_absence(
6590 p_validate => l_validate
6591 ,p_effective_date => p_effective_date
6592 ,p_person_id => p_person_id
6593 ,p_business_group_id => p_business_group_id
6594 ,p_absence_attendance_type_id => p_absence_attendance_type_id
6595 ,p_abs_attendance_reason_id => l_abs_attendance_reason_id
6596 ,p_comments => p_comments
6597 ,p_date_notification => p_date_notification
6598 ,p_date_projected_start => p_date_projected_start
6599 ,p_time_projected_start => p_time_projected_start
6600 ,p_date_projected_end => p_date_projected_end
6601 ,p_time_projected_end => p_time_projected_end
6602 ,p_date_start => p_date_start
6603 ,p_time_start => p_time_start
6604 ,p_date_end => p_date_end
6605 ,p_time_end => p_time_end
6606 ,p_absence_days => l_absence_days
6607 ,p_absence_hours => l_absence_hours
6608 ,p_authorising_person_id => l_authorising_person_id
6609 ,p_replacement_person_id => l_replacement_person_id
6610 ,p_attribute_category => p_attribute_category
6611 ,p_attribute1 => p_attribute1
6612 ,p_attribute2 => p_attribute2
6613 ,p_attribute3 => p_attribute3
6614 ,p_attribute4 => p_attribute4
6615 ,p_attribute5 => p_attribute5
6616 ,p_attribute6 => p_attribute6
6617 ,p_attribute7 => p_attribute7
6618 ,p_attribute8 => p_attribute8
6619 ,p_attribute9 => p_attribute9
6620 ,p_attribute10 => p_attribute10
6621 ,p_attribute11 => p_attribute11
6622 ,p_attribute12 => p_attribute12
6623 ,p_attribute13 => p_attribute13
6624 ,p_attribute14 => p_attribute14
6625 ,p_attribute15 => p_attribute15
6626 ,p_attribute16 => p_attribute16
6627 ,p_attribute17 => p_attribute17
6628 ,p_attribute18 => p_attribute18
6629 ,p_attribute19 => p_attribute19
6630 ,p_attribute20 => p_attribute20
6631 ,p_period_of_incapacity_id => null
6632 ,p_ssp1_issued => 'N'
6633 ,p_maternity_id => null
6634 ,p_sickness_start_date => l_sickness_start_date --2966372
6635 ,p_sickness_end_date => l_sickness_end_date --2966372
6636 ,p_pregnancy_related_illness => 'N'
6637 ,p_reason_for_notification_dela => null
6638 ,p_accept_late_notification_fla => 'N'
6639 ,p_linked_absence_id => null
6640 ,p_abs_information_category => p_abs_information_category
6641 ,p_abs_information1 => p_abs_information1
6642 ,p_abs_information2 => p_abs_information2
6643 ,p_abs_information3 => p_abs_information3
6644 ,p_abs_information4 => p_abs_information4
6645 ,p_abs_information5 => p_abs_information5
6646 ,p_abs_information6 => p_abs_information6
6647 ,p_abs_information7 => p_abs_information7
6648 ,p_abs_information8 => p_abs_information8
6649 ,p_abs_information9 => p_abs_information9
6650 ,p_abs_information10 => p_abs_information10
6651 ,p_abs_information11 => p_abs_information11
6652 ,p_abs_information12 => p_abs_information12
6653 ,p_abs_information13 => p_abs_information13
6654 ,p_abs_information14 => p_abs_information14
6655 ,p_abs_information15 => p_abs_information15
6656 ,p_abs_information16 => p_abs_information16
6657 ,p_abs_information17 => p_abs_information17
6658 ,p_abs_information18 => p_abs_information18
6659 ,p_abs_information19 => p_abs_information19
6660 ,p_abs_information20 => p_abs_information20
6661 ,p_abs_information21 => p_abs_information21
6662 ,p_abs_information22 => p_abs_information22
6663 ,p_abs_information23 => p_abs_information23
6664 ,p_abs_information24 => p_abs_information24
6665 ,p_abs_information25 => p_abs_information25
6666 ,p_abs_information26 => p_abs_information26
6667 ,p_abs_information27 => p_abs_information27
6668 ,p_abs_information28 => p_abs_information28
6669 ,p_abs_information29 => p_abs_information29
6670 ,p_abs_information30 => p_abs_information30
6671 ,p_absence_attendance_id => p_absence_attendance_id
6672 ,p_object_version_number => p_object_version_number
6673 ,p_occurrence => p_occurrence
6674 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
6675 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
6676 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
6677 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
6678 ,p_abs_overlap_warning => lb_abs_overlap_warning
6679 ,p_abs_day_after_warning => lb_abs_day_after_warning
6680 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
6681 );
6682
6683
6684 p_abs_day_after_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_day_after_warning);
6685 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
6686 p_dur_dys_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_dys_less_warning);
6687 p_dur_hrs_less_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_hrs_less_warning);
6688 p_exceeds_pto_entit_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_pto_entit_warning);
6689 p_exceeds_run_total_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_exceeds_run_total_warning);
6690 p_dur_overwritten_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_dur_overwritten_warning);
6691
6692 if (lb_abs_day_after_warning OR
6693 lb_abs_overlap_warning OR
6694 lb_exceeds_pto_entit_warning OR --2848345
6695 lb_dur_dys_less_warning OR --2765646
6696 lb_dur_hrs_less_warning OR --2765646
6697 lb_exceeds_run_total_warning) AND --2797220
6698 p_return_on_warning = 'true' then --2713296
6699 hr_utility.set_location(l_proc, 30);
6700 return;
6701 else -- BUG 2415512
6702
6703
6704 -- Fix 2666959 Start
6705 -- Replaced call to chk_overlap function because we should check for overlapping
6706 -- in all but current transaction step id records of hr_api_transaction_values.
6707
6708 -- Need to check for null otherwise, we may get invalid month error
6709 IF p_date_start IS NOT NULL AND p_date_end IS NOT NULL AND
6710 p_time_start IS NOT NULL and p_time_end IS NOT NULL AND p_transaction_step_id IS NOT NULL
6711 THEN
6712
6713 open c_abs_overlap(p_person_id,p_business_group_id,p_date_start,p_date_end,p_transaction_step_id,p_time_start,p_time_end);
6714
6715 fetch c_abs_overlap into l_exists;
6716
6717 if c_abs_overlap%found then
6718
6719 lb_abs_overlap_warning := TRUE;
6720 else
6721 lb_abs_overlap_warning := FALSE;
6722 end if;
6723 END IF;
6724 -- Fix 2666959 End
6725
6726 if lb_abs_overlap_warning and p_return_on_warning = 'true' then --2713296
6727 hr_utility.set_location(l_proc, 40);
6728 p_abs_overlap_warning := hr_java_conv_util_ss.get_number(p_boolean => lb_abs_overlap_warning);
6729 return;
6730 end if;
6731 end if;
6732 end if; -- Support Save For Later
6733
6734 hr_utility.set_location(l_proc, 50);
6735
6736 p_absence_days := l_absence_days;
6737 p_absence_hours := l_absence_hours;
6738 --
6739 -- Update Transaction
6740 --
6741
6742 l_validate := FALSE;
6743 -- hr_util_misc_web.validate_session(p_person_id => l_creator_person_id);
6744 l_creator_person_id := p_login_person_id;
6745
6746
6747 hr_transaction_api.set_boolean_value (
6748 p_transaction_step_id =>l_transaction_step_id,
6749 p_person_id => l_creator_person_id ,
6750 p_name => 'p_validate' ,
6751 p_value =>l_validate ) ;
6752
6753 hr_transaction_api.set_date_value (
6754 p_transaction_step_id =>l_transaction_step_id,
6755 p_person_id => l_creator_person_id ,
6756 p_name => 'p_effective_date' ,
6757 p_value =>p_effective_date ) ;
6758
6759 hr_transaction_api.set_number_value (
6760 p_transaction_step_id =>l_transaction_step_id,
6761 p_person_id => l_creator_person_id ,
6762 p_name => 'p_person_id' ,
6763 p_value =>p_person_id ) ;
6764
6765 hr_transaction_api.set_number_value (
6766 p_transaction_step_id =>l_transaction_step_id,
6767 p_person_id => l_creator_person_id ,
6768 p_name => 'p_business_group_id' ,
6769 p_value =>p_business_group_id ) ;
6770
6771 hr_transaction_api.set_number_value (
6772 p_transaction_step_id =>l_transaction_step_id,
6773 p_person_id => l_creator_person_id ,
6774 p_name => 'p_absence_attendance_type_id' ,
6775 p_value =>p_absence_attendance_type_id ) ;
6776
6777 hr_transaction_api.set_number_value (
6778 p_transaction_step_id =>l_transaction_step_id,
6779 p_person_id => l_creator_person_id ,
6780 p_name => 'p_abs_attendance_reason_id' ,
6781 p_value =>l_abs_attendance_reason_id ) ;
6782
6783 hr_transaction_api.set_varchar2_value (
6784 p_transaction_step_id =>l_transaction_step_id,
6785 p_person_id => l_creator_person_id ,
6786 p_name => 'p_comments' ,
6787 p_value =>p_comments ) ;
6788
6789 hr_transaction_api.set_number_value (
6790 p_transaction_step_id =>l_transaction_step_id,
6791 p_person_id => l_creator_person_id ,
6792 p_name => 'p_authorising_person_id' ,
6793 p_value =>p_authorising_person_id ) ;
6794
6795 hr_transaction_api.set_number_value (
6796 p_transaction_step_id =>l_transaction_step_id,
6797 p_person_id => l_creator_person_id ,
6798 p_name => 'p_replacement_person_id' ,
6799 p_value =>p_replacement_person_id ) ;
6800
6801 hr_transaction_api.set_date_value (
6802 p_transaction_step_id =>l_transaction_step_id,
6803 p_person_id => l_creator_person_id ,
6804 p_name => 'p_date_projected_start' ,
6805 p_value =>p_date_projected_start) ;
6806
6807 hr_transaction_api.set_varchar2_value (
6808 p_transaction_step_id =>l_transaction_step_id,
6809 p_person_id => l_creator_person_id ,
6810 p_name => 'p_time_projected_start' ,
6811 p_value =>p_time_projected_start ) ;
6812
6813 hr_transaction_api.set_date_value (
6814 p_transaction_step_id =>l_transaction_step_id,
6815 p_person_id => l_creator_person_id ,
6816 p_name => 'p_date_projected_end' ,
6817 p_value =>p_date_projected_end) ;
6818
6819 hr_transaction_api.set_varchar2_value (
6820 p_transaction_step_id =>l_transaction_step_id,
6821 p_person_id => l_creator_person_id ,
6822 p_name => 'p_time_projected_end' ,
6823 p_value =>p_time_projected_end ) ;
6824
6825 hr_transaction_api.set_date_value (
6826 p_transaction_step_id =>l_transaction_step_id,
6827 p_person_id => l_creator_person_id ,
6828 p_name => 'p_date_start' ,
6829 p_value =>p_date_start) ;
6830
6831 hr_transaction_api.set_varchar2_value (
6832 p_transaction_step_id =>l_transaction_step_id,
6833 p_person_id => l_creator_person_id ,
6834 p_name => 'p_time_start' ,
6835 p_value =>p_time_start ) ;
6836
6837 hr_transaction_api.set_date_value (
6838 p_transaction_step_id =>l_transaction_step_id,
6839 p_person_id => l_creator_person_id ,
6840 p_name => 'p_date_end' ,
6841 p_value =>p_date_end) ;
6842
6843 hr_transaction_api.set_varchar2_value (
6844 p_transaction_step_id =>l_transaction_step_id,
6845 p_person_id => l_creator_person_id ,
6846 p_name => 'p_time_end' ,
6847 p_value =>p_time_end ) ;
6848
6849 hr_transaction_api.set_number_value (
6850 p_transaction_step_id =>l_transaction_step_id,
6851 p_person_id => l_creator_person_id ,
6852 p_name => 'p_absence_days' ,
6853 p_value =>p_absence_days ) ;
6854
6855 hr_transaction_api.set_number_value (
6856 p_transaction_step_id =>l_transaction_step_id,
6857 p_person_id => l_creator_person_id ,
6858 p_name => 'p_absence_hours' ,
6859 p_value =>p_absence_hours ) ;
6860
6861 hr_transaction_api.set_date_value (
6862 p_transaction_step_id =>l_transaction_step_id,
6863 p_person_id => l_creator_person_id ,
6864 p_name => 'p_date_notification' ,
6865 p_value =>p_date_notification ) ;
6866
6867 hr_transaction_api.set_varchar2_value (
6868 p_transaction_step_id =>l_transaction_step_id,
6869 p_person_id => l_creator_person_id ,
6870 p_name => 'p_attribute_category' ,
6871 p_value =>p_attribute_category ) ;
6872
6873 hr_transaction_api.set_varchar2_value (
6874 p_transaction_step_id =>l_transaction_step_id,
6875 p_person_id => l_creator_person_id ,
6876 p_name => 'p_attribute1' ,
6877 p_value =>p_attribute1 ) ;
6878
6879 hr_transaction_api.set_varchar2_value (
6880 p_transaction_step_id =>l_transaction_step_id,
6881 p_person_id => l_creator_person_id ,
6882 p_name => 'p_attribute2' ,
6883 p_value =>p_attribute2 ) ;
6884
6885 hr_transaction_api.set_varchar2_value (
6886 p_transaction_step_id =>l_transaction_step_id,
6887 p_person_id => l_creator_person_id ,
6888 p_name => 'p_attribute3' ,
6889 p_value =>p_attribute3 ) ;
6890
6891 hr_transaction_api.set_varchar2_value (
6892 p_transaction_step_id =>l_transaction_step_id,
6893 p_person_id => l_creator_person_id ,
6894 p_name => 'p_attribute4' ,
6895 p_value =>p_attribute4 ) ;
6896
6897 hr_transaction_api.set_varchar2_value (
6898 p_transaction_step_id =>l_transaction_step_id,
6899 p_person_id => l_creator_person_id ,
6900 p_name => 'p_attribute5' ,
6901 p_value =>p_attribute5 ) ;
6902
6903 hr_transaction_api.set_varchar2_value (
6904 p_transaction_step_id =>l_transaction_step_id,
6905 p_person_id => l_creator_person_id ,
6906 p_name => 'p_attribute6' ,
6907 p_value =>p_attribute6 ) ;
6908
6909 hr_transaction_api.set_varchar2_value (
6910 p_transaction_step_id =>l_transaction_step_id,
6911 p_person_id => l_creator_person_id ,
6912 p_name => 'p_attribute7' ,
6913 p_value =>p_attribute7 ) ;
6914
6915 hr_transaction_api.set_varchar2_value (
6916 p_transaction_step_id =>l_transaction_step_id,
6917 p_person_id => l_creator_person_id ,
6918 p_name => 'p_attribute8' ,
6919 p_value =>p_attribute8 ) ;
6920
6921 hr_transaction_api.set_varchar2_value (
6922 p_transaction_step_id =>l_transaction_step_id,
6923 p_person_id => l_creator_person_id ,
6924 p_name => 'p_attribute9' ,
6925 p_value =>p_attribute9 ) ;
6926
6927 hr_transaction_api.set_varchar2_value (
6928 p_transaction_step_id =>l_transaction_step_id,
6929 p_person_id => l_creator_person_id ,
6930 p_name => 'p_attribute10' ,
6931 p_value =>p_attribute10 ) ;
6932
6933 hr_transaction_api.set_varchar2_value (
6934 p_transaction_step_id =>l_transaction_step_id,
6935 p_person_id => l_creator_person_id ,
6936 p_name => 'p_attribute11' ,
6937 p_value =>p_attribute11 ) ;
6938
6939 hr_transaction_api.set_varchar2_value (
6940 p_transaction_step_id =>l_transaction_step_id,
6941 p_person_id => l_creator_person_id ,
6942 p_name => 'p_attribute12' ,
6943 p_value =>p_attribute12 ) ;
6944
6945 hr_transaction_api.set_varchar2_value (
6946 p_transaction_step_id =>l_transaction_step_id,
6947 p_person_id => l_creator_person_id ,
6948 p_name => 'p_attribute13' ,
6949 p_value =>p_attribute13 ) ;
6950
6951 hr_transaction_api.set_varchar2_value (
6952 p_transaction_step_id =>l_transaction_step_id,
6953 p_person_id => l_creator_person_id ,
6954 p_name => 'p_attribute14' ,
6955 p_value =>p_attribute14 ) ;
6956
6957 hr_transaction_api.set_varchar2_value (
6958 p_transaction_step_id =>l_transaction_step_id,
6959 p_person_id => l_creator_person_id ,
6960 p_name => 'p_attribute15' ,
6961 p_value =>p_attribute15 ) ;
6962
6963 hr_transaction_api.set_varchar2_value (
6964 p_transaction_step_id =>l_transaction_step_id,
6965 p_person_id => l_creator_person_id ,
6966 p_name => 'p_attribute16' ,
6967 p_value =>p_attribute16 ) ;
6968
6969 hr_transaction_api.set_varchar2_value (
6970 p_transaction_step_id =>l_transaction_step_id,
6971 p_person_id => l_creator_person_id ,
6972 p_name => 'p_attribute17' ,
6973 p_value =>p_attribute17 ) ;
6974
6975 hr_transaction_api.set_varchar2_value (
6976 p_transaction_step_id =>l_transaction_step_id,
6977 p_person_id => l_creator_person_id ,
6978 p_name => 'p_attribute18' ,
6979 p_value =>p_attribute18 ) ;
6980
6981 hr_transaction_api.set_varchar2_value (
6982 p_transaction_step_id =>l_transaction_step_id,
6983 p_person_id => l_creator_person_id ,
6984 p_name => 'p_attribute19' ,
6985 p_value =>p_attribute19 ) ;
6986
6987 hr_transaction_api.set_varchar2_value (
6988 p_transaction_step_id =>l_transaction_step_id,
6989 p_person_id => l_creator_person_id ,
6990 p_name => 'p_attribute20' ,
6991 p_value =>p_attribute20 ) ;
6992
6993 hr_transaction_api.set_varchar2_value (
6994 p_transaction_step_id =>l_transaction_step_id,
6995 p_person_id => l_creator_person_id ,
6996 p_name => 'p_abs_information_category' ,
6997 p_value =>p_abs_information_category ) ;
6998
6999 hr_transaction_api.set_varchar2_value (
7000 p_transaction_step_id =>l_transaction_step_id,
7001 p_person_id => l_creator_person_id ,
7002 p_name => 'p_abs_information1' ,
7003 p_value =>p_abs_information1 ) ;
7004
7005 hr_transaction_api.set_varchar2_value (
7006 p_transaction_step_id =>l_transaction_step_id,
7007 p_person_id => l_creator_person_id ,
7008 p_name => 'p_abs_information2' ,
7009 p_value =>p_abs_information2 ) ;
7010
7011 hr_transaction_api.set_varchar2_value (
7012 p_transaction_step_id =>l_transaction_step_id,
7013 p_person_id => l_creator_person_id ,
7014 p_name => 'p_abs_information3' ,
7015 p_value =>p_abs_information3 ) ;
7016
7017 hr_transaction_api.set_varchar2_value (
7018 p_transaction_step_id =>l_transaction_step_id,
7019 p_person_id => l_creator_person_id ,
7020 p_name => 'p_abs_information4' ,
7021 p_value =>p_abs_information4 ) ;
7022
7023 hr_transaction_api.set_varchar2_value (
7024 p_transaction_step_id =>l_transaction_step_id,
7025 p_person_id => l_creator_person_id ,
7026 p_name => 'p_abs_information5' ,
7027 p_value =>p_abs_information5 ) ;
7028
7029 hr_transaction_api.set_varchar2_value (
7030 p_transaction_step_id =>l_transaction_step_id,
7031 p_person_id => l_creator_person_id ,
7032 p_name => 'p_abs_information6' ,
7033 p_value =>p_abs_information6 ) ;
7034
7035 hr_transaction_api.set_varchar2_value (
7036 p_transaction_step_id =>l_transaction_step_id,
7037 p_person_id => l_creator_person_id ,
7038 p_name => 'p_abs_information7' ,
7039 p_value =>p_abs_information7 ) ;
7040
7041 hr_transaction_api.set_varchar2_value (
7042 p_transaction_step_id =>l_transaction_step_id,
7043 p_person_id => l_creator_person_id ,
7044 p_name => 'p_abs_information8' ,
7045 p_value =>p_abs_information8 ) ;
7046
7047 hr_transaction_api.set_varchar2_value (
7048 p_transaction_step_id =>l_transaction_step_id,
7049 p_person_id => l_creator_person_id ,
7050 p_name => 'p_abs_information9' ,
7051 p_value =>p_abs_information9 ) ;
7052
7053 hr_transaction_api.set_varchar2_value (
7054 p_transaction_step_id =>l_transaction_step_id,
7055 p_person_id => l_creator_person_id ,
7056 p_name => 'p_abs_information10' ,
7057 p_value =>p_abs_information10 ) ;
7058
7059 hr_transaction_api.set_varchar2_value (
7060 p_transaction_step_id =>l_transaction_step_id,
7061 p_person_id => l_creator_person_id ,
7062 p_name => 'p_abs_information11' ,
7063 p_value =>p_abs_information11 ) ;
7064
7065 hr_transaction_api.set_varchar2_value (
7066 p_transaction_step_id =>l_transaction_step_id,
7067 p_person_id => l_creator_person_id ,
7068 p_name => 'p_abs_information12' ,
7069 p_value =>p_abs_information12 ) ;
7070
7071 hr_transaction_api.set_varchar2_value (
7072 p_transaction_step_id =>l_transaction_step_id,
7073 p_person_id => l_creator_person_id ,
7074 p_name => 'p_abs_information13' ,
7075 p_value =>p_abs_information13 ) ;
7076
7077 hr_transaction_api.set_varchar2_value (
7078 p_transaction_step_id =>l_transaction_step_id,
7079 p_person_id => l_creator_person_id ,
7080 p_name => 'p_abs_information14' ,
7081 p_value =>p_abs_information14 ) ;
7082
7083 hr_transaction_api.set_varchar2_value (
7084 p_transaction_step_id =>l_transaction_step_id,
7085 p_person_id => l_creator_person_id ,
7086 p_name => 'p_abs_information15' ,
7087 p_value =>p_abs_information15 ) ;
7088
7089 hr_transaction_api.set_varchar2_value (
7090 p_transaction_step_id =>l_transaction_step_id,
7091 p_person_id => l_creator_person_id ,
7092 p_name => 'p_abs_information16' ,
7093 p_value =>p_abs_information16 ) ;
7094
7095 hr_transaction_api.set_varchar2_value (
7096 p_transaction_step_id =>l_transaction_step_id,
7097 p_person_id => l_creator_person_id ,
7098 p_name => 'p_abs_information17' ,
7099 p_value =>p_abs_information17 ) ;
7100
7101 hr_transaction_api.set_varchar2_value (
7102 p_transaction_step_id =>l_transaction_step_id,
7103 p_person_id => l_creator_person_id ,
7104 p_name => 'p_abs_information18' ,
7105 p_value =>p_abs_information18 ) ;
7106
7107 hr_transaction_api.set_varchar2_value (
7108 p_transaction_step_id =>l_transaction_step_id,
7109 p_person_id => l_creator_person_id ,
7110 p_name => 'p_abs_information19' ,
7111 p_value =>p_abs_information19 ) ;
7112
7113 hr_transaction_api.set_varchar2_value (
7114 p_transaction_step_id =>l_transaction_step_id,
7115 p_person_id => l_creator_person_id ,
7116 p_name => 'p_abs_information20' ,
7117 p_value =>p_abs_information20 ) ;
7118
7119 hr_transaction_api.set_varchar2_value (
7120 p_transaction_step_id =>l_transaction_step_id,
7121 p_person_id => l_creator_person_id ,
7122 p_name => 'p_abs_information21' ,
7123 p_value =>p_abs_information21 ) ;
7124
7125 hr_transaction_api.set_varchar2_value (
7126 p_transaction_step_id =>l_transaction_step_id,
7127 p_person_id => l_creator_person_id ,
7128 p_name => 'p_abs_information22' ,
7129 p_value =>p_abs_information22 ) ;
7130
7131 hr_transaction_api.set_varchar2_value (
7132 p_transaction_step_id =>l_transaction_step_id,
7133 p_person_id => l_creator_person_id ,
7134 p_name => 'p_abs_information23' ,
7135 p_value =>p_abs_information23 ) ;
7136
7137 hr_transaction_api.set_varchar2_value (
7138 p_transaction_step_id =>l_transaction_step_id,
7139 p_person_id => l_creator_person_id ,
7140 p_name => 'p_abs_information24' ,
7141 p_value =>p_abs_information24 ) ;
7142
7143 hr_transaction_api.set_varchar2_value (
7144 p_transaction_step_id =>l_transaction_step_id,
7145 p_person_id => l_creator_person_id ,
7146 p_name => 'p_abs_information25' ,
7147 p_value =>p_abs_information25 ) ;
7148
7149 hr_transaction_api.set_varchar2_value (
7150 p_transaction_step_id =>l_transaction_step_id,
7151 p_person_id => l_creator_person_id ,
7152 p_name => 'p_abs_information26' ,
7153 p_value =>p_abs_information26 ) ;
7154
7155 hr_transaction_api.set_varchar2_value (
7156 p_transaction_step_id =>l_transaction_step_id,
7157 p_person_id => l_creator_person_id ,
7158 p_name => 'p_abs_information27' ,
7159 p_value =>p_abs_information27 ) ;
7160
7161 hr_transaction_api.set_varchar2_value (
7162 p_transaction_step_id =>l_transaction_step_id,
7163 p_person_id => l_creator_person_id ,
7164 p_name => 'p_abs_information28' ,
7165 p_value =>p_abs_information28 ) ;
7166
7167 hr_transaction_api.set_varchar2_value (
7168 p_transaction_step_id =>l_transaction_step_id,
7169 p_person_id => l_creator_person_id ,
7170 p_name => 'p_abs_information29' ,
7171 p_value =>p_abs_information29 ) ;
7172
7173 hr_transaction_api.set_varchar2_value (
7174 p_transaction_step_id =>l_transaction_step_id,
7175 p_person_id => l_creator_person_id ,
7176 p_name => 'p_abs_information30' ,
7177 p_value =>p_abs_information30 ) ;
7178
7179 --
7180 hr_transaction_api.set_varchar2_value (
7181 p_transaction_step_id =>l_transaction_step_id,
7182 p_person_id => l_creator_person_id ,
7183 p_name => 'p_leave_status' ,
7184 p_value =>p_leave_status ) ;
7185
7186 --
7187 -- Save For Later
7188 --
7189 hr_transaction_api.set_varchar2_value (
7190 p_transaction_step_id =>l_transaction_step_id,
7191 p_person_id => l_creator_person_id ,
7192 p_name => 'p_start_ampm' ,
7193 p_value =>p_start_ampm ) ;
7194
7195 hr_transaction_api.set_varchar2_value (
7196 p_transaction_step_id =>l_transaction_step_id,
7197 p_person_id => l_creator_person_id ,
7198 p_name => 'p_end_ampm' ,
7199 p_value =>p_end_ampm ) ;
7200
7201 hr_transaction_api.set_varchar2_value (
7202 p_transaction_step_id =>l_transaction_step_id,
7203 p_person_id => l_creator_person_id ,
7204 p_name => 'p_save_mode' ,
7205 p_value =>p_save_mode ) ;
7206 --
7207 --
7208 -- hr_utility.set_location('Leaving..:' || l_proc, 50);
7209 EXCEPTION
7210 WHEN hr_utility.hr_error then
7211 hr_message.provide_error;
7212 p_page_error := hr_message.last_message_app;
7213 p_page_error_msg := hr_message.get_message_text;
7214 p_page_error_num := hr_message.last_message_number;
7215 hr_utility.set_location('Leaving..:' || l_proc, 555);
7216 WHEN OTHERS THEN
7217 hr_utility.trace( ' HR_LOA_SS.process_save ' || SQLERRM );
7218 hr_utility.set_location('Leaving..:' || l_proc, 560);
7219 raise ;
7220
7221
7222 END process_txn_save;
7223
7224 /*
7225 ||===========================================================================
7226 || PROCEDURE: process_api
7227 ||---------------------------------------------------------------------------
7228 ||
7229 || Description:
7230 || This procedure will call the actual API from transaction table
7231 || hr_person_absence_api.update_person_absence()
7232 ||
7233 || Access Status:
7234 || Public.
7235 ||
7236 ||===========================================================================
7237 */
7238 procedure process_api
7239 (p_validate in boolean default false
7240 ,p_transaction_step_id in number
7241 ,p_effective_date in varchar2 default null
7242 ) is
7243
7244 l_proc varchar2(72) := g_package||'process_api';
7245 l_validate boolean;
7246 l_effective_date date;
7247 l_absence_rec per_absence_attendances%rowtype;
7248 l_activity_name varchar2(30);
7249 l_leave_status varchar2(30);
7250 l_business_group_id number;
7251 l_absence_attendance_id number;
7252 l_object_version_number number;
7253 l_occurrence number;
7254 lb_abs_day_after_warning boolean;
7255 lb_abs_overlap_warning boolean;
7256 lb_dur_dys_less_warning BOOLEAN;
7257 lb_dur_hrs_less_warning BOOLEAN;
7258 lb_exceeds_pto_entit_warning BOOLEAN;
7259 lb_exceeds_run_total_warning BOOLEAN;
7260 lb_dur_overwritten_warning BOOLEAN;
7261 lb_del_element_entry_warning BOOLEAN;
7262 l_period_of_incapacity_id number;
7263 l_ssp1_issued varchar2(30);
7264 l_maternity_id number;
7265 l_sickness_start_date date := null; --2966372
7266 l_sickness_end_date date := null; --2966372
7267 l_pregnancy_related_illness varchar2(30);
7268 l_reason_for_notification_dela varchar2(2000);
7269 l_accept_late_notification_fla varchar2(30);
7270 l_absence_days number;
7271 l_absence_hours number;
7272 l_populate_sickness_dates boolean := false; --2966372
7273
7274 BEGIN
7275
7276 --
7277 --
7278 hr_utility.set_location('Entering:'|| l_proc, 10);
7279 if (p_effective_date is not null) then
7280 l_effective_date:= to_date(p_effective_date,g_date_format);
7281 else
7282 l_effective_date:= to_date(
7283 hr_transaction_ss.get_wf_effective_date
7284 (p_transaction_step_id => p_transaction_step_id),g_date_format);
7285 end if;
7286
7287 -- l_effective_date :=
7288 -- hr_transaction_api.get_date_value
7289 -- (p_transaction_step_id => p_transaction_step_id
7290 -- ,p_name => 'p_effective_date');
7291
7292 --
7293 l_activity_name:=
7294 hr_transaction_api.get_varchar2_value
7295 (p_transaction_step_id => p_transaction_step_id
7296 ,p_name => 'p_activity_name');
7297
7298 l_leave_status:=
7299 hr_transaction_api.get_varchar2_value
7300 (p_transaction_step_id => p_transaction_step_id
7301 ,p_name => 'p_leave_status');
7302
7303
7304 --
7305 -- Issue the savepoint.
7306 --
7307 savepoint loa_process_api;
7308
7309 if l_activity_name = 'HrLoa' OR l_activity_name = 'HrLoaComp' then
7310 hr_utility.set_location(l_proc, 20);
7311
7312 get_abs_from_tt
7313 (p_transaction_step_id => p_transaction_step_id
7314 ,p_absence_rec => l_absence_rec);
7315
7316 l_absence_days := l_absence_rec.absence_days ;
7317 l_absence_hours := l_absence_rec.absence_hours ;
7318
7319 --2966372 changes start
7320 l_populate_sickness_dates := is_gb_leg_and_category_s(l_absence_rec.absence_attendance_type_id
7321 , l_absence_rec.business_group_id);
7322
7323 IF l_populate_sickness_dates THEN
7324 l_sickness_start_date := l_absence_rec.date_start;
7325 l_sickness_end_date := l_absence_rec.date_end;
7326 END IF;
7327 --2966372 changes end
7328
7329 hr_person_absence_api.create_person_absence(
7330 p_validate => l_validate
7331 ,p_effective_date => l_effective_date
7332 ,p_person_id => l_absence_rec.person_id
7333 ,p_business_group_id => l_absence_rec.business_group_id
7334 ,p_absence_attendance_type_id => l_absence_rec.absence_attendance_type_id
7335 ,p_abs_attendance_reason_id => l_absence_rec.abs_attendance_reason_id
7336 ,p_comments => l_absence_rec.comments
7337 ,p_date_notification => l_absence_rec.date_notification
7338 ,p_date_projected_start => l_absence_rec.date_projected_start
7339 ,p_time_projected_start => l_absence_rec.time_projected_start
7340 ,p_date_projected_end => l_absence_rec.date_projected_end
7341 ,p_time_projected_end => l_absence_rec.time_projected_end
7342 ,p_date_start => l_absence_rec.date_start
7343 ,p_time_start => l_absence_rec.time_start
7344 ,p_date_end => l_absence_rec.date_end
7345 ,p_time_end => l_absence_rec.time_end
7346 ,p_absence_days => l_absence_rec.absence_days
7347 ,p_absence_hours => l_absence_rec.absence_hours
7348 ,p_authorising_person_id => l_absence_rec.authorising_person_id
7349 ,p_replacement_person_id => l_absence_rec.replacement_person_id
7350 ,p_attribute_category => l_absence_rec.attribute_category
7351 ,p_attribute1 => l_absence_rec.attribute1
7352 ,p_attribute2 => l_absence_rec.attribute2
7353 ,p_attribute3 => l_absence_rec.attribute3
7354 ,p_attribute4 => l_absence_rec.attribute4
7355 ,p_attribute5 => l_absence_rec.attribute5
7356 ,p_attribute6 => l_absence_rec.attribute6
7357 ,p_attribute7 => l_absence_rec.attribute7
7358 ,p_attribute8 => l_absence_rec.attribute8
7359 ,p_attribute9 => l_absence_rec.attribute9
7360 ,p_attribute10 => l_absence_rec.attribute10
7361 ,p_attribute11 => l_absence_rec.attribute11
7362 ,p_attribute12 => l_absence_rec.attribute12
7363 ,p_attribute13 => l_absence_rec.attribute13
7364 ,p_attribute14 => l_absence_rec.attribute14
7365 ,p_attribute15 => l_absence_rec.attribute15
7366 ,p_attribute16 => l_absence_rec.attribute16
7367 ,p_attribute17 => l_absence_rec.attribute17
7368 ,p_attribute18 => l_absence_rec.attribute18
7369 ,p_attribute19 => l_absence_rec.attribute19
7370 ,p_attribute20 => l_absence_rec.attribute20
7371 ,p_period_of_incapacity_id => null
7372 ,p_ssp1_issued => 'N'
7373 ,p_maternity_id => null
7374 ,p_sickness_start_date => l_sickness_start_date --2966372
7375 ,p_sickness_end_date => l_sickness_end_date --2966372
7376 ,p_pregnancy_related_illness => 'N'
7377 ,p_reason_for_notification_dela => null
7378 ,p_accept_late_notification_fla => 'N'
7379 ,p_linked_absence_id => null
7380 ,p_abs_information_category => l_absence_rec.abs_information_category
7381 ,p_abs_information1 => l_absence_rec.abs_information1
7382 ,p_abs_information2 => l_absence_rec.abs_information2
7383 ,p_abs_information3 => l_absence_rec.abs_information3
7384 ,p_abs_information4 => l_absence_rec.abs_information4
7385 ,p_abs_information5 => l_absence_rec.abs_information5
7386 ,p_abs_information6 => l_absence_rec.abs_information6
7387 ,p_abs_information7 => l_absence_rec.abs_information7
7388 ,p_abs_information8 => l_absence_rec.abs_information8
7389 ,p_abs_information9 => l_absence_rec.abs_information9
7390 ,p_abs_information10 => l_absence_rec.abs_information10
7391 ,p_abs_information11 => l_absence_rec.abs_information11
7392 ,p_abs_information12 => l_absence_rec.abs_information12
7393 ,p_abs_information13 => l_absence_rec.abs_information13
7394 ,p_abs_information14 => l_absence_rec.abs_information14
7395 ,p_abs_information15 => l_absence_rec.abs_information15
7396 ,p_abs_information16 => l_absence_rec.abs_information16
7397 ,p_abs_information17 => l_absence_rec.abs_information17
7398 ,p_abs_information18 => l_absence_rec.abs_information18
7399 ,p_abs_information19 => l_absence_rec.abs_information19
7400 ,p_abs_information20 => l_absence_rec.abs_information20
7401 ,p_abs_information21 => l_absence_rec.abs_information21
7402 ,p_abs_information22 => l_absence_rec.abs_information22
7403 ,p_abs_information23 => l_absence_rec.abs_information23
7404 ,p_abs_information24 => l_absence_rec.abs_information24
7405 ,p_abs_information25 => l_absence_rec.abs_information25
7406 ,p_abs_information26 => l_absence_rec.abs_information26
7407 ,p_abs_information27 => l_absence_rec.abs_information27
7408 ,p_abs_information28 => l_absence_rec.abs_information28
7409 ,p_abs_information29 => l_absence_rec.abs_information29
7410 ,p_abs_information30 => l_absence_rec.abs_information30
7411 ,p_absence_attendance_id => l_absence_attendance_id
7412 ,p_object_version_number => l_object_version_number
7413 ,p_occurrence => l_occurrence
7414 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
7415 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
7416 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
7417 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
7418 ,p_abs_overlap_warning => lb_abs_overlap_warning
7419 ,p_abs_day_after_warning => lb_abs_day_after_warning
7420 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
7421 );
7422
7423 elsif l_activity_name = 'HrLoaReturn' OR l_leave_status = g_confirm then
7424 hr_utility.set_location(l_proc, 30);
7425
7426 get_rtn_from_tt
7427 (p_transaction_step_id => p_transaction_step_id
7428 ,p_absence_rec => l_absence_rec);
7429
7430 --3400323 changes start
7431 l_populate_sickness_dates := is_gb_leg_and_category_s(l_absence_rec.absence_attendance_type_id
7432 , l_absence_rec.business_group_id);
7433
7434 IF l_populate_sickness_dates THEN
7435 l_sickness_start_date := l_absence_rec.date_start;
7436 l_sickness_end_date := l_absence_rec.date_end;
7437 END IF;
7438 --3400323 changes end
7439
7440 l_absence_days := l_absence_rec.absence_days ;
7441 l_absence_hours := l_absence_rec.absence_hours ;
7442 l_object_version_number := l_absence_rec.object_version_number;
7443
7444 hr_person_absence_api.update_person_absence(
7445 p_validate => l_validate
7446 ,p_effective_date => l_effective_date
7447 ,p_date_notification => l_effective_date
7448 -- ,p_business_group_id => l_absence_rec.business_group_id
7449 ,p_absence_attendance_id => l_absence_rec.absence_attendance_id
7450 ,p_date_start => l_absence_rec.date_start
7451 ,p_time_start => l_absence_rec.time_start
7452 ,p_date_end => l_absence_rec.date_end
7453 ,p_time_end => l_absence_rec.time_end
7454 ,p_replacement_person_id => l_absence_rec.replacement_person_id
7455 ,p_comments => l_absence_rec.comments
7456 ,p_absence_days => l_absence_rec.absence_days
7457 ,p_absence_hours => l_absence_rec.absence_hours
7458 ,p_attribute_category => l_absence_rec.attribute_category
7459 ,p_attribute1 => l_absence_rec.attribute1
7460 ,p_attribute2 => l_absence_rec.attribute2
7461 ,p_attribute3 => l_absence_rec.attribute3
7462 ,p_attribute4 => l_absence_rec.attribute4
7463 ,p_attribute5 => l_absence_rec.attribute5
7464 ,p_attribute6 => l_absence_rec.attribute6
7465 ,p_attribute7 => l_absence_rec.attribute7
7466 ,p_attribute8 => l_absence_rec.attribute8
7467 ,p_attribute9 => l_absence_rec.attribute9
7468 ,p_attribute10 => l_absence_rec.attribute10
7469 ,p_attribute11 => l_absence_rec.attribute11
7470 ,p_attribute12 => l_absence_rec.attribute12
7471 ,p_attribute13 => l_absence_rec.attribute13
7472 ,p_attribute14 => l_absence_rec.attribute14
7473 ,p_attribute15 => l_absence_rec.attribute15
7474 ,p_attribute16 => l_absence_rec.attribute16
7475 ,p_attribute17 => l_absence_rec.attribute17
7476 ,p_attribute18 => l_absence_rec.attribute18
7477 ,p_attribute19 => l_absence_rec.attribute19
7478 ,p_attribute20 => l_absence_rec.attribute20
7479 ,p_sickness_start_date => l_sickness_start_date --3400323
7480 ,p_sickness_end_date => l_sickness_end_date --3400323
7481 ,p_abs_information_category => l_absence_rec.abs_information_category
7482 ,p_abs_information1 => l_absence_rec.abs_information1
7483 ,p_abs_information2 => l_absence_rec.abs_information2
7484 ,p_abs_information3 => l_absence_rec.abs_information3
7485 ,p_abs_information4 => l_absence_rec.abs_information4
7486 ,p_abs_information5 => l_absence_rec.abs_information5
7487 ,p_abs_information6 => l_absence_rec.abs_information6
7488 ,p_abs_information7 => l_absence_rec.abs_information7
7489 ,p_abs_information8 => l_absence_rec.abs_information8
7490 ,p_abs_information9 => l_absence_rec.abs_information9
7491 ,p_abs_information10 => l_absence_rec.abs_information10
7492 ,p_abs_information11 => l_absence_rec.abs_information11
7493 ,p_abs_information12 => l_absence_rec.abs_information12
7494 ,p_abs_information13 => l_absence_rec.abs_information13
7495 ,p_abs_information14 => l_absence_rec.abs_information14
7496 ,p_abs_information15 => l_absence_rec.abs_information15
7497 ,p_abs_information16 => l_absence_rec.abs_information16
7498 ,p_abs_information17 => l_absence_rec.abs_information17
7499 ,p_abs_information18 => l_absence_rec.abs_information18
7500 ,p_abs_information19 => l_absence_rec.abs_information19
7501 ,p_abs_information20 => l_absence_rec.abs_information20
7502 ,p_abs_information21 => l_absence_rec.abs_information21
7503 ,p_abs_information22 => l_absence_rec.abs_information22
7504 ,p_abs_information23 => l_absence_rec.abs_information23
7505 ,p_abs_information24 => l_absence_rec.abs_information24
7506 ,p_abs_information25 => l_absence_rec.abs_information25
7507 ,p_abs_information26 => l_absence_rec.abs_information26
7508 ,p_abs_information27 => l_absence_rec.abs_information27
7509 ,p_abs_information28 => l_absence_rec.abs_information28
7510 ,p_abs_information29 => l_absence_rec.abs_information29
7511 ,p_abs_information30 => l_absence_rec.abs_information30
7512 ,p_object_version_number => l_object_version_number
7513 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
7514 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
7515 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
7516 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
7517 ,p_abs_overlap_warning => lb_abs_overlap_warning
7518 ,p_abs_day_after_warning => lb_abs_day_after_warning
7519 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
7520 ,p_del_element_entry_warning => lb_del_element_entry_warning
7521 );
7522
7523 elsif l_activity_name = 'HrLoaUpdate' then
7524 hr_utility.set_location(l_proc, 40);
7525
7526 get_upd_from_tt
7527 (p_transaction_step_id => p_transaction_step_id
7528 ,p_absence_rec => l_absence_rec);
7529
7530 l_absence_days := l_absence_rec.absence_days ;
7531 l_absence_hours := l_absence_rec.absence_hours ;
7532 l_object_version_number := l_absence_rec.object_version_number;
7533
7534 --2966372 changes start
7535 l_populate_sickness_dates := is_gb_leg_and_category_s(l_absence_rec.absence_attendance_type_id
7536 , l_absence_rec.business_group_id);
7537
7538 IF l_populate_sickness_dates THEN
7539 l_sickness_start_date := l_absence_rec.date_start;
7540 l_sickness_end_date := l_absence_rec.date_end;
7541 END IF;
7542 --2966372 changes end
7543
7544 hr_person_absence_api.update_person_absence(
7545 p_validate => l_validate
7546 ,p_effective_date => l_effective_date
7547 ,p_date_notification => l_effective_date
7548 -- ,p_business_group_id => l_absence_rec.business_group_id
7549 ,p_absence_attendance_id => l_absence_rec.absence_attendance_id
7550 ,p_date_projected_start => l_absence_rec.date_projected_start
7551 ,p_time_projected_start => l_absence_rec.time_projected_start
7552 ,p_date_projected_end => l_absence_rec.date_projected_end
7553 ,p_time_projected_end => l_absence_rec.time_projected_end
7554 ,p_date_start => null
7555 ,p_time_start => null
7556 ,p_date_end => null
7557 ,p_time_end => null
7558 ,p_absence_days => l_absence_rec.absence_days
7559 ,p_absence_hours => l_absence_rec.absence_hours
7560 ,p_replacement_person_id => l_absence_rec.replacement_person_id
7561 ,p_attribute_category => l_absence_rec.attribute_category
7562 ,p_attribute1 => l_absence_rec.attribute1
7563 ,p_attribute2 => l_absence_rec.attribute2
7564 ,p_attribute3 => l_absence_rec.attribute3
7565 ,p_attribute4 => l_absence_rec.attribute4
7566 ,p_attribute5 => l_absence_rec.attribute5
7567 ,p_attribute6 => l_absence_rec.attribute6
7568 ,p_attribute7 => l_absence_rec.attribute7
7569 ,p_attribute8 => l_absence_rec.attribute8
7570 ,p_attribute9 => l_absence_rec.attribute9
7571 ,p_attribute10 => l_absence_rec.attribute10
7572 ,p_attribute11 => l_absence_rec.attribute11
7573 ,p_attribute12 => l_absence_rec.attribute12
7574 ,p_attribute13 => l_absence_rec.attribute13
7575 ,p_attribute14 => l_absence_rec.attribute14
7576 ,p_attribute15 => l_absence_rec.attribute15
7577 ,p_attribute16 => l_absence_rec.attribute16
7578 ,p_attribute17 => l_absence_rec.attribute17
7579 ,p_attribute18 => l_absence_rec.attribute18
7580 ,p_attribute19 => l_absence_rec.attribute19
7581 ,p_attribute20 => l_absence_rec.attribute20
7582 ,p_period_of_incapacity_id => null
7583 ,p_ssp1_issued => 'N'
7584 ,p_maternity_id => null
7585 ,p_sickness_start_date => l_sickness_start_date --2966372
7586 ,p_sickness_end_date => l_sickness_end_date --2966372
7587 ,p_pregnancy_related_illness => 'N'
7588 ,p_reason_for_notification_dela => null
7589 ,p_accept_late_notification_fla => 'N'
7590 ,p_linked_absence_id => null
7591 ,p_abs_information_category => l_absence_rec.abs_information_category
7592 ,p_abs_information1 => l_absence_rec.abs_information1
7593 ,p_abs_information2 => l_absence_rec.abs_information2
7594 ,p_abs_information3 => l_absence_rec.abs_information3
7595 ,p_abs_information4 => l_absence_rec.abs_information4
7596 ,p_abs_information5 => l_absence_rec.abs_information5
7597 ,p_abs_information6 => l_absence_rec.abs_information6
7598 ,p_abs_information7 => l_absence_rec.abs_information7
7599 ,p_abs_information8 => l_absence_rec.abs_information8
7600 ,p_abs_information9 => l_absence_rec.abs_information9
7601 ,p_abs_information10 => l_absence_rec.abs_information10
7602 ,p_abs_information11 => l_absence_rec.abs_information11
7603 ,p_abs_information12 => l_absence_rec.abs_information12
7604 ,p_abs_information13 => l_absence_rec.abs_information13
7605 ,p_abs_information14 => l_absence_rec.abs_information14
7606 ,p_abs_information15 => l_absence_rec.abs_information15
7607 ,p_abs_information16 => l_absence_rec.abs_information16
7608 ,p_abs_information17 => l_absence_rec.abs_information17
7609 ,p_abs_information18 => l_absence_rec.abs_information18
7610 ,p_abs_information19 => l_absence_rec.abs_information19
7611 ,p_abs_information20 => l_absence_rec.abs_information20
7612 ,p_abs_information21 => l_absence_rec.abs_information21
7613 ,p_abs_information22 => l_absence_rec.abs_information22
7614 ,p_abs_information23 => l_absence_rec.abs_information23
7615 ,p_abs_information24 => l_absence_rec.abs_information24
7616 ,p_abs_information25 => l_absence_rec.abs_information25
7617 ,p_abs_information26 => l_absence_rec.abs_information26
7618 ,p_abs_information27 => l_absence_rec.abs_information27
7619 ,p_abs_information28 => l_absence_rec.abs_information28
7620 ,p_abs_information29 => l_absence_rec.abs_information29
7621 ,p_abs_information30 => l_absence_rec.abs_information30
7622 ,p_comments => l_absence_rec.comments --3232911
7623 ,p_object_version_number => l_object_version_number
7624 ,p_dur_dys_less_warning => lb_dur_dys_less_warning
7625 ,p_dur_hrs_less_warning => lb_dur_hrs_less_warning
7626 ,p_exceeds_pto_entit_warning => lb_exceeds_pto_entit_warning
7627 ,p_exceeds_run_total_warning => lb_exceeds_run_total_warning
7628 ,p_abs_overlap_warning => lb_abs_overlap_warning
7629 ,p_abs_day_after_warning => lb_abs_day_after_warning
7630 ,p_dur_overwritten_warning => lb_dur_overwritten_warning
7631 ,p_del_element_entry_warning => lb_del_element_entry_warning
7632 );
7633
7634 end if;
7635 -- Fix 2706099
7636 -- No error should be displayed for such warnings
7637
7638
7639 -- 2713296
7640 --if lb_abs_overlap_warning = true then
7641 --rollback to loa_process_api;
7642 --hr_utility.set_message(800, 'HR_LOA_ABSENCE_OVERLAP');
7643 --hr_utility.raise_error;
7644 --end if;
7645 -- 2713296
7646
7647 hr_utility.set_location(' Leaving:' || l_proc,45);
7648
7649
7650 EXCEPTION
7651 WHEN OTHERS THEN
7652 rollback to loa_process_api;
7653 hr_utility.trace('Exception in .process_api:' || SQLERRM );
7654 hr_utility.set_location(' Leaving:' || l_proc,555);
7655
7656 raise ;
7657 end process_api;
7658
7659 /*
7660 ||===========================================================================
7661 || PROCEDURE: get_abs_from_tt
7662 ||---------------------------------------------------------------------------
7663 ||
7664 || Description:
7665 || This procedure will retrieve data from hr_api_transaction_values
7666 ||
7667 || Access Status:
7668 || Public.
7669 ||
7670 ||===========================================================================
7671 */
7672 procedure get_abs_from_tt(
7673 p_transaction_step_id in number
7674 ,p_absence_rec out nocopy per_absence_attendances%rowtype
7675 ) is
7676
7677 l_proc varchar2(72) := g_package||'get_abs_from_tt';
7678 --
7679 begin
7680
7681 --hr_utility.set_location(' Entering:' || l_proc,5);
7682
7683 p_absence_rec.business_group_id:=
7684 hr_transaction_api.get_number_value
7685 (p_transaction_step_id => p_transaction_step_id
7686 ,p_name => 'p_business_group_id');
7687 --
7688 p_absence_rec.person_id:=
7689 hr_transaction_api.get_number_value
7690 (p_transaction_step_id => p_transaction_step_id
7691 ,p_name => 'p_person_id');
7692 --
7693 p_absence_rec.absence_attendance_type_id:=
7694 hr_transaction_api.get_number_value
7695 (p_transaction_step_id => p_transaction_step_id
7696 ,p_name => 'p_absence_attendance_type_id');
7697 --
7698 p_absence_rec.abs_attendance_reason_id:=
7699 hr_transaction_api.get_number_value
7700 (p_transaction_step_id => p_transaction_step_id
7701 ,p_name => 'p_abs_attendance_reason_id');
7702 --
7703 p_absence_rec.comments:=
7704 hr_transaction_api.get_varchar2_value
7705 (p_transaction_step_id => p_transaction_step_id
7706 ,p_name => 'p_comments');
7707 --
7708 p_absence_rec.date_notification:=
7709 hr_transaction_api.get_date_value
7710 (p_transaction_step_id => p_transaction_step_id
7711 ,p_name => 'p_date_notification');
7712 --
7713 p_absence_rec.authorising_person_id:=
7714 hr_transaction_api.get_number_value
7715 (p_transaction_step_id => p_transaction_step_id
7716 ,p_name => 'p_authorising_person_id');
7717 --
7718 p_absence_rec.replacement_person_id:=
7719 hr_transaction_api.get_number_value
7720 (p_transaction_step_id => p_transaction_step_id
7721 ,p_name => 'p_replacement_person_id');
7722 --
7723 p_absence_rec.date_projected_start:=
7724 hr_transaction_api.get_date_value
7725 (p_transaction_step_id => p_transaction_step_id
7726 ,p_name => 'p_date_projected_start');
7727 --
7728 p_absence_rec.time_projected_start:=
7729 hr_transaction_api.get_varchar2_value
7730 (p_transaction_step_id => p_transaction_step_id
7731 ,p_name => 'p_time_projected_start');
7732 --
7733 p_absence_rec.date_projected_end:=
7734 hr_transaction_api.get_date_value
7735 (p_transaction_step_id => p_transaction_step_id
7736 ,p_name => 'p_date_projected_end');
7737 --
7738 p_absence_rec.time_projected_end:=
7739 hr_transaction_api.get_varchar2_value
7740 (p_transaction_step_id => p_transaction_step_id
7741 ,p_name => 'p_time_projected_end');
7742 --
7743 p_absence_rec.date_start:=
7744 hr_transaction_api.get_date_value
7745 (p_transaction_step_id => p_transaction_step_id
7746 ,p_name => 'p_date_start');
7747 --
7748 p_absence_rec.time_start:=
7749 hr_transaction_api.get_varchar2_value
7750 (p_transaction_step_id => p_transaction_step_id
7751 ,p_name => 'p_time_start');
7752 --
7753 p_absence_rec.date_end:=
7754 hr_transaction_api.get_date_value
7755 (p_transaction_step_id => p_transaction_step_id
7756 ,p_name => 'p_date_end');
7757 --
7758 p_absence_rec.time_end:=
7759 hr_transaction_api.get_varchar2_value
7760 (p_transaction_step_id => p_transaction_step_id
7761 ,p_name => 'p_time_end');
7762 --
7763 p_absence_rec.absence_days:=
7764 hr_transaction_api.get_number_value
7765 (p_transaction_step_id => p_transaction_step_id
7766 ,p_name => 'p_absence_days');
7767 --
7768 p_absence_rec.absence_hours:=
7769 hr_transaction_api.get_number_value
7770 (p_transaction_step_id => p_transaction_step_id
7771 ,p_name => 'p_absence_hours');
7772 --
7773 p_absence_rec.attribute_category:=
7774 hr_transaction_api.get_varchar2_value
7775 (p_transaction_step_id => p_transaction_step_id
7776 ,p_name => 'p_attribute_category');
7777 --
7778 p_absence_rec.attribute1 :=
7779 hr_transaction_api.get_varchar2_value
7780 (p_transaction_step_id => p_transaction_step_id
7781 ,p_name => 'p_attribute1');
7782 --
7783
7784 p_absence_rec.attribute2 :=
7785 hr_transaction_api.get_varchar2_value
7786 (p_transaction_step_id => p_transaction_step_id
7787 ,p_name => 'p_attribute2');
7788 --
7789 p_absence_rec.attribute3 :=
7790 hr_transaction_api.get_varchar2_value
7791 (p_transaction_step_id => p_transaction_step_id
7792 ,p_name => 'p_attribute3');
7793 --
7794 p_absence_rec.attribute4 :=
7795 hr_transaction_api.get_varchar2_value
7796 (p_transaction_step_id => p_transaction_step_id
7797 ,p_name => 'p_attribute4');
7798 --
7799 p_absence_rec.attribute5 :=
7800 hr_transaction_api.get_varchar2_value
7801 (p_transaction_step_id => p_transaction_step_id
7802 ,p_name => 'p_attribute5');
7803 --
7804 p_absence_rec.attribute6 :=
7805 hr_transaction_api.get_varchar2_value
7806 (p_transaction_step_id => p_transaction_step_id
7807 ,p_name => 'p_attribute6');
7808 --
7809 p_absence_rec.attribute7 :=
7810 hr_transaction_api.get_varchar2_value
7811 (p_transaction_step_id => p_transaction_step_id
7812 ,p_name => 'p_attribute7');
7813 --
7814 p_absence_rec.attribute8 :=
7815 hr_transaction_api.get_varchar2_value
7816 (p_transaction_step_id => p_transaction_step_id
7817 ,p_name => 'p_attribute8');
7818 --
7819 p_absence_rec.attribute9 :=
7820 hr_transaction_api.get_varchar2_value
7821 (p_transaction_step_id => p_transaction_step_id
7822 ,p_name => 'p_attribute9');
7823 --
7824 p_absence_rec.attribute10 :=
7825 hr_transaction_api.get_varchar2_value
7826 (p_transaction_step_id => p_transaction_step_id
7827 ,p_name => 'p_attribute10');
7828 --
7829 p_absence_rec.attribute11 :=
7830 hr_transaction_api.get_varchar2_value
7831 (p_transaction_step_id => p_transaction_step_id
7832 ,p_name => 'p_attribute11');
7833 --
7834 p_absence_rec.attribute12 :=
7835 hr_transaction_api.get_varchar2_value
7836 (p_transaction_step_id => p_transaction_step_id
7837 ,p_name => 'p_attribute12');
7838 --
7839 p_absence_rec.attribute13 :=
7840 hr_transaction_api.get_varchar2_value
7841 (p_transaction_step_id => p_transaction_step_id
7842 ,p_name => 'p_attribute13');
7843 --
7844 p_absence_rec.attribute14 :=
7845 hr_transaction_api.get_varchar2_value
7846 (p_transaction_step_id => p_transaction_step_id
7847 ,p_name => 'p_attribute14');
7848 --
7849 p_absence_rec.attribute15 :=
7850 hr_transaction_api.get_varchar2_value
7851 (p_transaction_step_id => p_transaction_step_id
7852 ,p_name => 'p_attribute15');
7853 --
7854 p_absence_rec.attribute16 :=
7855 hr_transaction_api.get_varchar2_value
7856 (p_transaction_step_id => p_transaction_step_id
7857 ,p_name => 'p_attribute16');
7858 --
7859 p_absence_rec.attribute17 :=
7860 hr_transaction_api.get_varchar2_value
7861 (p_transaction_step_id => p_transaction_step_id
7862 ,p_name => 'p_attribute17');
7863 --
7864 p_absence_rec.attribute18 :=
7865 hr_transaction_api.get_varchar2_value
7866 (p_transaction_step_id => p_transaction_step_id
7867 ,p_name => 'p_attribute18');
7868 --
7869 p_absence_rec.attribute19 :=
7870 hr_transaction_api.get_varchar2_value
7871 (p_transaction_step_id => p_transaction_step_id
7872 ,p_name => 'p_attribute19');
7873 --
7874 p_absence_rec.attribute20 :=
7875 hr_transaction_api.get_varchar2_value
7876 (p_transaction_step_id => p_transaction_step_id
7877 ,p_name => 'p_attribute20');
7878 --
7879 p_absence_rec.abs_information_category:=
7880 hr_transaction_api.get_varchar2_value
7881 (p_transaction_step_id => p_transaction_step_id
7882 ,p_name => 'p_abs_information_category');
7883 --
7884 p_absence_rec.abs_information1 :=
7885 hr_transaction_api.get_varchar2_value
7886 (p_transaction_step_id => p_transaction_step_id
7887 ,p_name => 'p_abs_information1');
7888 --
7889
7890 p_absence_rec.abs_information2 :=
7891 hr_transaction_api.get_varchar2_value
7892 (p_transaction_step_id => p_transaction_step_id
7893 ,p_name => 'p_abs_information2');
7894 --
7895 p_absence_rec.abs_information3 :=
7896 hr_transaction_api.get_varchar2_value
7897 (p_transaction_step_id => p_transaction_step_id
7898 ,p_name => 'p_abs_information3');
7899 --
7900 p_absence_rec.abs_information4 :=
7901 hr_transaction_api.get_varchar2_value
7902 (p_transaction_step_id => p_transaction_step_id
7903 ,p_name => 'p_abs_information4');
7904 --
7905 p_absence_rec.abs_information5 :=
7906 hr_transaction_api.get_varchar2_value
7907 (p_transaction_step_id => p_transaction_step_id
7908 ,p_name => 'p_abs_information5');
7909 --
7910 p_absence_rec.abs_information6 :=
7911 hr_transaction_api.get_varchar2_value
7912 (p_transaction_step_id => p_transaction_step_id
7913 ,p_name => 'p_abs_information6');
7914 --
7915 p_absence_rec.abs_information7 :=
7916 hr_transaction_api.get_varchar2_value
7917 (p_transaction_step_id => p_transaction_step_id
7918 ,p_name => 'p_abs_information7');
7919 --
7920 p_absence_rec.abs_information8 :=
7921 hr_transaction_api.get_varchar2_value
7922 (p_transaction_step_id => p_transaction_step_id
7923 ,p_name => 'p_abs_information8');
7924 --
7925 p_absence_rec.abs_information9 :=
7926 hr_transaction_api.get_varchar2_value
7927 (p_transaction_step_id => p_transaction_step_id
7928 ,p_name => 'p_abs_information9');
7929 --
7930 p_absence_rec.abs_information10 :=
7931 hr_transaction_api.get_varchar2_value
7932 (p_transaction_step_id => p_transaction_step_id
7933 ,p_name => 'p_abs_information10');
7934 --
7935 p_absence_rec.abs_information11 :=
7936 hr_transaction_api.get_varchar2_value
7937 (p_transaction_step_id => p_transaction_step_id
7938 ,p_name => 'p_abs_information11');
7939 --
7940 p_absence_rec.abs_information12 :=
7941 hr_transaction_api.get_varchar2_value
7942 (p_transaction_step_id => p_transaction_step_id
7943 ,p_name => 'p_abs_information12');
7944 --
7945 p_absence_rec.abs_information13 :=
7946 hr_transaction_api.get_varchar2_value
7947 (p_transaction_step_id => p_transaction_step_id
7948 ,p_name => 'p_abs_information13');
7949 --
7950 p_absence_rec.abs_information14 :=
7951 hr_transaction_api.get_varchar2_value
7952 (p_transaction_step_id => p_transaction_step_id
7953 ,p_name => 'p_abs_information14');
7954 --
7955 p_absence_rec.abs_information15 :=
7956 hr_transaction_api.get_varchar2_value
7957 (p_transaction_step_id => p_transaction_step_id
7958 ,p_name => 'p_abs_information15');
7959 --
7960 p_absence_rec.abs_information16 :=
7961 hr_transaction_api.get_varchar2_value
7962 (p_transaction_step_id => p_transaction_step_id
7963 ,p_name => 'p_abs_information16');
7964 --
7965 p_absence_rec.abs_information17 :=
7966 hr_transaction_api.get_varchar2_value
7967 (p_transaction_step_id => p_transaction_step_id
7968 ,p_name => 'p_abs_information17');
7969 --
7970 p_absence_rec.abs_information18 :=
7971 hr_transaction_api.get_varchar2_value
7972 (p_transaction_step_id => p_transaction_step_id
7973 ,p_name => 'p_abs_information18');
7974 --
7975 p_absence_rec.abs_information19 :=
7976 hr_transaction_api.get_varchar2_value
7977 (p_transaction_step_id => p_transaction_step_id
7978 ,p_name => 'p_abs_information19');
7979 --
7980 p_absence_rec.abs_information20 :=
7981 hr_transaction_api.get_varchar2_value
7982 (p_transaction_step_id => p_transaction_step_id
7983 ,p_name => 'p_abs_information20');
7984 --
7985 p_absence_rec.abs_information21 :=
7986 hr_transaction_api.get_varchar2_value
7987 (p_transaction_step_id => p_transaction_step_id
7988 ,p_name => 'p_abs_information21');
7989 --
7990 p_absence_rec.abs_information22 :=
7991 hr_transaction_api.get_varchar2_value
7992 (p_transaction_step_id => p_transaction_step_id
7993 ,p_name => 'p_abs_information22');
7994 --
7995 p_absence_rec.abs_information23 :=
7996 hr_transaction_api.get_varchar2_value
7997 (p_transaction_step_id => p_transaction_step_id
7998 ,p_name => 'p_abs_information23');
7999 --
8000 p_absence_rec.abs_information24 :=
8001 hr_transaction_api.get_varchar2_value
8002 (p_transaction_step_id => p_transaction_step_id
8003 ,p_name => 'p_abs_information24');
8004 --
8005 p_absence_rec.abs_information25 :=
8006 hr_transaction_api.get_varchar2_value
8007 (p_transaction_step_id => p_transaction_step_id
8008 ,p_name => 'p_abs_information25');
8009 --
8010 p_absence_rec.abs_information26 :=
8011 hr_transaction_api.get_varchar2_value
8012 (p_transaction_step_id => p_transaction_step_id
8013 ,p_name => 'p_abs_information26');
8014 --
8015 p_absence_rec.abs_information27 :=
8016 hr_transaction_api.get_varchar2_value
8017 (p_transaction_step_id => p_transaction_step_id
8018 ,p_name => 'p_abs_information27');
8019
8020 --
8021 p_absence_rec.abs_information28 :=
8022 hr_transaction_api.get_varchar2_value
8023 (p_transaction_step_id => p_transaction_step_id
8024 ,p_name => 'p_abs_information28');
8025 --
8026 p_absence_rec.abs_information29 :=
8027 hr_transaction_api.get_varchar2_value
8028 (p_transaction_step_id => p_transaction_step_id
8029 ,p_name => 'p_abs_information29');
8030 --
8031 p_absence_rec.abs_information30 :=
8032 hr_transaction_api.get_varchar2_value
8033 (p_transaction_step_id => p_transaction_step_id
8034 ,p_name => 'p_abs_information30');
8035 --
8036 hr_utility.set_location(' Leaving:' || l_proc,10);
8037
8038
8039 EXCEPTION
8040 WHEN OTHERS THEN
8041 hr_utility.trace ( 'Exception in .get_abs_from_tt: ' || SQLERRM );
8042 hr_utility.set_location(' Leaving:' || l_proc,15);
8043
8044 raise ;
8045 end get_abs_from_tt;
8046
8047 /*
8048 ||===========================================================================
8049 || PROCEDURE: get_rtn_from_tt
8050 ||---------------------------------------------------------------------------
8051 ||
8052 || Description:
8053 || This procedure will retrieve data from hr_api_transaction_values
8054 ||
8055 || Access Status:
8056 || Public.
8057 ||
8058 ||===========================================================================
8059 */
8060 procedure get_rtn_from_tt(
8061 p_transaction_step_id in number
8062 ,p_absence_rec out nocopy per_absence_attendances%rowtype
8063 ) is
8064
8065 --
8066 l_proc varchar2(72) := g_package||'get_rtn_from_tt';
8067 --
8068 begin
8069
8070 --
8071 hr_utility.set_location(' Entering:' || l_proc,5);
8072
8073 p_absence_rec.person_id:=
8074 hr_transaction_api.get_number_value
8075 (p_transaction_step_id => p_transaction_step_id
8076 ,p_name => 'p_person_id');
8077 --
8078 p_absence_rec.absence_attendance_type_id:=
8079 hr_transaction_api.get_number_value
8080 (p_transaction_step_id => p_transaction_step_id
8081 ,p_name => 'p_absence_attendance_type_id');
8082 --
8083 p_absence_rec.absence_attendance_id:=
8084 hr_transaction_api.get_number_value
8085 (p_transaction_step_id => p_transaction_step_id
8086 ,p_name => 'p_absence_attendance_id');
8087 --
8088 p_absence_rec.business_group_id:=
8089 hr_transaction_api.get_number_value
8090 (p_transaction_step_id => p_transaction_step_id
8091 ,p_name => 'p_business_group_id');
8092 --
8093 p_absence_rec.object_version_number:=
8094 hr_transaction_api.get_number_value
8095 (p_transaction_step_id => p_transaction_step_id
8096 ,p_name => 'p_object_version_number');
8097 --
8098 p_absence_rec.date_notification:=
8099 hr_transaction_api.get_date_value
8100 (p_transaction_step_id => p_transaction_step_id
8101 ,p_name => 'p_date_notification');
8102 --
8103 p_absence_rec.date_start:=
8104 hr_transaction_api.get_date_value
8105 (p_transaction_step_id => p_transaction_step_id
8106 ,p_name => 'p_date_start');
8107 --
8108 p_absence_rec.time_start:=
8109 hr_transaction_api.get_varchar2_value
8110 (p_transaction_step_id => p_transaction_step_id
8111 ,p_name => 'p_time_start');
8112 --
8113 p_absence_rec.date_end:=
8114 hr_transaction_api.get_date_value
8115 (p_transaction_step_id => p_transaction_step_id
8116 ,p_name => 'p_date_end');
8117 --
8118 p_absence_rec.time_end:=
8119 hr_transaction_api.get_varchar2_value
8120 (p_transaction_step_id => p_transaction_step_id
8121 ,p_name => 'p_time_end');
8122 --
8123 p_absence_rec.absence_days:=
8124 hr_transaction_api.get_number_value
8125 (p_transaction_step_id => p_transaction_step_id
8126 ,p_name => 'p_absence_days');
8127 --
8128 p_absence_rec.absence_hours:=
8129 hr_transaction_api.get_number_value
8130 (p_transaction_step_id => p_transaction_step_id
8131 ,p_name => 'p_absence_hours');
8132 --
8133 p_absence_rec.replacement_person_id:=
8134 hr_transaction_api.get_number_value
8135 (p_transaction_step_id => p_transaction_step_id
8136 ,p_name => 'p_replacement_person_id');
8137
8138 --
8139 p_absence_rec.comments:=
8140 hr_transaction_api.get_varchar2_value
8141 (p_transaction_step_id => p_transaction_step_id
8142 ,p_name => 'p_comments');
8143
8144 --
8145 p_absence_rec.attribute_category:=
8146 hr_transaction_api.get_varchar2_value
8147 (p_transaction_step_id => p_transaction_step_id
8148 ,p_name => 'p_attribute_category');
8149 --
8150 p_absence_rec.attribute1 :=
8151 hr_transaction_api.get_varchar2_value
8152 (p_transaction_step_id => p_transaction_step_id
8153 ,p_name => 'p_attribute1');
8154 --
8155
8156 p_absence_rec.attribute2 :=
8157 hr_transaction_api.get_varchar2_value
8158 (p_transaction_step_id => p_transaction_step_id
8159 ,p_name => 'p_attribute2');
8160 --
8161 p_absence_rec.attribute3 :=
8162 hr_transaction_api.get_varchar2_value
8163 (p_transaction_step_id => p_transaction_step_id
8164 ,p_name => 'p_attribute3');
8165 --
8166 p_absence_rec.attribute4 :=
8167 hr_transaction_api.get_varchar2_value
8168 (p_transaction_step_id => p_transaction_step_id
8169 ,p_name => 'p_attribute4');
8170 --
8171 p_absence_rec.attribute5 :=
8172 hr_transaction_api.get_varchar2_value
8173 (p_transaction_step_id => p_transaction_step_id
8174 ,p_name => 'p_attribute5');
8175 --
8176 p_absence_rec.attribute6 :=
8177 hr_transaction_api.get_varchar2_value
8178 (p_transaction_step_id => p_transaction_step_id
8179 ,p_name => 'p_attribute6');
8180 --
8181 p_absence_rec.attribute7 :=
8182 hr_transaction_api.get_varchar2_value
8183 (p_transaction_step_id => p_transaction_step_id
8184 ,p_name => 'p_attribute7');
8185 --
8186 p_absence_rec.attribute8 :=
8187 hr_transaction_api.get_varchar2_value
8188 (p_transaction_step_id => p_transaction_step_id
8189 ,p_name => 'p_attribute8');
8190 --
8191 p_absence_rec.attribute9 :=
8192 hr_transaction_api.get_varchar2_value
8193 (p_transaction_step_id => p_transaction_step_id
8194 ,p_name => 'p_attribute9');
8195 --
8196 p_absence_rec.attribute10 :=
8197 hr_transaction_api.get_varchar2_value
8198 (p_transaction_step_id => p_transaction_step_id
8199 ,p_name => 'p_attribute10');
8200 --
8201 p_absence_rec.attribute11 :=
8202 hr_transaction_api.get_varchar2_value
8203 (p_transaction_step_id => p_transaction_step_id
8204 ,p_name => 'p_attribute11');
8205 --
8206 p_absence_rec.attribute12 :=
8207 hr_transaction_api.get_varchar2_value
8208 (p_transaction_step_id => p_transaction_step_id
8209 ,p_name => 'p_attribute12');
8210 --
8211 p_absence_rec.attribute13 :=
8212 hr_transaction_api.get_varchar2_value
8213 (p_transaction_step_id => p_transaction_step_id
8214 ,p_name => 'p_attribute13');
8215 --
8216 p_absence_rec.attribute14 :=
8217 hr_transaction_api.get_varchar2_value
8218 (p_transaction_step_id => p_transaction_step_id
8219 ,p_name => 'p_attribute14');
8220 --
8221 p_absence_rec.attribute15 :=
8222 hr_transaction_api.get_varchar2_value
8223 (p_transaction_step_id => p_transaction_step_id
8224 ,p_name => 'p_attribute15');
8225 --
8226 p_absence_rec.attribute16 :=
8227 hr_transaction_api.get_varchar2_value
8228 (p_transaction_step_id => p_transaction_step_id
8229 ,p_name => 'p_attribute16');
8230 --
8231 p_absence_rec.attribute17 :=
8232 hr_transaction_api.get_varchar2_value
8233 (p_transaction_step_id => p_transaction_step_id
8234 ,p_name => 'p_attribute17');
8235 --
8236 p_absence_rec.attribute18 :=
8237 hr_transaction_api.get_varchar2_value
8238 (p_transaction_step_id => p_transaction_step_id
8239 ,p_name => 'p_attribute18');
8240 --
8241 p_absence_rec.attribute19 :=
8242 hr_transaction_api.get_varchar2_value
8243 (p_transaction_step_id => p_transaction_step_id
8244 ,p_name => 'p_attribute19');
8245 --
8246 p_absence_rec.attribute20 :=
8247 hr_transaction_api.get_varchar2_value
8248 (p_transaction_step_id => p_transaction_step_id
8249 ,p_name => 'p_attribute20');
8250 --
8251 p_absence_rec.abs_information_category:=
8252 hr_transaction_api.get_varchar2_value
8253 (p_transaction_step_id => p_transaction_step_id
8254 ,p_name => 'p_abs_information_category');
8255 --
8256 p_absence_rec.abs_information1 :=
8257 hr_transaction_api.get_varchar2_value
8258 (p_transaction_step_id => p_transaction_step_id
8259 ,p_name => 'p_abs_information1');
8260 --
8261
8262 p_absence_rec.abs_information2 :=
8263 hr_transaction_api.get_varchar2_value
8264 (p_transaction_step_id => p_transaction_step_id
8265 ,p_name => 'p_abs_information2');
8266 --
8267 p_absence_rec.abs_information3 :=
8268 hr_transaction_api.get_varchar2_value
8269 (p_transaction_step_id => p_transaction_step_id
8270 ,p_name => 'p_abs_information3');
8271 --
8272 p_absence_rec.abs_information4 :=
8273 hr_transaction_api.get_varchar2_value
8274 (p_transaction_step_id => p_transaction_step_id
8275 ,p_name => 'p_abs_information4');
8276 --
8277 p_absence_rec.abs_information5 :=
8278 hr_transaction_api.get_varchar2_value
8279 (p_transaction_step_id => p_transaction_step_id
8280 ,p_name => 'p_abs_information5');
8281 --
8282 p_absence_rec.abs_information6 :=
8283 hr_transaction_api.get_varchar2_value
8284 (p_transaction_step_id => p_transaction_step_id
8285 ,p_name => 'p_abs_information6');
8286 --
8287 p_absence_rec.abs_information7 :=
8288 hr_transaction_api.get_varchar2_value
8289 (p_transaction_step_id => p_transaction_step_id
8290 ,p_name => 'p_abs_information7');
8291 --
8292 p_absence_rec.abs_information8 :=
8293 hr_transaction_api.get_varchar2_value
8294 (p_transaction_step_id => p_transaction_step_id
8295 ,p_name => 'p_abs_information8');
8296 --
8297 p_absence_rec.abs_information9 :=
8298 hr_transaction_api.get_varchar2_value
8299 (p_transaction_step_id => p_transaction_step_id
8300 ,p_name => 'p_abs_information9');
8301 --
8302 p_absence_rec.abs_information10 :=
8303 hr_transaction_api.get_varchar2_value
8304 (p_transaction_step_id => p_transaction_step_id
8305 ,p_name => 'p_abs_information10');
8306 --
8307 p_absence_rec.abs_information11 :=
8308 hr_transaction_api.get_varchar2_value
8309 (p_transaction_step_id => p_transaction_step_id
8310 ,p_name => 'p_abs_information11');
8311 --
8312 p_absence_rec.abs_information12 :=
8313 hr_transaction_api.get_varchar2_value
8314 (p_transaction_step_id => p_transaction_step_id
8315 ,p_name => 'p_abs_information12');
8316 --
8317 p_absence_rec.abs_information13 :=
8318 hr_transaction_api.get_varchar2_value
8319 (p_transaction_step_id => p_transaction_step_id
8320 ,p_name => 'p_abs_information13');
8321 --
8322 p_absence_rec.abs_information14 :=
8323 hr_transaction_api.get_varchar2_value
8324 (p_transaction_step_id => p_transaction_step_id
8325 ,p_name => 'p_abs_information14');
8326 --
8327 p_absence_rec.abs_information15 :=
8328 hr_transaction_api.get_varchar2_value
8329 (p_transaction_step_id => p_transaction_step_id
8330 ,p_name => 'p_abs_information15');
8331 --
8332 p_absence_rec.abs_information16 :=
8333 hr_transaction_api.get_varchar2_value
8334 (p_transaction_step_id => p_transaction_step_id
8335 ,p_name => 'p_abs_information16');
8336 --
8337 p_absence_rec.abs_information17 :=
8338 hr_transaction_api.get_varchar2_value
8339 (p_transaction_step_id => p_transaction_step_id
8340 ,p_name => 'p_abs_information17');
8341 --
8342 p_absence_rec.abs_information18 :=
8343 hr_transaction_api.get_varchar2_value
8344 (p_transaction_step_id => p_transaction_step_id
8345 ,p_name => 'p_abs_information18');
8346 --
8347 p_absence_rec.abs_information19 :=
8348 hr_transaction_api.get_varchar2_value
8349 (p_transaction_step_id => p_transaction_step_id
8350 ,p_name => 'p_abs_information19');
8351 --
8352 p_absence_rec.abs_information20 :=
8353 hr_transaction_api.get_varchar2_value
8354 (p_transaction_step_id => p_transaction_step_id
8355 ,p_name => 'p_abs_information20');
8356 --
8357 p_absence_rec.abs_information21 :=
8358 hr_transaction_api.get_varchar2_value
8359 (p_transaction_step_id => p_transaction_step_id
8360 ,p_name => 'p_abs_information21');
8361 --
8362 p_absence_rec.abs_information22 :=
8363 hr_transaction_api.get_varchar2_value
8364 (p_transaction_step_id => p_transaction_step_id
8365 ,p_name => 'p_abs_information22');
8366 --
8367 p_absence_rec.abs_information23 :=
8368 hr_transaction_api.get_varchar2_value
8369 (p_transaction_step_id => p_transaction_step_id
8370 ,p_name => 'p_abs_information23');
8371 --
8372 p_absence_rec.abs_information24 :=
8373 hr_transaction_api.get_varchar2_value
8374 (p_transaction_step_id => p_transaction_step_id
8375 ,p_name => 'p_abs_information24');
8376 --
8377 p_absence_rec.abs_information25 :=
8378 hr_transaction_api.get_varchar2_value
8379 (p_transaction_step_id => p_transaction_step_id
8380 ,p_name => 'p_abs_information25');
8381 --
8382 p_absence_rec.abs_information26 :=
8383 hr_transaction_api.get_varchar2_value
8384 (p_transaction_step_id => p_transaction_step_id
8385 ,p_name => 'p_abs_information26');
8386 --
8387 p_absence_rec.abs_information27 :=
8388 hr_transaction_api.get_varchar2_value
8389 (p_transaction_step_id => p_transaction_step_id
8390 ,p_name => 'p_abs_information27');
8391
8392 --
8393 p_absence_rec.abs_information28 :=
8394 hr_transaction_api.get_varchar2_value
8395 (p_transaction_step_id => p_transaction_step_id
8396 ,p_name => 'p_abs_information28');
8397 --
8398 p_absence_rec.abs_information29 :=
8399 hr_transaction_api.get_varchar2_value
8400 (p_transaction_step_id => p_transaction_step_id
8401 ,p_name => 'p_abs_information29');
8402 --
8403 p_absence_rec.abs_information30 :=
8404 hr_transaction_api.get_varchar2_value
8405 (p_transaction_step_id => p_transaction_step_id
8406 ,p_name => 'p_abs_information30');
8407 --
8408 hr_utility.set_location(' Leaving:' || l_proc,10);
8409
8410 EXCEPTION
8411 WHEN OTHERS THEN
8412 hr_utility.trace(' get_rtn_from_tt: ' || SQLERRM );
8413 hr_utility.set_location(' Leaving:' || l_proc,555);
8414
8415 raise ;
8416 end get_rtn_from_tt;
8417
8418 /*
8419 ||===========================================================================
8420 || PROCEDURE: get_upd_from_tt
8421 ||---------------------------------------------------------------------------
8422 ||
8423 || Description:
8424 || This procedure will retrieve data from hr_api_transaction_values
8425 ||
8426 || Access Status:
8427 || Public.
8428 ||
8429 ||===========================================================================
8430 */
8431 procedure get_upd_from_tt(
8432 p_transaction_step_id in number
8433 ,p_absence_rec out nocopy per_absence_attendances%rowtype
8434 ) is
8435
8436 --
8437 l_proc varchar2(72) := g_package||'get_upd_from_tt';
8438 --
8439 begin
8440
8441 hr_utility.set_location(' Entering:' || l_proc,5);
8442
8443 --
8444 p_absence_rec.absence_attendance_id:=
8445 hr_transaction_api.get_number_value
8446 (p_transaction_step_id => p_transaction_step_id
8447 ,p_name => 'p_absence_attendance_id');
8448 --
8449 p_absence_rec.business_group_id:=
8450 hr_transaction_api.get_number_value
8451 (p_transaction_step_id => p_transaction_step_id
8452 ,p_name => 'p_business_group_id');
8453 --
8454 p_absence_rec.object_version_number:=
8455 hr_transaction_api.get_number_value
8456 (p_transaction_step_id => p_transaction_step_id
8457 ,p_name => 'p_object_version_number');
8458 --
8459 p_absence_rec.date_notification:=
8460 hr_transaction_api.get_date_value
8461 (p_transaction_step_id => p_transaction_step_id
8462 ,p_name => 'p_date_notification');
8463 --
8464 p_absence_rec.date_projected_start:=
8465 hr_transaction_api.get_date_value
8466 (p_transaction_step_id => p_transaction_step_id
8467 ,p_name => 'p_date_projected_start');
8468 --
8469 p_absence_rec.time_projected_start:=
8470 hr_transaction_api.get_varchar2_value
8471 (p_transaction_step_id => p_transaction_step_id
8472 ,p_name => 'p_time_projected_start');
8473 --
8474 p_absence_rec.date_projected_end:=
8475 hr_transaction_api.get_date_value
8476 (p_transaction_step_id => p_transaction_step_id
8477 ,p_name => 'p_date_projected_end');
8478 --
8479 p_absence_rec.time_projected_end:=
8480 hr_transaction_api.get_varchar2_value
8481 (p_transaction_step_id => p_transaction_step_id
8482 ,p_name => 'p_time_projected_end');
8483 --
8484 -- Fix 3400323 Start
8485 --
8486 p_absence_rec.date_start:=
8487 hr_transaction_api.get_date_value
8488 (p_transaction_step_id => p_transaction_step_id
8489 ,p_name => 'p_date_start');
8490 --
8491 p_absence_rec.time_start:=
8492 hr_transaction_api.get_varchar2_value
8493 (p_transaction_step_id => p_transaction_step_id
8494 ,p_name => 'p_time_start');
8495 --
8496 p_absence_rec.date_end:=
8497 hr_transaction_api.get_date_value
8498 (p_transaction_step_id => p_transaction_step_id
8499 ,p_name => 'p_date_end');
8500 --
8501 p_absence_rec.time_end:=
8502 hr_transaction_api.get_varchar2_value
8503 (p_transaction_step_id => p_transaction_step_id
8504 ,p_name => 'p_time_end');
8505 --
8506 -- Fix 3400323 End
8507 p_absence_rec.absence_days:=
8508 hr_transaction_api.get_number_value
8509 (p_transaction_step_id => p_transaction_step_id
8510 ,p_name => 'p_absence_days');
8511 --
8512 p_absence_rec.absence_hours:=
8513 hr_transaction_api.get_number_value
8514 (p_transaction_step_id => p_transaction_step_id
8515 ,p_name => 'p_absence_hours');
8516 --
8517 p_absence_rec.replacement_person_id:=
8518 hr_transaction_api.get_number_value
8519 (p_transaction_step_id => p_transaction_step_id
8520 ,p_name => 'p_replacement_person_id');
8521
8522 --
8523 p_absence_rec.comments:=
8524 hr_transaction_api.get_varchar2_value
8525 (p_transaction_step_id => p_transaction_step_id
8526 ,p_name => 'p_comments');
8527
8528 --
8529 p_absence_rec.attribute_category:=
8530 hr_transaction_api.get_varchar2_value
8531 (p_transaction_step_id => p_transaction_step_id
8532 ,p_name => 'p_attribute_category');
8533 --
8534 p_absence_rec.attribute1 :=
8535 hr_transaction_api.get_varchar2_value
8536 (p_transaction_step_id => p_transaction_step_id
8537 ,p_name => 'p_attribute1');
8538 --
8539
8540 p_absence_rec.attribute2 :=
8541 hr_transaction_api.get_varchar2_value
8542 (p_transaction_step_id => p_transaction_step_id
8543 ,p_name => 'p_attribute2');
8544 --
8545 p_absence_rec.attribute3 :=
8546 hr_transaction_api.get_varchar2_value
8547 (p_transaction_step_id => p_transaction_step_id
8548 ,p_name => 'p_attribute3');
8549 --
8550 p_absence_rec.attribute4 :=
8551 hr_transaction_api.get_varchar2_value
8552 (p_transaction_step_id => p_transaction_step_id
8553 ,p_name => 'p_attribute4');
8554 --
8555 p_absence_rec.attribute5 :=
8556 hr_transaction_api.get_varchar2_value
8557 (p_transaction_step_id => p_transaction_step_id
8558 ,p_name => 'p_attribute5');
8559 --
8560 p_absence_rec.attribute6 :=
8561 hr_transaction_api.get_varchar2_value
8562 (p_transaction_step_id => p_transaction_step_id
8563 ,p_name => 'p_attribute6');
8564 --
8565 p_absence_rec.attribute7 :=
8566 hr_transaction_api.get_varchar2_value
8567 (p_transaction_step_id => p_transaction_step_id
8568 ,p_name => 'p_attribute7');
8569 --
8570 p_absence_rec.attribute8 :=
8571 hr_transaction_api.get_varchar2_value
8572 (p_transaction_step_id => p_transaction_step_id
8573 ,p_name => 'p_attribute8');
8574 --
8575 p_absence_rec.attribute9 :=
8576 hr_transaction_api.get_varchar2_value
8577 (p_transaction_step_id => p_transaction_step_id
8578 ,p_name => 'p_attribute9');
8579 --
8580 p_absence_rec.attribute10 :=
8581 hr_transaction_api.get_varchar2_value
8582 (p_transaction_step_id => p_transaction_step_id
8583 ,p_name => 'p_attribute10');
8584 --
8585 p_absence_rec.attribute11 :=
8586 hr_transaction_api.get_varchar2_value
8587 (p_transaction_step_id => p_transaction_step_id
8588 ,p_name => 'p_attribute11');
8589 --
8590 p_absence_rec.attribute12 :=
8591 hr_transaction_api.get_varchar2_value
8592 (p_transaction_step_id => p_transaction_step_id
8593 ,p_name => 'p_attribute12');
8594 --
8595 p_absence_rec.attribute13 :=
8596 hr_transaction_api.get_varchar2_value
8597 (p_transaction_step_id => p_transaction_step_id
8598 ,p_name => 'p_attribute13');
8599 --
8600 p_absence_rec.attribute14 :=
8601 hr_transaction_api.get_varchar2_value
8602 (p_transaction_step_id => p_transaction_step_id
8603 ,p_name => 'p_attribute14');
8604 --
8605 p_absence_rec.attribute15 :=
8606 hr_transaction_api.get_varchar2_value
8607 (p_transaction_step_id => p_transaction_step_id
8608 ,p_name => 'p_attribute15');
8609 --
8610 p_absence_rec.attribute16 :=
8611 hr_transaction_api.get_varchar2_value
8612 (p_transaction_step_id => p_transaction_step_id
8613 ,p_name => 'p_attribute16');
8614 --
8615 p_absence_rec.attribute17 :=
8616 hr_transaction_api.get_varchar2_value
8617 (p_transaction_step_id => p_transaction_step_id
8618 ,p_name => 'p_attribute17');
8619 --
8620 p_absence_rec.attribute18 :=
8621 hr_transaction_api.get_varchar2_value
8622 (p_transaction_step_id => p_transaction_step_id
8623 ,p_name => 'p_attribute18');
8624 --
8625 p_absence_rec.attribute19 :=
8626 hr_transaction_api.get_varchar2_value
8627 (p_transaction_step_id => p_transaction_step_id
8628 ,p_name => 'p_attribute19');
8629 --
8630 p_absence_rec.attribute20 :=
8631 hr_transaction_api.get_varchar2_value
8632 (p_transaction_step_id => p_transaction_step_id
8633 ,p_name => 'p_attribute20');
8634 --
8635 p_absence_rec.abs_information_category:=
8636 hr_transaction_api.get_varchar2_value
8637 (p_transaction_step_id => p_transaction_step_id
8638 ,p_name => 'p_abs_information_category');
8639 --
8640 p_absence_rec.abs_information1 :=
8641 hr_transaction_api.get_varchar2_value
8642 (p_transaction_step_id => p_transaction_step_id
8643 ,p_name => 'p_abs_information1');
8644 --
8645
8646 p_absence_rec.abs_information2 :=
8647 hr_transaction_api.get_varchar2_value
8648 (p_transaction_step_id => p_transaction_step_id
8649 ,p_name => 'p_abs_information2');
8650 --
8651 p_absence_rec.abs_information3 :=
8652 hr_transaction_api.get_varchar2_value
8653 (p_transaction_step_id => p_transaction_step_id
8654 ,p_name => 'p_abs_information3');
8655 --
8656 p_absence_rec.abs_information4 :=
8657 hr_transaction_api.get_varchar2_value
8658 (p_transaction_step_id => p_transaction_step_id
8659 ,p_name => 'p_abs_information4');
8660 --
8661 p_absence_rec.abs_information5 :=
8662 hr_transaction_api.get_varchar2_value
8663 (p_transaction_step_id => p_transaction_step_id
8664 ,p_name => 'p_abs_information5');
8665 --
8666 p_absence_rec.abs_information6 :=
8667 hr_transaction_api.get_varchar2_value
8668 (p_transaction_step_id => p_transaction_step_id
8669 ,p_name => 'p_abs_information6');
8670 --
8671 p_absence_rec.abs_information7 :=
8672 hr_transaction_api.get_varchar2_value
8673 (p_transaction_step_id => p_transaction_step_id
8674 ,p_name => 'p_abs_information7');
8675 --
8676 p_absence_rec.abs_information8 :=
8677 hr_transaction_api.get_varchar2_value
8678 (p_transaction_step_id => p_transaction_step_id
8679 ,p_name => 'p_abs_information8');
8680 --
8681 p_absence_rec.abs_information9 :=
8682 hr_transaction_api.get_varchar2_value
8683 (p_transaction_step_id => p_transaction_step_id
8684 ,p_name => 'p_abs_information9');
8685 --
8686 p_absence_rec.abs_information10 :=
8687 hr_transaction_api.get_varchar2_value
8688 (p_transaction_step_id => p_transaction_step_id
8689 ,p_name => 'p_abs_information10');
8690 --
8691 p_absence_rec.abs_information11 :=
8692 hr_transaction_api.get_varchar2_value
8693 (p_transaction_step_id => p_transaction_step_id
8694 ,p_name => 'p_abs_information11');
8695 --
8696 p_absence_rec.abs_information12 :=
8697 hr_transaction_api.get_varchar2_value
8698 (p_transaction_step_id => p_transaction_step_id
8699 ,p_name => 'p_abs_information12');
8700 --
8701 p_absence_rec.abs_information13 :=
8702 hr_transaction_api.get_varchar2_value
8703 (p_transaction_step_id => p_transaction_step_id
8704 ,p_name => 'p_abs_information13');
8705 --
8706 p_absence_rec.abs_information14 :=
8707 hr_transaction_api.get_varchar2_value
8708 (p_transaction_step_id => p_transaction_step_id
8709 ,p_name => 'p_abs_information14');
8710 --
8711 p_absence_rec.abs_information15 :=
8712 hr_transaction_api.get_varchar2_value
8713 (p_transaction_step_id => p_transaction_step_id
8714 ,p_name => 'p_abs_information15');
8715 --
8716 p_absence_rec.abs_information16 :=
8717 hr_transaction_api.get_varchar2_value
8718 (p_transaction_step_id => p_transaction_step_id
8719 ,p_name => 'p_abs_information16');
8720 --
8721 p_absence_rec.abs_information17 :=
8722 hr_transaction_api.get_varchar2_value
8723 (p_transaction_step_id => p_transaction_step_id
8724 ,p_name => 'p_abs_information17');
8725 --
8726 p_absence_rec.abs_information18 :=
8727 hr_transaction_api.get_varchar2_value
8728 (p_transaction_step_id => p_transaction_step_id
8729 ,p_name => 'p_abs_information18');
8730 --
8731 p_absence_rec.abs_information19 :=
8732 hr_transaction_api.get_varchar2_value
8733 (p_transaction_step_id => p_transaction_step_id
8734 ,p_name => 'p_abs_information19');
8735 --
8736 p_absence_rec.abs_information20 :=
8737 hr_transaction_api.get_varchar2_value
8738 (p_transaction_step_id => p_transaction_step_id
8739 ,p_name => 'p_abs_information20');
8740 --
8741 p_absence_rec.abs_information21 :=
8742 hr_transaction_api.get_varchar2_value
8743 (p_transaction_step_id => p_transaction_step_id
8744 ,p_name => 'p_abs_information21');
8745 --
8746 p_absence_rec.abs_information22 :=
8747 hr_transaction_api.get_varchar2_value
8748 (p_transaction_step_id => p_transaction_step_id
8749 ,p_name => 'p_abs_information22');
8750 --
8751 p_absence_rec.abs_information23 :=
8752 hr_transaction_api.get_varchar2_value
8753 (p_transaction_step_id => p_transaction_step_id
8754 ,p_name => 'p_abs_information23');
8755 --
8756 p_absence_rec.abs_information24 :=
8757 hr_transaction_api.get_varchar2_value
8758 (p_transaction_step_id => p_transaction_step_id
8759 ,p_name => 'p_abs_information24');
8760 --
8761 p_absence_rec.abs_information25 :=
8762 hr_transaction_api.get_varchar2_value
8763 (p_transaction_step_id => p_transaction_step_id
8764 ,p_name => 'p_abs_information25');
8765 --
8766 p_absence_rec.abs_information26 :=
8767 hr_transaction_api.get_varchar2_value
8768 (p_transaction_step_id => p_transaction_step_id
8769 ,p_name => 'p_abs_information26');
8770 --
8771 p_absence_rec.abs_information27 :=
8772 hr_transaction_api.get_varchar2_value
8773 (p_transaction_step_id => p_transaction_step_id
8774 ,p_name => 'p_abs_information27');
8775
8776 --
8777 p_absence_rec.abs_information28 :=
8778 hr_transaction_api.get_varchar2_value
8779 (p_transaction_step_id => p_transaction_step_id
8780 ,p_name => 'p_abs_information28');
8781 --
8782 p_absence_rec.abs_information29 :=
8783 hr_transaction_api.get_varchar2_value
8784 (p_transaction_step_id => p_transaction_step_id
8785 ,p_name => 'p_abs_information29');
8786 --
8787 p_absence_rec.abs_information30 :=
8788 hr_transaction_api.get_varchar2_value
8789 (p_transaction_step_id => p_transaction_step_id
8790 ,p_name => 'p_abs_information30');
8791 --
8792 hr_utility.set_location(' Leaving:' || l_proc,10);
8793
8794 EXCEPTION
8795 WHEN OTHERS THEN
8796 hr_utility.trace(' .get_upd_from_tt: ' || SQLERRM );
8797 hr_utility.set_location(' Leaving:' || l_proc,555);
8798
8799 raise ;
8800 end get_upd_from_tt;
8801
8802 --
8803 -- +-------------------------------------------------------------------------+
8804 -- |-----------------< good_time_format >-------------------------|
8805 -- +-------------------------------------------------------------------------+
8806 -- Description:
8807 -- Tests CHAR values for valid time.
8808 --
8809 -- Pre-conditions:
8810 -- None.
8811 --
8812 -- In Arguments:
8813 -- p_time VARCHAR2
8814 --
8815 -- Out Arguments:
8816 -- BOOLEAN
8817 --
8818 -- Post Success:
8819 -- Returns TRUE or FALSE depending on valid time or not.
8820 --
8821 -- Post Failure:
8822 -- Returns FALSE for invalid time.
8823 --
8824 -- Access Status:
8825 -- Internal Development Use Only.
8826 --
8827 -- {End Of Comments}
8828 -- ----------------------------------------------------------------------------
8829 --
8830 FUNCTION good_time_format ( p_time IN VARCHAR2 ) RETURN BOOLEAN IS
8831 --
8832 BEGIN
8833 --
8834 IF p_time IS NOT NULL THEN
8835 --
8836 IF NOT (SUBSTR(p_time,1,2) BETWEEN '00' AND '23' AND
8837 SUBSTR(p_time,4,2) BETWEEN '00' AND '59' AND
8838 SUBSTR(p_time,3,1) = ':' AND
8839 LENGTH(p_time) = 5) THEN
8840 RETURN FALSE;
8841 ELSE
8842 RETURN TRUE;
8843 END IF;
8844 --
8845 ELSE
8846 RETURN FALSE;
8847 END IF;
8848 --
8849 EXCEPTION
8850 --
8851 WHEN OTHERS THEN
8852 RETURN FALSE;
8853 --
8854 END good_time_format;
8855 --
8856 -- +-------------------------------------------------------------------------+
8857 -- |-----------------< calc_sch_based_dur >-------------------------|
8858 -- +-------------------------------------------------------------------------+
8859 -- Description:
8860 -- Calculate the absence duration in hours/days based on the work schedule.
8861 --
8862 -- Pre-conditions:
8863 -- None.
8864 --
8865 -- In Arguments:
8866 -- p_days_or_hours VARCHAR2
8867 -- p_date_start DATE
8868 -- p_date_end DATE
8869 -- p_time_start VARCHAR2
8870 -- p_time_end VARCHAR2
8871 -- p_assignment_id NUMBER
8872 --
8873 -- Out Arguments:
8874 -- p_duration NUMBER
8875 --
8876 -- Post Success:
8877 -- Value returned for absence duration.
8878 --
8879 -- Post Failure:
8880 -- If a failure occurs, an application error is raised and
8881 -- processing terminates.
8882 --
8883 -- Access Status:
8884 -- Internal Development Use Only.
8885 --
8886 -- {End Of Comments}
8887 -- ----------------------------------------------------------------------------
8888 --
8889 PROCEDURE calc_sch_based_dur ( p_days_or_hours IN VARCHAR2,
8890 p_date_start IN DATE,
8891 p_date_end IN DATE,
8892 p_time_start IN VARCHAR2,
8893 p_time_end IN VARCHAR2,
8894 p_assignment_id IN NUMBER,
8895 p_duration IN OUT NOCOPY NUMBER
8896 ) IS
8897 --
8898 l_idx NUMBER;
8899 l_ref_date DATE;
8900 l_first_band BOOLEAN;
8901 l_day_start_time VARCHAR2(5);
8902 l_day_end_time VARCHAR2(5);
8903 l_start_time VARCHAR2(5);
8904 l_end_time VARCHAR2(5);
8905 --
8906 l_start_date DATE;
8907 l_end_date DATE;
8908 l_schedule cac_avlblty_time_varray;
8909 l_schedule_source VARCHAR2(10);
8910 l_return_status VARCHAR2(1);
8911 l_return_message VARCHAR2(2000);
8912 --
8913 l_time_start VARCHAR2(5);
8914 l_time_end VARCHAR2(5);
8915 --
8916 e_bad_time_format EXCEPTION;
8917 --
8918 BEGIN
8919 hr_utility.set_location('Entering '||g_package||'.calc_sch_based_dur',10);
8920 p_duration := 0;
8921 l_time_start := p_time_start;
8922 l_time_end := p_time_end;
8923 --
8924 IF l_time_start IS NULL THEN
8925 l_time_start := '00:00';
8926 ELSE
8927 IF NOT good_time_format(l_time_start) THEN
8928 RAISE e_bad_time_format;
8929 END IF;
8930 END IF;
8931 IF l_time_end IS NULL THEN
8932 l_time_end := '00:00';
8933 ELSE
8934 IF NOT good_time_format(l_time_end) THEN
8935 RAISE e_bad_time_format;
8936 END IF;
8937 END IF;
8938 l_start_date := TO_DATE(TO_CHAR(p_date_start,'DD-MM-YYYY')||' '||l_time_start,'DD-MM-YYYY HH24:MI');
8939 l_end_date := TO_DATE(TO_CHAR(p_date_end,'DD-MM-YYYY')||' '||l_time_end,'DD-MM-YYYY HH24:MI');
8940 IF p_days_or_hours = 'D' THEN
8941 l_end_date := l_end_date + 1;
8942 END IF;
8943 --
8944 -- Fetch the work schedule
8945 --
8946 hr_wrk_sch_pkg.get_per_asg_schedule
8947 ( p_person_assignment_id => p_assignment_id
8948 , p_period_start_date => l_start_date
8949 , p_period_end_date => l_end_date
8950 , p_schedule_category => NULL
8951 , p_include_exceptions => 'Y'
8952 , p_busy_tentative_as => 'FREE'
8953 , x_schedule_source => l_schedule_source
8954 , x_schedule => l_schedule
8955 , x_return_status => l_return_status
8956 , x_return_message => l_return_message
8957 );
8958 --
8959 IF l_return_status = '0' THEN
8960 --
8961 -- Calculate duration
8962 --
8963 l_idx := l_schedule.first;
8964 --
8965 IF p_days_or_hours = 'D' THEN
8966 --
8967 l_first_band := TRUE;
8968 l_ref_date := NULL;
8969 WHILE l_idx IS NOT NULL
8970 LOOP
8971 IF l_schedule(l_idx).FREE_BUSY_TYPE IS NOT NULL THEN
8972 IF l_schedule(l_idx).FREE_BUSY_TYPE = 'FREE' THEN
8973 IF l_first_band THEN
8974 l_first_band := FALSE;
8975 l_ref_date := TRUNC(l_schedule(l_idx).START_DATE_TIME);
8976 IF (TRUNC(l_schedule(l_idx).END_DATE_TIME) = TRUNC(l_schedule(l_idx).START_DATE_TIME)) THEN
8977 p_duration := p_duration + (TRUNC(l_schedule(l_idx).END_DATE_TIME) - TRUNC(l_schedule(l_idx).START_DATE_TIME) + 1);
8978 ELSE
8979 p_duration := p_duration + (TRUNC(l_schedule(l_idx).END_DATE_TIME) - TRUNC(l_schedule(l_idx).START_DATE_TIME));
8980 END IF;
8981 ELSE -- not first time
8982 IF TRUNC(l_schedule(l_idx).START_DATE_TIME) = l_ref_date THEN
8983 p_duration := p_duration + (TRUNC(l_schedule(l_idx).END_DATE_TIME) - TRUNC(l_schedule(l_idx).START_DATE_TIME));
8984 ELSE
8985 l_ref_date := TRUNC(l_schedule(l_idx).END_DATE_TIME);
8986 IF (TRUNC(l_schedule(l_idx).END_DATE_TIME) = TRUNC(l_schedule(l_idx).START_DATE_TIME)) THEN
8987 p_duration := p_duration + (TRUNC(l_schedule(l_idx).END_DATE_TIME) - TRUNC(l_schedule(l_idx).START_DATE_TIME) + 1);
8988 ELSE
8989 p_duration := p_duration + (TRUNC(l_schedule(l_idx).END_DATE_TIME) - TRUNC(l_schedule(l_idx).START_DATE_TIME));
8990 END IF;
8991 END IF;
8992 END IF;
8993 END IF;
8994 END IF;
8995 l_idx := l_schedule(l_idx).NEXT_OBJECT_INDEX;
8996 END LOOP;
8997 --
8998 ELSE -- p_days_or_hours is 'H'
8999 --
9000 l_day_start_time := '00:00';
9001 l_day_end_time := '23:59';
9002 WHILE l_idx IS NOT NULL
9003 LOOP
9004 IF l_schedule(l_idx).FREE_BUSY_TYPE IS NOT NULL THEN
9005 IF l_schedule(l_idx).FREE_BUSY_TYPE = 'FREE' THEN
9006 IF l_schedule(l_idx).END_DATE_TIME < l_schedule(l_idx).START_DATE_TIME THEN
9007 -- Skip this invalid slot which ends before it starts
9008 NULL;
9009 ELSE
9010 IF TRUNC(l_schedule(l_idx).END_DATE_TIME) > TRUNC(l_schedule(l_idx).START_DATE_TIME) THEN
9011 -- Start and End on different days
9012 --
9013 -- Get first day hours
9014 l_start_time := TO_CHAR(l_schedule(l_idx).START_DATE_TIME,'HH24:MI');
9015 SELECT p_duration + (((SUBSTR(l_day_end_time,1,2)*60 + SUBSTR(l_day_end_time,4,2)) -
9016 (SUBSTR(l_start_time,1,2)*60 + SUBSTR(l_start_time,4,2)))/60)
9017 INTO p_duration
9018 FROM DUAL;
9019 --
9020 -- Get last day hours
9021 l_end_time := TO_CHAR(l_schedule(l_idx).END_DATE_TIME,'HH24:MI');
9022 SELECT p_duration + (((SUBSTR(l_end_time,1,2)*60 + SUBSTR(l_end_time,4,2)) -
9023 (SUBSTR(l_day_start_time,1,2)*60 + SUBSTR(l_day_start_time,4,2)) + 1)/60)
9024 INTO p_duration
9025 FROM DUAL;
9026 --
9027 -- Get between full day hours
9028 SELECT p_duration + ((TRUNC(l_schedule(l_idx).END_DATE_TIME) - TRUNC(l_schedule(l_idx).START_DATE_TIME) - 1) * 24)
9029 INTO p_duration
9030 FROM DUAL;
9031 ELSE
9032 -- Start and End on same day
9033 l_start_time := TO_CHAR(l_schedule(l_idx).START_DATE_TIME,'HH24:MI');
9034 l_end_time := TO_CHAR(l_schedule(l_idx).END_DATE_TIME,'HH24:MI');
9035 SELECT p_duration + (((SUBSTR(l_end_time,1,2)*60 + SUBSTR(l_end_time,4,2)) -
9036 (SUBSTR(l_start_time,1,2)*60 + SUBSTR(l_start_time,4,2)))/60)
9037 INTO p_duration
9038 FROM DUAL;
9039 END IF;
9040 END IF;
9041 END IF;
9042 END IF;
9043 l_idx := l_schedule(l_idx).NEXT_OBJECT_INDEX;
9044 END LOOP;
9045 p_duration := ROUND(p_duration,2);
9046 --
9047 END IF;
9048 END IF;
9049 --
9050 hr_utility.set_location('Leaving '||g_package||'.calc_sch_based_dur',20);
9051 EXCEPTION
9052 --
9053 WHEN e_bad_time_format THEN
9054 hr_utility.set_location('Leaving '||g_package||'.calc_sch_based_dur',30);
9055 hr_utility.set_location(SQLERRM,35);
9056 RAISE;
9057 --
9058 WHEN OTHERS THEN
9059 hr_utility.set_location('Leaving '||g_package||'.calc_sch_based_dur',40);
9060 hr_utility.set_location(SQLERRM,45);
9061 RAISE;
9062 --
9063 END calc_sch_based_dur;
9064 --
9065 --
9066 -- ---------------------------------------------------------------------------
9067 -- |-----------------< calculate_absence_duration >-------------------------|
9068 -- ---------------------------------------------------------------------------
9069 --
9070 -- Description:
9071 -- Calculates the absence duration in hours and / or days and sets
9072 -- the duration.
9073 --
9074 -- Pre-conditions:
9075 -- None.
9076 --
9077 -- In Arguments:
9078 -- p_absence_attendance_type_id
9079 -- p_business_group_id
9080 -- p_effective_date
9081 -- p_person_id
9082 -- p_date_start
9083 -- p_date_end
9084 -- p_time_start
9085 -- p_time_end
9086 --
9087 -- Out Arguments:
9088 -- p_absence_days
9089 -- p_absence_hours
9090 -- p_use_formula
9091 --
9092 -- Post Success:
9093 -- The absence duration in days and hours is returned.
9094 --
9095 -- Post Failure:
9096 -- If a failure occurs, an application error is raised and
9097 -- processing terminates.
9098 --
9099 -- Access Status:
9100 -- Internal Development Use Only.
9101 --
9102 -- {End Of Comments}
9103 -- ----------------------------------------------------------------------------
9104 --
9105 procedure calculate_absence_duration
9106 (
9107 --p_absence_attendance_id in number
9108 p_absence_attendance_type_id in number
9109 ,p_business_group_id in number
9110 -- ,p_object_version_number in number
9111 ,p_effective_date in date
9112 ,p_person_id in number
9113 ,p_date_start in date
9114 ,p_date_end in date
9115 ,p_time_start in varchar2
9116 ,p_time_end in varchar2
9117 ,p_absence_days out nocopy number
9118 ,p_absence_hours out nocopy number
9119 ,p_use_formula out nocopy number
9120 ,p_min_max_failure out nocopy varchar2
9121 ,p_warning_or_error out nocopy varchar2
9122 ,p_page_error_msg out nocopy varchar2 --2695922
9123 )
9124 is
9125
9126 l_proc varchar2(72) := g_package||
9127 'calculate_absence_duration';
9128 l_exists varchar2(1);
9129 l_api_updating boolean;
9130 l_assignment_id number;
9131 l_hours_or_days varchar2(1);
9132 l_element_type_id number;
9133 l_legislation_code varchar2(150);
9134 l_formula_id number;
9135 l_inputs ff_exec.inputs_t;
9136 l_outputs ff_exec.outputs_t;
9137 l_user_message varchar2(1) := 'N';
9138 l_invalid_message fnd_new_messages.message_text%TYPE;
9139 l_custom_exception exception; --2695922
9140 wrong_parameters exception;
9141 l_normal_time_start varchar2(5);
9142 l_normal_time_end varchar2(5);
9143 l_normal_day_minutes number;
9144 l_first_day_minutes number;
9145 l_last_day_minutes number;
9146 l_same_day_minutes number;
9147 l_absence_days number;
9148 l_absence_hours number;
9149 l_use_formula boolean;
9150 l_max_value varchar2(60);
9151 l_min_value varchar2(60);
9152 l_min_max_failure varchar2(1) := null; -- S:Success F:failure
9153 l_warning_or_error varchar2(1) := null;
9154 l_screen_format varchar2(100);
9155 l_element_link_id number;
9156 l_input_value_id number;
9157
9158 --
9159 -- Bug 4534572 START
9160 --
9161 l_sch_based_dur VARCHAR2(1);
9162 l_sch_based_dur_found BOOLEAN;
9163 l_absence_duration NUMBER;
9164 --
9165 -- Bug 4534572 END
9166 --
9167
9168 cursor c_get_absence_info is
9169 select abt.hours_or_days
9170 ,piv.element_type_id
9171 ,piv.input_value_id
9172 ,piv.max_value -- WWBUG #2602856
9173 ,piv.min_value -- WWBUG #2602856
9174 ,pet.element_link_id -- WWBUG #2602856
9175 from per_absence_attendance_types abt
9176 ,pay_input_values_f piv
9177 ,pay_element_links_f pet
9178 where abt.absence_attendance_type_id = p_absence_attendance_type_id
9179 and abt.input_value_id = piv.input_value_id(+)
9180 and piv.element_type_id = pet.element_type_id(+)
9181 -- bug 5295672
9182 and p_effective_date between piv.effective_start_date
9183 and piv.effective_end_date
9184 and p_effective_date between pet.effective_start_date
9185 and pet.effective_end_date;
9186 -- bug 5295672
9187 cursor c_get_normal_hours (p_assignment_id in number) is
9188 select nvl(nvl(asg.time_normal_start, pbg.default_start_time), '00:00'),
9189 nvl(nvl(asg.time_normal_finish, pbg.default_end_time), '23:59')
9190 FROM per_all_assignments_f asg,
9191 per_business_groups pbg
9192 WHERE asg.assignment_id = p_assignment_id
9193 AND asg.business_group_id = pbg.business_group_id
9194 AND p_effective_date between asg.effective_start_date
9195 and asg.effective_end_date;
9196
9197 --
9198 begin
9199
9200 hr_utility.set_location('Entering:'|| l_proc, 10);
9201
9202 /*
9203 --
9204 -- Only proceed with validation if :
9205 -- a) The current g_old_rec is current and
9206 -- b) The date values have changed
9207 --
9208 l_api_updating := per_abs_shd.api_updating
9209 (p_absence_attendance_id => p_absence_attendance_id
9210 ,p_object_version_number => p_object_version_number);
9211 --
9212 if (l_api_updating
9213 and nvl(per_abs_shd.g_old_rec.date_start, hr_api.g_date)
9214 = nvl(p_date_start, hr_api.g_date)
9215 and nvl(per_abs_shd.g_old_rec.date_end, hr_api.g_date)
9216 = nvl(p_date_end, hr_api.g_date)
9217 and nvl(per_abs_shd.g_old_rec.time_start, hr_api.g_varchar2)
9218 = nvl(p_time_start, hr_api.g_varchar2)
9219 and nvl(per_abs_shd.g_old_rec.time_end, hr_api.g_varchar2)
9220 = nvl(p_time_end, hr_api.g_varchar2)
9221 and nvl(per_abs_shd.g_old_rec.absence_days, hr_api.g_number)
9222 = nvl(p_absence_days, hr_api.g_number)
9223 and nvl(per_abs_shd.g_old_rec.absence_hours, hr_api.g_number)
9224 = nvl(p_absence_hours, hr_api.g_number)) then
9225 return;
9226 end if;
9227
9228 */
9229
9230 hr_utility.set_location(l_proc, 15);
9231
9232 --
9233 -- See if a Fast Formula exists. Here the Fast Formula names
9234 -- are hard-coded. Fast Formulas with these exact names can
9235 -- be defined at one of three levels to default the absence
9236 -- duration:
9237 --
9238 -- 1. Business group (customer-definable)
9239 -- 2. Legislation (Oracle internal legislation-specific)
9240 -- 3. Core (Oracle internal core product)
9241 --
9242
9243 --
9244 -- Get the varous additional values that are required for use later.
9245 --
9246
9247 l_assignment_id := hr_person_absence_api.get_primary_assignment
9248 (p_person_id => p_person_id
9249 ,p_effective_date => p_effective_date);
9250
9251 l_legislation_code := hr_api.return_legislation_code
9252 (p_business_group_id => p_business_group_id);
9253
9254 open c_get_absence_info;
9255 fetch c_get_absence_info into l_hours_or_days,
9256 l_element_type_id,
9257 l_input_value_id,
9258 l_max_value,
9259 l_min_value,
9260 l_element_link_id;
9261 close c_get_absence_info;
9262
9263 --
9264 -- Bug 4534572 START
9265 --
9266 l_sch_based_dur := NVL(FND_PROFILE.Value('HR_SCH_BASED_ABS_CALC'),'N');
9267 l_sch_based_dur_found := FALSE;
9268 --
9269 IF l_sch_based_dur = 'Y' THEN
9270 --
9271 hr_utility.set_location(l_proc, 16);
9272 p_use_formula := hr_java_conv_util_ss.get_number(p_boolean => TRUE);
9273 --
9274 calc_sch_based_dur (p_days_or_hours => l_hours_or_days,
9275 p_date_start => p_date_start,
9276 p_date_end => p_date_end,
9277 p_time_start => p_time_start,
9278 p_time_end => p_time_end,
9279 p_assignment_id => l_assignment_id,
9280 p_duration => l_absence_duration
9281 );
9282 --
9283 IF l_absence_duration IS NOT NULL THEN
9284 --
9285 l_sch_based_dur_found := TRUE;
9286 --
9287 IF l_hours_or_days = 'H' THEN
9288 hr_utility.set_location(l_proc, 17);
9289 p_absence_hours := l_absence_duration;
9290 ELSIF l_hours_or_days = 'D' THEN
9291 hr_utility.set_location(l_proc, 18);
9292 p_absence_days := l_absence_duration;
9293 ELSE
9294 hr_utility.set_location(l_proc, 19);
9295 l_sch_based_dur_found := FALSE;
9296 END IF;
9297 --
9298 END IF;
9299 --
9300 END IF; -- sch_based_dur is 'Y'
9301 --
9302 IF l_sch_based_dur <> 'Y' OR (l_sch_based_dur = 'Y' AND NOT l_sch_based_dur_found) THEN
9303 --
9304 -- Bug 4534572 END
9305 --
9306
9307 hr_utility.set_location(l_proc, 20);
9308
9309 begin
9310 --
9311 -- Look for a customer-defined formula
9312 --
9313 select ff.formula_id
9314 into l_formula_id
9315 from ff_formulas_f ff
9316 where ff.formula_name = 'BG_ABSENCE_DURATION'
9317 and ff.business_group_id = p_business_group_id
9318 and p_effective_date between ff.effective_start_date and
9319 ff.effective_end_date;
9320 exception
9321
9322 when no_data_found then
9323 --
9324 -- There is no customer defined formula so look for
9325 -- a legislative formula.
9326 --
9327 begin
9328
9329 hr_utility.set_location(l_proc, 25);
9330
9331 select ff.formula_id
9332 into l_formula_id
9333 from ff_formulas_f ff
9334 where ff.formula_name = 'LEGISLATION_ABSENCE_DURATION'
9335 and ff.legislation_code = l_legislation_code
9336 and ff.business_group_id is null
9337 and p_effective_date between ff.effective_start_date and
9338 ff.effective_end_date;
9339
9340 exception
9341
9342 when no_data_found then
9343 --
9344 --
9345 -- If none of the two above then select the core formula
9346 --
9347 begin
9348
9349 hr_utility.set_location(l_proc, 30);
9350
9351 select ff.formula_id
9352 into l_formula_id
9353 from ff_formulas_f ff
9354 where ff.formula_name = 'CORE_ABSENCE_DURATION'
9355 and ff.legislation_code is null
9356 and ff.business_group_id is null
9357 and p_effective_date between ff.effective_start_date and
9358 ff.effective_end_date;
9359
9360 exception
9361
9362 when no_data_found then
9363 --
9364 -- No formula is found. We capture the error and do nothing.
9365 --
9366 null;
9367
9368 end;
9369 end;
9370 end;
9371
9372 hr_utility.set_location(l_proc, 35);
9373
9374 if l_formula_id is not null then
9375 --
9376 -- An absence duration Fast Formula should be used so the
9377 -- formula is called. First, the formula is initialised.
9378 --
9379 l_use_formula := TRUE;
9380
9381 hr_utility.set_location(l_proc, 40);
9382
9383 --
9384 -- Initalise the formula.
9385 --
9386 ff_exec.init_formula
9387 (p_formula_id => l_formula_id
9388 ,p_effective_date => p_effective_date
9389 ,p_inputs => l_inputs
9390 ,p_outputs => l_outputs);
9391
9392 hr_utility.set_location(l_proc, 45);
9393
9394 --
9395 -- Assign the inputs.
9396 --
9397 for i_input in l_inputs.first..l_inputs.last
9398 loop
9399
9400 if l_inputs(i_input).name = 'DAYS_OR_HOURS' then
9401 l_inputs(i_input).value := l_hours_or_days;
9402 elsif l_inputs(i_input).name = 'DATE_START' then
9403 l_inputs(i_input).value := fnd_date.date_to_canonical(p_date_start);
9404 elsif l_inputs(i_input).name = 'DATE_END' then
9405 l_inputs(i_input).value := fnd_date.date_to_canonical(p_date_end);
9406 elsif l_inputs(i_input).name = 'TIME_START' then
9407 l_inputs(i_input).value := p_time_start;
9408 elsif l_inputs(i_input).name = 'TIME_END' then
9409 l_inputs(i_input).value := p_time_end;
9410 elsif l_inputs(i_input).name = 'DATE_EARNED' then
9411 l_inputs(i_input).value := fnd_date.date_to_canonical
9412 (p_effective_date);
9413 elsif l_inputs(i_input).name = 'BUSINESS_GROUP_ID' then
9414 l_inputs(i_input).value := p_business_group_id;
9415 elsif l_inputs(i_input).name = 'LEGISLATION_CODE' then
9416 l_inputs(i_input).value := l_legislation_code;
9417 elsif l_inputs(i_input).name = 'ASSIGNMENT_ID' then
9418 l_inputs(i_input).value := l_assignment_id;
9419 elsif l_inputs(i_input).name = 'ELEMENT_TYPE_ID' then
9420 l_inputs(i_input).value := l_element_type_id;
9421 elsif l_inputs(i_input).name = 'ABSENCE_ATTENDANCE_TYPE_ID' then
9422 l_inputs(i_input).value := p_absence_attendance_type_id;
9423 else
9424 raise wrong_parameters;
9425 end if;
9426
9427 end loop;
9428
9429 hr_utility.set_location(l_proc, 50);
9430
9431 --
9432 -- Run the formula.
9433 --
9434 ff_exec.run_formula(l_inputs, l_outputs);
9435
9436 hr_utility.set_location(l_proc, 55);
9437
9438 --
9439 -- Assign the outputs.
9440 --
9441 for i_output in l_outputs.first..l_outputs.last
9442 loop
9443
9444 if l_outputs(i_output).name = 'DURATION' then
9445
9446 if l_outputs(i_output).value = 'FAILED' then
9447 l_user_message := 'Y';
9448 else
9449 --
9450 -- The absence hours / days out parameter is set. If no UOM
9451 -- is set but the start or end time have been entered, the output
9452 -- is returned in hours.
9453 --
9454 if l_hours_or_days = 'H'
9455 or (p_time_start is not null and p_time_end is not null) then
9456 p_absence_hours := round(to_number(l_outputs(i_output).value),2);
9457 l_screen_format := to_char(p_absence_hours); -- WWBUG #2602856
9458 else
9459 p_absence_days := round(to_number(l_outputs(i_output).value),2);
9460 l_screen_format := to_char(p_absence_days); -- WWBUG #2602856
9461 end if;
9462 end if;
9463 elsif l_outputs(i_output).name = 'INVALID_MSG' then
9464
9465 -- Here we do not plan to use p_invalid_message as error
9466 -- messages during this formula will be raised during the
9467 -- API.
9468
9469 l_invalid_message := l_outputs(i_output).value;
9470
9471 null;
9472 else
9473 raise wrong_parameters;
9474 end if;
9475
9476 end loop;
9477
9478 hr_utility.set_location(l_proc, 60);
9479 hr_utility.trace('l_user_message: '||l_user_message);
9480 hr_utility.trace('l_invalid_message: '||l_invalid_message);
9481
9482 --
9483 -- If the Fast Formula raises a user-defined error message,
9484 -- raise the error back to the user. Here the message is
9485 -- truncated to 30 characters because that is the limit
9486 -- in the calling program.
9487 --
9488
9489 if l_user_message = 'Y' then
9490 raise l_custom_exception; --2695922
9491 --hr_utility.set_message(800, substr(l_invalid_message, 1, 30));
9492 --hr_utility.raise_error;
9493 end if;
9494
9495 else
9496 --
9497 -- No formula could be located so we calculate based on the
9498 -- standard hours of the assignment or business group.
9499 --
9500 l_use_formula := FALSE;
9501
9502 hr_utility.set_location(l_proc, 65);
9503
9504 --
9505 -- Get the default start and end times. First check the assignment, then
9506 -- the business group. If neither of these, assume 24 hours a day.
9507 --
9508 open c_get_normal_hours (l_assignment_id);
9509 fetch c_get_normal_hours into l_normal_time_start,
9510 l_normal_time_end;
9511 close c_get_normal_hours;
9512
9513 hr_utility.set_location(l_proc, 70);
9514
9515 --
9516 -- Calculate the number of minutes in each day.
9517 --
9518 -- 3191259 changes start
9519 l_normal_day_minutes := per_abs_bus.convert_to_minutes(l_normal_time_start,
9520 l_normal_time_end);
9521 l_first_day_minutes := per_abs_bus.convert_to_minutes(nvl(p_time_start,
9522 l_normal_time_start),
9523 l_normal_time_end);
9524 l_last_day_minutes := per_abs_bus.convert_to_minutes(l_normal_time_start,
9525 nvl(p_time_end,
9526 l_normal_time_end));
9527
9528 if l_first_day_minutes <= 0 OR l_first_day_minutes > l_normal_day_minutes
9529 OR l_last_day_minutes <= 0 OR l_last_day_minutes > l_normal_day_minutes THEN
9530 --
9531 -- The leave timings are out off the standard timings.
9532 -- So use 24 hours rule to calculate the first day and last day minutes.
9533 --
9534 hr_utility.set_location(l_proc, 72);
9535 l_first_day_minutes := per_abs_bus.convert_to_minutes(nvl(p_time_start,
9536 l_normal_time_start),
9537 '24:00');
9538 l_last_day_minutes := per_abs_bus.convert_to_minutes('00:00', nvl(p_time_end,
9539 l_normal_time_end));
9540 end if;
9541
9542 -- 3191259 changes end
9543
9544 --3323744 change starts
9545 l_same_day_minutes := per_abs_bus.convert_to_minutes(nvl(p_time_start,
9546 l_normal_time_start),
9547 nvl(p_time_end,
9548 l_normal_time_end));
9549 --3323744 change ends
9550
9551 --2943479 changes start
9552 if l_normal_time_end = '23:59'
9553 then
9554 l_normal_day_minutes := l_normal_day_minutes +1;
9555 l_first_day_minutes := l_first_day_minutes +1;
9556 --3075512 changes start
9557 if (p_time_end is null or p_time_end = '') then
9558 l_last_day_minutes := l_last_day_minutes +1;
9559 l_same_day_minutes := l_same_day_minutes +1;
9560 end if;
9561 --3075512 changes end
9562 end if;
9563 --2943479 changes end
9564
9565 hr_utility.trace('Normal Day Minutes: ' || to_char(l_normal_day_minutes));
9566 hr_utility.trace('First Day Minutes: ' || to_char(l_first_day_minutes));
9567 hr_utility.trace('Last Day Minutes: ' || to_char(l_last_day_minutes));
9568 hr_utility.trace('Same Day Minutes: ' || to_char(l_same_day_minutes));
9569
9570 hr_utility.set_location(l_proc, 75);
9571
9572 --
9573 -- Calculate the absence days.
9574 --
9575 l_absence_days := (p_date_end - p_date_start) + 1;
9576
9577 hr_utility.trace('Absence Days: ' || to_char(l_absence_days));
9578
9579 --
9580 -- Calculate the absence hours.
9581 --
9582 if l_absence_days = 1 then
9583 --
9584 -- The absence starts and ends on the same day.
9585 --
9586 l_absence_hours := l_same_day_minutes / 60;
9587
9588 elsif l_absence_days = 2 then
9589 --
9590 -- The absence ends the day after another.
9591 --
9592 l_absence_hours := (l_first_day_minutes + l_last_day_minutes) / 60;
9593
9594 else
9595 --
9596 -- The absence is n number of days.
9597 --
9598 l_absence_hours := (l_first_day_minutes + l_last_day_minutes +
9599 ((l_absence_days - 2) * l_normal_day_minutes)) / 60;
9600
9601 end if;
9602
9603 hr_utility.set_location(l_proc, 80);
9604
9605 --
9606 -- Check that the absence hours are not less than zero. This could
9607 -- happen if the entered start time is after the normal start time or
9608 -- the entered end time is after the normal end time.
9609 --
9610 If l_absence_hours < 0 then
9611 l_absence_hours := 0;
9612 end if;
9613
9614 --
9615 -- Set the absence days and hours out parameters.
9616 --
9617 if l_hours_or_days = 'H' then
9618 p_absence_hours := round(l_absence_hours,2);
9619 l_screen_format := to_char(p_absence_hours); -- WWBUG #2602856
9620
9621 elsif l_hours_or_days = 'D' then
9622 p_absence_days := round(l_absence_days,2);
9623 l_screen_format := to_char(p_absence_days); -- WWBUG #2602856
9624
9625 else
9626 p_absence_hours := round(l_absence_hours,2);
9627 p_absence_days := round(l_absence_days,2);
9628
9629 end if;
9630
9631 end if;
9632
9633 hr_utility.set_location(l_proc, 90);
9634 --
9635 -- Check min/max value in input_value for element.(WWBUG #2602856)
9636 --
9637 hr_utility.trace('l_element_link_id is '|| l_element_link_id);
9638 hr_utility.trace('l_input_value_id is '|| l_input_value_id);
9639 hr_utility.trace('p_effective_date is '|| p_effective_date);
9640 hr_utility.trace('l_screen_format is '|| l_screen_format);
9641
9642 if l_element_link_id is not null and l_input_value_id is not null then
9643
9644 hr_entry.check_format
9645 (l_element_link_id,
9646 l_input_value_id,
9647 p_effective_date,
9648 l_screen_format,
9649 l_screen_format,
9650 'Y',
9651 l_min_max_failure,
9652 l_warning_or_error,
9653 l_min_value,
9654 l_max_value);
9655
9656 hr_utility.trace('l_min_max_failure is '|| l_min_max_failure);
9657 hr_utility.trace('l_warning_or_error is '|| l_warning_or_error);
9658 hr_utility.trace('l_min_value is '|| l_min_value);
9659 hr_utility.trace('l_max_value is '|| l_max_value);
9660
9661 else --3403256 changes start
9662 -- set absence_hrs to null if absence is not linked with an
9663 -- element and time values are not entered by user
9664 if l_element_link_id is null and
9665 (p_time_start is null or p_time_start = '') and
9666 (p_time_end is null or p_time_end = '')
9667 then
9668 p_absence_hours := null;
9669 end if; --3403256 changes end
9670
9671 end if;
9672 p_min_max_failure := l_min_max_failure;
9673 p_warning_or_error := l_warning_or_error;
9674
9675 hr_utility.set_location(l_proc, 100);
9676 /*
9677 if l_min_max_failure = 'F' and l_warning_or_error = 'E' then
9678 hr_utility.set_message(800, 'PER_6303_INPUT_VALUE_OUT_RANGE');
9679 hr_utility.raise_error;
9680 end if;
9681 --
9682 -- if the warning_or_error flag has been set to 'Error' then only Warn
9683 -- but let the processing continue
9684 --
9685 if l_min_max_failure = 'F' and l_warning_or_error = 'W' then
9686 hr_utility.set_message(800, 'PER_6303_INPUT_VALUE_OUT_RANGE');
9687 hr_utility.set_warning;
9688 end if;
9689
9690 */
9691 p_use_formula := hr_java_conv_util_ss.get_number(p_boolean => l_use_formula);
9692
9693 --
9694 -- Bug 4534572 START
9695 --
9696 END IF; -- Schedule based calculation not used
9697 --
9698 -- Bug 4534572 END
9699 --
9700
9701 hr_utility.set_location(' Leaving:'|| l_proc, 110);
9702
9703 EXCEPTION
9704 --2695922
9705 WHEN l_custom_exception THEN
9706 hr_utility.set_location(' Leaving:'|| l_proc, 555);
9707 p_page_error_msg := l_invalid_message;
9708 --2695922
9709 WHEN wrong_parameters then
9710 --
9711 -- The inputs / outputs of the Fast Formula are incorrect
9712 -- so raise an error.
9713 --
9714 hr_utility.set_location(' Leaving:'|| l_proc, 560);
9715
9716 hr_utility.set_message(800,'HR_34964_BAD_FF_DEFINITION');
9717 hr_utility.raise_error;
9718
9719 --3001784
9720 WHEN others THEN
9721 hr_utility.set_location(' Leaving:'|| l_proc, 565);
9722 p_page_error_msg := hr_utility.get_message;
9723 --3001784
9724
9725 end calculate_absence_duration;
9726
9727 /*
9728 ||===========================================================================
9729 || PROCEDURE: delete_absenc
9730 ||---------------------------------------------------------------------------
9731 ||
9732 || Description:
9733 || This procedure will delete absence record from
9734 || per_absence_attendances
9735 ||
9736 || Access Status:
9737 || Public.
9738 ||
9739 ||===========================================================================
9740 */
9741 procedure delete_absence(
9742 p_absence_attendance_id IN NUMBER
9743 ,p_page_error_msg OUT NOCOPY VARCHAR2 --2782075
9744 ) is
9745
9746 l_proc varchar2(30) := g_package||'delete_absence';
9747 l_ovn number;
9748 --
9749 cursor csr_get_ovn_abs_attendances is
9750 select object_version_number
9751 from per_absence_attendances paa
9752 where paa.absence_attendance_id = p_absence_attendance_id ;
9753 --
9754 BEGIN
9755
9756 hr_utility.set_location(' Entering:' || l_proc,5);
9757
9758
9759 open csr_get_ovn_abs_attendances;
9760 fetch csr_get_ovn_abs_attendances into l_ovn;
9761 if csr_get_ovn_abs_attendances%notfound then
9762 hr_utility.set_location(l_proc,10);
9763
9764 close csr_get_ovn_abs_attendances;
9765 hr_utility.set_location('api error exists', 10);
9766 raise g_data_error;
9767 end if;
9768
9769
9770 -- Call the actual API.
9771 hr_person_absence_api.delete_person_absence
9772 (
9773 p_absence_attendance_id => p_absence_attendance_id
9774 ,p_object_version_number => l_ovn
9775 );
9776
9777 hr_utility.set_location(' Leaving:' || l_proc,15);
9778
9779 --
9780
9781 EXCEPTION
9782 WHEN OTHERS THEN
9783 hr_utility.trace('When others exception in .delete_absence: ' || SQLERRM );
9784 --2782075 changes start
9785 --Don't raise the error. just fetch the msg text and return
9786 p_page_error_msg := fnd_message.get;
9787 --2782075 changes start
9788
9789 end delete_absence;
9790
9791 /*
9792 ||===========================================================================
9793 || FUNCTION: chk_overlap
9794 ||---------------------------------------------------------------------------
9795 ||
9796 || Description:
9797 || This function will check overlap absence in transaction table
9798 ||
9799 || Access Status:
9800 || Public.
9801 ||
9802 ||===========================================================================
9803 */
9804 function chk_overlap(
9805 p_person_id IN NUMBER
9806 ,p_business_group_id IN NUMBER
9807 ,p_date_start IN DATE
9808 ,p_date_end IN DATE
9809 ,p_time_start IN VARCHAR2
9810 ,p_time_end IN VARCHAR2
9811 ) return boolean
9812 IS
9813 --
9814 --
9815 l_proc varchar2(30) := g_package||'chk_overlap';
9816 l_exists varchar2(1) ;
9817 l_abs_overlap_warning boolean;
9818 --
9819 --
9820
9821 -- Fix 2706099
9822 CURSOR c_abs_overlap(p_person_id IN NUMBER
9823 ,p_business_grroup_id IN NUMBER
9824 ,p_date_start IN DATE
9825 ,p_date_end IN DATE
9826 ,p_time_start IN VARCHAR2
9827 ,p_time_end IN VARCHAR2
9828 ) IS
9829
9830 SELECT null
9831 FROM hr_api_transaction_values tv
9832 ,hr_api_transaction_steps ts
9833 ,hr_api_transaction_values tv1
9834 ,hr_api_transaction_values tv2
9835 ,hr_api_transaction_values tv3
9836 ,hr_api_transaction_values tv4
9837 ,hr_api_transaction_values tv5
9838 ,hr_api_transaction_values tv6
9839 ,hr_api_transactions hat -- Fix 3191531
9840 WHERE
9841 ts.api_name = 'HR_LOA_SS.PROCESS_API'
9842 and ts.UPDATE_PERSON_ID = p_person_id
9843 and p_date_start IS NOT NULL
9844 and p_date_end IS NOT NULL
9845 and ts.transaction_step_id = tv.transaction_step_id
9846 and tv.name = 'P_PERSON_ID'
9847 and tv.number_value = p_person_id
9848 and ts.transaction_step_id = tv1.transaction_step_id
9849 and tv1.name = 'P_BUSINESS_GROUP_ID'
9850 and tv1.number_value = p_business_group_id
9851 and ts.transaction_step_id = tv2.transaction_step_id
9852 and ts.transaction_id=hat.transaction_id
9853 and hat.status in ('Y','C') -- Fix 3191531
9854 and ts.transaction_step_id = tv3.transaction_step_id
9855 and tv3.name = 'P_DATE_START'
9856 and ts.transaction_step_id = tv4.transaction_step_id
9857 and tv4.name = 'P_DATE_END'
9858 and ts.transaction_step_id = tv5.transaction_step_id
9859 and ts.transaction_step_id = tv6.transaction_step_id
9860 and tv5.name = 'P_TIME_START'
9861 and tv6.name = 'P_TIME_END'
9862 and tv3.date_value is NOT NULL
9863 and tv4.date_value is NOT NULL
9864 and (
9865 (
9866 to_date( to_char(nvl(tv3.date_value,hr_api.g_eot), g_usr_date_fmt) ||' ' || nvl(tv5.varchar2_value,'00:00'),g_usr_day_time_fmt)
9867 BETWEEN to_date (to_char(p_date_start, g_usr_date_fmt)||' ' || nvl(p_time_start,'00:00'),g_usr_day_time_fmt)
9868 AND to_date(to_char(p_date_end, g_usr_date_fmt) || ' '|| nvl(p_time_end,'00:00') , g_usr_day_time_fmt)
9869 )
9870 or
9871 (
9872 to_date (to_char(p_date_start, g_usr_date_fmt) ||' ' || nvl(p_time_start,'00:00'),g_usr_day_time_fmt)
9873 BETWEEN
9874 to_date( to_char(nvl(tv3.date_value,hr_api.g_eot), g_usr_date_fmt) ||' ' || nvl(tv5.varchar2_value,'00:00'),g_usr_day_time_fmt)
9875 AND
9876 to_date( to_char(nvl(tv4.date_value,hr_api.g_eot), g_usr_date_fmt) ||' ' || nvl(tv6.varchar2_value,'00:00'),g_usr_day_time_fmt)
9877 )
9878
9879 );
9880 --
9881 -- TRANS_SUBMIT status
9882 -- 'Y' - Submit for Approval
9883 -- 'S' - Save For Laer
9884 -- 'C' - Returned for Correction
9885 -- 'W' - Initial Save For Later - Inadvertent Save
9886 --
9887
9888 BEGIN
9889 --
9890 hr_utility.set_location('Entering:'|| l_proc, 10);
9891 --
9892 -- check if this absence overlaps another absence for the same person.
9893 --
9894
9895 -- Fix 2706099
9896 -- Absence timings are to be considered for checking overlap.
9897 --
9898
9899 open c_abs_overlap(p_person_id,p_business_group_id,p_date_start,p_date_end,p_time_start,p_time_end);
9900 fetch c_abs_overlap into l_exists;
9901
9902 if c_abs_overlap%found then
9903 hr_utility.set_location(l_proc, 10);
9904 --
9905 -- Set the warning message
9906 --
9907 l_abs_overlap_warning := TRUE;
9908 --
9909 else
9910 hr_utility.set_location(l_proc, 20);
9911 l_abs_overlap_warning := FALSE;
9912
9913 end if;
9914 --
9915 hr_utility.set_location('Leaving:'|| l_proc, 30);
9916 return l_abs_overlap_warning;
9917
9918 --
9919 EXCEPTION
9920 WHEN OTHERS THEN
9921 hr_utility.trace(' .chk_overlap: ' || SQLERRM );
9922 hr_utility.set_location('Leaving:'|| l_proc, 555);
9923 raise ;
9924 end chk_overlap;
9925
9926 END HR_LOA_SS;