DBA Data[Home] [Help]

PACKAGE: APPS.HR_PERSON_ABSENCE_API

Source


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;