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.0 2005/05/31 01:32:16 appldev noship $ */
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   *****************************************************************************/
32 
33     g_proc_name varchar2 (50);
34 /*******************************************************************************
35     Name    : create_mx_person_absence
36     Purpose : This procedure acts as wrapper for hr_person_absence_api.create_person_absence.
37 *******************************************************************************/
38 
39 PROCEDURE CREATE_MX_PERSON_ABSENCE
40     (p_validate                      in     boolean  default false
41     ,p_effective_date                in     date
42     ,p_person_id                     in     number
43     ,p_business_group_id             in     number
44     ,p_absence_attendance_type_id    in     number
45     ,p_abs_attendance_reason_id      in     number   default null
46     ,p_comments                      in     long     default null
47     ,p_date_notification             in     date     default null
48     ,p_date_projected_start          in     date     default null
49     ,p_time_projected_start          in     varchar2 default null
50     ,p_date_projected_end            in     date     default null
51     ,p_time_projected_end            in     varchar2 default null
52     ,p_date_start                    in     date     default null
53     ,p_time_start                    in     varchar2 default null
54     ,p_date_end                      in     date     default null
55     ,p_time_end                      in     varchar2 default null
56     ,p_absence_days                  in out nocopy number
57     ,p_absence_hours                 in out nocopy number
58     ,p_authorising_person_id         in     number   default null
59     ,p_replacement_person_id         in     number   default null
60     ,p_attribute_category            in     varchar2 default null
61     ,p_attribute1                    in     varchar2 default null
62     ,p_attribute2                    in     varchar2 default null
63     ,p_attribute3                    in     varchar2 default null
64     ,p_attribute4                    in     varchar2 default null
65     ,p_attribute5                    in     varchar2 default null
66     ,p_attribute6                    in     varchar2 default null
67     ,p_attribute7                    in     varchar2 default null
68     ,p_attribute8                    in     varchar2 default null
69     ,p_attribute9                    in     varchar2 default null
70     ,p_attribute10                   in     varchar2 default null
71     ,p_attribute11                   in     varchar2 default null
72     ,p_attribute12                   in     varchar2 default null
73     ,p_attribute13                   in     varchar2 default null
74     ,p_attribute14                   in     varchar2 default null
75     ,p_attribute15                   in     varchar2 default null
76     ,p_attribute16                   in     varchar2 default null
77     ,p_attribute17                   in     varchar2 default null
78     ,p_attribute18                   in     varchar2 default null
79     ,p_attribute19                   in     varchar2 default null
80     ,p_attribute20                   in     varchar2 default null
81     ,p_period_of_incapacity_id       in     number   default null
82     ,p_ssp1_issued                   in     varchar2 default 'N'
83     ,p_maternity_id                  in     number   default null
84     ,p_sickness_start_date           in     date     default null
85     ,p_sickness_end_date             in     date     default null
86     ,p_pregnancy_related_illness     in     varchar2 default 'N'
87     ,p_reason_for_notification_dela  in     varchar2 default null
88     ,p_accept_late_notification_fla  in     varchar2 default 'N'
89     ,p_linked_absence_id             in     number   default null
90     ,p_batch_id                      in     number   default null
91     ,p_create_element_entry          in     boolean  default true
92     ,p_type_of_disability            in     varchar2 default null
93     ,p_disability_id                 in     varchar2 default null
94     ,p_absence_attendance_id         out nocopy    number
95     ,p_object_version_number         out nocopy    number
96     ,p_occurrence                    out nocopy    number
97     ,p_dur_dys_less_warning          out nocopy    boolean
98     ,p_dur_hrs_less_warning          out nocopy    boolean
99     ,p_exceeds_pto_entit_warning     out nocopy    boolean
100     ,p_exceeds_run_total_warning     out nocopy    boolean
101     ,p_abs_overlap_warning           out nocopy    boolean
102     ,p_abs_day_after_warning         out nocopy    boolean
103     ,p_dur_overwritten_warning       out nocopy    boolean
104     ) AS
105 
106     l_proc_name varchar2(100);
107 
108 BEGIN
109     l_proc_name := g_proc_name||'CREATE_MX_PERSON_ABSENCE';
110     hr_utility.trace('Entering '||l_proc_name);
111     --
112     hr_mx_utility.check_bus_grp (p_business_group_id, 'MX');
113     --
114     fnd_profile.put('PER_PERSON_ID',p_person_id);
115     hr_person_absence_api.create_person_absence
116         (p_validate                      => p_validate
117         ,p_effective_date                => p_effective_date
118         ,p_person_id                     => p_person_id
119         ,p_business_group_id             => p_business_group_id
120         ,p_absence_attendance_type_id    => p_absence_attendance_type_id
121         ,p_abs_attendance_reason_id      => p_abs_attendance_reason_id
122         ,p_comments                      => p_comments
123         ,p_date_notification             => p_date_notification
124         ,p_date_projected_start          => p_date_projected_start
125         ,p_time_projected_start          => p_time_projected_start
126         ,p_date_projected_end            => p_date_projected_end
127         ,p_time_projected_end            => p_time_projected_end
128         ,p_date_start                    => p_date_start
129         ,p_time_start                    => p_time_start
130         ,p_date_end                      => p_date_end
131         ,p_time_end                      => p_time_end
132         ,p_absence_days                  => p_absence_days
133         ,p_absence_hours                 => p_absence_hours
134         ,p_authorising_person_id         => p_authorising_person_id
135         ,p_replacement_person_id         => p_replacement_person_id
136         ,p_attribute_category            => p_attribute_category
137         ,p_attribute1                    => p_attribute1
138         ,p_attribute2                    => p_attribute2
139         ,p_attribute3                    => p_attribute3
140         ,p_attribute4                    => p_attribute4
141         ,p_attribute5                    => p_attribute5
142         ,p_attribute6                    => p_attribute6
143         ,p_attribute7                    => p_attribute7
144         ,p_attribute8                    => p_attribute8
145         ,p_attribute9                    => p_attribute9
146         ,p_attribute10                   => p_attribute10
147         ,p_attribute11                   => p_attribute11
148         ,p_attribute12                   => p_attribute12
149         ,p_attribute13                   => p_attribute13
150         ,p_attribute14                   => p_attribute14
151         ,p_attribute15                   => p_attribute15
152         ,p_attribute16                   => p_attribute16
153         ,p_attribute17                   => p_attribute17
154         ,p_attribute18                   => p_attribute18
155         ,p_attribute19                   => p_attribute19
156         ,p_attribute20                   => p_attribute20
157         ,p_period_of_incapacity_id       => p_period_of_incapacity_id
158         ,p_ssp1_issued                   => p_ssp1_issued
159         ,p_maternity_id                  => p_maternity_id
160         ,p_sickness_start_date           => p_sickness_start_date
161         ,p_sickness_end_date             => p_sickness_end_date
162         ,p_pregnancy_related_illness     => p_pregnancy_related_illness
163         ,p_reason_for_notification_dela  => p_reason_for_notification_dela
164         ,p_accept_late_notification_fla  => p_accept_late_notification_fla
165         ,p_linked_absence_id             => p_linked_absence_id
166         ,p_batch_id                      => p_batch_id
167         ,p_create_element_entry          => p_create_element_entry
168         ,p_abs_information_category      => 'MX'
169         ,p_abs_information1              => p_type_of_disability
170         ,p_abs_information2              => p_disability_id
171         ,p_absence_attendance_id         => p_absence_attendance_id
172         ,p_object_version_number         => p_object_version_number
173         ,p_occurrence                    => p_occurrence
174         ,p_dur_dys_less_warning          => p_dur_dys_less_warning
175         ,p_dur_hrs_less_warning          => p_dur_hrs_less_warning
176         ,p_exceeds_pto_entit_warning     => p_exceeds_pto_entit_warning
177         ,p_exceeds_run_total_warning     => p_exceeds_run_total_warning
178         ,p_abs_overlap_warning           => p_abs_overlap_warning
179         ,p_abs_day_after_warning         => p_abs_day_after_warning
180         ,p_dur_overwritten_warning       => p_dur_overwritten_warning
181         );
182 
183     hr_utility.trace('Leaving '||l_proc_name);
184 END CREATE_MX_PERSON_ABSENCE;
185 
186 
187 /*******************************************************************************
188     Name    : update_mx_person_absence
189     Purpose : This procedure acts as wrapper for hr_person_absence_api.update_person_absence.
190 *******************************************************************************/
191 
192 PROCEDURE UPDATE_MX_PERSON_ABSENCE
193     (p_validate                      in     boolean  default false
194     ,p_effective_date                in     date
195     ,p_absence_attendance_id         in     number
196     ,p_abs_attendance_reason_id      in     number   default hr_api.g_number
197     ,p_comments                      in     long     default hr_api.g_varchar2
198     ,p_date_notification             in     date     default hr_api.g_date
199     ,p_date_projected_start          in     date     default hr_api.g_date
200     ,p_time_projected_start          in     varchar2 default hr_api.g_varchar2
201     ,p_date_projected_end            in     date     default hr_api.g_date
202     ,p_time_projected_end            in     varchar2 default hr_api.g_varchar2
203     ,p_date_start                    in     date     default hr_api.g_date
204     ,p_time_start                    in     varchar2 default hr_api.g_varchar2
205     ,p_date_end                      in     date     default hr_api.g_date
206     ,p_time_end                      in     varchar2 default hr_api.g_varchar2
207     ,p_absence_days                  in out nocopy number
208     ,p_absence_hours                 in out nocopy number
209     ,p_authorising_person_id         in     number   default hr_api.g_number
210     ,p_replacement_person_id         in     number   default hr_api.g_number
211     ,p_attribute_category            in     varchar2 default hr_api.g_varchar2
212     ,p_attribute1                    in     varchar2 default hr_api.g_varchar2
213     ,p_attribute2                    in     varchar2 default hr_api.g_varchar2
214     ,p_attribute3                    in     varchar2 default hr_api.g_varchar2
215     ,p_attribute4                    in     varchar2 default hr_api.g_varchar2
216     ,p_attribute5                    in     varchar2 default hr_api.g_varchar2
217     ,p_attribute6                    in     varchar2 default hr_api.g_varchar2
218     ,p_attribute7                    in     varchar2 default hr_api.g_varchar2
219     ,p_attribute8                    in     varchar2 default hr_api.g_varchar2
220     ,p_attribute9                    in     varchar2 default hr_api.g_varchar2
221     ,p_attribute10                   in     varchar2 default hr_api.g_varchar2
222     ,p_attribute11                   in     varchar2 default hr_api.g_varchar2
223     ,p_attribute12                   in     varchar2 default hr_api.g_varchar2
227     ,p_attribute16                   in     varchar2 default hr_api.g_varchar2
224     ,p_attribute13                   in     varchar2 default hr_api.g_varchar2
225     ,p_attribute14                   in     varchar2 default hr_api.g_varchar2
226     ,p_attribute15                   in     varchar2 default hr_api.g_varchar2
228     ,p_attribute17                   in     varchar2 default hr_api.g_varchar2
229     ,p_attribute18                   in     varchar2 default hr_api.g_varchar2
230     ,p_attribute19                   in     varchar2 default hr_api.g_varchar2
231     ,p_attribute20                   in     varchar2 default hr_api.g_varchar2
232     ,p_period_of_incapacity_id       in     number   default hr_api.g_number
233     ,p_ssp1_issued                   in     varchar2 default hr_api.g_varchar2
234     ,p_maternity_id                  in     number   default hr_api.g_number
235     ,p_sickness_start_date           in     date     default hr_api.g_date
236     ,p_sickness_end_date             in     date     default hr_api.g_date
237     ,p_pregnancy_related_illness     in     varchar2 default hr_api.g_varchar2
238     ,p_reason_for_notification_dela  in     varchar2 default hr_api.g_varchar2
239     ,p_accept_late_notification_fla  in     varchar2 default hr_api.g_varchar2
240     ,p_linked_absence_id             in     number   default hr_api.g_number
241     ,p_batch_id                      in     number   default hr_api.g_number
242     ,p_type_of_disability            in     varchar2 default hr_api.g_varchar2
243     ,p_disability_id                 in     varchar2 default hr_api.g_varchar2
244     ,p_object_version_number         in out nocopy number
245     ,p_dur_dys_less_warning          out nocopy    boolean
246     ,p_dur_hrs_less_warning          out nocopy    boolean
247     ,p_exceeds_pto_entit_warning     out nocopy    boolean
248     ,p_exceeds_run_total_warning     out nocopy    boolean
249     ,p_abs_overlap_warning           out nocopy    boolean
250     ,p_abs_day_after_warning         out nocopy    boolean
251     ,p_dur_overwritten_warning       out nocopy    boolean
252     ,p_del_element_entry_warning     out nocopy    boolean
253     ) AS
254 
255     CURSOR get_person_id IS
256         SELECT person_id
257           FROM per_absence_attendances_v
258          WHERE absence_attendance_id = p_absence_attendance_id;
259 
260     l_proc_name varchar2(100);
261     l_person_id per_absence_attendances_v.person_id%type;
262 
263 BEGIN
264     l_proc_name := g_proc_name||'UPDATE_MX_PERSON_ABSENCE';
265     hr_utility.trace('Entering '||l_proc_name);
266 
267     OPEN get_person_id;
268         FETCH get_person_id INTO l_person_id;
269     CLOSE get_person_id;
270 
271     fnd_profile.put('PER_PERSON_ID',l_person_id);
272 
273     hr_mx_utility.check_bus_grp(hr_mx_utility.get_bg_from_person(l_person_id),'MX');
274 
275     hr_person_absence_api.update_person_absence
276         (p_validate                      => p_validate
277         ,p_effective_date                => p_effective_date
278         ,p_absence_attendance_id         => p_absence_attendance_id
279         ,p_abs_attendance_reason_id      => p_abs_attendance_reason_id
280         ,p_comments                      => p_comments
281         ,p_date_notification             => p_date_notification
282         ,p_date_projected_start          => p_date_projected_start
283         ,p_time_projected_start          => p_time_projected_start
284         ,p_date_projected_end            => p_date_projected_end
285         ,p_time_projected_end            => p_time_projected_end
286         ,p_date_start                    => p_date_start
287         ,p_time_start                    => p_time_start
288         ,p_date_end                      => p_date_end
289         ,p_time_end                      => p_time_end
290         ,p_absence_days                  => p_absence_days
291         ,p_absence_hours                 => p_absence_hours
292         ,p_authorising_person_id         => p_authorising_person_id
293         ,p_replacement_person_id         => p_replacement_person_id
294         ,p_attribute_category            => p_attribute_category
295         ,p_attribute1                    => p_attribute1
296         ,p_attribute2                    => p_attribute2
297         ,p_attribute3                    => p_attribute3
298         ,p_attribute4                    => p_attribute4
299         ,p_attribute5                    => p_attribute5
300         ,p_attribute6                    => p_attribute6
301         ,p_attribute7                    => p_attribute7
302         ,p_attribute8                    => p_attribute8
303         ,p_attribute9                    => p_attribute9
304         ,p_attribute10                   => p_attribute10
305         ,p_attribute11                   => p_attribute11
306         ,p_attribute12                   => p_attribute12
307         ,p_attribute13                   => p_attribute13
308         ,p_attribute14                   => p_attribute14
309         ,p_attribute15                   => p_attribute15
310         ,p_attribute16                   => p_attribute16
311         ,p_attribute17                   => p_attribute17
312         ,p_attribute18                   => p_attribute18
313         ,p_attribute19                   => p_attribute19
314         ,p_attribute20                   => p_attribute20
315         ,p_period_of_incapacity_id       => p_period_of_incapacity_id
316         ,p_ssp1_issued                   => p_ssp1_issued
317         ,p_maternity_id                  => p_maternity_id
318         ,p_sickness_start_date           => p_sickness_start_date
319         ,p_sickness_end_date             => p_sickness_end_date
320         ,p_pregnancy_related_illness     => p_pregnancy_related_illness
321         ,p_reason_for_notification_dela  => p_reason_for_notification_dela
322         ,p_accept_late_notification_fla  => p_accept_late_notification_fla
323         ,p_linked_absence_id             => p_linked_absence_id
324         ,p_batch_id                      => p_batch_id
328         ,p_object_version_number         => p_object_version_number
325         ,p_abs_information_category      => 'MX'
326         ,p_abs_information1              => p_type_of_disability
327         ,p_abs_information2              => p_disability_id
329         ,p_dur_dys_less_warning          => p_dur_dys_less_warning
330         ,p_dur_hrs_less_warning          => p_dur_hrs_less_warning
331         ,p_exceeds_pto_entit_warning     => p_exceeds_pto_entit_warning
332         ,p_exceeds_run_total_warning     => p_exceeds_run_total_warning
333         ,p_abs_overlap_warning           => p_abs_overlap_warning
334         ,p_abs_day_after_warning         => p_abs_day_after_warning
335         ,p_dur_overwritten_warning       => p_dur_overwritten_warning
336         ,p_del_element_entry_warning     => p_del_element_entry_warning);
337 
338     hr_utility.trace('Leaving '||l_proc_name);
339 END UPDATE_MX_PERSON_ABSENCE;
340 BEGIN
341     g_proc_name := 'HR_MX_PERSON_ABSENCE_API.';
342 END HR_MX_PERSON_ABSENCE_API;