[Home] [Help]
PACKAGE BODY: APPS.HR_MX_PERSON_ABSENCE_API
Source
1 PACKAGE BODY HR_MX_PERSON_ABSENCE_API AS
2 /* $Header: hrmxwrpa.pkb 120.2 2012/01/19 08:15:27 rpahune ship $ */
3 /*
4 ******************************************************************
5 * *
6 * Copyright (C) 1993 Oracle Corporation. *
7 * All rights reserved. *
8 * *
9 * This material has been provided pursuant to an agreement *
10 * containing restrictions on its use. The material is also *
11 * protected by copyright law. No part of this material may *
12 * be copied or distributed, transmitted or transcribed, in *
13 * any form or by any means, electronic, mechanical, magnetic, *
14 * manual, or otherwise, or disclosed to third parties without *
15 * the express written permission of Oracle Corporation, *
16 * 500 Oracle Parkway, Redwood City, CA, 94065. *
17 * *
18 ******************************************************************
19
20 Name : HR_MX_PERSON_ABSENCE_API
21
22 Description : This is Mexican wrapper package for hr_person_absence_api.
23
24 Change List
25 -----------
26 Date Name Vers Bug No Description
27 ----------- ---------- ------ ------- -------------------------------
28 29-JUN-2004 sdahiya 115.0 Created.
29 09-JUL-2004 sdahiya 115.1 Added business group check in
30 update_mx_person_absence.
31 17-NOV-2011 emunisek 115.2 For Bug#13375560 replaced long data
32 type with per_absence_attendances.comments%TYPE
33
34 *****************************************************************************/
35
36 g_proc_name varchar2 (50);
37 /*******************************************************************************
38 Name : create_mx_person_absence
39 Purpose : This procedure acts as wrapper for hr_person_absence_api.create_person_absence.
40 *******************************************************************************/
41
42 PROCEDURE CREATE_MX_PERSON_ABSENCE
43 (p_validate in boolean default false
44 ,p_effective_date in date
45 ,p_person_id in number
46 ,p_business_group_id in number
47 ,p_absence_attendance_type_id in number
48 ,p_abs_attendance_reason_id in number default null
49 ,p_comments in per_absence_attendances.comments%TYPE default null
50 ,p_date_notification in date default null
51 ,p_date_projected_start in date default null
52 ,p_time_projected_start in varchar2 default null
53 ,p_date_projected_end in date default null
54 ,p_time_projected_end in varchar2 default null
55 ,p_date_start in date default null
56 ,p_time_start in varchar2 default null
57 ,p_date_end in date default null
58 ,p_time_end in varchar2 default null
59 ,p_absence_days in out nocopy number
60 ,p_absence_hours in out nocopy number
61 ,p_authorising_person_id in number default null
62 ,p_replacement_person_id in number default null
63 ,p_attribute_category in varchar2 default null
64 ,p_attribute1 in varchar2 default null
65 ,p_attribute2 in varchar2 default null
66 ,p_attribute3 in varchar2 default null
67 ,p_attribute4 in varchar2 default null
68 ,p_attribute5 in varchar2 default null
69 ,p_attribute6 in varchar2 default null
70 ,p_attribute7 in varchar2 default null
71 ,p_attribute8 in varchar2 default null
72 ,p_attribute9 in varchar2 default null
73 ,p_attribute10 in varchar2 default null
74 ,p_attribute11 in varchar2 default null
75 ,p_attribute12 in varchar2 default null
76 ,p_attribute13 in varchar2 default null
77 ,p_attribute14 in varchar2 default null
78 ,p_attribute15 in varchar2 default null
79 ,p_attribute16 in varchar2 default null
80 ,p_attribute17 in varchar2 default null
81 ,p_attribute18 in varchar2 default null
82 ,p_attribute19 in varchar2 default null
83 ,p_attribute20 in varchar2 default null
84 ,p_period_of_incapacity_id in number default null
85 ,p_ssp1_issued in varchar2 default 'N'
86 ,p_maternity_id in number default null
87 ,p_sickness_start_date in date default null
88 ,p_sickness_end_date in date default null
89 ,p_pregnancy_related_illness in varchar2 default 'N'
90 ,p_reason_for_notification_dela in varchar2 default null
91 ,p_accept_late_notification_fla in varchar2 default 'N'
92 ,p_linked_absence_id in number default null
93 ,p_batch_id in number default null
94 ,p_create_element_entry in boolean default true
95 ,p_type_of_disability in varchar2 default null
96 ,p_disability_id in varchar2 default null
97 ,p_absence_attendance_id out nocopy number
98 ,p_object_version_number out nocopy number
99 ,p_occurrence out nocopy number
100 ,p_dur_dys_less_warning out nocopy boolean
101 ,p_dur_hrs_less_warning out nocopy boolean
102 ,p_exceeds_pto_entit_warning out nocopy boolean
103 ,p_exceeds_run_total_warning out nocopy boolean
104 ,p_abs_overlap_warning out nocopy boolean
105 ,p_abs_day_after_warning out nocopy boolean
106 ,p_dur_overwritten_warning out nocopy boolean
107 ) AS
108
109 l_proc_name varchar2(100);
110
111 BEGIN
112 l_proc_name := g_proc_name||'CREATE_MX_PERSON_ABSENCE';
113 hr_utility.trace('Entering '||l_proc_name);
114 --
115 hr_mx_utility.check_bus_grp (p_business_group_id, 'MX');
116 --
117 fnd_profile.put('PER_PERSON_ID',p_person_id);
118 hr_person_absence_api.create_person_absence
119 (p_validate => p_validate
120 ,p_effective_date => p_effective_date
121 ,p_person_id => p_person_id
122 ,p_business_group_id => p_business_group_id
123 ,p_absence_attendance_type_id => p_absence_attendance_type_id
124 ,p_abs_attendance_reason_id => p_abs_attendance_reason_id
125 ,p_comments => p_comments
126 ,p_date_notification => p_date_notification
127 ,p_date_projected_start => p_date_projected_start
128 ,p_time_projected_start => p_time_projected_start
129 ,p_date_projected_end => p_date_projected_end
130 ,p_time_projected_end => p_time_projected_end
131 ,p_date_start => p_date_start
132 ,p_time_start => p_time_start
133 ,p_date_end => p_date_end
134 ,p_time_end => p_time_end
135 ,p_absence_days => p_absence_days
136 ,p_absence_hours => p_absence_hours
137 ,p_authorising_person_id => p_authorising_person_id
138 ,p_replacement_person_id => p_replacement_person_id
139 ,p_attribute_category => p_attribute_category
140 ,p_attribute1 => p_attribute1
141 ,p_attribute2 => p_attribute2
142 ,p_attribute3 => p_attribute3
143 ,p_attribute4 => p_attribute4
144 ,p_attribute5 => p_attribute5
145 ,p_attribute6 => p_attribute6
146 ,p_attribute7 => p_attribute7
147 ,p_attribute8 => p_attribute8
148 ,p_attribute9 => p_attribute9
149 ,p_attribute10 => p_attribute10
150 ,p_attribute11 => p_attribute11
151 ,p_attribute12 => p_attribute12
152 ,p_attribute13 => p_attribute13
153 ,p_attribute14 => p_attribute14
154 ,p_attribute15 => p_attribute15
155 ,p_attribute16 => p_attribute16
156 ,p_attribute17 => p_attribute17
157 ,p_attribute18 => p_attribute18
158 ,p_attribute19 => p_attribute19
159 ,p_attribute20 => p_attribute20
160 ,p_period_of_incapacity_id => p_period_of_incapacity_id
161 ,p_ssp1_issued => p_ssp1_issued
162 ,p_maternity_id => p_maternity_id
163 ,p_sickness_start_date => p_sickness_start_date
164 ,p_sickness_end_date => p_sickness_end_date
165 ,p_pregnancy_related_illness => p_pregnancy_related_illness
166 ,p_reason_for_notification_dela => p_reason_for_notification_dela
167 ,p_accept_late_notification_fla => p_accept_late_notification_fla
168 ,p_linked_absence_id => p_linked_absence_id
169 ,p_batch_id => p_batch_id
170 ,p_create_element_entry => p_create_element_entry
171 ,p_abs_information_category => 'MX'
172 ,p_abs_information1 => p_type_of_disability
173 ,p_abs_information2 => p_disability_id
174 ,p_absence_attendance_id => p_absence_attendance_id
175 ,p_object_version_number => p_object_version_number
176 ,p_occurrence => p_occurrence
177 ,p_dur_dys_less_warning => p_dur_dys_less_warning
178 ,p_dur_hrs_less_warning => p_dur_hrs_less_warning
179 ,p_exceeds_pto_entit_warning => p_exceeds_pto_entit_warning
180 ,p_exceeds_run_total_warning => p_exceeds_run_total_warning
181 ,p_abs_overlap_warning => p_abs_overlap_warning
182 ,p_abs_day_after_warning => p_abs_day_after_warning
183 ,p_dur_overwritten_warning => p_dur_overwritten_warning
184 );
185
186 hr_utility.trace('Leaving '||l_proc_name);
187 END CREATE_MX_PERSON_ABSENCE;
188
189
190 /*******************************************************************************
191 Name : update_mx_person_absence
192 Purpose : This procedure acts as wrapper for hr_person_absence_api.update_person_absence.
193 *******************************************************************************/
194
195 PROCEDURE UPDATE_MX_PERSON_ABSENCE
196 (p_validate in boolean default false
197 ,p_effective_date in date
198 ,p_absence_attendance_id in number
199 ,p_abs_attendance_reason_id in number default hr_api.g_number
200 ,p_comments in per_absence_attendances.comments%TYPE default hr_api.g_varchar2
201 ,p_date_notification in date default hr_api.g_date
202 ,p_date_projected_start in date default hr_api.g_date
203 ,p_time_projected_start in varchar2 default hr_api.g_varchar2
204 ,p_date_projected_end in date default hr_api.g_date
205 ,p_time_projected_end in varchar2 default hr_api.g_varchar2
206 ,p_date_start in date default hr_api.g_date
207 ,p_time_start in varchar2 default hr_api.g_varchar2
208 ,p_date_end in date default hr_api.g_date
209 ,p_time_end in varchar2 default hr_api.g_varchar2
210 ,p_absence_days in out nocopy number
211 ,p_absence_hours in out nocopy number
212 ,p_authorising_person_id in number default hr_api.g_number
213 ,p_replacement_person_id in number default hr_api.g_number
214 ,p_attribute_category in varchar2 default hr_api.g_varchar2
215 ,p_attribute1 in varchar2 default hr_api.g_varchar2
216 ,p_attribute2 in varchar2 default hr_api.g_varchar2
217 ,p_attribute3 in varchar2 default hr_api.g_varchar2
218 ,p_attribute4 in varchar2 default hr_api.g_varchar2
219 ,p_attribute5 in varchar2 default hr_api.g_varchar2
220 ,p_attribute6 in varchar2 default hr_api.g_varchar2
221 ,p_attribute7 in varchar2 default hr_api.g_varchar2
222 ,p_attribute8 in varchar2 default hr_api.g_varchar2
223 ,p_attribute9 in varchar2 default hr_api.g_varchar2
224 ,p_attribute10 in varchar2 default hr_api.g_varchar2
225 ,p_attribute11 in varchar2 default hr_api.g_varchar2
226 ,p_attribute12 in varchar2 default hr_api.g_varchar2
227 ,p_attribute13 in varchar2 default hr_api.g_varchar2
228 ,p_attribute14 in varchar2 default hr_api.g_varchar2
229 ,p_attribute15 in varchar2 default hr_api.g_varchar2
230 ,p_attribute16 in varchar2 default hr_api.g_varchar2
231 ,p_attribute17 in varchar2 default hr_api.g_varchar2
232 ,p_attribute18 in varchar2 default hr_api.g_varchar2
233 ,p_attribute19 in varchar2 default hr_api.g_varchar2
234 ,p_attribute20 in varchar2 default hr_api.g_varchar2
235 ,p_period_of_incapacity_id in number default hr_api.g_number
236 ,p_ssp1_issued in varchar2 default hr_api.g_varchar2
237 ,p_maternity_id in number default hr_api.g_number
238 ,p_sickness_start_date in date default hr_api.g_date
239 ,p_sickness_end_date in date default hr_api.g_date
240 ,p_pregnancy_related_illness in varchar2 default hr_api.g_varchar2
241 ,p_reason_for_notification_dela in varchar2 default hr_api.g_varchar2
242 ,p_accept_late_notification_fla in varchar2 default hr_api.g_varchar2
243 ,p_linked_absence_id in number default hr_api.g_number
244 ,p_batch_id in number default hr_api.g_number
245 ,p_type_of_disability in varchar2 default hr_api.g_varchar2
246 ,p_disability_id in varchar2 default hr_api.g_varchar2
247 ,p_object_version_number in out nocopy number
248 ,p_dur_dys_less_warning out nocopy boolean
249 ,p_dur_hrs_less_warning out nocopy boolean
250 ,p_exceeds_pto_entit_warning out nocopy boolean
251 ,p_exceeds_run_total_warning out nocopy boolean
252 ,p_abs_overlap_warning out nocopy boolean
253 ,p_abs_day_after_warning out nocopy boolean
254 ,p_dur_overwritten_warning out nocopy boolean
255 ,p_del_element_entry_warning out nocopy boolean
256 ) AS
257
258 CURSOR get_person_id IS
259 SELECT person_id
260 FROM per_absence_attendances_v
261 WHERE absence_attendance_id = p_absence_attendance_id;
262
263 l_proc_name varchar2(100);
264 l_person_id per_absence_attendances_v.person_id%type;
265
266 BEGIN
267 l_proc_name := g_proc_name||'UPDATE_MX_PERSON_ABSENCE';
268 hr_utility.trace('Entering '||l_proc_name);
269
270 OPEN get_person_id;
271 FETCH get_person_id INTO l_person_id;
272 CLOSE get_person_id;
273
274 fnd_profile.put('PER_PERSON_ID',l_person_id);
275
276 hr_mx_utility.check_bus_grp(hr_mx_utility.get_bg_from_person(l_person_id),'MX');
277
278 hr_person_absence_api.update_person_absence
279 (p_validate => p_validate
280 ,p_effective_date => p_effective_date
281 ,p_absence_attendance_id => p_absence_attendance_id
282 ,p_abs_attendance_reason_id => p_abs_attendance_reason_id
283 ,p_comments => p_comments
284 ,p_date_notification => p_date_notification
285 ,p_date_projected_start => p_date_projected_start
286 ,p_time_projected_start => p_time_projected_start
287 ,p_date_projected_end => p_date_projected_end
288 ,p_time_projected_end => p_time_projected_end
289 ,p_date_start => p_date_start
290 ,p_time_start => p_time_start
291 ,p_date_end => p_date_end
292 ,p_time_end => p_time_end
293 ,p_absence_days => p_absence_days
294 ,p_absence_hours => p_absence_hours
295 ,p_authorising_person_id => p_authorising_person_id
296 ,p_replacement_person_id => p_replacement_person_id
297 ,p_attribute_category => p_attribute_category
298 ,p_attribute1 => p_attribute1
299 ,p_attribute2 => p_attribute2
300 ,p_attribute3 => p_attribute3
301 ,p_attribute4 => p_attribute4
302 ,p_attribute5 => p_attribute5
303 ,p_attribute6 => p_attribute6
304 ,p_attribute7 => p_attribute7
305 ,p_attribute8 => p_attribute8
306 ,p_attribute9 => p_attribute9
307 ,p_attribute10 => p_attribute10
308 ,p_attribute11 => p_attribute11
309 ,p_attribute12 => p_attribute12
310 ,p_attribute13 => p_attribute13
311 ,p_attribute14 => p_attribute14
312 ,p_attribute15 => p_attribute15
313 ,p_attribute16 => p_attribute16
314 ,p_attribute17 => p_attribute17
315 ,p_attribute18 => p_attribute18
316 ,p_attribute19 => p_attribute19
317 ,p_attribute20 => p_attribute20
318 ,p_period_of_incapacity_id => p_period_of_incapacity_id
319 ,p_ssp1_issued => p_ssp1_issued
320 ,p_maternity_id => p_maternity_id
321 ,p_sickness_start_date => p_sickness_start_date
322 ,p_sickness_end_date => p_sickness_end_date
323 ,p_pregnancy_related_illness => p_pregnancy_related_illness
324 ,p_reason_for_notification_dela => p_reason_for_notification_dela
325 ,p_accept_late_notification_fla => p_accept_late_notification_fla
326 ,p_linked_absence_id => p_linked_absence_id
327 ,p_batch_id => p_batch_id
328 ,p_abs_information_category => 'MX'
329 ,p_abs_information1 => p_type_of_disability
330 ,p_abs_information2 => p_disability_id
331 ,p_object_version_number => p_object_version_number
332 ,p_dur_dys_less_warning => p_dur_dys_less_warning
333 ,p_dur_hrs_less_warning => p_dur_hrs_less_warning
334 ,p_exceeds_pto_entit_warning => p_exceeds_pto_entit_warning
335 ,p_exceeds_run_total_warning => p_exceeds_run_total_warning
336 ,p_abs_overlap_warning => p_abs_overlap_warning
337 ,p_abs_day_after_warning => p_abs_day_after_warning
338 ,p_dur_overwritten_warning => p_dur_overwritten_warning
339 ,p_del_element_entry_warning => p_del_element_entry_warning);
340
341 hr_utility.trace('Leaving '||l_proc_name);
342 END UPDATE_MX_PERSON_ABSENCE;
343 BEGIN
344 g_proc_name := 'HR_MX_PERSON_ABSENCE_API.';
345 END HR_MX_PERSON_ABSENCE_API;