DBA Data[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;