DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_PERSON_ABSENCE_BK1

Source


1 package body HR_PERSON_ABSENCE_BK1 as
2 /* $Header: peabsapi.pkb 120.4.12010000.2 2008/08/06 08:52:29 generated ship $ */
3 -- Code generated by the Oracle HRMS API Hook Pre-processor
4 -- Created on 2009/03/30 04:53:50 (YYYY/MM/DD HH24:MI:SS)
5 procedure CREATE_PERSON_ABSENCE_A
6 (P_EFFECTIVE_DATE in DATE
7 ,P_PERSON_ID in NUMBER
8 ,P_BUSINESS_GROUP_ID in NUMBER
9 ,P_ABSENCE_ATTENDANCE_TYPE_ID in NUMBER
10 ,P_ABS_ATTENDANCE_REASON_ID in NUMBER
11 ,P_COMMENTS in LONG
12 ,P_DATE_NOTIFICATION in DATE
13 ,P_DATE_PROJECTED_START in DATE
14 ,P_TIME_PROJECTED_START in VARCHAR2
15 ,P_DATE_PROJECTED_END in DATE
16 ,P_TIME_PROJECTED_END in VARCHAR2
17 ,P_DATE_START in DATE
18 ,P_TIME_START in VARCHAR2
19 ,P_DATE_END in DATE
20 ,P_TIME_END in VARCHAR2
21 ,P_ABSENCE_DAYS in NUMBER
22 ,P_ABSENCE_HOURS in NUMBER
23 ,P_AUTHORISING_PERSON_ID in NUMBER
24 ,P_REPLACEMENT_PERSON_ID in NUMBER
25 ,P_ATTRIBUTE_CATEGORY in VARCHAR2
26 ,P_ATTRIBUTE1 in VARCHAR2
27 ,P_ATTRIBUTE2 in VARCHAR2
28 ,P_ATTRIBUTE3 in VARCHAR2
29 ,P_ATTRIBUTE4 in VARCHAR2
30 ,P_ATTRIBUTE5 in VARCHAR2
31 ,P_ATTRIBUTE6 in VARCHAR2
32 ,P_ATTRIBUTE7 in VARCHAR2
33 ,P_ATTRIBUTE8 in VARCHAR2
34 ,P_ATTRIBUTE9 in VARCHAR2
35 ,P_ATTRIBUTE10 in VARCHAR2
36 ,P_ATTRIBUTE11 in VARCHAR2
37 ,P_ATTRIBUTE12 in VARCHAR2
38 ,P_ATTRIBUTE13 in VARCHAR2
39 ,P_ATTRIBUTE14 in VARCHAR2
40 ,P_ATTRIBUTE15 in VARCHAR2
41 ,P_ATTRIBUTE16 in VARCHAR2
42 ,P_ATTRIBUTE17 in VARCHAR2
43 ,P_ATTRIBUTE18 in VARCHAR2
44 ,P_ATTRIBUTE19 in VARCHAR2
45 ,P_ATTRIBUTE20 in VARCHAR2
46 ,P_OCCURRENCE in NUMBER
47 ,P_PERIOD_OF_INCAPACITY_ID in NUMBER
48 ,P_SSP1_ISSUED in VARCHAR2
49 ,P_MATERNITY_ID in NUMBER
50 ,P_SICKNESS_START_DATE in DATE
51 ,P_SICKNESS_END_DATE in DATE
52 ,P_PREGNANCY_RELATED_ILLNESS in VARCHAR2
53 ,P_REASON_FOR_NOTIFICATION_DELA in VARCHAR2
54 ,P_ACCEPT_LATE_NOTIFICATION_FLA in VARCHAR2
55 ,P_LINKED_ABSENCE_ID in NUMBER
56 ,P_BATCH_ID in NUMBER
57 ,P_CREATE_ELEMENT_ENTRY in BOOLEAN
58 ,P_ABS_INFORMATION_CATEGORY in VARCHAR2
59 ,P_ABS_INFORMATION1 in VARCHAR2
60 ,P_ABS_INFORMATION2 in VARCHAR2
61 ,P_ABS_INFORMATION3 in VARCHAR2
62 ,P_ABS_INFORMATION4 in VARCHAR2
63 ,P_ABS_INFORMATION5 in VARCHAR2
64 ,P_ABS_INFORMATION6 in VARCHAR2
65 ,P_ABS_INFORMATION7 in VARCHAR2
66 ,P_ABS_INFORMATION8 in VARCHAR2
67 ,P_ABS_INFORMATION9 in VARCHAR2
68 ,P_ABS_INFORMATION10 in VARCHAR2
69 ,P_ABS_INFORMATION11 in VARCHAR2
70 ,P_ABS_INFORMATION12 in VARCHAR2
71 ,P_ABS_INFORMATION13 in VARCHAR2
72 ,P_ABS_INFORMATION14 in VARCHAR2
73 ,P_ABS_INFORMATION15 in VARCHAR2
74 ,P_ABS_INFORMATION16 in VARCHAR2
75 ,P_ABS_INFORMATION17 in VARCHAR2
76 ,P_ABS_INFORMATION18 in VARCHAR2
77 ,P_ABS_INFORMATION19 in VARCHAR2
78 ,P_ABS_INFORMATION20 in VARCHAR2
79 ,P_ABS_INFORMATION21 in VARCHAR2
80 ,P_ABS_INFORMATION22 in VARCHAR2
81 ,P_ABS_INFORMATION23 in VARCHAR2
82 ,P_ABS_INFORMATION24 in VARCHAR2
83 ,P_ABS_INFORMATION25 in VARCHAR2
84 ,P_ABS_INFORMATION26 in VARCHAR2
85 ,P_ABS_INFORMATION27 in VARCHAR2
86 ,P_ABS_INFORMATION28 in VARCHAR2
87 ,P_ABS_INFORMATION29 in VARCHAR2
88 ,P_ABS_INFORMATION30 in VARCHAR2
89 ,P_ABSENCE_CASE_ID in NUMBER
90 ,P_ABSENCE_ATTENDANCE_ID in NUMBER
91 ,P_OBJECT_VERSION_NUMBER in NUMBER
92 ,P_DUR_DYS_LESS_WARNING in BOOLEAN
93 ,P_DUR_HRS_LESS_WARNING in BOOLEAN
94 ,P_EXCEEDS_PTO_ENTIT_WARNING in BOOLEAN
95 ,P_EXCEEDS_RUN_TOTAL_WARNING in BOOLEAN
96 ,P_ABS_OVERLAP_WARNING in BOOLEAN
97 ,P_ABS_DAY_AFTER_WARNING in BOOLEAN
98 ,P_DUR_OVERWRITTEN_WARNING in BOOLEAN
99 )is
100 l_commit_unit_number number;
101 l_legislation_code   varchar2(30);
102 begin
103 hr_utility.set_location('Entering: HR_PERSON_ABSENCE_BK1.CREATE_PERSON_ABSENCE_A', 10);
104 l_commit_unit_number := hr_api.return_commit_unit;
105 if hr_api.call_app_hooks then
106 hr_person_absence_be1.CREATE_PERSON_ABSENCE_A
107 (P_EFFECTIVE_DATE => P_EFFECTIVE_DATE
108 ,P_PERSON_ID => P_PERSON_ID
109 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
110 ,P_ABSENCE_ATTENDANCE_TYPE_ID => P_ABSENCE_ATTENDANCE_TYPE_ID
111 ,P_ABS_ATTENDANCE_REASON_ID => P_ABS_ATTENDANCE_REASON_ID
112 ,P_COMMENTS => P_COMMENTS
113 ,P_DATE_NOTIFICATION => P_DATE_NOTIFICATION
114 ,P_DATE_PROJECTED_START => P_DATE_PROJECTED_START
115 ,P_TIME_PROJECTED_START => P_TIME_PROJECTED_START
116 ,P_DATE_PROJECTED_END => P_DATE_PROJECTED_END
117 ,P_TIME_PROJECTED_END => P_TIME_PROJECTED_END
118 ,P_DATE_START => P_DATE_START
119 ,P_TIME_START => P_TIME_START
120 ,P_DATE_END => P_DATE_END
121 ,P_TIME_END => P_TIME_END
122 ,P_ABSENCE_DAYS => P_ABSENCE_DAYS
123 ,P_ABSENCE_HOURS => P_ABSENCE_HOURS
124 ,P_AUTHORISING_PERSON_ID => P_AUTHORISING_PERSON_ID
125 ,P_REPLACEMENT_PERSON_ID => P_REPLACEMENT_PERSON_ID
126 ,P_ATTRIBUTE_CATEGORY => P_ATTRIBUTE_CATEGORY
127 ,P_ATTRIBUTE1 => P_ATTRIBUTE1
128 ,P_ATTRIBUTE2 => P_ATTRIBUTE2
129 ,P_ATTRIBUTE3 => P_ATTRIBUTE3
130 ,P_ATTRIBUTE4 => P_ATTRIBUTE4
131 ,P_ATTRIBUTE5 => P_ATTRIBUTE5
132 ,P_ATTRIBUTE6 => P_ATTRIBUTE6
133 ,P_ATTRIBUTE7 => P_ATTRIBUTE7
134 ,P_ATTRIBUTE8 => P_ATTRIBUTE8
135 ,P_ATTRIBUTE9 => P_ATTRIBUTE9
136 ,P_ATTRIBUTE10 => P_ATTRIBUTE10
137 ,P_ATTRIBUTE11 => P_ATTRIBUTE11
138 ,P_ATTRIBUTE12 => P_ATTRIBUTE12
139 ,P_ATTRIBUTE13 => P_ATTRIBUTE13
140 ,P_ATTRIBUTE14 => P_ATTRIBUTE14
141 ,P_ATTRIBUTE15 => P_ATTRIBUTE15
142 ,P_ATTRIBUTE16 => P_ATTRIBUTE16
143 ,P_ATTRIBUTE17 => P_ATTRIBUTE17
144 ,P_ATTRIBUTE18 => P_ATTRIBUTE18
145 ,P_ATTRIBUTE19 => P_ATTRIBUTE19
146 ,P_ATTRIBUTE20 => P_ATTRIBUTE20
147 ,P_OCCURRENCE => P_OCCURRENCE
148 ,P_PERIOD_OF_INCAPACITY_ID => P_PERIOD_OF_INCAPACITY_ID
149 ,P_SSP1_ISSUED => P_SSP1_ISSUED
150 ,P_MATERNITY_ID => P_MATERNITY_ID
151 ,P_SICKNESS_START_DATE => P_SICKNESS_START_DATE
152 ,P_SICKNESS_END_DATE => P_SICKNESS_END_DATE
153 ,P_PREGNANCY_RELATED_ILLNESS => P_PREGNANCY_RELATED_ILLNESS
154 ,P_REASON_FOR_NOTIFICATION_DELA => P_REASON_FOR_NOTIFICATION_DELA
155 ,P_ACCEPT_LATE_NOTIFICATION_FLA => P_ACCEPT_LATE_NOTIFICATION_FLA
156 ,P_LINKED_ABSENCE_ID => P_LINKED_ABSENCE_ID
157 ,P_BATCH_ID => P_BATCH_ID
158 ,P_CREATE_ELEMENT_ENTRY => P_CREATE_ELEMENT_ENTRY
159 ,P_ABS_INFORMATION_CATEGORY => P_ABS_INFORMATION_CATEGORY
160 ,P_ABS_INFORMATION1 => P_ABS_INFORMATION1
161 ,P_ABS_INFORMATION2 => P_ABS_INFORMATION2
162 ,P_ABS_INFORMATION3 => P_ABS_INFORMATION3
163 ,P_ABS_INFORMATION4 => P_ABS_INFORMATION4
164 ,P_ABS_INFORMATION5 => P_ABS_INFORMATION5
165 ,P_ABS_INFORMATION6 => P_ABS_INFORMATION6
166 ,P_ABS_INFORMATION7 => P_ABS_INFORMATION7
167 ,P_ABS_INFORMATION8 => P_ABS_INFORMATION8
168 ,P_ABS_INFORMATION9 => P_ABS_INFORMATION9
169 ,P_ABS_INFORMATION10 => P_ABS_INFORMATION10
170 ,P_ABS_INFORMATION11 => P_ABS_INFORMATION11
171 ,P_ABS_INFORMATION12 => P_ABS_INFORMATION12
172 ,P_ABS_INFORMATION13 => P_ABS_INFORMATION13
173 ,P_ABS_INFORMATION14 => P_ABS_INFORMATION14
174 ,P_ABS_INFORMATION15 => P_ABS_INFORMATION15
175 ,P_ABS_INFORMATION16 => P_ABS_INFORMATION16
176 ,P_ABS_INFORMATION17 => P_ABS_INFORMATION17
177 ,P_ABS_INFORMATION18 => P_ABS_INFORMATION18
178 ,P_ABS_INFORMATION19 => P_ABS_INFORMATION19
179 ,P_ABS_INFORMATION20 => P_ABS_INFORMATION20
180 ,P_ABS_INFORMATION21 => P_ABS_INFORMATION21
181 ,P_ABS_INFORMATION22 => P_ABS_INFORMATION22
182 ,P_ABS_INFORMATION23 => P_ABS_INFORMATION23
183 ,P_ABS_INFORMATION24 => P_ABS_INFORMATION24
184 ,P_ABS_INFORMATION25 => P_ABS_INFORMATION25
185 ,P_ABS_INFORMATION26 => P_ABS_INFORMATION26
186 ,P_ABS_INFORMATION27 => P_ABS_INFORMATION27
187 ,P_ABS_INFORMATION28 => P_ABS_INFORMATION28
188 ,P_ABS_INFORMATION29 => P_ABS_INFORMATION29
189 ,P_ABS_INFORMATION30 => P_ABS_INFORMATION30
190 ,P_ABSENCE_CASE_ID => P_ABSENCE_CASE_ID
191 ,P_ABSENCE_ATTENDANCE_ID => P_ABSENCE_ATTENDANCE_ID
192 ,P_OBJECT_VERSION_NUMBER => P_OBJECT_VERSION_NUMBER
193 ,P_DUR_DYS_LESS_WARNING => P_DUR_DYS_LESS_WARNING
194 ,P_DUR_HRS_LESS_WARNING => P_DUR_HRS_LESS_WARNING
195 ,P_EXCEEDS_PTO_ENTIT_WARNING => P_EXCEEDS_PTO_ENTIT_WARNING
196 ,P_EXCEEDS_RUN_TOTAL_WARNING => P_EXCEEDS_RUN_TOTAL_WARNING
197 ,P_ABS_OVERLAP_WARNING => P_ABS_OVERLAP_WARNING
198 ,P_ABS_DAY_AFTER_WARNING => P_ABS_DAY_AFTER_WARNING
199 ,P_DUR_OVERWRITTEN_WARNING => P_DUR_OVERWRITTEN_WARNING
200 );
201 end if;
202 if hr_api.call_leg_hooks then
203 l_legislation_code := PER_PER_BUS.return_legislation_code(P_PERSON_ID => P_PERSON_ID
204 );
205 if l_legislation_code = 'DK' then
206 hr_loc_absence.create_absence
207 (P_ABSENCE_ATTENDANCE_ID => P_ABSENCE_ATTENDANCE_ID
208 ,P_EFFECTIVE_DATE => P_EFFECTIVE_DATE
209 ,P_DATE_START => P_DATE_START
210 ,P_DATE_END => P_DATE_END
211 );
212 elsif l_legislation_code = 'ES' then
213 PER_ES_ABSENCE.PERSON_ENTRY_CREATE
214 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
215 ,P_ABSENCE_ATTENDANCE_ID => P_ABSENCE_ATTENDANCE_ID
216 ,P_DATE_START => P_DATE_START
217 ,P_DATE_END => P_DATE_END
218 ,P_ABS_INFORMATION_CATEGORY => P_ABS_INFORMATION_CATEGORY
219 ,P_ABS_INFORMATION1 => P_ABS_INFORMATION1
220 ,P_ABS_INFORMATION2 => P_ABS_INFORMATION2
221 ,P_ABS_INFORMATION3 => P_ABS_INFORMATION3
222 ,P_ABS_INFORMATION4 => P_ABS_INFORMATION4
223 ,P_ABS_INFORMATION5 => P_ABS_INFORMATION5
224 ,P_ABS_INFORMATION6 => P_ABS_INFORMATION6
225 ,P_ABS_INFORMATION7 => P_ABS_INFORMATION7
226 ,P_ABS_INFORMATION8 => P_ABS_INFORMATION8
227 ,P_ABS_INFORMATION9 => P_ABS_INFORMATION9
228 ,P_ABS_INFORMATION10 => P_ABS_INFORMATION10
229 );
230 elsif l_legislation_code = 'FI' then
231 hr_loc_absence.create_absence
232 (P_ABSENCE_ATTENDANCE_ID => P_ABSENCE_ATTENDANCE_ID
233 ,P_EFFECTIVE_DATE => P_EFFECTIVE_DATE
234 ,P_DATE_START => P_DATE_START
235 ,P_DATE_END => P_DATE_END
236 );
237 elsif l_legislation_code = 'FR' then
238 PAY_FR_SICKNESS_ABSENCE.PERSON_ENTRY_CREATE
239 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
240 ,P_ABSENCE_ATTENDANCE_ID => P_ABSENCE_ATTENDANCE_ID
241 ,P_ABS_INFORMATION_CATEGORY => P_ABS_INFORMATION_CATEGORY
242 ,P_DATE_START => P_DATE_START
243 );
244 elsif l_legislation_code = 'GB' then
245 PER_GB_ABSENCE_RULES.SICKNESS_DATE_UPDATE
246 (P_ABSENCE_ATTENDANCE_ID => P_ABSENCE_ATTENDANCE_ID
247 );
248 PQP_GB_OSP_FUNCTIONS.ABS_PENSION_DATE_CHK
249 (P_DATE_START => P_DATE_START
250 ,P_DATE_END => P_DATE_END
251 ,P_ABSENCE_ATTENDANCE_ID => P_ABSENCE_ATTENDANCE_ID
252 ,P_ABS_INFORMATION4 => P_ABS_INFORMATION4
253 ,P_ABS_INFORMATION5 => P_ABS_INFORMATION5
254 ,P_ABS_INFORMATION6 => P_ABS_INFORMATION6
255 ,P_ABS_INFORMATION_CATEGORY => P_ABS_INFORMATION_CATEGORY
256 );
257 elsif l_legislation_code = 'NL' then
258 HR_NL_DAILY_SICK_AND_RECOVERY.INSERT_PERSON_ABSENCE_CHANGES
259 (P_ABSENCE_ATTENDANCE_ID => P_ABSENCE_ATTENDANCE_ID
260 ,P_EFFECTIVE_DATE => P_EFFECTIVE_DATE
261 ,P_PERSON_ID => P_PERSON_ID
262 ,P_DATE_PROJECTED_START => P_DATE_PROJECTED_START
263 ,P_DATE_START => P_DATE_START
264 ,P_ABS_INFORMATION1 => P_ABS_INFORMATION1
265 ,P_DATE_PROJECTED_END => P_DATE_PROJECTED_END
266 ,P_DATE_END => P_DATE_END
267 );
268 elsif l_legislation_code = 'NO' then
269 hr_loc_absence.create_absence
270 (P_ABSENCE_ATTENDANCE_ID => P_ABSENCE_ATTENDANCE_ID
271 ,P_EFFECTIVE_DATE => P_EFFECTIVE_DATE
272 ,P_DATE_START => P_DATE_START
273 ,P_DATE_END => P_DATE_END
274 );
275 elsif l_legislation_code = 'SE' then
276 hr_loc_absence.create_absence
277 (P_ABSENCE_ATTENDANCE_ID => P_ABSENCE_ATTENDANCE_ID
278 ,P_EFFECTIVE_DATE => P_EFFECTIVE_DATE
279 ,P_DATE_START => P_DATE_START
280 ,P_DATE_END => P_DATE_END
281 );
282 end if;
283 end if;
284 hr_multi_message.end_validation_set;
285 hr_api.validate_commit_unit(l_commit_unit_number, 'CREATE_PERSON_ABSENCE', 'AP');
286 hr_utility.set_location(' Leaving: HR_PERSON_ABSENCE_BK1.CREATE_PERSON_ABSENCE_A', 20);
287 end CREATE_PERSON_ABSENCE_A;
288 procedure CREATE_PERSON_ABSENCE_B
289 (P_EFFECTIVE_DATE in DATE
290 ,P_PERSON_ID in NUMBER
291 ,P_BUSINESS_GROUP_ID in NUMBER
292 ,P_ABSENCE_ATTENDANCE_TYPE_ID in NUMBER
293 ,P_ABS_ATTENDANCE_REASON_ID in NUMBER
294 ,P_COMMENTS in LONG
295 ,P_DATE_NOTIFICATION in DATE
296 ,P_DATE_PROJECTED_START in DATE
297 ,P_TIME_PROJECTED_START in VARCHAR2
298 ,P_DATE_PROJECTED_END in DATE
299 ,P_TIME_PROJECTED_END in VARCHAR2
300 ,P_DATE_START in DATE
301 ,P_TIME_START in VARCHAR2
302 ,P_DATE_END in DATE
303 ,P_TIME_END in VARCHAR2
304 ,P_ABSENCE_DAYS in NUMBER
305 ,P_ABSENCE_HOURS in NUMBER
306 ,P_AUTHORISING_PERSON_ID in NUMBER
307 ,P_REPLACEMENT_PERSON_ID in NUMBER
308 ,P_ATTRIBUTE_CATEGORY in VARCHAR2
309 ,P_ATTRIBUTE1 in VARCHAR2
310 ,P_ATTRIBUTE2 in VARCHAR2
311 ,P_ATTRIBUTE3 in VARCHAR2
312 ,P_ATTRIBUTE4 in VARCHAR2
313 ,P_ATTRIBUTE5 in VARCHAR2
314 ,P_ATTRIBUTE6 in VARCHAR2
315 ,P_ATTRIBUTE7 in VARCHAR2
316 ,P_ATTRIBUTE8 in VARCHAR2
317 ,P_ATTRIBUTE9 in VARCHAR2
318 ,P_ATTRIBUTE10 in VARCHAR2
319 ,P_ATTRIBUTE11 in VARCHAR2
320 ,P_ATTRIBUTE12 in VARCHAR2
321 ,P_ATTRIBUTE13 in VARCHAR2
322 ,P_ATTRIBUTE14 in VARCHAR2
323 ,P_ATTRIBUTE15 in VARCHAR2
324 ,P_ATTRIBUTE16 in VARCHAR2
325 ,P_ATTRIBUTE17 in VARCHAR2
326 ,P_ATTRIBUTE18 in VARCHAR2
327 ,P_ATTRIBUTE19 in VARCHAR2
328 ,P_ATTRIBUTE20 in VARCHAR2
329 ,P_PERIOD_OF_INCAPACITY_ID in NUMBER
330 ,P_SSP1_ISSUED in VARCHAR2
331 ,P_MATERNITY_ID in NUMBER
332 ,P_SICKNESS_START_DATE in DATE
333 ,P_SICKNESS_END_DATE in DATE
334 ,P_PREGNANCY_RELATED_ILLNESS in VARCHAR2
335 ,P_REASON_FOR_NOTIFICATION_DELA in VARCHAR2
336 ,P_ACCEPT_LATE_NOTIFICATION_FLA in VARCHAR2
337 ,P_LINKED_ABSENCE_ID in NUMBER
338 ,P_BATCH_ID in NUMBER
339 ,P_CREATE_ELEMENT_ENTRY in BOOLEAN
340 ,P_ABS_INFORMATION_CATEGORY in VARCHAR2
341 ,P_ABS_INFORMATION1 in VARCHAR2
342 ,P_ABS_INFORMATION2 in VARCHAR2
343 ,P_ABS_INFORMATION3 in VARCHAR2
344 ,P_ABS_INFORMATION4 in VARCHAR2
345 ,P_ABS_INFORMATION5 in VARCHAR2
346 ,P_ABS_INFORMATION6 in VARCHAR2
347 ,P_ABS_INFORMATION7 in VARCHAR2
348 ,P_ABS_INFORMATION8 in VARCHAR2
349 ,P_ABS_INFORMATION9 in VARCHAR2
350 ,P_ABS_INFORMATION10 in VARCHAR2
351 ,P_ABS_INFORMATION11 in VARCHAR2
352 ,P_ABS_INFORMATION12 in VARCHAR2
353 ,P_ABS_INFORMATION13 in VARCHAR2
354 ,P_ABS_INFORMATION14 in VARCHAR2
355 ,P_ABS_INFORMATION15 in VARCHAR2
356 ,P_ABS_INFORMATION16 in VARCHAR2
357 ,P_ABS_INFORMATION17 in VARCHAR2
358 ,P_ABS_INFORMATION18 in VARCHAR2
359 ,P_ABS_INFORMATION19 in VARCHAR2
360 ,P_ABS_INFORMATION20 in VARCHAR2
361 ,P_ABS_INFORMATION21 in VARCHAR2
362 ,P_ABS_INFORMATION22 in VARCHAR2
363 ,P_ABS_INFORMATION23 in VARCHAR2
364 ,P_ABS_INFORMATION24 in VARCHAR2
365 ,P_ABS_INFORMATION25 in VARCHAR2
366 ,P_ABS_INFORMATION26 in VARCHAR2
367 ,P_ABS_INFORMATION27 in VARCHAR2
368 ,P_ABS_INFORMATION28 in VARCHAR2
369 ,P_ABS_INFORMATION29 in VARCHAR2
370 ,P_ABS_INFORMATION30 in VARCHAR2
371 ,P_ABSENCE_CASE_ID in NUMBER
372 )is
373 l_commit_unit_number number;
374 l_legislation_code   varchar2(30);
375 begin
376 hr_utility.set_location('Entering: HR_PERSON_ABSENCE_BK1.CREATE_PERSON_ABSENCE_B', 10);
377 l_commit_unit_number := hr_api.return_commit_unit;
378 if hr_api.call_leg_hooks then
379 l_legislation_code := PER_PER_BUS.return_legislation_code(P_PERSON_ID => P_PERSON_ID
380 );
381 if l_legislation_code = 'ES' then
382 PER_ES_ABSENCE.VALIDATE_ABS_CREATE
383 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
384 ,P_PERSON_ID => P_PERSON_ID
385 ,P_ABSENCE_ATTENDANCE_TYPE_ID => P_ABSENCE_ATTENDANCE_TYPE_ID
386 ,P_DATE_START => P_DATE_START
387 ,P_TIME_START => P_TIME_START
388 ,P_DATE_END => P_DATE_END
389 ,P_TIME_END => P_TIME_END
390 ,P_ABS_INFORMATION_CATEGORY => P_ABS_INFORMATION_CATEGORY
391 ,P_ABS_INFORMATION1 => P_ABS_INFORMATION1
392 ,P_ABS_INFORMATION2 => P_ABS_INFORMATION2
393 ,P_ABS_INFORMATION3 => P_ABS_INFORMATION3
394 ,P_ABS_INFORMATION4 => P_ABS_INFORMATION4
395 ,P_ABS_INFORMATION5 => P_ABS_INFORMATION5
396 ,P_ABS_INFORMATION6 => P_ABS_INFORMATION6
397 ,P_ABS_INFORMATION7 => P_ABS_INFORMATION7
398 ,P_ABS_INFORMATION8 => P_ABS_INFORMATION8
399 ,P_ABS_INFORMATION9 => P_ABS_INFORMATION9
400 ,P_ABS_INFORMATION10 => P_ABS_INFORMATION10
401 );
402 elsif l_legislation_code = 'FI' then
403 HR_FI_VALIDATE_PKG.PERSON_ABSENCE_CREATE
404 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
405 ,P_ABS_INFORMATION_CATEGORY => P_ABS_INFORMATION_CATEGORY
406 ,P_PERSON_ID => P_PERSON_ID
407 ,P_DATE_START => P_DATE_START
408 ,P_DATE_END => P_DATE_END
409 ,P_ABS_INFORMATION1 => P_ABS_INFORMATION1
410 ,P_ABS_INFORMATION2 => P_ABS_INFORMATION2
411 ,P_ABS_INFORMATION3 => P_ABS_INFORMATION3
412 ,P_ABS_INFORMATION4 => P_ABS_INFORMATION4
413 ,P_ABS_INFORMATION5 => P_ABS_INFORMATION5
414 );
415 elsif l_legislation_code = 'FR' then
416 PAY_FR_SICKNESS_ABSENCE.CHECK_ADD_ABS_ENT_CREATE
417 (P_ABSENCE_DAYS => P_ABSENCE_DAYS
418 ,P_ABSENCE_ATTENDANCE_TYPE_ID => P_ABSENCE_ATTENDANCE_TYPE_ID
419 ,P_DATE_START => P_DATE_START
420 ,P_PERSON_ID => P_PERSON_ID
421 );
422 PAY_FR_SICKNESS_ABSENCE.CHK_TRG_CATG_HRS
423 (P_ABS_INFORMATION_CATEGORY => P_ABS_INFORMATION_CATEGORY
424 ,P_ABS_INFORMATION1 => P_ABS_INFORMATION1
425 ,P_ABS_INFORMATION5 => P_ABS_INFORMATION5
426 ,P_ABS_INFORMATION6 => P_ABS_INFORMATION6
427 ,P_ABS_INFORMATION7 => P_ABS_INFORMATION7
428 ,P_ABS_INFORMATION8 => P_ABS_INFORMATION8
429 ,P_ABS_INFORMATION9 => P_ABS_INFORMATION9
430 ,P_ABS_INFORMATION10 => P_ABS_INFORMATION10
431 ,P_ABS_INFORMATION11 => P_ABS_INFORMATION11
432 ,P_ABS_INFORMATION12 => P_ABS_INFORMATION12
433 ,P_ABS_INFORMATION13 => P_ABS_INFORMATION13
434 ,P_ABS_INFORMATION14 => P_ABS_INFORMATION14
435 ,P_ABS_INFORMATION15 => P_ABS_INFORMATION15
436 ,P_ABS_INFORMATION16 => P_ABS_INFORMATION16
437 ,P_ABS_INFORMATION18 => P_ABS_INFORMATION18
438 ,P_ABS_INFORMATION19 => P_ABS_INFORMATION19
439 ,P_ABS_INFORMATION20 => P_ABS_INFORMATION20
440 ,P_ABS_INFORMATION21 => P_ABS_INFORMATION21
441 ,P_ABS_INFORMATION22 => P_ABS_INFORMATION22
442 ,P_DATE_START => P_DATE_START
443 );
444 PAY_FR_SICKNESS_ABSENCE.PERSON_ABSENCE_CREATE
445 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
446 ,P_ABS_INFORMATION_CATEGORY => P_ABS_INFORMATION_CATEGORY
447 ,P_PERSON_ID => P_PERSON_ID
448 ,P_DATE_START => P_DATE_START
449 ,P_DATE_END => P_DATE_END
450 ,P_ABS_INFORMATION1 => P_ABS_INFORMATION1
451 ,P_ABS_INFORMATION4 => P_ABS_INFORMATION4
452 ,P_ABS_INFORMATION5 => P_ABS_INFORMATION5
453 ,P_ABS_INFORMATION6 => P_ABS_INFORMATION6
454 ,P_ABS_INFORMATION7 => P_ABS_INFORMATION7
455 ,P_ABS_INFORMATION8 => P_ABS_INFORMATION8
456 ,P_ABS_INFORMATION9 => P_ABS_INFORMATION9
457 ,P_ABS_INFORMATION10 => P_ABS_INFORMATION10
458 ,P_ABS_INFORMATION11 => P_ABS_INFORMATION11
459 ,P_ABS_INFORMATION12 => P_ABS_INFORMATION12
460 );
461 elsif l_legislation_code = 'GB' then
462 PER_GB_ABSENCE_RULES.VALIDATE_ABS_CREATE
463 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
464 ,P_PERSON_ID => P_PERSON_ID
465 ,P_DATE_START => P_DATE_START
466 ,P_DATE_END => P_DATE_END
467 ,P_TIME_START => P_TIME_START
468 ,P_TIME_END => P_TIME_END
469 ,P_ABSENCE_ATTENDANCE_TYPE_ID => P_ABSENCE_ATTENDANCE_TYPE_ID
470 );
471 elsif l_legislation_code = 'NO' then
472 PAY_NO_ABS_VALIDATION.CREATE_ABS_VALIDATION
473 (P_ABS_INFORMATION_CATEGORY => P_ABS_INFORMATION_CATEGORY
474 ,P_PERSON_ID => P_PERSON_ID
475 ,P_EFFECTIVE_DATE => P_EFFECTIVE_DATE
476 ,P_ABS_INFORMATION1 => P_ABS_INFORMATION1
477 ,P_ABS_INFORMATION2 => P_ABS_INFORMATION2
478 ,P_ABS_INFORMATION3 => P_ABS_INFORMATION3
479 ,P_ABS_INFORMATION5 => P_ABS_INFORMATION5
480 ,P_ABS_INFORMATION6 => P_ABS_INFORMATION6
481 ,P_ABS_INFORMATION15 => P_ABS_INFORMATION15
482 ,P_ABS_INFORMATION16 => P_ABS_INFORMATION16
483 ,P_DATE_START => P_DATE_START
484 ,P_DATE_END => P_DATE_END
485 ,P_DATE_PROJECTED_START => P_DATE_PROJECTED_START
486 ,P_DATE_PROJECTED_END => P_DATE_PROJECTED_END
487 ,P_ABS_ATTENDANCE_REASON_ID => P_ABS_ATTENDANCE_REASON_ID
488 );
489 end if;
490 end if;
491 hr_api.validate_commit_unit(l_commit_unit_number, 'CREATE_PERSON_ABSENCE', 'BP');
492 hr_utility.set_location(' Leaving: HR_PERSON_ABSENCE_BK1.CREATE_PERSON_ABSENCE_B', 20);
493 end CREATE_PERSON_ABSENCE_B;
494 end HR_PERSON_ABSENCE_BK1;