1 Package hr_person_absence_api as
2 /* $Header: peabsapi.pkh 120.4.12010000.1 2008/07/28 04:00:53 appldev ship $ */
3 /*#
4 * This package contains APIs to create update and delete absences for a
5 * person.
6 * @rep:scope public
7 * @rep:product per
8 * @rep:displayname Person Absence
9 */
10 --
11 -- ----------------------------------------------------------------------------
12 -- |--------------------------< create_person_absence >-----------------------|
13 -- ----------------------------------------------------------------------------
14 --
15 -- {Start Of Comments}
16 /*#
17 * This API records the details of an absence for a person.
18 *
19 * Use this API to record dates and times a person was, or will be, absent. You
20 * can also record the type of absence, projected and actual dates and times,
21 * the person who authorized the absence, and the person who replaces the
22 * absent person. This API also creates an element entry when you enter the
23 * actual absence details and associate the absence type with an element.
24 *
25 * <p><b>Licensing</b><br>
26 * This API is licensed for use with Human Resources.
27 *
28 * <p><b>Prerequisites</b><br>
29 * The person for whom an absence is being recorded must already exist within
30 * the business group. At least one absence type must have been set up.
31 *
32 * <p><b>Post Success</b><br>
33 * The absence record for the person will have been created.
34 *
35 * <p><b>Post Failure</b><br>
36 * The absence record will not be created and an error will be raised.
37 * @param p_validate If true, then validation alone will be performed and the
38 * database will remain unchanged. If false and all validation checks pass,
39 * then the database will be modified.
40 * @param p_effective_date Reference date for validating lookup values are
41 * applicable during the start to end active date range. This date does not
42 * determine when the changes take effect.
43 * @param p_person_id Uniquely identifies the person for whom you create the
44 * absence.
45 * @param p_business_group_id The business group under which you record the
46 * absence. This is usually the same business group that the person belongs to.
47 * @param p_absence_attendance_type_id Uniquely identifies the type of absence.
48 * @param p_abs_attendance_reason_id Uniquely identifies the reason for this
49 * absence.
50 * @param p_comments Comment text.
51 * @param p_date_notification The date when the organization was first notified
52 * about the absence.
53 * @param p_date_projected_start The projected start date of the absence.
54 * @param p_time_projected_start The projected start time of the absence. This
55 * can only be set when the absence type is associated with an hours-based
56 * absence element, or when the absence type has no associated element.
57 * @param p_date_projected_end The projected end date of the absence.
58 * @param p_time_projected_end The projected end time of the absence. This can
59 * only be set when the absence type is associated with an hours-based absence
60 * element, or when the absence type has no associated element.
61 * @param p_date_start The actual start date of the absence.
62 * @param p_time_start The actual start time of the absence. This can only be
63 * set when the absence type is associated with an hours-based absence element,
64 * or when the absence type has no associated element.
65 * @param p_date_end The actual end date of the absence.
66 * @param p_time_end The actual end time of the absence. This can only be set
67 * when the absence type is associated with an hours-based absence element, or
68 * when the absence type has no associated element.
69 * @param p_absence_days The duration of the absence in days. This can only be
70 * set when the absence type is associated with an hours-based absence element,
71 * or when the absence type has no associated element.
72 * @param p_absence_hours The duration of the absence in hours. This can only
73 * be set when the absence type is associated with an hours-based absence
74 * element, or when the absence type has no associated element.
75 * @param p_authorising_person_id Uniquely identifies the person who authorized
76 * this absence.
77 * @param p_replacement_person_id Uniquely identifies the person who replaces
78 * the absent person.
79 * @param p_attribute_category This context value determines which flexfield
80 * structure to use with the descriptive flexfield segments.
81 * @param p_attribute1 Descriptive flexfield segment.
82 * @param p_attribute2 Descriptive flexfield segment.
83 * @param p_attribute3 Descriptive flexfield segment.
84 * @param p_attribute4 Descriptive flexfield segment.
85 * @param p_attribute5 Descriptive flexfield segment.
86 * @param p_attribute6 Descriptive flexfield segment.
87 * @param p_attribute7 Descriptive flexfield segment.
88 * @param p_attribute8 Descriptive flexfield segment.
89 * @param p_attribute9 Descriptive flexfield segment.
90 * @param p_attribute10 Descriptive flexfield segment.
91 * @param p_attribute11 Descriptive flexfield segment.
92 * @param p_attribute12 Descriptive flexfield segment.
93 * @param p_attribute13 Descriptive flexfield segment.
94 * @param p_attribute14 Descriptive flexfield segment.
95 * @param p_attribute15 Descriptive flexfield segment.
96 * @param p_attribute16 Descriptive flexfield segment.
97 * @param p_attribute17 Descriptive flexfield segment.
98 * @param p_attribute18 Descriptive flexfield segment.
99 * @param p_attribute19 Descriptive flexfield segment.
100 * @param p_attribute20 Descriptive flexfield segment.
101 * @param p_period_of_incapacity_id Uniquely identifies the period of
102 * incapacity.
103 * @param p_ssp1_issued Set this to 'Y' if an SSP1 has been issued, otherwise
104 * set this to 'N'.
105 * @param p_maternity_id Uniquely identifies the maternity record, which is
106 * required when the absence is for SMP, SAP or SPP.
107 * @param p_sickness_start_date The date the sickness started.
108 * @param p_sickness_end_date The date the sickness ended.
109 * @param p_pregnancy_related_illness Set this to 'Y' if the illness is related
110 * to maternity leave, otherwise set this to 'N'.
111 * @param p_reason_for_notification_dela The reason for late notification,
112 * defined as free-format text.
113 * @param p_accept_late_notification_fla Set this to 'Y' if late notification
114 * was accepted, otherwise set this to 'N'.
115 * @param p_linked_absence_id Uniquely identifies the absence record that is
116 * the first absence in the PIW.
117 * @param p_batch_id Uniquely identifies the Batch Element Entry (BEE) run that
118 * automatically created this absence record. This is used to roll back BEE
119 * runs, and is for Oracle internal use only.
120 * @param p_create_element_entry When set to True (the default), the absence
121 * element is created automatically. When set to False, the absence element is
122 * not created. This is for Oracle internal use only.
123 * @param p_abs_information_category This context value determines which
124 * Flexfield Structure to use with the Developer Descriptive flexfield
125 * segments.
126 * @param p_abs_information1 Developer Descriptive flexfield segment.
127 * @param p_abs_information2 Developer Descriptive flexfield segment.
128 * @param p_abs_information3 Developer Descriptive flexfield segment.
129 * @param p_abs_information4 Developer Descriptive flexfield segment.
130 * @param p_abs_information5 Developer Descriptive flexfield segment.
131 * @param p_abs_information6 Developer Descriptive flexfield segment.
132 * @param p_abs_information7 Developer Descriptive flexfield segment.
133 * @param p_abs_information8 Developer Descriptive flexfield segment.
134 * @param p_abs_information9 Developer Descriptive flexfield segment.
135 * @param p_abs_information10 Developer Descriptive flexfield segment.
136 * @param p_abs_information11 Developer Descriptive flexfield segment.
137 * @param p_abs_information12 Developer Descriptive flexfield segment.
138 * @param p_abs_information13 Developer Descriptive flexfield segment.
139 * @param p_abs_information14 Developer Descriptive flexfield segment.
140 * @param p_abs_information15 Developer Descriptive flexfield segment.
141 * @param p_abs_information16 Developer Descriptive flexfield segment.
142 * @param p_abs_information17 Developer Descriptive flexfield segment.
143 * @param p_abs_information18 Developer Descriptive flexfield segment.
144 * @param p_abs_information19 Developer Descriptive flexfield segment.
145 * @param p_abs_information20 Developer Descriptive flexfield segment.
146 * @param p_abs_information21 Developer Descriptive flexfield segment.
147 * @param p_abs_information22 Developer Descriptive flexfield segment.
148 * @param p_abs_information23 Developer Descriptive flexfield segment.
149 * @param p_abs_information24 Developer Descriptive flexfield segment.
150 * @param p_abs_information25 Developer Descriptive flexfield segment.
151 * @param p_abs_information26 Developer Descriptive flexfield segment.
152 * @param p_abs_information27 Developer Descriptive flexfield segment.
153 * @param p_abs_information28 Developer Descriptive flexfield segment.
154 * @param p_abs_information29 Developer Descriptive flexfield segment.
155 * @param p_abs_information30 Developer Descriptive flexfield segment.
156 * @param p_absence_case_id Identifies the absence case to which this
157 * absence is attached to.
158 * @param p_absence_attendance_id If p_validate is false, then this uniquely
159 * identifies the absence record created. If p_validate is true, then this is
160 * set to null.
161 * @param p_object_version_number If p_validate is false, then set to the
162 * version number of the created absence record. If p_validate is true, then
163 * the value will be null.
164 * @param p_occurrence A numerical sequence that denotes the number of absences
165 * this person has taken for this type of absence.
166 * @param p_dur_dys_less_warning If set to true, this serves as a warning that
167 * the specified absence duration in days is different from what the system has
168 * calculated. The application uses the BG_ABSENCE_DURATION Fast Formula for
169 * this calculation if it exists.
170 * @param p_dur_hrs_less_warning If set to true, this serves as a warning that
171 * the specified absence duration in hours is different from what the system has
172 * calculated. The application uses the BG_ABSENCE_DURATION Fast Formula for
173 * this calculation if it exists.
174 * @param p_exceeds_pto_entit_warning If set to true, this serves as a warning
175 * that the net entitlement of at least one of this person's accrual plans will
176 * be below zero when you apply this absence.
177 * @param p_exceeds_run_total_warning If set to true, this serves as a warning
178 * that the absence's type is using a decreasing balance and that the running
179 * total will be below zero when you apply this absence.
180 * @param p_abs_overlap_warning If set to true, this serves as a warning that
181 * this absence overlaps an existing absence for this person.
182 * @param p_abs_day_after_warning If set to true, this serves as a warning that
183 * this absence starts the day after an existing sickness absence. A sickness
184 * absence in this case is one that has an absence category starting with 'S'.
185 * @param p_dur_overwritten_warning If set to true, this serves as a warning
186 * that the HR: Absence Duration Auto Overwrite profile option is set to 'Yes'
187 * and that the the system-calculated duration has automatically overwritten
188 * the absence duration.
189 * @rep:displayname Create Person Absence
190 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ABSENCE
191 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
192 * @rep:scope public
193 * @rep:lifecycle active
194 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
195 */
196 --
197 -- {End Of Comments}
198 --
199 procedure create_person_absence
200 (p_validate in boolean default false
201 ,p_effective_date in date
202 ,p_person_id in number
203 ,p_business_group_id in number
204 ,p_absence_attendance_type_id in number
205 ,p_abs_attendance_reason_id in number default null
206 ,p_comments in long default null
207 ,p_date_notification in date default null
208 ,p_date_projected_start in date default null
209 ,p_time_projected_start in varchar2 default null
210 ,p_date_projected_end in date default null
211 ,p_time_projected_end in varchar2 default null
212 ,p_date_start in date default null
213 ,p_time_start in varchar2 default null
214 ,p_date_end in date default null
215 ,p_time_end in varchar2 default null
216 ,p_absence_days in out nocopy number
217 ,p_absence_hours in out nocopy number
218 ,p_authorising_person_id in number default null
219 ,p_replacement_person_id in number default null
220 ,p_attribute_category in varchar2 default null
221 ,p_attribute1 in varchar2 default null
222 ,p_attribute2 in varchar2 default null
223 ,p_attribute3 in varchar2 default null
224 ,p_attribute4 in varchar2 default null
225 ,p_attribute5 in varchar2 default null
226 ,p_attribute6 in varchar2 default null
227 ,p_attribute7 in varchar2 default null
228 ,p_attribute8 in varchar2 default null
229 ,p_attribute9 in varchar2 default null
230 ,p_attribute10 in varchar2 default null
231 ,p_attribute11 in varchar2 default null
232 ,p_attribute12 in varchar2 default null
233 ,p_attribute13 in varchar2 default null
234 ,p_attribute14 in varchar2 default null
235 ,p_attribute15 in varchar2 default null
236 ,p_attribute16 in varchar2 default null
237 ,p_attribute17 in varchar2 default null
238 ,p_attribute18 in varchar2 default null
239 ,p_attribute19 in varchar2 default null
240 ,p_attribute20 in varchar2 default null
241 ,p_period_of_incapacity_id in number default null
242 ,p_ssp1_issued in varchar2 default 'N'
243 ,p_maternity_id in number default null
244 ,p_sickness_start_date in date default null
245 ,p_sickness_end_date in date default null
246 ,p_pregnancy_related_illness in varchar2 default 'N'
247 ,p_reason_for_notification_dela in varchar2 default null
248 ,p_accept_late_notification_fla in varchar2 default 'N'
249 ,p_linked_absence_id in number default null
250 ,p_batch_id in number default null
251 ,p_create_element_entry in boolean default true
252 ,p_abs_information_category in varchar2 default null
253 ,p_abs_information1 in varchar2 default null
254 ,p_abs_information2 in varchar2 default null
255 ,p_abs_information3 in varchar2 default null
256 ,p_abs_information4 in varchar2 default null
257 ,p_abs_information5 in varchar2 default null
258 ,p_abs_information6 in varchar2 default null
259 ,p_abs_information7 in varchar2 default null
260 ,p_abs_information8 in varchar2 default null
261 ,p_abs_information9 in varchar2 default null
262 ,p_abs_information10 in varchar2 default null
263 ,p_abs_information11 in varchar2 default null
264 ,p_abs_information12 in varchar2 default null
265 ,p_abs_information13 in varchar2 default null
266 ,p_abs_information14 in varchar2 default null
267 ,p_abs_information15 in varchar2 default null
268 ,p_abs_information16 in varchar2 default null
269 ,p_abs_information17 in varchar2 default null
270 ,p_abs_information18 in varchar2 default null
271 ,p_abs_information19 in varchar2 default null
272 ,p_abs_information20 in varchar2 default null
273 ,p_abs_information21 in varchar2 default null
274 ,p_abs_information22 in varchar2 default null
275 ,p_abs_information23 in varchar2 default null
276 ,p_abs_information24 in varchar2 default null
277 ,p_abs_information25 in varchar2 default null
278 ,p_abs_information26 in varchar2 default null
279 ,p_abs_information27 in varchar2 default null
280 ,p_abs_information28 in varchar2 default null
281 ,p_abs_information29 in varchar2 default null
282 ,p_abs_information30 in varchar2 default null
283 ,p_absence_case_id in number default null
284 ,p_absence_attendance_id out nocopy number
285 ,p_object_version_number out nocopy number
286 ,p_occurrence out nocopy number
287 ,p_dur_dys_less_warning out nocopy boolean
288 ,p_dur_hrs_less_warning out nocopy boolean
289 ,p_exceeds_pto_entit_warning out nocopy boolean
290 ,p_exceeds_run_total_warning out nocopy boolean
291 ,p_abs_overlap_warning out nocopy boolean
292 ,p_abs_day_after_warning out nocopy boolean
293 ,p_dur_overwritten_warning out nocopy boolean
294 );
295 --
296 -- ----------------------------------------------------------------------------
297 -- |--------------------------< update_person_absence >-----------------------|
298 -- ----------------------------------------------------------------------------
299 --
300 -- {Start Of Comments}
301 /*#
302 * This API updates the details of an absence for a person.
303 *
304 * Use this API to update projected and actual dates and times a person is
305 * absent, the person who authorized the absence, and the person who replaces
306 * the absent person. The API also updates the absence element entry when you
307 * change the actual absence details and the absence type is associated with an
308 * element.
309 *
310 * <p><b>Licensing</b><br>
311 * This API is licensed for use with Human Resources.
312 *
313 * <p><b>Prerequisites</b><br>
314 * The absence record being updated must already exist.
315 *
316 * <p><b>Post Success</b><br>
317 * The absence record for the person will have been updated.
318 *
319 * <p><b>Post Failure</b><br>
320 * The absence record will not be updated and an error will be raised.
321 * @param p_validate If true, then validation alone will be performed and the
322 * database will remain unchanged. If false and all validation checks pass,
323 * then the database will be modified.
324 * @param p_effective_date Reference date for validating lookup values are
325 * applicable during the start to end active date range. This date does not
326 * determine when the changes take effect.
327 * @param p_absence_attendance_id Uniquely identifies the absence record that
328 * is being updated.
329 * @param p_abs_attendance_reason_id Uniquely identifies the reason for this
330 * absence.
331 * @param p_comments Comment text.
332 * @param p_date_notification The date when the organization was first notified
333 * about the absence.
334 * @param p_date_projected_start The projected start date of the absence.
335 * @param p_time_projected_start The projected start time of the absence. This
336 * can only be set when the absence type is associated with an hours-based
337 * absence element, or when the absence type has no associated element.
338 * @param p_date_projected_end The projected end date of the absence.
339 * @param p_time_projected_end The projected end time of the absence. This can
340 * only be set when the absence type is associated with an hours-based absence
341 * element, or when the absence type has no associated element.
342 * @param p_date_start The actual start date of the absence.
343 * @param p_time_start The actual start time of the absence. This can only be
344 * set when the absence type is associated with an hours-based absence element,
345 * or when the absence type has no associated element.
346 * @param p_date_end The actual end date of the absence.
347 * @param p_time_end The actual end time of the absence. This can only be set
348 * when the absence type is associated with an hours-based absence element, or
349 * when the absence type has no associated element.
350 * @param p_absence_days The duration of the absence in days. This can only be
351 * set when the absence type is associated with an hours-based absence element,
352 * or when the absence type has no associated element.
353 * @param p_absence_hours The duration of the absence in hours. This can only
354 * be set when the absence type is associated with an hours-based absence
355 * element, or when the absence type has no associated element.
356 * @param p_authorising_person_id Uniquely identifies the person who authorised
357 * this absence.
358 * @param p_replacement_person_id Uniquely identifies the person who replaces
359 * the absent person.
360 * @param p_attribute_category This context value determines which flexfield
361 * structure to use with the descriptive flexfield segments.
362 * @param p_attribute1 Descriptive flexfield segment.
363 * @param p_attribute2 Descriptive flexfield segment.
364 * @param p_attribute3 Descriptive flexfield segment.
365 * @param p_attribute4 Descriptive flexfield segment.
366 * @param p_attribute5 Descriptive flexfield segment.
367 * @param p_attribute6 Descriptive flexfield segment.
368 * @param p_attribute7 Descriptive flexfield segment.
369 * @param p_attribute8 Descriptive flexfield segment.
370 * @param p_attribute9 Descriptive flexfield segment.
371 * @param p_attribute10 Descriptive flexfield segment.
372 * @param p_attribute11 Descriptive flexfield segment.
373 * @param p_attribute12 Descriptive flexfield segment.
374 * @param p_attribute13 Descriptive flexfield segment.
375 * @param p_attribute14 Descriptive flexfield segment.
376 * @param p_attribute15 Descriptive flexfield segment.
377 * @param p_attribute16 Descriptive flexfield segment.
378 * @param p_attribute17 Descriptive flexfield segment.
379 * @param p_attribute18 Descriptive flexfield segment.
380 * @param p_attribute19 Descriptive flexfield segment.
381 * @param p_attribute20 Descriptive flexfield segment.
382 * @param p_period_of_incapacity_id Uniquely identifies the period of
383 * incapacity.
384 * @param p_ssp1_issued Set this to 'Y' if an SSP1 has been issued, otherwise
385 * set this to 'N'.
386 * @param p_maternity_id Uniquely identifies the maternity record, which is
387 * required when the absence is for SMP, SAP or SPP.
388 * @param p_sickness_start_date The date the sickness started.
389 * @param p_sickness_end_date The date the sickness ended.
390 * @param p_pregnancy_related_illness Set this to 'Y' if the illness is related
391 * to maternity leave, otherwise set this to 'N'.
392 * @param p_reason_for_notification_dela The reason for late notification,
393 * defined as free-format text.
394 * @param p_accept_late_notification_fla Set this to 'Y' if late notification
395 * was accepted, otherwise set this to 'N'.
396 * @param p_linked_absence_id Uniquely identifies the absence record that is
397 * the first absence in the PIW.
398 * @param p_batch_id Uniquely identifies the Batch Element Entry (BEE) run that
399 * automatically created this absence record. This is used to roll back BEE
400 * runs, and is for Oracle internal use only.
401 * @param p_abs_information_category This context value determines which
402 * Flexfield Structure to use with the Developer Descriptive flexfield
403 * segments.
404 * @param p_abs_information1 Developer Descriptive flexfield segment.
405 * @param p_abs_information2 Developer Descriptive flexfield segment.
406 * @param p_abs_information3 Developer Descriptive flexfield segment.
407 * @param p_abs_information4 Developer Descriptive flexfield segment.
408 * @param p_abs_information5 Developer Descriptive flexfield segment.
409 * @param p_abs_information6 Developer Descriptive flexfield segment.
410 * @param p_abs_information7 Developer Descriptive flexfield segment.
411 * @param p_abs_information8 Developer Descriptive flexfield segment.
412 * @param p_abs_information9 Developer Descriptive flexfield segment.
413 * @param p_abs_information10 Developer Descriptive flexfield segment.
414 * @param p_abs_information11 Developer Descriptive flexfield segment.
415 * @param p_abs_information12 Developer Descriptive flexfield segment.
416 * @param p_abs_information13 Developer Descriptive flexfield segment.
417 * @param p_abs_information14 Developer Descriptive flexfield segment.
418 * @param p_abs_information15 Developer Descriptive flexfield segment.
419 * @param p_abs_information16 Developer Descriptive flexfield segment.
420 * @param p_abs_information17 Developer Descriptive flexfield segment.
421 * @param p_abs_information18 Developer Descriptive flexfield segment.
422 * @param p_abs_information19 Developer Descriptive flexfield segment.
423 * @param p_abs_information20 Developer Descriptive flexfield segment.
424 * @param p_abs_information21 Developer Descriptive flexfield segment.
425 * @param p_abs_information22 Developer Descriptive flexfield segment.
426 * @param p_abs_information23 Developer Descriptive flexfield segment.
427 * @param p_abs_information24 Developer Descriptive flexfield segment.
428 * @param p_abs_information25 Developer Descriptive flexfield segment.
429 * @param p_abs_information26 Developer Descriptive flexfield segment.
430 * @param p_abs_information27 Developer Descriptive flexfield segment.
431 * @param p_abs_information28 Developer Descriptive flexfield segment.
432 * @param p_abs_information29 Developer Descriptive flexfield segment.
433 * @param p_abs_information30 Developer Descriptive flexfield segment.
434 * @param p_absence_case_id Identifies the absence case to which this
435 * absence is attached to.
436 * @param p_object_version_number Pass in the current version number of the
437 * Absence to be updated. When the API completes if p_validate is false, will
438 * be set to the new version number of the updated Absence. If p_validate is
439 * true will be set to the same value which was passed in.
440 * @param p_dur_dys_less_warning If set to true, this serves as a warning that
441 * the specified absence duration in days is different from what the system has
442 * calculated. The application uses the BG_ABSENCE_DURATION Fast Formula for
443 * this calculation if it exists.
444 * @param p_dur_hrs_less_warning If set to true, this serves as a warning that
445 * the specified absence duration in hours is different from what the system has
446 * calculated. The application uses the BG_ABSENCE_DURATION Fast Formula for
447 * this calculation if it exists.
448 * @param p_exceeds_pto_entit_warning If set to true, this serves as a warning
449 * that the net entitlement of at least one of this person's accrual plans will
450 * be below zero when you apply this absence.
451 * @param p_exceeds_run_total_warning If set to true, this serves as a warning
452 * that the absence's type is using a decreasing balance and that the running
453 * total will be below zero when you apply this absence.
454 * @param p_abs_overlap_warning If set to true, this serves as a warning that
455 * this absence overlaps an existing absence for this person.
456 * @param p_abs_day_after_warning If set to true, this serves as a warning that
457 * this absence starts the day after an existing sickness absence. A sickness
458 * absence in this case is one that has an absence category starting with 'S'.
459 * @param p_dur_overwritten_warning If set to true, this serves as a warning
460 * that the HR: Absence Duration Auto Overwrite profile option is set to 'Yes'
461 * and that the the system-calculated duration has automatically overwritten
462 * the absence duration.
463 * @param p_del_element_entry_warning If set to true, this serves as a warning
464 * that the associated absence element entry will be deleted.
465 * @rep:displayname Update Person Absence
466 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ABSENCE
467 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
468 * @rep:scope public
469 * @rep:lifecycle active
470 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
471 */
472 --
473 -- {End Of Comments}
474 --
475 procedure update_person_absence
476 (p_validate in boolean default false
477 ,p_effective_date in date
478 ,p_absence_attendance_id in number
479 ,p_abs_attendance_reason_id in number default hr_api.g_number
480 ,p_comments in long default hr_api.g_varchar2
481 ,p_date_notification in date default hr_api.g_date
482 ,p_date_projected_start in date default hr_api.g_date
483 ,p_time_projected_start in varchar2 default hr_api.g_varchar2
484 ,p_date_projected_end in date default hr_api.g_date
485 ,p_time_projected_end in varchar2 default hr_api.g_varchar2
486 ,p_date_start in date default hr_api.g_date
487 ,p_time_start in varchar2 default hr_api.g_varchar2
488 ,p_date_end in date default hr_api.g_date
489 ,p_time_end in varchar2 default hr_api.g_varchar2
490 ,p_absence_days in out nocopy number
491 ,p_absence_hours in out nocopy number
492 ,p_authorising_person_id in number default hr_api.g_number
493 ,p_replacement_person_id in number default hr_api.g_number
494 ,p_attribute_category in varchar2 default hr_api.g_varchar2
495 ,p_attribute1 in varchar2 default hr_api.g_varchar2
496 ,p_attribute2 in varchar2 default hr_api.g_varchar2
497 ,p_attribute3 in varchar2 default hr_api.g_varchar2
498 ,p_attribute4 in varchar2 default hr_api.g_varchar2
499 ,p_attribute5 in varchar2 default hr_api.g_varchar2
500 ,p_attribute6 in varchar2 default hr_api.g_varchar2
501 ,p_attribute7 in varchar2 default hr_api.g_varchar2
502 ,p_attribute8 in varchar2 default hr_api.g_varchar2
503 ,p_attribute9 in varchar2 default hr_api.g_varchar2
504 ,p_attribute10 in varchar2 default hr_api.g_varchar2
505 ,p_attribute11 in varchar2 default hr_api.g_varchar2
506 ,p_attribute12 in varchar2 default hr_api.g_varchar2
507 ,p_attribute13 in varchar2 default hr_api.g_varchar2
508 ,p_attribute14 in varchar2 default hr_api.g_varchar2
509 ,p_attribute15 in varchar2 default hr_api.g_varchar2
510 ,p_attribute16 in varchar2 default hr_api.g_varchar2
511 ,p_attribute17 in varchar2 default hr_api.g_varchar2
512 ,p_attribute18 in varchar2 default hr_api.g_varchar2
513 ,p_attribute19 in varchar2 default hr_api.g_varchar2
514 ,p_attribute20 in varchar2 default hr_api.g_varchar2
515 ,p_period_of_incapacity_id in number default hr_api.g_number
516 ,p_ssp1_issued in varchar2 default hr_api.g_varchar2
517 ,p_maternity_id in number default hr_api.g_number
518 ,p_sickness_start_date in date default hr_api.g_date
519 ,p_sickness_end_date in date default hr_api.g_date
520 ,p_pregnancy_related_illness in varchar2 default hr_api.g_varchar2
521 ,p_reason_for_notification_dela in varchar2 default hr_api.g_varchar2
522 ,p_accept_late_notification_fla in varchar2 default hr_api.g_varchar2
523 ,p_linked_absence_id in number default hr_api.g_number
524 ,p_batch_id in number default hr_api.g_number
525 ,p_abs_information_category in varchar2 default hr_api.g_varchar2
526 ,p_abs_information1 in varchar2 default hr_api.g_varchar2
527 ,p_abs_information2 in varchar2 default hr_api.g_varchar2
528 ,p_abs_information3 in varchar2 default hr_api.g_varchar2
529 ,p_abs_information4 in varchar2 default hr_api.g_varchar2
530 ,p_abs_information5 in varchar2 default hr_api.g_varchar2
531 ,p_abs_information6 in varchar2 default hr_api.g_varchar2
532 ,p_abs_information7 in varchar2 default hr_api.g_varchar2
533 ,p_abs_information8 in varchar2 default hr_api.g_varchar2
534 ,p_abs_information9 in varchar2 default hr_api.g_varchar2
535 ,p_abs_information10 in varchar2 default hr_api.g_varchar2
536 ,p_abs_information11 in varchar2 default hr_api.g_varchar2
537 ,p_abs_information12 in varchar2 default hr_api.g_varchar2
538 ,p_abs_information13 in varchar2 default hr_api.g_varchar2
539 ,p_abs_information14 in varchar2 default hr_api.g_varchar2
540 ,p_abs_information15 in varchar2 default hr_api.g_varchar2
541 ,p_abs_information16 in varchar2 default hr_api.g_varchar2
542 ,p_abs_information17 in varchar2 default hr_api.g_varchar2
543 ,p_abs_information18 in varchar2 default hr_api.g_varchar2
544 ,p_abs_information19 in varchar2 default hr_api.g_varchar2
545 ,p_abs_information20 in varchar2 default hr_api.g_varchar2
546 ,p_abs_information21 in varchar2 default hr_api.g_varchar2
547 ,p_abs_information22 in varchar2 default hr_api.g_varchar2
548 ,p_abs_information23 in varchar2 default hr_api.g_varchar2
549 ,p_abs_information24 in varchar2 default hr_api.g_varchar2
550 ,p_abs_information25 in varchar2 default hr_api.g_varchar2
551 ,p_abs_information26 in varchar2 default hr_api.g_varchar2
552 ,p_abs_information27 in varchar2 default hr_api.g_varchar2
553 ,p_abs_information28 in varchar2 default hr_api.g_varchar2
554 ,p_abs_information29 in varchar2 default hr_api.g_varchar2
555 ,p_abs_information30 in varchar2 default hr_api.g_varchar2
556 ,p_absence_case_id in number default hr_api.g_number
557 ,p_object_version_number in out nocopy number
558 ,p_dur_dys_less_warning out nocopy boolean
559 ,p_dur_hrs_less_warning out nocopy boolean
560 ,p_exceeds_pto_entit_warning out nocopy boolean
561 ,p_exceeds_run_total_warning out nocopy boolean
562 ,p_abs_overlap_warning out nocopy boolean
563 ,p_abs_day_after_warning out nocopy boolean
564 ,p_dur_overwritten_warning out nocopy boolean
565 ,p_del_element_entry_warning out nocopy boolean
566 );
567 --
568 -- ----------------------------------------------------------------------------
569 -- |--------------------------< delete_person_absence >-----------------------|
570 -- ----------------------------------------------------------------------------
571 --
572 -- {Start Of Comments}
573 /*#
574 * This API deletes an absence that was recorded for a person.
575 *
576 * Use this API to delete an absence for a person and, if it exists, the
577 * associated element entry that was previously recorded but is no longer
578 * needed.
579 *
580 * <p><b>Licensing</b><br>
581 * This API is licensed for use with Human Resources.
582 *
583 * <p><b>Prerequisites</b><br>
584 * The absence record being Deleted must already exist.
585 *
586 * <p><b>Post Success</b><br>
587 * The absence record for the person will have been deleted.
588 *
589 * <p><b>Post Failure</b><br>
590 * The absence record will not be deleted and an error will be raised.
591 * @param p_validate If true, then validation alone will be performed and the
592 * database will remain unchanged. If false and all validation checks pass,
593 * then the database will be modified.
594 * @param p_absence_attendance_id Uniquely identifies the absence record that
595 * is being deleted.
596 * @param p_object_version_number Current version number of the Absence to be
597 * deleted.
598 * @rep:displayname Delete Person Absence
599 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ABSENCE
600 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
601 * @rep:scope public
602 * @rep:lifecycle active
603 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
604 */
605 --
606 -- {End Of Comments}
607 --
608 procedure delete_person_absence
609 (p_validate in boolean default false
610 ,p_absence_attendance_id in number
611 ,p_object_version_number in number
612 );
613
614 --
615 -- ----------------------------------------------------------------------------
616 -- |----------------------< get_primary_assignment >--------------------------|
617 -- ----------------------------------------------------------------------------
618 --
619 function get_primary_assignment
620 (p_person_id in number,
621 p_effective_date in date) return number;
622
623 --
624 -- ----------------------------------------------------------------------------
625 -- |----------------------< linked_to_element >-------------------------------|
626 -- ----------------------------------------------------------------------------
627 --
628 function linked_to_element
629 (p_absence_attendance_id in number) return boolean;
630
631 --
632 -- ----------------------------------------------------------------------------
633 -- |----------------------< get_absence_element >-----------------------------|
634 -- ----------------------------------------------------------------------------
635 --
636 procedure get_absence_element
637 (p_absence_attendance_id in number
638 ,p_element_entry_id out nocopy number
639 ,p_effective_start_date out nocopy date
640 ,p_effective_end_date out nocopy date);
641
642 --
643 -- ----------------------------------------------------------------------------
644 -- |----------------------< get_processing_type >-----------------------------|
645 -- ----------------------------------------------------------------------------
646 --
647 function get_processing_type
648 (p_absence_attendance_type_id in number) return varchar2;
649
650 --
651 -- ----------------------------------------------------------------------------
652 -- |----------------------< get_element_details >-----------------------------|
653 -- ----------------------------------------------------------------------------
654 --
655 procedure get_element_details
656 (p_absence_attendance_id in number
657 ,p_element_type_id out nocopy number
658 ,p_input_value_id out nocopy number
659 ,p_entry_value out nocopy number
660 );
661
662 --
663 -- ----------------------------------------------------------------------------
664 -- |----------------------< insert_absence_element >--------------------------|
665 -- ----------------------------------------------------------------------------
666 --
667 procedure insert_absence_element
668 (p_date_start in date
669 ,p_assignment_id in number
670 ,p_absence_attendance_id in number
671 ,p_element_entry_id out nocopy number
672 );
673
674 --
675 -- ----------------------------------------------------------------------------
676 -- |----------------------< update_absence_element >--------------------------|
677 -- ----------------------------------------------------------------------------
678 --
679 procedure update_absence_element
680 (p_dt_update_mode in varchar2
681 ,p_session_date in date
682 ,p_element_entry_id in number
683 ,p_absence_attendance_id in number
684 );
685
686 --
687 -- ----------------------------------------------------------------------------
688 -- |----------------------< delete_absence_element >--------------------------|
689 -- ----------------------------------------------------------------------------
690 --
691 procedure delete_absence_element
692 (p_dt_delete_mode in varchar2
693 ,p_session_date in date
694 ,p_element_entry_id in number
695 );
696
697 end hr_person_absence_api;