[Home] [Help]
PACKAGE BODY: APPS.PER_ABS_UPD
Source
1 Package Body per_abs_upd as
2 /* $Header: peabsrhi.pkb 120.17.12010000.3 2008/09/12 11:33:01 pvelugul ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' per_abs_upd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------------< update_dml >------------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 -- This procedure controls the actual dml update logic. The processing of
17 -- this procedure is:
18 -- 1) Increment the object_version_number by 1 if the object_version_number
19 -- is defined as an attribute for this entity.
20 -- 2) To set and unset the g_api_dml status as required (as we are about to
21 -- perform dml).
22 -- 3) To update the specified row in the schema using the primary key in
23 -- the predicates.
24 -- 4) To trap any constraint violations that may have occurred.
25 -- 5) To raise any other errors.
26 --
27 -- Prerequisites:
28 -- This is an internal private procedure which must be called from the upd
29 -- procedure.
30 --
31 -- In Parameters:
32 -- A Pl/Sql record structre.
33 --
34 -- Post Success:
35 -- The specified row will be updated in the schema.
36 --
37 -- Post Failure:
38 -- On the update dml failure it is important to note that we always reset the
39 -- g_api_dml status to false.
40 -- If a check, unique or parent integrity constraint violation is raised the
41 -- constraint_error procedure will be called.
42 -- If any other error is reported, the error will be raised after the
43 -- g_api_dml status is reset.
44 --
45 -- Developer Implementation Notes:
46 -- The update 'set' attribute list should be modified if any of your
47 -- attributes are not updateable.
48 --
49 -- Access Status:
50 -- Internal Row Handler Use Only.
51 --
52 -- {End Of Comments}
53 -- ----------------------------------------------------------------------------
54 Procedure update_dml
55 (p_rec in out nocopy per_abs_shd.g_rec_type
56 ) is
57 --
58 l_proc varchar2(72) := g_package||'update_dml';
59 --
60 Begin
61 hr_utility.set_location('Entering:'||l_proc, 5);
62 --
63 -- Increment the object version
64 p_rec.object_version_number := p_rec.object_version_number + 1;
65 --
66 per_abs_shd.g_api_dml := true; -- Set the api dml status
67 --
68 -- Update the per_absence_attendances Row
69 --
70 update per_absence_attendances
71 set
72 absence_attendance_id = p_rec.absence_attendance_id
73 ,business_group_id = p_rec.business_group_id
74 ,absence_attendance_type_id = p_rec.absence_attendance_type_id
75 ,abs_attendance_reason_id = p_rec.abs_attendance_reason_id
76 ,person_id = p_rec.person_id
77 ,authorising_person_id = p_rec.authorising_person_id
78 ,replacement_person_id = p_rec.replacement_person_id
79 ,period_of_incapacity_id = p_rec.period_of_incapacity_id
80 ,absence_days = p_rec.absence_days
81 ,absence_hours = p_rec.absence_hours
82 ,comments = p_rec.comments
83 ,date_end = p_rec.date_end
84 ,date_notification = p_rec.date_notification
85 ,date_projected_end = p_rec.date_projected_end
86 ,date_projected_start = p_rec.date_projected_start
87 ,date_start = p_rec.date_start
88 ,occurrence = p_rec.occurrence
89 ,ssp1_issued = p_rec.ssp1_issued
90 ,time_end = p_rec.time_end
91 ,time_projected_end = p_rec.time_projected_end
92 ,time_projected_start = p_rec.time_projected_start
93 ,time_start = p_rec.time_start
94 ,request_id = p_rec.request_id
95 ,program_application_id = p_rec.program_application_id
96 ,program_id = p_rec.program_id
97 ,program_update_date = p_rec.program_update_date
98 ,attribute_category = p_rec.attribute_category
99 ,attribute1 = p_rec.attribute1
100 ,attribute2 = p_rec.attribute2
101 ,attribute3 = p_rec.attribute3
102 ,attribute4 = p_rec.attribute4
103 ,attribute5 = p_rec.attribute5
104 ,attribute6 = p_rec.attribute6
105 ,attribute7 = p_rec.attribute7
106 ,attribute8 = p_rec.attribute8
107 ,attribute9 = p_rec.attribute9
108 ,attribute10 = p_rec.attribute10
109 ,attribute11 = p_rec.attribute11
110 ,attribute12 = p_rec.attribute12
111 ,attribute13 = p_rec.attribute13
112 ,attribute14 = p_rec.attribute14
113 ,attribute15 = p_rec.attribute15
114 ,attribute16 = p_rec.attribute16
115 ,attribute17 = p_rec.attribute17
116 ,attribute18 = p_rec.attribute18
117 ,attribute19 = p_rec.attribute19
118 ,attribute20 = p_rec.attribute20
119 ,maternity_id = p_rec.maternity_id
120 ,sickness_start_date = p_rec.sickness_start_date
121 ,sickness_end_date = p_rec.sickness_end_date
122 ,pregnancy_related_illness = p_rec.pregnancy_related_illness
123 ,reason_for_notification_delay = p_rec.reason_for_notification_delay
124 ,accept_late_notification_flag = p_rec.accept_late_notification_flag
125 ,linked_absence_id = p_rec.linked_absence_id
126 ,abs_information_category = p_rec.abs_information_category
127 ,abs_information1 = p_rec.abs_information1
128 ,abs_information2 = p_rec.abs_information2
129 ,abs_information3 = p_rec.abs_information3
130 ,abs_information4 = p_rec.abs_information4
131 ,abs_information5 = p_rec.abs_information5
132 ,abs_information6 = p_rec.abs_information6
133 ,abs_information7 = p_rec.abs_information7
134 ,abs_information8 = p_rec.abs_information8
135 ,abs_information9 = p_rec.abs_information9
136 ,abs_information10 = p_rec.abs_information10
137 ,abs_information11 = p_rec.abs_information11
138 ,abs_information12 = p_rec.abs_information12
139 ,abs_information13 = p_rec.abs_information13
140 ,abs_information14 = p_rec.abs_information14
141 ,abs_information15 = p_rec.abs_information15
142 ,abs_information16 = p_rec.abs_information16
143 ,abs_information17 = p_rec.abs_information17
144 ,abs_information18 = p_rec.abs_information18
145 ,abs_information19 = p_rec.abs_information19
146 ,abs_information20 = p_rec.abs_information20
147 ,abs_information21 = p_rec.abs_information21
148 ,abs_information22 = p_rec.abs_information22
149 ,abs_information23 = p_rec.abs_information23
150 ,abs_information24 = p_rec.abs_information24
151 ,abs_information25 = p_rec.abs_information25
152 ,abs_information26 = p_rec.abs_information26
153 ,abs_information27 = p_rec.abs_information27
154 ,abs_information28 = p_rec.abs_information28
155 ,abs_information29 = p_rec.abs_information29
156 ,abs_information30 = p_rec.abs_information30
157 ,batch_id = p_rec.batch_id
158 ,object_version_number = p_rec.object_version_number
159 ,absence_case_id = p_rec.absence_case_id
160 where absence_attendance_id = p_rec.absence_attendance_id;
161 --
162 per_abs_shd.g_api_dml := false; -- Unset the api dml status
163 --
164 hr_utility.set_location(' Leaving:'||l_proc, 10);
165 --
166 Exception
167 When hr_api.check_integrity_violated Then
168 -- A check constraint has been violated
169 per_abs_shd.g_api_dml := false; -- Unset the api dml status
170 per_abs_shd.constraint_error
171 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
172 When hr_api.parent_integrity_violated Then
173 -- Parent integrity has been violated
174 per_abs_shd.g_api_dml := false; -- Unset the api dml status
175 per_abs_shd.constraint_error
176 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
177 When hr_api.unique_integrity_violated Then
178 -- Unique integrity has been violated
179 per_abs_shd.g_api_dml := false; -- Unset the api dml status
180 per_abs_shd.constraint_error
181 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
182 When Others Then
183 per_abs_shd.g_api_dml := false; -- Unset the api dml status
184 Raise;
185 End update_dml;
186 --
187 -- ----------------------------------------------------------------------------
188 -- |------------------------------< pre_update >------------------------------|
189 -- ----------------------------------------------------------------------------
190 -- {Start Of Comments}
191 --
192 -- Description:
193 -- This private procedure contains any processing which is required before
194 -- the update dml.
195 --
196 -- Prerequisites:
197 -- This is an internal procedure which is called from the upd procedure.
198 --
199 -- In Parameters:
200 -- A Pl/Sql record structure.
201 --
202 -- Post Success:
203 -- Processing continues.
204 --
205 -- Post Failure:
206 -- If an error has occurred, an error message and exception wil be raised
207 -- but not handled.
208 --
209 -- Developer Implementation Notes:
210 -- Any pre-processing required before the update dml is issued should be
211 -- coded within this procedure. It is important to note that any 3rd party
212 -- maintenance should be reviewed before placing in this procedure.
213 --
214 -- Access Status:
215 -- Internal Row Handler Use Only.
216 --
217 -- {End Of Comments}
218 -- ----------------------------------------------------------------------------
219 Procedure pre_update
220 (p_rec in out nocopy per_abs_shd.g_rec_type
221 ,p_effective_date in date
222 ) is
223 --
224 l_proc varchar2(72) := g_package||'pre_update';
225 --
226 Begin
227
228 hr_utility.set_location('Entering:'||l_proc, 5);
229
230 /*
231 per_abs_bus.chk_cal_duration
232 (p_absence_attendance_id => p_rec.absence_attendance_id
233 ,p_absence_attendance_type_id => p_rec.absence_attendance_type_id
234 ,p_object_version_number => p_rec.object_version_number
235 ,p_absence_days => p_rec.absence_days
236 ,p_absence_hours => p_rec.absence_hours
237 ,p_date_start => p_rec.date_start
238 ,p_date_end => p_rec.date_end
239 ,p_time_start => p_rec.time_start
240 ,p_time_end => p_rec.time_end
241 ,p_effective_date => p_effective_date
242 ,p_person_id => p_rec.person_id
243 ,p_business_group_id => p_rec.business_group_id
244 ,p_entitlement_warning => l_entitlement_warning
245 );
246 p_entitlement_warning := l_entitlement_warning;
247 --
248 */
249
250 --
251 -- Set the absence durations. Note that the durations are set
252 -- to global variables because the values may have been over-
253 -- written by the system.
254 --
255 p_rec.absence_hours := per_abs_shd.g_absence_hours;
256 p_rec.absence_days := per_abs_shd.g_absence_days;
257
258 hr_utility.set_location(' Leaving:'||l_proc, 10);
259
260 End pre_update;
261 --
262 -- ----------------------------------------------------------------------------
263 -- |-----------------------------< post_update >------------------------------|
264 -- ----------------------------------------------------------------------------
265 -- {Start Of Comments}
266 --
267 -- Description:
268 -- This private procedure contains any processing which is required after the
269 -- update dml.
270 --
271 -- Prerequisites:
272 -- This is an internal procedure which is called from the upd procedure.
273 --
274 -- In Parameters:
275 -- A Pl/Sql record structure.
276 --
277 -- Post Success:
278 -- Processing continues.
279 --
280 -- Post Failure:
281 -- If an error has occurred, an error message and exception will be raised
282 -- but not handled.
283 --
284 -- Developer Implementation Notes:
285 -- Any post-processing required after the update dml is issued should be
286 -- coded within this procedure. It is important to note that any 3rd party
287 -- maintenance should be reviewed before placing in this procedure.
288 --
289 -- Access Status:
290 -- Internal Row Handler Use Only.
291 --
292 -- {End Of Comments}
293 -- ----------------------------------------------------------------------------
294 Procedure post_update
295 (p_effective_date in date
296 ,p_rec in per_abs_shd.g_rec_type
297 ) is
298 --
299 l_proc varchar2(72) := g_package||'post_update';
300 --
301 Begin
302 hr_utility.set_location('Entering:'||l_proc, 5);
303 begin
304
305 per_abs_rku.after_update
306 (p_effective_date => p_effective_date
307 ,p_absence_attendance_id
308 => p_rec.absence_attendance_id
309 ,p_absence_attendance_type_id
310 => p_rec.absence_attendance_type_id
311 ,p_abs_attendance_reason_id
312 => p_rec.abs_attendance_reason_id
313 ,p_person_id
314 => p_rec.person_id
315 ,p_authorising_person_id
316 => p_rec.authorising_person_id
317 ,p_replacement_person_id
318 => p_rec.replacement_person_id
319 ,p_period_of_incapacity_id
320 => p_rec.period_of_incapacity_id
321 ,p_absence_days
322 => p_rec.absence_days
323 ,p_absence_hours
324 => p_rec.absence_hours
325 ,p_comments
326 => p_rec.comments
327 ,p_date_end
328 => p_rec.date_end
329 ,p_date_notification
330 => p_rec.date_notification
331 ,p_date_projected_end
332 => p_rec.date_projected_end
333 ,p_date_projected_start
334 => p_rec.date_projected_start
335 ,p_date_start
336 => p_rec.date_start
337 ,p_occurrence
338 => p_rec.occurrence
339 ,p_ssp1_issued
340 => p_rec.ssp1_issued
341 ,p_time_end
342 => p_rec.time_end
343 ,p_time_projected_end
344 => p_rec.time_projected_end
345 ,p_time_projected_start
346 => p_rec.time_projected_start
347 ,p_time_start
348 => p_rec.time_start
349 ,p_request_id
350 => p_rec.request_id
351 ,p_program_application_id
352 => p_rec.program_application_id
353 ,p_program_id
354 => p_rec.program_id
355 ,p_program_update_date
356 => p_rec.program_update_date
357 ,p_attribute_category
358 => p_rec.attribute_category
359 ,p_attribute1
360 => p_rec.attribute1
361 ,p_attribute2
362 => p_rec.attribute2
363 ,p_attribute3
364 => p_rec.attribute3
365 ,p_attribute4
366 => p_rec.attribute4
367 ,p_attribute5
368 => p_rec.attribute5
369 ,p_attribute6
370 => p_rec.attribute6
371 ,p_attribute7
372 => p_rec.attribute7
373 ,p_attribute8
374 => p_rec.attribute8
375 ,p_attribute9
376 => p_rec.attribute9
377 ,p_attribute10
378 => p_rec.attribute10
379 ,p_attribute11
380 => p_rec.attribute11
381 ,p_attribute12
382 => p_rec.attribute12
383 ,p_attribute13
384 => p_rec.attribute13
385 ,p_attribute14
386 => p_rec.attribute14
387 ,p_attribute15
388 => p_rec.attribute15
389 ,p_attribute16
390 => p_rec.attribute16
391 ,p_attribute17
392 => p_rec.attribute17
393 ,p_attribute18
394 => p_rec.attribute18
395 ,p_attribute19
396 => p_rec.attribute19
397 ,p_attribute20
398 => p_rec.attribute20
399 ,p_maternity_id
400 => p_rec.maternity_id
401 ,p_sickness_start_date
402 => p_rec.sickness_start_date
403 ,p_sickness_end_date
404 => p_rec.sickness_end_date
405 ,p_pregnancy_related_illness
406 => p_rec.pregnancy_related_illness
407 ,p_reason_for_notification_dela
408 => p_rec.reason_for_notification_delay
409 ,p_accept_late_notification_fla
410 => p_rec.accept_late_notification_flag
411 ,p_linked_absence_id
412 => p_rec.linked_absence_id
413 ,p_abs_information_category
414 => p_rec.abs_information_category
415 ,p_abs_information1
416 => p_rec.abs_information1
417 ,p_abs_information2
418 => p_rec.abs_information2
419 ,p_abs_information3
420 => p_rec.abs_information3
421 ,p_abs_information4
422 => p_rec.abs_information4
423 ,p_abs_information5
424 => p_rec.abs_information5
425 ,p_abs_information6
426 => p_rec.abs_information6
427 ,p_abs_information7
428 => p_rec.abs_information7
429 ,p_abs_information8
430 => p_rec.abs_information8
431 ,p_abs_information9
432 => p_rec.abs_information9
433 ,p_abs_information10
434 => p_rec.abs_information10
435 ,p_abs_information11
436 => p_rec.abs_information11
437 ,p_abs_information12
438 => p_rec.abs_information12
439 ,p_abs_information13
440 => p_rec.abs_information13
441 ,p_abs_information14
442 => p_rec.abs_information14
443 ,p_abs_information15
444 => p_rec.abs_information15
445 ,p_abs_information16
446 => p_rec.abs_information16
447 ,p_abs_information17
448 => p_rec.abs_information17
449 ,p_abs_information18
450 => p_rec.abs_information18
451 ,p_abs_information19
452 => p_rec.abs_information19
453 ,p_abs_information20
454 => p_rec.abs_information20
455 ,p_abs_information21
456 => p_rec.abs_information21
457 ,p_abs_information22
458 => p_rec.abs_information22
459 ,p_abs_information23
460 => p_rec.abs_information23
461 ,p_abs_information24
462 => p_rec.abs_information24
463 ,p_abs_information25
464 => p_rec.abs_information25
465 ,p_abs_information26
466 => p_rec.abs_information26
467 ,p_abs_information27
468 => p_rec.abs_information27
469 ,p_abs_information28
470 => p_rec.abs_information28
471 ,p_abs_information29
472 => p_rec.abs_information29
473 ,p_abs_information30
474 => p_rec.abs_information30
475 ,p_absence_case_id
476 => p_rec.absence_case_id
477 ,p_batch_id
478 => p_rec.batch_id
479 ,p_object_version_number
480 => p_rec.object_version_number
481 ,p_business_group_id_o
482 => per_abs_shd.g_old_rec.business_group_id
483 ,p_absence_attendance_type_id_o
484 => per_abs_shd.g_old_rec.absence_attendance_type_id
485 ,p_abs_attendance_reason_id_o
486 => per_abs_shd.g_old_rec.abs_attendance_reason_id
487 ,p_person_id_o
488 => per_abs_shd.g_old_rec.person_id
489 ,p_authorising_person_id_o
490 => per_abs_shd.g_old_rec.authorising_person_id
491 ,p_replacement_person_id_o
492 => per_abs_shd.g_old_rec.replacement_person_id
493 ,p_period_of_incapacity_id_o
494 => per_abs_shd.g_old_rec.period_of_incapacity_id
495 ,p_absence_days_o
496 => per_abs_shd.g_old_rec.absence_days
497 ,p_absence_hours_o
498 => per_abs_shd.g_old_rec.absence_hours
499 ,p_comments_o
500 => per_abs_shd.g_old_rec.comments
501 ,p_date_end_o
502 => per_abs_shd.g_old_rec.date_end
503 ,p_date_notification_o
504 => per_abs_shd.g_old_rec.date_notification
505 ,p_date_projected_end_o
506 => per_abs_shd.g_old_rec.date_projected_end
507 ,p_date_projected_start_o
508 => per_abs_shd.g_old_rec.date_projected_start
509 ,p_date_start_o
510 => per_abs_shd.g_old_rec.date_start
511 ,p_occurrence_o
512 => per_abs_shd.g_old_rec.occurrence
513 ,p_ssp1_issued_o
514 => per_abs_shd.g_old_rec.ssp1_issued
515 ,p_time_end_o
516 => per_abs_shd.g_old_rec.time_end
517 ,p_time_projected_end_o
518 => per_abs_shd.g_old_rec.time_projected_end
519 ,p_time_projected_start_o
520 => per_abs_shd.g_old_rec.time_projected_start
521 ,p_time_start_o
522 => per_abs_shd.g_old_rec.time_start
523 ,p_request_id_o
524 => per_abs_shd.g_old_rec.request_id
525 ,p_program_application_id_o
526 => per_abs_shd.g_old_rec.program_application_id
527 ,p_program_id_o
528 => per_abs_shd.g_old_rec.program_id
529 ,p_program_update_date_o
530 => per_abs_shd.g_old_rec.program_update_date
531 ,p_attribute_category_o
532 => per_abs_shd.g_old_rec.attribute_category
533 ,p_attribute1_o
534 => per_abs_shd.g_old_rec.attribute1
535 ,p_attribute2_o
536 => per_abs_shd.g_old_rec.attribute2
537 ,p_attribute3_o
538 => per_abs_shd.g_old_rec.attribute3
539 ,p_attribute4_o
540 => per_abs_shd.g_old_rec.attribute4
541 ,p_attribute5_o
542 => per_abs_shd.g_old_rec.attribute5
543 ,p_attribute6_o
544 => per_abs_shd.g_old_rec.attribute6
545 ,p_attribute7_o
546 => per_abs_shd.g_old_rec.attribute7
547 ,p_attribute8_o
548 => per_abs_shd.g_old_rec.attribute8
549 ,p_attribute9_o
550 => per_abs_shd.g_old_rec.attribute9
551 ,p_attribute10_o
552 => per_abs_shd.g_old_rec.attribute10
553 ,p_attribute11_o
554 => per_abs_shd.g_old_rec.attribute11
555 ,p_attribute12_o
556 => per_abs_shd.g_old_rec.attribute12
557 ,p_attribute13_o
558 => per_abs_shd.g_old_rec.attribute13
559 ,p_attribute14_o
560 => per_abs_shd.g_old_rec.attribute14
561 ,p_attribute15_o
562 => per_abs_shd.g_old_rec.attribute15
563 ,p_attribute16_o
564 => per_abs_shd.g_old_rec.attribute16
565 ,p_attribute17_o
566 => per_abs_shd.g_old_rec.attribute17
567 ,p_attribute18_o
568 => per_abs_shd.g_old_rec.attribute18
569 ,p_attribute19_o
570 => per_abs_shd.g_old_rec.attribute19
571 ,p_attribute20_o
572 => per_abs_shd.g_old_rec.attribute20
573 ,p_maternity_id_o
574 => per_abs_shd.g_old_rec.maternity_id
575 ,p_sickness_start_date_o
576 => per_abs_shd.g_old_rec.sickness_start_date
577 ,p_sickness_end_date_o
578 => per_abs_shd.g_old_rec.sickness_end_date
579 ,p_pregnancy_related_illness_o
580 => per_abs_shd.g_old_rec.pregnancy_related_illness
581 ,p_reason_for_notification_de_o
582 => per_abs_shd.g_old_rec.reason_for_notification_delay
583 ,p_accept_late_notification_f_o
584 => per_abs_shd.g_old_rec.accept_late_notification_flag
585 ,p_linked_absence_id_o
586 => per_abs_shd.g_old_rec.linked_absence_id
587 ,p_abs_information_category_o
588 => per_abs_shd.g_old_rec.abs_information_category
589 ,p_abs_information1_o
590 => per_abs_shd.g_old_rec.abs_information1
591 ,p_abs_information2_o
592 => per_abs_shd.g_old_rec.abs_information2
593 ,p_abs_information3_o
594 => per_abs_shd.g_old_rec.abs_information3
595 ,p_abs_information4_o
596 => per_abs_shd.g_old_rec.abs_information4
597 ,p_abs_information5_o
598 => per_abs_shd.g_old_rec.abs_information5
599 ,p_abs_information6_o
600 => per_abs_shd.g_old_rec.abs_information6
601 ,p_abs_information7_o
602 => per_abs_shd.g_old_rec.abs_information7
603 ,p_abs_information8_o
604 => per_abs_shd.g_old_rec.abs_information8
605 ,p_abs_information9_o
606 => per_abs_shd.g_old_rec.abs_information9
607 ,p_abs_information10_o
608 => per_abs_shd.g_old_rec.abs_information10
609 ,p_abs_information11_o
610 => per_abs_shd.g_old_rec.abs_information11
611 ,p_abs_information12_o
612 => per_abs_shd.g_old_rec.abs_information12
613 ,p_abs_information13_o
614 => per_abs_shd.g_old_rec.abs_information13
615 ,p_abs_information14_o
616 => per_abs_shd.g_old_rec.abs_information14
617 ,p_abs_information15_o
618 => per_abs_shd.g_old_rec.abs_information15
619 ,p_abs_information16_o
620 => per_abs_shd.g_old_rec.abs_information16
621 ,p_abs_information17_o
622 => per_abs_shd.g_old_rec.abs_information17
623 ,p_abs_information18_o
624 => per_abs_shd.g_old_rec.abs_information18
625 ,p_abs_information19_o
626 => per_abs_shd.g_old_rec.abs_information19
627 ,p_abs_information20_o
628 => per_abs_shd.g_old_rec.abs_information20
629 ,p_abs_information21_o
630 => per_abs_shd.g_old_rec.abs_information21
631 ,p_abs_information22_o
632 => per_abs_shd.g_old_rec.abs_information22
633 ,p_abs_information23_o
634 => per_abs_shd.g_old_rec.abs_information23
635 ,p_abs_information24_o
636 => per_abs_shd.g_old_rec.abs_information24
637 ,p_abs_information25_o
638 => per_abs_shd.g_old_rec.abs_information25
639 ,p_abs_information26_o
640 => per_abs_shd.g_old_rec.abs_information26
641 ,p_abs_information27_o
642 => per_abs_shd.g_old_rec.abs_information27
643 ,p_abs_information28_o
644 => per_abs_shd.g_old_rec.abs_information28
645 ,p_abs_information29_o
646 => per_abs_shd.g_old_rec.abs_information29
647 ,p_abs_information30_o
648 => per_abs_shd.g_old_rec.abs_information30
649 ,p_batch_id_o
650 => per_abs_shd.g_old_rec.batch_id
651 ,p_absence_case_id_o
652 => per_abs_shd.g_old_rec.absence_case_id
653 ,p_object_version_number_o
654 => per_abs_shd.g_old_rec.object_version_number
655 );
656 --
657 exception
658 --
659 when hr_api.cannot_find_prog_unit then
660 --
661 hr_api.cannot_find_prog_unit_error
662 (p_module_name => 'PER_ABSENCE_ATTENDANCES'
663 ,p_hook_type => 'AU');
664 --
665 end;
666 --
667 hr_utility.set_location(' Leaving:'||l_proc, 10);
668 End post_update;
669 --
670 -- ----------------------------------------------------------------------------
671 -- |-----------------------------< convert_defs >-----------------------------|
672 -- ----------------------------------------------------------------------------
673 -- {Start Of Comments}
674 --
675 -- Description:
676 -- The Convert_Defs procedure has one very important function:
677 -- It must return the record structure for the row with all system defaulted
678 -- values converted into its corresponding parameter value for update. When
679 -- we attempt to update a row through the Upd process , certain
680 -- parameters can be defaulted which enables flexibility in the calling of
681 -- the upd process (e.g. only attributes which need to be updated need to be
682 -- specified). For the upd process to determine which attributes
683 -- have NOT been specified we need to check if the parameter has a reserved
684 -- system default value. Therefore, for all parameters which have a
685 -- corresponding reserved system default mechanism specified we need to
686 -- check if a system default is being used. If a system default is being
687 -- used then we convert the defaulted value into its corresponding attribute
688 -- value held in the g_old_rec data structure.
689 --
690 -- Prerequisites:
691 -- This private function can only be called from the upd process.
692 --
693 -- In Parameters:
694 -- A Pl/Sql record structure.
695 --
696 -- Post Success:
697 -- The record structure will be returned with all system defaulted parameter
698 -- values converted into its current row attribute value.
699 --
700 -- Post Failure:
701 -- No direct error handling is required within this function. Any possible
702 -- errors within this procedure will be a PL/SQL value error due to
703 -- conversion of datatypes or data lengths.
704 --
705 -- Developer Implementation Notes:
706 -- None.
707 --
708 -- Access Status:
709 -- Internal Row Handler Use Only.
710 --
711 -- {End Of Comments}
712 -- ----------------------------------------------------------------------------
713 Procedure convert_defs
714 (p_rec in out nocopy per_abs_shd.g_rec_type
715 ) is
716 --
717 Begin
718 --
719 -- We must now examine each argument value in the
720 -- p_rec plsql record structure
721 -- to see if a system default is being used. If a system default
722 -- is being used then we must set to the 'current' argument value.
723 --
724 If (p_rec.business_group_id = hr_api.g_number) then
725 p_rec.business_group_id :=
726 per_abs_shd.g_old_rec.business_group_id;
727 End If;
728 If (p_rec.absence_attendance_type_id = hr_api.g_number) then
729 p_rec.absence_attendance_type_id :=
730 per_abs_shd.g_old_rec.absence_attendance_type_id;
731 End If;
732 If (p_rec.abs_attendance_reason_id = hr_api.g_number) then
733 p_rec.abs_attendance_reason_id :=
734 per_abs_shd.g_old_rec.abs_attendance_reason_id;
735 End If;
736 If (p_rec.person_id = hr_api.g_number) then
737 p_rec.person_id :=
738 per_abs_shd.g_old_rec.person_id;
739 End If;
740 If (p_rec.authorising_person_id = hr_api.g_number) then
741 p_rec.authorising_person_id :=
742 per_abs_shd.g_old_rec.authorising_person_id;
743 End If;
744 If (p_rec.replacement_person_id = hr_api.g_number) then
745 p_rec.replacement_person_id :=
746 per_abs_shd.g_old_rec.replacement_person_id;
747 End If;
748 If (p_rec.period_of_incapacity_id = hr_api.g_number) then
749 p_rec.period_of_incapacity_id :=
750 per_abs_shd.g_old_rec.period_of_incapacity_id;
751 End If;
752 If (p_rec.absence_days = hr_api.g_number) then
753 p_rec.absence_days :=
754 per_abs_shd.g_old_rec.absence_days;
755 End If;
756 If (p_rec.absence_hours = hr_api.g_number) then
757 p_rec.absence_hours :=
758 per_abs_shd.g_old_rec.absence_hours;
759 End If;
760 If (p_rec.comments = hr_api.g_varchar2) then
761 p_rec.comments :=
762 per_abs_shd.g_old_rec.comments;
763 End If;
764 If (p_rec.date_end = hr_api.g_date) then
765 p_rec.date_end :=
766 per_abs_shd.g_old_rec.date_end;
767 End If;
768 If (p_rec.date_notification = hr_api.g_date) then
769 p_rec.date_notification :=
770 per_abs_shd.g_old_rec.date_notification;
771 End If;
772 If (p_rec.date_projected_end = hr_api.g_date) then
773 p_rec.date_projected_end :=
774 per_abs_shd.g_old_rec.date_projected_end;
775 End If;
776 If (p_rec.date_projected_start = hr_api.g_date) then
777 p_rec.date_projected_start :=
778 per_abs_shd.g_old_rec.date_projected_start;
779 End If;
780 If (p_rec.date_start = hr_api.g_date) then
781 p_rec.date_start :=
782 per_abs_shd.g_old_rec.date_start;
783 End If;
784 If (p_rec.occurrence = hr_api.g_number) then
785 p_rec.occurrence :=
786 per_abs_shd.g_old_rec.occurrence;
787 End If;
788 If (p_rec.ssp1_issued = hr_api.g_varchar2) then
789 p_rec.ssp1_issued :=
790 per_abs_shd.g_old_rec.ssp1_issued;
791 End If;
792 If (p_rec.time_end = hr_api.g_varchar2) then
793 p_rec.time_end :=
794 per_abs_shd.g_old_rec.time_end;
795 End If;
796 If (p_rec.time_projected_end = hr_api.g_varchar2) then
797 p_rec.time_projected_end :=
798 per_abs_shd.g_old_rec.time_projected_end;
799 End If;
800 If (p_rec.time_projected_start = hr_api.g_varchar2) then
801 p_rec.time_projected_start :=
802 per_abs_shd.g_old_rec.time_projected_start;
803 End If;
804 If (p_rec.time_start = hr_api.g_varchar2) then
805 p_rec.time_start :=
806 per_abs_shd.g_old_rec.time_start;
807 End If;
808 If (p_rec.request_id = hr_api.g_number) then
809 p_rec.request_id :=
810 per_abs_shd.g_old_rec.request_id;
811 End If;
812 If (p_rec.program_application_id = hr_api.g_number) then
813 p_rec.program_application_id :=
814 per_abs_shd.g_old_rec.program_application_id;
815 End If;
816 If (p_rec.program_id = hr_api.g_number) then
817 p_rec.program_id :=
818 per_abs_shd.g_old_rec.program_id;
819 End If;
820 If (p_rec.program_update_date = hr_api.g_date) then
821 p_rec.program_update_date :=
822 per_abs_shd.g_old_rec.program_update_date;
823 End If;
824 If (p_rec.attribute_category = hr_api.g_varchar2) then
825 p_rec.attribute_category :=
826 per_abs_shd.g_old_rec.attribute_category;
827 End If;
828 If (p_rec.attribute1 = hr_api.g_varchar2) then
829 p_rec.attribute1 :=
830 per_abs_shd.g_old_rec.attribute1;
831 End If;
832 If (p_rec.attribute2 = hr_api.g_varchar2) then
833 p_rec.attribute2 :=
834 per_abs_shd.g_old_rec.attribute2;
835 End If;
836 If (p_rec.attribute3 = hr_api.g_varchar2) then
837 p_rec.attribute3 :=
838 per_abs_shd.g_old_rec.attribute3;
839 End If;
840 If (p_rec.attribute4 = hr_api.g_varchar2) then
841 p_rec.attribute4 :=
842 per_abs_shd.g_old_rec.attribute4;
843 End If;
844 If (p_rec.attribute5 = hr_api.g_varchar2) then
845 p_rec.attribute5 :=
846 per_abs_shd.g_old_rec.attribute5;
847 End If;
848 If (p_rec.attribute6 = hr_api.g_varchar2) then
849 p_rec.attribute6 :=
850 per_abs_shd.g_old_rec.attribute6;
851 End If;
852 If (p_rec.attribute7 = hr_api.g_varchar2) then
853 p_rec.attribute7 :=
854 per_abs_shd.g_old_rec.attribute7;
855 End If;
856 If (p_rec.attribute8 = hr_api.g_varchar2) then
857 p_rec.attribute8 :=
858 per_abs_shd.g_old_rec.attribute8;
859 End If;
860 If (p_rec.attribute9 = hr_api.g_varchar2) then
861 p_rec.attribute9 :=
862 per_abs_shd.g_old_rec.attribute9;
863 End If;
864 If (p_rec.attribute10 = hr_api.g_varchar2) then
865 p_rec.attribute10 :=
866 per_abs_shd.g_old_rec.attribute10;
867 End If;
868 If (p_rec.attribute11 = hr_api.g_varchar2) then
869 p_rec.attribute11 :=
870 per_abs_shd.g_old_rec.attribute11;
871 End If;
872 If (p_rec.attribute12 = hr_api.g_varchar2) then
873 p_rec.attribute12 :=
874 per_abs_shd.g_old_rec.attribute12;
875 End If;
876 If (p_rec.attribute13 = hr_api.g_varchar2) then
877 p_rec.attribute13 :=
878 per_abs_shd.g_old_rec.attribute13;
879 End If;
880 If (p_rec.attribute14 = hr_api.g_varchar2) then
881 p_rec.attribute14 :=
882 per_abs_shd.g_old_rec.attribute14;
883 End If;
884 If (p_rec.attribute15 = hr_api.g_varchar2) then
885 p_rec.attribute15 :=
886 per_abs_shd.g_old_rec.attribute15;
887 End If;
888 If (p_rec.attribute16 = hr_api.g_varchar2) then
889 p_rec.attribute16 :=
890 per_abs_shd.g_old_rec.attribute16;
891 End If;
892 If (p_rec.attribute17 = hr_api.g_varchar2) then
893 p_rec.attribute17 :=
894 per_abs_shd.g_old_rec.attribute17;
895 End If;
896 If (p_rec.attribute18 = hr_api.g_varchar2) then
897 p_rec.attribute18 :=
898 per_abs_shd.g_old_rec.attribute18;
899 End If;
900 If (p_rec.attribute19 = hr_api.g_varchar2) then
901 p_rec.attribute19 :=
902 per_abs_shd.g_old_rec.attribute19;
903 End If;
904 If (p_rec.attribute20 = hr_api.g_varchar2) then
905 p_rec.attribute20 :=
906 per_abs_shd.g_old_rec.attribute20;
907 End If;
908 If (p_rec.maternity_id = hr_api.g_number) then
909 p_rec.maternity_id :=
910 per_abs_shd.g_old_rec.maternity_id;
911 End If;
912 If (p_rec.sickness_start_date = hr_api.g_date) then
913 p_rec.sickness_start_date :=
914 per_abs_shd.g_old_rec.sickness_start_date;
915 End If;
916 If (p_rec.sickness_end_date = hr_api.g_date) then
917 p_rec.sickness_end_date :=
918 per_abs_shd.g_old_rec.sickness_end_date;
919 End If;
920 If (p_rec.pregnancy_related_illness = hr_api.g_varchar2) then
921 p_rec.pregnancy_related_illness :=
922 per_abs_shd.g_old_rec.pregnancy_related_illness;
923 End If;
924 If (p_rec.reason_for_notification_delay = hr_api.g_varchar2) then
925 p_rec.reason_for_notification_delay :=
926 per_abs_shd.g_old_rec.reason_for_notification_delay;
927 End If;
928 If (p_rec.accept_late_notification_flag = hr_api.g_varchar2) then
929 p_rec.accept_late_notification_flag :=
930 per_abs_shd.g_old_rec.accept_late_notification_flag;
931 End If;
932 If (p_rec.linked_absence_id = hr_api.g_number) then
933 p_rec.linked_absence_id :=
934 per_abs_shd.g_old_rec.linked_absence_id;
935 End If;
936 If (p_rec.abs_information_category = hr_api.g_varchar2) then
937 p_rec.abs_information_category :=
938 per_abs_shd.g_old_rec.abs_information_category;
939 End If;
940 If (p_rec.abs_information1 = hr_api.g_varchar2) then
941 p_rec.abs_information1 :=
942 per_abs_shd.g_old_rec.abs_information1;
943 End If;
944 If (p_rec.abs_information2 = hr_api.g_varchar2) then
945 p_rec.abs_information2 :=
946 per_abs_shd.g_old_rec.abs_information2;
947 End If;
948 If (p_rec.abs_information3 = hr_api.g_varchar2) then
949 p_rec.abs_information3 :=
950 per_abs_shd.g_old_rec.abs_information3;
951 End If;
952 If (p_rec.abs_information4 = hr_api.g_varchar2) then
953 p_rec.abs_information4 :=
954 per_abs_shd.g_old_rec.abs_information4;
955 End If;
956 If (p_rec.abs_information5 = hr_api.g_varchar2) then
957 p_rec.abs_information5 :=
958 per_abs_shd.g_old_rec.abs_information5;
959 End If;
960 If (p_rec.abs_information6 = hr_api.g_varchar2) then
961 p_rec.abs_information6 :=
962 per_abs_shd.g_old_rec.abs_information6;
963 End If;
964 If (p_rec.abs_information7 = hr_api.g_varchar2) then
965 p_rec.abs_information7 :=
966 per_abs_shd.g_old_rec.abs_information7;
967 End If;
968 If (p_rec.abs_information8 = hr_api.g_varchar2) then
969 p_rec.abs_information8 :=
970 per_abs_shd.g_old_rec.abs_information8;
971 End If;
972 If (p_rec.abs_information9 = hr_api.g_varchar2) then
973 p_rec.abs_information9 :=
974 per_abs_shd.g_old_rec.abs_information9;
975 End If;
976 If (p_rec.abs_information10 = hr_api.g_varchar2) then
977 p_rec.abs_information10 :=
978 per_abs_shd.g_old_rec.abs_information10;
979 End If;
980 If (p_rec.abs_information11 = hr_api.g_varchar2) then
981 p_rec.abs_information11 :=
982 per_abs_shd.g_old_rec.abs_information11;
983 End If;
984 If (p_rec.abs_information12 = hr_api.g_varchar2) then
985 p_rec.abs_information12 :=
986 per_abs_shd.g_old_rec.abs_information12;
987 End If;
988 If (p_rec.abs_information13 = hr_api.g_varchar2) then
989 p_rec.abs_information13 :=
990 per_abs_shd.g_old_rec.abs_information13;
991 End If;
992 If (p_rec.abs_information14 = hr_api.g_varchar2) then
993 p_rec.abs_information14 :=
994 per_abs_shd.g_old_rec.abs_information14;
995 End If;
996 If (p_rec.abs_information15 = hr_api.g_varchar2) then
997 p_rec.abs_information15 :=
998 per_abs_shd.g_old_rec.abs_information15;
999 End If;
1000 If (p_rec.abs_information16 = hr_api.g_varchar2) then
1001 p_rec.abs_information16 :=
1002 per_abs_shd.g_old_rec.abs_information16;
1003 End If;
1004 If (p_rec.abs_information17 = hr_api.g_varchar2) then
1005 p_rec.abs_information17 :=
1006 per_abs_shd.g_old_rec.abs_information17;
1007 End If;
1008 If (p_rec.abs_information18 = hr_api.g_varchar2) then
1009 p_rec.abs_information18 :=
1010 per_abs_shd.g_old_rec.abs_information18;
1011 End If;
1012 If (p_rec.abs_information19 = hr_api.g_varchar2) then
1013 p_rec.abs_information19 :=
1014 per_abs_shd.g_old_rec.abs_information19;
1015 End If;
1016 If (p_rec.abs_information20 = hr_api.g_varchar2) then
1017 p_rec.abs_information20 :=
1018 per_abs_shd.g_old_rec.abs_information20;
1019 End If;
1020 If (p_rec.abs_information21 = hr_api.g_varchar2) then
1021 p_rec.abs_information21 :=
1022 per_abs_shd.g_old_rec.abs_information21;
1023 End If;
1024 If (p_rec.abs_information22 = hr_api.g_varchar2) then
1025 p_rec.abs_information22 :=
1026 per_abs_shd.g_old_rec.abs_information22;
1027 End If;
1028 If (p_rec.abs_information23 = hr_api.g_varchar2) then
1029 p_rec.abs_information23 :=
1030 per_abs_shd.g_old_rec.abs_information23;
1031 End If;
1032 If (p_rec.abs_information24 = hr_api.g_varchar2) then
1033 p_rec.abs_information24 :=
1034 per_abs_shd.g_old_rec.abs_information24;
1035 End If;
1036 If (p_rec.abs_information25 = hr_api.g_varchar2) then
1037 p_rec.abs_information25 :=
1038 per_abs_shd.g_old_rec.abs_information25;
1039 End If;
1040 If (p_rec.abs_information26 = hr_api.g_varchar2) then
1041 p_rec.abs_information26 :=
1042 per_abs_shd.g_old_rec.abs_information26;
1043 End If;
1044 If (p_rec.abs_information27 = hr_api.g_varchar2) then
1045 p_rec.abs_information27 :=
1046 per_abs_shd.g_old_rec.abs_information27;
1047 End If;
1048 If (p_rec.abs_information28 = hr_api.g_varchar2) then
1049 p_rec.abs_information28 :=
1050 per_abs_shd.g_old_rec.abs_information28;
1051 End If;
1052 If (p_rec.abs_information29 = hr_api.g_varchar2) then
1053 p_rec.abs_information29 :=
1054 per_abs_shd.g_old_rec.abs_information29;
1055 End If;
1056 If (p_rec.abs_information30 = hr_api.g_varchar2) then
1057 p_rec.abs_information30 :=
1058 per_abs_shd.g_old_rec.abs_information30;
1059 End If;
1060 If (p_rec.absence_case_id = hr_api.g_number) then
1061 p_rec.absence_case_id :=
1062 per_abs_shd.g_old_rec.absence_case_id;
1063 End If;
1064 If (p_rec.batch_id = hr_api.g_number) then
1065 p_rec.batch_id :=
1066 per_abs_shd.g_old_rec.batch_id;
1067 End If;
1068 --
1069 End convert_defs;
1070 --
1071 -- ----------------------------------------------------------------------------
1072 -- |---------------------------------< upd >----------------------------------|
1073 -- ----------------------------------------------------------------------------
1074 Procedure upd
1075 (p_effective_date in date
1076 ,p_rec in out nocopy per_abs_shd.g_rec_type
1077 ,p_dur_dys_less_warning out nocopy boolean
1078 ,p_dur_hrs_less_warning out nocopy boolean
1079 ,p_exceeds_pto_entit_warning out nocopy boolean
1080 ,p_exceeds_run_total_warning out nocopy boolean
1081 ,p_abs_overlap_warning out nocopy boolean
1082 ,p_abs_day_after_warning out nocopy boolean
1083 ,p_dur_overwritten_warning out nocopy boolean
1084 ) is
1085 --
1086 l_proc varchar2(72) := g_package||'upd';
1087 --
1088 Begin
1089 hr_utility.set_location('Entering:'||l_proc, 5);
1090 --
1091 -- We must lock the row which we need to update.
1092 --
1093 per_abs_shd.lck
1094 (p_rec.absence_attendance_id
1095 ,p_rec.object_version_number
1096 );
1097 --
1098 -- 1. During an update system defaults are used to determine if
1099 -- arguments have been defaulted or not. We must therefore
1100 -- derive the full record structure values to be updated.
1101 --
1102 -- 2. Call the supporting update validate operations.
1103 --
1104 convert_defs(p_rec);
1105
1106 per_abs_bus.update_validate
1107 (p_effective_date => p_effective_date
1108 ,p_rec => p_rec
1109 ,p_dur_dys_less_warning => p_dur_dys_less_warning
1110 ,p_dur_hrs_less_warning => p_dur_hrs_less_warning
1111 ,p_exceeds_pto_entit_warning => p_exceeds_pto_entit_warning
1112 ,p_exceeds_run_total_warning => p_exceeds_run_total_warning
1113 ,p_abs_overlap_warning => p_abs_overlap_warning
1114 ,p_abs_day_after_warning => p_abs_day_after_warning
1115 ,p_dur_overwritten_warning => p_dur_overwritten_warning
1116 );
1117
1118 --
1119 -- Call the supporting pre-update operation
1120 --
1121 per_abs_upd.pre_update(p_rec, p_effective_date);
1122 --
1123 -- Update the row.
1124 --
1125 per_abs_upd.update_dml(p_rec);
1126 --
1127 -- Call the supporting post-update operation
1128 --
1129 per_abs_upd.post_update
1130 (p_effective_date
1131 ,p_rec
1132 );
1133 End upd;
1134 --
1135 -- ----------------------------------------------------------------------------
1136 -- |---------------------------------< upd >----------------------------------|
1137 -- ----------------------------------------------------------------------------
1138 Procedure upd
1139 (p_effective_date in date
1140 ,p_absence_attendance_id in number
1141 ,p_object_version_number in out nocopy number
1142 ,p_abs_attendance_reason_id in number default hr_api.g_number
1143 ,p_authorising_person_id in number default hr_api.g_number
1144 ,p_replacement_person_id in number default hr_api.g_number
1145 ,p_period_of_incapacity_id in number default hr_api.g_number
1146 ,p_absence_days in out nocopy number
1147 ,p_absence_hours in out nocopy number
1148 --start changes for bug 5987410
1149 --,p_comments in varchar2 default hr_api.g_varchar2
1150 ,p_comments in long default NULL
1151 --end changes for bug 5987410
1152 ,p_date_notification in date default hr_api.g_date
1153 ,p_date_start in date default hr_api.g_date
1154 ,p_date_end in date default hr_api.g_date
1155 ,p_date_projected_start in date default hr_api.g_date
1156 ,p_date_projected_end in date default hr_api.g_date
1157 ,p_time_start in varchar2 default hr_api.g_varchar2
1158 ,p_time_end in varchar2 default hr_api.g_varchar2
1159 ,p_time_projected_start in varchar2 default hr_api.g_varchar2
1160 ,p_time_projected_end in varchar2 default hr_api.g_varchar2
1161 ,p_occurrence in number default hr_api.g_number
1162 ,p_ssp1_issued in varchar2 default hr_api.g_varchar2
1163 ,p_request_id in number default hr_api.g_number
1164 ,p_program_application_id in number default hr_api.g_number
1165 ,p_program_id in number default hr_api.g_number
1166 ,p_program_update_date in date default hr_api.g_date
1167 ,p_attribute_category in varchar2 default hr_api.g_varchar2
1168 ,p_attribute1 in varchar2 default hr_api.g_varchar2
1169 ,p_attribute2 in varchar2 default hr_api.g_varchar2
1170 ,p_attribute3 in varchar2 default hr_api.g_varchar2
1171 ,p_attribute4 in varchar2 default hr_api.g_varchar2
1172 ,p_attribute5 in varchar2 default hr_api.g_varchar2
1173 ,p_attribute6 in varchar2 default hr_api.g_varchar2
1174 ,p_attribute7 in varchar2 default hr_api.g_varchar2
1175 ,p_attribute8 in varchar2 default hr_api.g_varchar2
1176 ,p_attribute9 in varchar2 default hr_api.g_varchar2
1177 ,p_attribute10 in varchar2 default hr_api.g_varchar2
1178 ,p_attribute11 in varchar2 default hr_api.g_varchar2
1179 ,p_attribute12 in varchar2 default hr_api.g_varchar2
1180 ,p_attribute13 in varchar2 default hr_api.g_varchar2
1181 ,p_attribute14 in varchar2 default hr_api.g_varchar2
1182 ,p_attribute15 in varchar2 default hr_api.g_varchar2
1183 ,p_attribute16 in varchar2 default hr_api.g_varchar2
1184 ,p_attribute17 in varchar2 default hr_api.g_varchar2
1185 ,p_attribute18 in varchar2 default hr_api.g_varchar2
1186 ,p_attribute19 in varchar2 default hr_api.g_varchar2
1187 ,p_attribute20 in varchar2 default hr_api.g_varchar2
1188 ,p_maternity_id in number default hr_api.g_number
1189 ,p_sickness_start_date in date default hr_api.g_date
1190 ,p_sickness_end_date in date default hr_api.g_date
1191 ,p_pregnancy_related_illness in varchar2 default hr_api.g_varchar2
1192 ,p_reason_for_notification_dela in varchar2 default hr_api.g_varchar2
1193 ,p_accept_late_notification_fla in varchar2 default hr_api.g_varchar2
1194 ,p_linked_absence_id in number default hr_api.g_number
1195 ,p_abs_information_category in varchar2 default hr_api.g_varchar2
1196 ,p_abs_information1 in varchar2 default hr_api.g_varchar2
1197 ,p_abs_information2 in varchar2 default hr_api.g_varchar2
1198 ,p_abs_information3 in varchar2 default hr_api.g_varchar2
1199 ,p_abs_information4 in varchar2 default hr_api.g_varchar2
1200 ,p_abs_information5 in varchar2 default hr_api.g_varchar2
1201 ,p_abs_information6 in varchar2 default hr_api.g_varchar2
1202 ,p_abs_information7 in varchar2 default hr_api.g_varchar2
1203 ,p_abs_information8 in varchar2 default hr_api.g_varchar2
1204 ,p_abs_information9 in varchar2 default hr_api.g_varchar2
1205 ,p_abs_information10 in varchar2 default hr_api.g_varchar2
1206 ,p_abs_information11 in varchar2 default hr_api.g_varchar2
1207 ,p_abs_information12 in varchar2 default hr_api.g_varchar2
1208 ,p_abs_information13 in varchar2 default hr_api.g_varchar2
1209 ,p_abs_information14 in varchar2 default hr_api.g_varchar2
1210 ,p_abs_information15 in varchar2 default hr_api.g_varchar2
1211 ,p_abs_information16 in varchar2 default hr_api.g_varchar2
1212 ,p_abs_information17 in varchar2 default hr_api.g_varchar2
1213 ,p_abs_information18 in varchar2 default hr_api.g_varchar2
1214 ,p_abs_information19 in varchar2 default hr_api.g_varchar2
1215 ,p_abs_information20 in varchar2 default hr_api.g_varchar2
1216 ,p_abs_information21 in varchar2 default hr_api.g_varchar2
1217 ,p_abs_information22 in varchar2 default hr_api.g_varchar2
1218 ,p_abs_information23 in varchar2 default hr_api.g_varchar2
1219 ,p_abs_information24 in varchar2 default hr_api.g_varchar2
1220 ,p_abs_information25 in varchar2 default hr_api.g_varchar2
1221 ,p_abs_information26 in varchar2 default hr_api.g_varchar2
1222 ,p_abs_information27 in varchar2 default hr_api.g_varchar2
1223 ,p_abs_information28 in varchar2 default hr_api.g_varchar2
1224 ,p_abs_information29 in varchar2 default hr_api.g_varchar2
1225 ,p_abs_information30 in varchar2 default hr_api.g_varchar2
1226 ,p_batch_id in number default hr_api.g_number
1227 ,p_absence_case_id in number default hr_api.g_number
1228 ,p_dur_dys_less_warning out nocopy boolean
1229 ,p_dur_hrs_less_warning out nocopy boolean
1230 ,p_exceeds_pto_entit_warning out nocopy boolean
1231 ,p_exceeds_run_total_warning out nocopy boolean
1232 ,p_abs_overlap_warning out nocopy boolean
1233 ,p_abs_day_after_warning out nocopy boolean
1234 ,p_dur_overwritten_warning out nocopy boolean
1235 ) is
1236 --
1237 l_person_id number := hr_api.g_number;
1238 l_absence_attendance_type_id number := hr_api.g_number;
1239 l_business_group_id number := hr_api.g_number;
1240 l_rec per_abs_shd.g_rec_type;
1241 l_proc varchar2(72) := g_package||'upd';
1242 --
1243 --
1244 Begin
1245 hr_utility.set_location('Entering:'||l_proc, 5);
1246 --
1247 -- Call conversion function to turn arguments into the
1248 -- l_rec structure.
1249 --
1250 l_rec :=
1251 per_abs_shd.convert_args
1252 (p_absence_attendance_id
1253 ,l_business_group_id
1254 ,l_absence_attendance_type_id
1255 ,p_abs_attendance_reason_id
1256 ,l_person_id
1257 ,p_authorising_person_id
1258 ,p_replacement_person_id
1259 ,p_period_of_incapacity_id
1260 ,p_absence_days
1261 ,p_absence_hours
1262 ,p_comments
1263 ,p_date_end
1264 ,p_date_notification
1265 ,p_date_projected_end
1266 ,p_date_projected_start
1267 ,p_date_start
1268 ,hr_api.g_number -- p_occurrence
1269 ,p_ssp1_issued
1270 ,p_time_end
1271 ,p_time_projected_end
1272 ,p_time_projected_start
1273 ,p_time_start
1274 ,p_request_id
1275 ,p_program_application_id
1276 ,p_program_id
1277 ,p_program_update_date
1278 ,p_attribute_category
1279 ,p_attribute1
1280 ,p_attribute2
1281 ,p_attribute3
1282 ,p_attribute4
1283 ,p_attribute5
1284 ,p_attribute6
1285 ,p_attribute7
1286 ,p_attribute8
1287 ,p_attribute9
1288 ,p_attribute10
1289 ,p_attribute11
1290 ,p_attribute12
1291 ,p_attribute13
1292 ,p_attribute14
1293 ,p_attribute15
1294 ,p_attribute16
1295 ,p_attribute17
1296 ,p_attribute18
1297 ,p_attribute19
1298 ,p_attribute20
1299 ,p_maternity_id
1300 ,p_sickness_start_date
1301 ,p_sickness_end_date
1302 ,p_pregnancy_related_illness
1303 ,p_reason_for_notification_dela
1304 ,p_accept_late_notification_fla
1305 ,p_linked_absence_id
1306 ,p_abs_information_category
1307 ,p_abs_information1
1308 ,p_abs_information2
1309 ,p_abs_information3
1310 ,p_abs_information4
1311 ,p_abs_information5
1312 ,p_abs_information6
1313 ,p_abs_information7
1314 ,p_abs_information8
1315 ,p_abs_information9
1316 ,p_abs_information10
1317 ,p_abs_information11
1318 ,p_abs_information12
1319 ,p_abs_information13
1320 ,p_abs_information14
1321 ,p_abs_information15
1322 ,p_abs_information16
1323 ,p_abs_information17
1324 ,p_abs_information18
1325 ,p_abs_information19
1326 ,p_abs_information20
1327 ,p_abs_information21
1328 ,p_abs_information22
1329 ,p_abs_information23
1330 ,p_abs_information24
1331 ,p_abs_information25
1332 ,p_abs_information26
1333 ,p_abs_information27
1334 ,p_abs_information28
1335 ,p_abs_information29
1336 ,p_abs_information30
1337 ,p_absence_case_id
1338 ,p_batch_id
1339 ,p_object_version_number
1340 );
1341 hr_utility.set_location(l_proc, 6);
1342 --
1343 -- Having converted the arguments into the
1344 -- plsql record structure we call the corresponding record
1345 -- business process.
1346 --
1347 per_abs_upd.upd
1348 (p_effective_date => p_effective_date
1349 ,p_rec => l_rec
1350 ,p_dur_dys_less_warning => p_dur_dys_less_warning
1351 ,p_dur_hrs_less_warning => p_dur_hrs_less_warning
1352 ,p_exceeds_pto_entit_warning => p_exceeds_pto_entit_warning
1353 ,p_exceeds_run_total_warning => p_exceeds_run_total_warning
1354 ,p_abs_overlap_warning => p_abs_overlap_warning
1355 ,p_abs_day_after_warning => p_abs_day_after_warning
1356 ,p_dur_overwritten_warning => p_dur_overwritten_warning
1357 );
1358
1359 p_object_version_number := l_rec.object_version_number;
1360 p_absence_days := l_rec.absence_days;
1361 p_absence_hours := l_rec.absence_hours;
1362
1363 --
1364 hr_utility.set_location(' Leaving:'||l_proc, 10);
1365
1366 End upd;
1367 --
1368 end per_abs_upd;