1 PACKAGE HR_MX_PERSON_ABSENCE_API AUTHID CURRENT_USER AS
2 /* $Header: hrmxwrpa.pkh 120.3 2012/01/19 08:18:09 rpahune ship $ */
3 /*#
4 * This package contains Person Absence APIs.
5 * @rep:scope public
6 * @rep:product PER
7 * @rep:displayname Person Absence for Mexico
8 */
9 --
10 -- ----------------------------------------------------------------------------
11 -- |-------------------------< create_mx_person_absence >---------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 -- {Start Of Comments}
15 /*#
16 * This API records the details of an absence for a person in Mexico.
17 *
18 * Use this API to record dates and times a person in Mexico was, or will be,
19 * absent. You can also record the type of absence, projected and actual dates
20 * and times, the person who authorized the absence, and the person who
21 * replaces the absent person. This API also creates an element entry when you
22 * enter the actual absence details and associate the absence type with an
23 * 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 *
38 * @param p_validate If true, then validation alone will be performed and the
39 * database will remain unchanged. If false and all validation checks pass,
40 * then the database will be modified.
41 * @param p_effective_date Reference date for validating lookup values are
42 * applicable during the start to end active date range. This date does not
43 * determine when the changes take effect.
44 * @param p_person_id Identifies the person for whom you create the absence
45 * attendance record.
46 * @param p_business_group_id The business group under which you record the
47 * absence. This is usually the same business group that the person belongs to.
48 * @param p_absence_attendance_type_id Uniquely identifies the type of absence.
49 * @param p_abs_attendance_reason_id Uniquely identifies the reason for this
50 * absence.
51 * @param p_comments Absence Attendance comment text.
52 * @param p_date_notification The date when the organization was first notified
53 * about the absence.
54 * @param p_date_projected_start The projected start date of the absence.
55 * @param p_time_projected_start The projected start time of the absence. This
56 * can only be set when the absence type is associated with an hours-based
57 * absence element, or when the absence type has no associated element.
58 * @param p_date_projected_end The projected end date of the absence.
59 * @param p_time_projected_end The projected end time of the absence. This can
60 * only be set when the absence type is associated with an hours-based absence
61 * element, or when the absence type has no associated element.
62 * @param p_date_start The actual start date of absence.
63 * @param p_time_start The actual start time of the absence. This can only be
64 * set when the absence type is associated with an hours-based absence element,
65 * or when the absence type has no associated element.
66 * @param p_date_end The actual end date of absence.
67 * @param p_time_end The actual end time of the absence. This can only be set
68 * when the absence type is associated with an hours-based absence element, or
69 * when the absence type has no associated element.
70 * @param p_absence_days The duration of the absence in days. This can only be
71 * set when the absence type is associated with an hours-based absence element,
72 * or when the absence type has no associated element.
73 * @param p_absence_hours The duration of the absence in hours. This can only
74 * be set when the absence type is associated with an hours-based absence
75 * element, or when the absence type has no associated element.
76 * @param p_authorising_person_id Uniquely identifies the person who authorized
77 * this absence.
78 * @param p_replacement_person_id Uniquely identifies the person who replaces
79 * the absent person.
80 * @param p_attribute_category This context value determines which flexfield
81 * structure to use with the descriptive flexfield segments.
82 * @param p_attribute1 Descriptive flexfield segment.
83 * @param p_attribute2 Descriptive flexfield segment.
84 * @param p_attribute3 Descriptive flexfield segment.
85 * @param p_attribute4 Descriptive flexfield segment.
86 * @param p_attribute5 Descriptive flexfield segment.
87 * @param p_attribute6 Descriptive flexfield segment.
88 * @param p_attribute7 Descriptive flexfield segment.
89 * @param p_attribute8 Descriptive flexfield segment.
90 * @param p_attribute9 Descriptive flexfield segment.
91 * @param p_attribute10 Descriptive flexfield segment.
92 * @param p_attribute11 Descriptive flexfield segment.
93 * @param p_attribute12 Descriptive flexfield segment.
94 * @param p_attribute13 Descriptive flexfield segment.
95 * @param p_attribute14 Descriptive flexfield segment.
96 * @param p_attribute15 Descriptive flexfield segment.
97 * @param p_attribute16 Descriptive flexfield segment.
98 * @param p_attribute17 Descriptive flexfield segment.
99 * @param p_attribute18 Descriptive flexfield segment.
100 * @param p_attribute19 Descriptive flexfield segment.
101 * @param p_attribute20 Descriptive flexfield segment.
102 * @param p_period_of_incapacity_id Uniquely identifies the period of
103 * incapacity.
104 * @param p_ssp1_issued Set this to 'Y' if an SSP1 has been issued, otherwise
105 * set this to 'N'.
106 * @param p_maternity_id Uniquely identifies the maternity record, which is
107 * required when the absence is for SMP, SAP or SPP.
108 * @param p_sickness_start_date The date the sickness started.
109 * @param p_sickness_end_date The date the sickness ended.
110 * @param p_pregnancy_related_illness Set this to 'Y' if the illness is related
111 * to maternity leave, otherwise set this to 'N'.
112 * @param p_reason_for_notification_dela The reason for late notification,
113 * defined as free-format text.
114 * @param p_accept_late_notification_fla Set this to 'Y' if late notification
115 * was accepted, otherwise set this to 'N'.
116 * @param p_linked_absence_id Uniquely identifies the absence record that is
117 * the first absence in the PIW.
118 * @param p_batch_id Uniquely identifies the Batch Element Entry (BEE) run that
119 * automatically created this absence record. This is used to roll back BEE
120 * runs, and is for Oracle internal use only.
121 * @param p_create_element_entry When set to True (the default), the absence
122 * element is created automatically. When set to False, the absence element is
123 * not created. This is for Oracle internal use only.
124 * @param p_type_of_disability Identifies the type of disability related to
125 * this absence.
126 * @param p_disability_id Uniquely identifies the disability record of the type
127 * specified under p_type_of_disability.
128 * @param p_absence_attendance_id If p_validate is false, then this uniquely
129 * identifies the absence record created. If p_validate is true, then this is
130 * set to null.
131 * @param p_object_version_number If p_validate is false, then set to the
132 * version number of the created absence record. If p_validate is true, then
133 * the value will be null.
134 * @param p_occurrence A numerical sequence that denotes the number of absences
135 * this person has taken for this type of absence.
136 * @param p_dur_dys_less_warning If set to true, this serves as a warning that
137 * the specified absence duration in days is less than what the system has
138 * calculated. The application uses the BG_ABSENCE_DURATION Fast Formula for
139 * this calculation if it exists.
140 * @param p_dur_hrs_less_warning If set to true, this serves as a warning that
141 * the specified absence duration in hours is less than what the system has
142 * calculated. The application uses the BG_ABSENCE_DURATION Fast Formula for
143 * this calculation if it exists.
144 * @param p_exceeds_pto_entit_warning If set to true, this serves as a warning
145 * that the net entitlement of at least one of this person's accrual plans will
146 * be below zero when you apply this absence.
147 * @param p_exceeds_run_total_warning If set to true, this serves as a warning
148 * that the absence's type is using a decreasing balance and that the running
149 * total will be below zero when you apply this absence.
150 * @param p_abs_overlap_warning If set to true, this serves as a warning that
151 * this absence overlaps an existing absence for this person.
152 * @param p_abs_day_after_warning If set to true, this serves as a warning that
153 * this absence starts the day after an existing sickness absence. A sickness
154 * absence in this case is one that has an absence category starting with 'S'.
155 * @param p_dur_overwritten_warning If set to true, this serves as a warning
156 * that the HR: Absence Duration Auto Overwrite profile option is set to 'Yes'
157 * and that the the system-calculated duration has automatically overwritten
158 * the absence duration.
159 * @rep:displayname Create Person Absence for Mexico
160 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ABSENCE
161 * @rep:lifecycle active
162 * @rep:scope public
163 */
164 --
165 -- {End Of Comments}
166 --
167 PROCEDURE CREATE_MX_PERSON_ABSENCE
168 (p_validate in boolean default false
169 ,p_effective_date in date
170 ,p_person_id in number
171 ,p_business_group_id in number
172 ,p_absence_attendance_type_id in number
173 ,p_abs_attendance_reason_id in number default null
174 ,p_comments in per_absence_attendances.comments%TYPE default null/*Modified for Bug#13375560*/
175 ,p_date_notification in date default null
176 ,p_date_projected_start in date default null
177 ,p_time_projected_start in varchar2 default null
178 ,p_date_projected_end in date default null
179 ,p_time_projected_end in varchar2 default null
180 ,p_date_start in date default null
181 ,p_time_start in varchar2 default null
182 ,p_date_end in date default null
183 ,p_time_end in varchar2 default null
184 ,p_absence_days in out nocopy number
185 ,p_absence_hours in out nocopy number
186 ,p_authorising_person_id in number default null
187 ,p_replacement_person_id in number default null
188 ,p_attribute_category in varchar2 default null
189 ,p_attribute1 in varchar2 default null
190 ,p_attribute2 in varchar2 default null
191 ,p_attribute3 in varchar2 default null
192 ,p_attribute4 in varchar2 default null
193 ,p_attribute5 in varchar2 default null
194 ,p_attribute6 in varchar2 default null
195 ,p_attribute7 in varchar2 default null
196 ,p_attribute8 in varchar2 default null
197 ,p_attribute9 in varchar2 default null
198 ,p_attribute10 in varchar2 default null
199 ,p_attribute11 in varchar2 default null
200 ,p_attribute12 in varchar2 default null
201 ,p_attribute13 in varchar2 default null
202 ,p_attribute14 in varchar2 default null
203 ,p_attribute15 in varchar2 default null
204 ,p_attribute16 in varchar2 default null
205 ,p_attribute17 in varchar2 default null
206 ,p_attribute18 in varchar2 default null
207 ,p_attribute19 in varchar2 default null
208 ,p_attribute20 in varchar2 default null
209 ,p_period_of_incapacity_id in number default null
210 ,p_ssp1_issued in varchar2 default 'N'
211 ,p_maternity_id in number default null
212 ,p_sickness_start_date in date default null
213 ,p_sickness_end_date in date default null
214 ,p_pregnancy_related_illness in varchar2 default 'N'
215 ,p_reason_for_notification_dela in varchar2 default null
216 ,p_accept_late_notification_fla in varchar2 default 'N'
217 ,p_linked_absence_id in number default null
218 ,p_batch_id in number default null
219 ,p_create_element_entry in boolean default true
220 ,p_type_of_disability in varchar2 default null
221 ,p_disability_id in varchar2 default null
222 ,p_absence_attendance_id out nocopy number
223 ,p_object_version_number out nocopy number
224 ,p_occurrence out nocopy number
225 ,p_dur_dys_less_warning out nocopy boolean
226 ,p_dur_hrs_less_warning out nocopy boolean
227 ,p_exceeds_pto_entit_warning out nocopy boolean
228 ,p_exceeds_run_total_warning out nocopy boolean
229 ,p_abs_overlap_warning out nocopy boolean
230 ,p_abs_day_after_warning out nocopy boolean
231 ,p_dur_overwritten_warning out nocopy boolean);
232 --
233 -- ----------------------------------------------------------------------------
234 -- |-------------------------< update_mx_person_absence >---------------------|
235 -- ----------------------------------------------------------------------------
236 --
237 -- {Start Of Comments}
238 /*#
239 * This API updates the details of an absence for a person in Mexico.
240 *
241 * Use this API to update projected and actual dates and times a person in
242 * Mexico is absent, the person who authorized the absence, and the person who
243 * replaces the absent person. The API also updates the absence element entry
244 * when you change the actual absence details and the absence type is
245 * associated with an element.
246 *
247 * <p><b>Licensing</b><br>
248 * This API is licensed for use with Human Resources.
249 *
250 * <p><b>Prerequisites</b><br>
251 * The absence record being updated must already exist.
252 *
253 * <p><b>Post Success</b><br>
254 * The absence record for the person will have been updated.
255 *
256 * <p><b>Post Failure</b><br>
257 * The absence record will not be updated and an error will be raised.
258 *
259 * @param p_validate If true, then validation alone will be performed and the
260 * database will remain unchanged. If false and all validation checks pass,
261 * then the database will be modified.
262 * @param p_effective_date Reference date for validating lookup values are
263 * applicable during the start to end active date range. This date does not
264 * determine when the changes take effect.
265 * @param p_absence_attendance_id Uniquely identifies the absence record that
266 * is being updated.
267 * @param p_abs_attendance_reason_id Uniquely identifies the reason for this
268 * absence.
269 * @param p_comments Absence Attendance comment text.
270 * @param p_date_notification The date when the organization was first notified
271 * about the absence.
272 * @param p_date_projected_start The projected start date of the absence.
273 * @param p_time_projected_start The projected start time of the absence. This
274 * can only be set when the absence type is associated with an hours-based
275 * absence element, or when the absence type has no associated element.
276 * @param p_date_projected_end The projected end date of the absence.
277 * @param p_time_projected_end The projected end time of the absence. This can
278 * only be set when the absence type is associated with an hours-based absence
279 * element, or when the absence type has no associated element.
280 * @param p_date_start The actual start date of absence.
281 * @param p_time_start The actual start time of the absence. This can only be
282 * set when the absence type is associated with an hours-based absence element,
283 * or when the absence type has no associated element.
284 * @param p_date_end The actual end date of absence.
285 * @param p_time_end The actual end time of the absence. This can only be set
286 * when the absence type is associated with an hours-based absence element, or
287 * when the absence type has no associated element.
288 * @param p_absence_days The duration of the absence in days. This can only be
289 * set when the absence type is associated with an hours-based absence element,
290 * or when the absence type has no associated element.
291 * @param p_absence_hours The duration of the absence in hours. This can only
292 * be set when the absence type is associated with an hours-based absence
293 * element, or when the absence type has no associated element.
294 * @param p_authorising_person_id Uniquely identifies the person who authorized
295 * this absence.
296 * @param p_replacement_person_id Uniquely identifies the person who replaces
297 * the absent person.
298 * @param p_attribute_category This context value determines which flexfield
299 * structure to use with the descriptive flexfield segments.
300 * @param p_attribute1 Descriptive flexfield segment.
301 * @param p_attribute2 Descriptive flexfield segment.
302 * @param p_attribute3 Descriptive flexfield segment.
303 * @param p_attribute4 Descriptive flexfield segment.
304 * @param p_attribute5 Descriptive flexfield segment.
305 * @param p_attribute6 Descriptive flexfield segment.
306 * @param p_attribute7 Descriptive flexfield segment.
307 * @param p_attribute8 Descriptive flexfield segment.
308 * @param p_attribute9 Descriptive flexfield segment.
309 * @param p_attribute10 Descriptive flexfield segment.
310 * @param p_attribute11 Descriptive flexfield segment.
311 * @param p_attribute12 Descriptive flexfield segment.
312 * @param p_attribute13 Descriptive flexfield segment.
313 * @param p_attribute14 Descriptive flexfield segment.
314 * @param p_attribute15 Descriptive flexfield segment.
315 * @param p_attribute16 Descriptive flexfield segment.
316 * @param p_attribute17 Descriptive flexfield segment.
317 * @param p_attribute18 Descriptive flexfield segment.
318 * @param p_attribute19 Descriptive flexfield segment.
319 * @param p_attribute20 Descriptive flexfield segment.
320 * @param p_period_of_incapacity_id Uniquely identifies the period of
321 * incapacity.
322 * @param p_ssp1_issued Set this to 'Y' if an SSP1 has been issued, otherwise
323 * set this to 'N'.
324 * @param p_maternity_id Uniquely identifies the maternity record, which is
325 * required when the absence is for SMP, SAP or SPP.
326 * @param p_sickness_start_date The date the sickness started.
327 * @param p_sickness_end_date The date the sickness ended.
328 * @param p_pregnancy_related_illness Set this to 'Y' if the illness is related
329 * to maternity leave, otherwise set this to 'N'.
330 * @param p_reason_for_notification_dela The reason for late notification,
331 * defined as free-format text.
332 * @param p_accept_late_notification_fla Set this to 'Y' if late notification
333 * was accepted, otherwise set this to 'N'.
334 * @param p_linked_absence_id Uniquely identifies the absence record that is
335 * the first absence in the PIW.
336 * @param p_batch_id Uniquely identifies the Batch Element Entry (BEE) run that
337 * automatically created this absence record. This is used to roll back BEE
338 * runs, and is for Oracle internal use only.
339 * @param p_type_of_disability Identifies the type of disability related to
340 * this absence.
341 * @param p_disability_id Uniquely identifies the disability record of the type
342 * specified under p_type_of_disability.
343 * @param p_object_version_number Pass in the current version number of the
344 * Absence to be updated. When the API completes if p_validate is false, will
345 * be set to the new version number of the updated Absence. If p_validate is
346 * true will be set to the same value which was passed in.
347 * @param p_dur_dys_less_warning If set to true, this serves as a warning that
348 * the specified absence duration in days is less than what the system has
349 * calculated. The application uses the BG_ABSENCE_DURATION Fast Formula for
350 * this calculation if it exists.
351 * @param p_dur_hrs_less_warning If set to true, this serves as a warning that
352 * the specified absence duration in hours is less than what the system has
353 * calculated. The application uses the BG_ABSENCE_DURATION Fast Formula for
354 * this calculation if it exists.
355 * @param p_exceeds_pto_entit_warning If set to true, this serves as a warning
356 * that the net entitlement of at least one of this person's accrual plans will
357 * be below zero when you apply this absence.
358 * @param p_exceeds_run_total_warning If set to true, this serves as a warning
359 * that the absence's type is using a decreasing balance and that the running
360 * total will be below zero when you apply this absence.
361 * @param p_abs_overlap_warning If set to true, this serves as a warning that
362 * this absence overlaps an existing absence for this person.
363 * @param p_abs_day_after_warning If set to true, this serves as a warning that
364 * this absence starts the day after an existing sickness absence. A sickness
365 * absence in this case is one that has an absence category starting with 'S'.
366 * @param p_dur_overwritten_warning If set to true, this serves as a warning
367 * that the HR: Absence Duration Auto Overwrite profile option is set to 'Yes'
368 * and that the the system-calculated duration has automatically overwritten
369 * the absence duration.
370 * @param p_del_element_entry_warning If set to true, this serves as a warning
371 * that the associated absence element entry will be deleted.
372 * @rep:displayname Update Person Absence for Mexico
373 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ABSENCE
374 * @rep:lifecycle active
375 * @rep:scope public
376 */
377 --
378 -- {End Of Comments}
379 --
380 PROCEDURE UPDATE_MX_PERSON_ABSENCE
381 (p_validate in boolean default false
382 ,p_effective_date in date
383 ,p_absence_attendance_id in number
384 ,p_abs_attendance_reason_id in number default hr_api.g_number
385 ,p_comments in per_absence_attendances.comments%TYPE default hr_api.g_varchar2/*Modified for Bug#13375560*/
386 ,p_date_notification in date default hr_api.g_date
387 ,p_date_projected_start in date default hr_api.g_date
388 ,p_time_projected_start in varchar2 default hr_api.g_varchar2
389 ,p_date_projected_end in date default hr_api.g_date
390 ,p_time_projected_end in varchar2 default hr_api.g_varchar2
391 ,p_date_start in date default hr_api.g_date
392 ,p_time_start in varchar2 default hr_api.g_varchar2
393 ,p_date_end in date default hr_api.g_date
394 ,p_time_end in varchar2 default hr_api.g_varchar2
395 ,p_absence_days in out nocopy number
396 ,p_absence_hours in out nocopy number
397 ,p_authorising_person_id in number default hr_api.g_number
398 ,p_replacement_person_id in number default hr_api.g_number
399 ,p_attribute_category in varchar2 default hr_api.g_varchar2
400 ,p_attribute1 in varchar2 default hr_api.g_varchar2
401 ,p_attribute2 in varchar2 default hr_api.g_varchar2
402 ,p_attribute3 in varchar2 default hr_api.g_varchar2
403 ,p_attribute4 in varchar2 default hr_api.g_varchar2
404 ,p_attribute5 in varchar2 default hr_api.g_varchar2
405 ,p_attribute6 in varchar2 default hr_api.g_varchar2
406 ,p_attribute7 in varchar2 default hr_api.g_varchar2
407 ,p_attribute8 in varchar2 default hr_api.g_varchar2
408 ,p_attribute9 in varchar2 default hr_api.g_varchar2
409 ,p_attribute10 in varchar2 default hr_api.g_varchar2
410 ,p_attribute11 in varchar2 default hr_api.g_varchar2
411 ,p_attribute12 in varchar2 default hr_api.g_varchar2
412 ,p_attribute13 in varchar2 default hr_api.g_varchar2
413 ,p_attribute14 in varchar2 default hr_api.g_varchar2
414 ,p_attribute15 in varchar2 default hr_api.g_varchar2
415 ,p_attribute16 in varchar2 default hr_api.g_varchar2
416 ,p_attribute17 in varchar2 default hr_api.g_varchar2
417 ,p_attribute18 in varchar2 default hr_api.g_varchar2
418 ,p_attribute19 in varchar2 default hr_api.g_varchar2
419 ,p_attribute20 in varchar2 default hr_api.g_varchar2
420 ,p_period_of_incapacity_id in number default hr_api.g_number
421 ,p_ssp1_issued in varchar2 default hr_api.g_varchar2
422 ,p_maternity_id in number default hr_api.g_number
423 ,p_sickness_start_date in date default hr_api.g_date
424 ,p_sickness_end_date in date default hr_api.g_date
425 ,p_pregnancy_related_illness in varchar2 default hr_api.g_varchar2
426 ,p_reason_for_notification_dela in varchar2 default hr_api.g_varchar2
427 ,p_accept_late_notification_fla in varchar2 default hr_api.g_varchar2
428 ,p_linked_absence_id in number default hr_api.g_number
429 ,p_batch_id in number default hr_api.g_number
430 ,p_type_of_disability in varchar2 default hr_api.g_varchar2
431 ,p_disability_id in varchar2 default hr_api.g_varchar2
432 ,p_object_version_number in out nocopy number
433 ,p_dur_dys_less_warning out nocopy boolean
434 ,p_dur_hrs_less_warning out nocopy boolean
435 ,p_exceeds_pto_entit_warning out nocopy boolean
436 ,p_exceeds_run_total_warning out nocopy boolean
437 ,p_abs_overlap_warning out nocopy boolean
438 ,p_abs_day_after_warning out nocopy boolean
439 ,p_dur_overwritten_warning out nocopy boolean
440 ,p_del_element_entry_warning out nocopy boolean);
441
442 END HR_MX_PERSON_ABSENCE_API;