DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_KW_DISABILITY_API

Source


4 
1 package body per_kw_disability_api as
2 /* $Header: pediskwi.pkb 120.0 2005/05/31 07:40:04 appldev noship $ */
3 
5 --
6 -- Package Variables
7 --
8 g_package  varchar2(33) := 'per_kw_disability_api.';
9 --
10 -- ----------------------------------------------------------------------
11 -- |-----------------------< create_kw_disability >---------------------|
12 -- ----------------------------------------------------------------------
13 --
14 procedure create_kw_disability
15   (p_validate                      in     boolean  default false
16   ,p_effective_date                in     date
17   ,p_person_id                     in     number
18   ,p_category                      in     varchar2
19   ,p_status                        in     varchar2
20   ,p_quota_fte                     in     number   default 1.00
21   ,p_organization_id               in     number   default null
22   ,p_registration_id               in     varchar2 default null
23   ,p_registration_date             in     date     default null
24   ,p_registration_exp_date         in     date     default null
25   ,p_description                   in     varchar2 default null
26   ,p_degree                        in     number   default null
27   ,p_reason                        in     varchar2 default null
28   ,p_work_restriction              in     varchar2 default null
29   ,p_incident_id                   in     number   default null
30   ,p_medical_assessment_id         in     number   default null
31   ,p_pre_registration_job          in     varchar2 default null
32   ,p_attribute_category            in     varchar2 default null
33   ,p_attribute1                    in     varchar2 default null
34   ,p_attribute2                    in     varchar2 default null
35   ,p_attribute3                    in     varchar2 default null
36   ,p_attribute4                    in     varchar2 default null
37   ,p_attribute5                    in     varchar2 default null
38   ,p_attribute6                    in     varchar2 default null
39   ,p_attribute7                    in     varchar2 default null
40   ,p_attribute8                    in     varchar2 default null
41   ,p_attribute9                    in     varchar2 default null
42   ,p_attribute10                   in     varchar2 default null
43   ,p_attribute11                   in     varchar2 default null
44   ,p_attribute12                   in     varchar2 default null
45   ,p_attribute13                   in     varchar2 default null
46   ,p_attribute14                   in     varchar2 default null
47   ,p_attribute15                   in     varchar2 default null
48   ,p_attribute16                   in     varchar2 default null
49   ,p_attribute17                   in     varchar2 default null
50   ,p_attribute18                   in     varchar2 default null
51   ,p_attribute19                   in     varchar2 default null
52   ,p_attribute20                   in     varchar2 default null
53   ,p_attribute21                   in     varchar2 default null
54   ,p_attribute22                   in     varchar2 default null
55   ,p_attribute23                   in     varchar2 default null
56   ,p_attribute24                   in     varchar2 default null
57   ,p_attribute25                   in     varchar2 default null
58   ,p_attribute26                   in     varchar2 default null
59   ,p_attribute27                   in     varchar2 default null
60   ,p_attribute28                   in     varchar2 default null
61   ,p_attribute29                   in     varchar2 default null
62   ,p_attribute30                   in     varchar2 default null
63   ,p_range_of_disability           in     varchar2 default null
64   ,p_reporting_description         in     varchar2 default null
65   ,p_disability_id                    out nocopy number
66   ,p_object_version_number            out nocopy number
67   ,p_effective_start_date             out nocopy date
68   ,p_effective_end_date               out nocopy date
69   ) is
70   --
71   -- Declare cursors and local variables
72   --
73   l_business_group_id per_contracts_f.business_group_id%TYPE;
74   l_proc              varchar2(72) := g_package||'create_kw_contract';
75   l_legislation_code  varchar2(2);
76   --
77   cursor csr_get_business_group_id is
78     select per.business_group_id
79     from per_all_people_f per
80     where per.person_id = p_person_id
81     and   p_effective_date between per.effective_start_date
82                                and per.effective_end_date;
83   --
84   cursor csr_bg is
85     select legislation_code
86     from per_business_groups pbg
87     where pbg.business_group_id = l_business_group_id;
88   --
89 begin
90 
91   hr_utility.set_location('Entering:'|| l_proc, 10);
92   --
93   -- Issue a savepoint if operating in validation only mode
94   --
95   savepoint create_kw_disability;
96   --
97   hr_utility.set_location(l_proc, 20);
98   --
99   -- Process Logic
100   --
101   -- Get person details.
102   --
103   open  csr_get_business_group_id;
104   fetch csr_get_business_group_id
105   into l_business_group_id;
106   --
110     hr_utility.set_message(801,'HR_7432_ASG_INVALID_PERSON');
107   if csr_get_business_group_id%NOTFOUND then
108     close csr_get_business_group_id;
109     hr_utility.set_location(l_proc, 30);
111     hr_utility.raise_error;
112   end if;
113   close csr_get_business_group_id;
114   --
115   hr_utility.set_location(l_proc, 40);
116   --
117   -- Check that the specified business group is valid.
118   --
119   open csr_bg;
120   fetch csr_bg
121   into l_legislation_code;
122   if csr_bg%notfound then
123     close csr_bg;
124     hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
125     hr_utility.raise_error;
126   end if;
127   close csr_bg;
128   hr_utility.set_location(l_proc, 50);
129   --
130   -- Check that the legislation of the specified business group is 'KW'.
131   --
132   if l_legislation_code <> 'KW' then
133     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
134     hr_utility.set_message_token('LEG_CODE','KW');
135     hr_utility.raise_error;
136   end if;
137   hr_utility.set_location(l_proc, 60);
138   --
139   -- Call the disability business process
140   --
141   per_disability_api.create_disability
142        (p_validate                      => p_validate
143        ,p_effective_date                => p_effective_date
144        ,p_person_id                     => p_person_id
145        ,p_category                      => p_category
146        ,p_status                        => p_status
147        ,p_quota_fte                     => p_quota_fte
148        ,p_organization_id               => p_organization_id
149        ,p_registration_id               => p_registration_id
150        ,p_registration_date             => p_registration_date
151        ,p_registration_exp_date         => p_registration_exp_date
152        ,p_description                   => p_description
153        ,p_degree                        => p_degree
154        ,p_reason                        => p_reason
155        ,p_work_restriction              => p_work_restriction
156        ,p_incident_id                   => p_incident_id
157        ,p_medical_assessment_id         => p_medical_assessment_id
158        ,p_pre_registration_job          => p_pre_registration_job
159        ,p_attribute_category            => p_attribute_category
160        ,p_attribute1                    => p_attribute1
161        ,p_attribute2                    => p_attribute2
162        ,p_attribute3                    => p_attribute3
163        ,p_attribute4                    => p_attribute4
164        ,p_attribute5                    => p_attribute5
165        ,p_attribute6                    => p_attribute6
166        ,p_attribute7                    => p_attribute7
167        ,p_attribute8                    => p_attribute8
168        ,p_attribute9                    => p_attribute9
169        ,p_attribute10                   => p_attribute10
170        ,p_attribute11                   => p_attribute11
171        ,p_attribute12                   => p_attribute12
172        ,p_attribute13                   => p_attribute13
173        ,p_attribute14                   => p_attribute14
174        ,p_attribute15                   => p_attribute15
175        ,p_attribute16                   => p_attribute16
176        ,p_attribute17                   => p_attribute17
177        ,p_attribute18                   => p_attribute18
178        ,p_attribute19                   => p_attribute19
179        ,p_attribute20                   => p_attribute20
180        ,p_attribute21                   => p_attribute21
181        ,p_attribute22                   => p_attribute22
182        ,p_attribute23                   => p_attribute23
183        ,p_attribute24                   => p_attribute24
184        ,p_attribute25                   => p_attribute25
185        ,p_attribute26                   => p_attribute26
186        ,p_attribute27                   => p_attribute27
187        ,p_attribute28                   => p_attribute28
188        ,p_attribute29                   => p_attribute29
189        ,p_attribute30                   => p_attribute30
190        ,p_dis_information_category      => 'KW'
191        ,p_dis_information1              => p_range_of_disability
192        ,p_dis_information2              => p_reporting_description
193        ,p_disability_id                 => p_disability_id
194        ,p_object_version_number         => p_object_version_number
195        ,p_effective_start_date          => p_effective_start_date
196        ,p_effective_end_date            => p_effective_end_date);
197   --
198   hr_utility.set_location(' Leaving:'||l_proc, 70);
199   --
200 end create_kw_disability;
201 --
202 -- ----------------------------------------------------------------------
203 -- |------------------------< update_kw_disability >--------------------|
204 -- ----------------------------------------------------------------------
205 --
206 procedure update_kw_disability
207   (p_validate                      in     boolean  default false
208   ,p_effective_date                in     date
209   ,p_datetrack_mode                in     varchar2
210   ,p_disability_id                 in     number
211   ,p_object_version_number         in out nocopy number
212   ,p_category                      in     varchar2 default hr_api.g_varchar2
213   ,p_status                        in     varchar2 default hr_api.g_varchar2
214   ,p_quota_fte                     in     number   default hr_api.g_number
215   ,p_organization_id               in     number   default hr_api.g_number
216   ,p_registration_id               in     varchar2 default hr_api.g_varchar2
217   ,p_registration_date             in     date     default hr_api.g_date
218   ,p_registration_exp_date         in     date     default hr_api.g_date
219   ,p_description                   in     varchar2 default hr_api.g_varchar2
223   ,p_incident_id                   in     number   default hr_api.g_number
220   ,p_degree                        in     number   default hr_api.g_number
221   ,p_reason                        in     varchar2 default hr_api.g_varchar2
222   ,p_work_restriction              in     varchar2 default hr_api.g_varchar2
224   ,p_medical_assessment_id         in     number   default hr_api.g_number
225   ,p_pre_registration_job          in     varchar2 default hr_api.g_varchar2
226   ,p_attribute_category            in     varchar2 default hr_api.g_varchar2
227   ,p_attribute1                    in     varchar2 default hr_api.g_varchar2
228   ,p_attribute2                    in     varchar2 default hr_api.g_varchar2
229   ,p_attribute3                    in     varchar2 default hr_api.g_varchar2
230   ,p_attribute4                    in     varchar2 default hr_api.g_varchar2
231   ,p_attribute5                    in     varchar2 default hr_api.g_varchar2
232   ,p_attribute6                    in     varchar2 default hr_api.g_varchar2
233   ,p_attribute7                    in     varchar2 default hr_api.g_varchar2
234   ,p_attribute8                    in     varchar2 default hr_api.g_varchar2
235   ,p_attribute9                    in     varchar2 default hr_api.g_varchar2
236   ,p_attribute10                   in     varchar2 default hr_api.g_varchar2
237   ,p_attribute11                   in     varchar2 default hr_api.g_varchar2
238   ,p_attribute12                   in     varchar2 default hr_api.g_varchar2
239   ,p_attribute13                   in     varchar2 default hr_api.g_varchar2
240   ,p_attribute14                   in     varchar2 default hr_api.g_varchar2
241   ,p_attribute15                   in     varchar2 default hr_api.g_varchar2
242   ,p_attribute16                   in     varchar2 default hr_api.g_varchar2
243   ,p_attribute17                   in     varchar2 default hr_api.g_varchar2
244   ,p_attribute18                   in     varchar2 default hr_api.g_varchar2
245   ,p_attribute19                   in     varchar2 default hr_api.g_varchar2
246   ,p_attribute20                   in     varchar2 default hr_api.g_varchar2
247   ,p_attribute21                   in     varchar2 default hr_api.g_varchar2
248   ,p_attribute22                   in     varchar2 default hr_api.g_varchar2
249   ,p_attribute23                   in     varchar2 default hr_api.g_varchar2
250   ,p_attribute24                   in     varchar2 default hr_api.g_varchar2
251   ,p_attribute25                   in     varchar2 default hr_api.g_varchar2
252   ,p_attribute26                   in     varchar2 default hr_api.g_varchar2
253   ,p_attribute27                   in     varchar2 default hr_api.g_varchar2
254   ,p_attribute28                   in     varchar2 default hr_api.g_varchar2
255   ,p_attribute29                   in     varchar2 default hr_api.g_varchar2
256   ,p_attribute30                   in     varchar2 default hr_api.g_varchar2
257   ,p_range_of_disability           in     varchar2 default hr_api.g_varchar2
258   ,p_reporting_description         in     varchar2 default hr_api.g_varchar2
259   ,p_effective_start_date             out nocopy date
260   ,p_effective_end_date               out nocopy date
261   ) is
262   --
263   -- Declare cursors and local variables
264   --
265   l_business_group_id    per_contracts_f.business_group_id%TYPE;
266   l_proc                 varchar2(72) := g_package||'update_kw_disability';
267   l_legislation_code     varchar2(2);
268   --
269   cursor csr_get_business_group_id is
270     select per.business_group_id
271     from per_all_people_f per
272     where per.person_id in (select dis.person_id
273                            from    per_disabilities_f dis
274                            where   dis.disability_id = p_disability_id
275                            and     p_effective_date between dis.effective_start_date
276                                                     and     dis.effective_end_date)
277     and   p_effective_date between per.effective_start_date
278                                and per.effective_end_date;
279   --
280   cursor csr_bg is
281     select legislation_code
282     from per_business_groups pbg
283     where pbg.business_group_id = l_business_group_id;
284   --
285 begin
286   --
287   hr_utility.set_location('Entering:'|| l_proc, 10);
288   --
289   -- Issue a savepoint if operating in validation only mode
290   --
291   savepoint update_kw_disability;
292   --
293   hr_utility.set_location(l_proc, 20);
294   --
295   -- Process Logic
296   --
297   -- Get person details.
298   --
299   open  csr_get_business_group_id;
300   fetch csr_get_business_group_id
301   into l_business_group_id;
302   --
303   if csr_get_business_group_id%NOTFOUND then
304     close csr_get_business_group_id;
305     hr_utility.set_location(l_proc, 30);
306     hr_utility.set_message(801,'HR_7432_ASG_INVALID_PERSON');
307     hr_utility.raise_error;
308   end if;
309   close csr_get_business_group_id;
310   --
311   hr_utility.set_location(l_proc, 40);
312   --
313   -- Check that the specified business group is valid.
314   --
315   open csr_bg;
316   fetch csr_bg
317   into l_legislation_code;
318   if csr_bg%notfound then
319     close csr_bg;
320     hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
321     hr_utility.raise_error;
322   end if;
323   close csr_bg;
324   --
325   hr_utility.set_location(l_proc, 50);
326   --
327   -- Check that the legislation of the specified business group is 'KW'.
328   --
329   if l_legislation_code  <>  'KW' then
330     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
331     hr_utility.set_message_token('LEG_CODE','KW');
332     hr_utility.raise_error;
333   end if;
334   hr_utility.set_location(l_proc, 60);
335   --
336   -- Call the contract business process
337   --
338   per_disability_api.update_disability
339        (p_validate                      => p_validate
340        ,p_effective_date                => p_effective_date
341        ,p_datetrack_mode                => p_datetrack_mode
342        ,p_disability_id                 => p_disability_id
343        ,p_object_version_number         => p_object_version_number
344        ,p_category                      => p_category
345        ,p_status                        => p_status
346        ,p_quota_fte                     => p_quota_fte
347        ,p_organization_id               => p_organization_id
348        ,p_registration_id               => p_registration_id
349        ,p_registration_date             => p_registration_date
350        ,p_registration_exp_date         => p_registration_exp_date
351        ,p_description                   => p_description
352        ,p_degree                        => p_degree
353        ,p_reason                        => p_reason
354        ,p_work_restriction              => p_work_restriction
355        ,p_incident_id                   => p_incident_id
356        ,p_medical_assessment_id         => p_medical_assessment_id
357        ,p_pre_registration_job          => p_pre_registration_job
358        ,p_attribute_category            => p_attribute_category
359        ,p_attribute1                    => p_attribute1
360        ,p_attribute2                    => p_attribute2
361        ,p_attribute3                    => p_attribute3
362        ,p_attribute4                    => p_attribute4
363        ,p_attribute5                    => p_attribute5
364        ,p_attribute6                    => p_attribute6
365        ,p_attribute7                    => p_attribute7
366        ,p_attribute8                    => p_attribute8
367        ,p_attribute9                    => p_attribute9
368        ,p_attribute10                   => p_attribute10
369        ,p_attribute11                   => p_attribute11
370        ,p_attribute12                   => p_attribute12
371        ,p_attribute13                   => p_attribute13
372        ,p_attribute14                   => p_attribute14
373        ,p_attribute15                   => p_attribute15
374        ,p_attribute16                   => p_attribute16
375        ,p_attribute17                   => p_attribute17
376        ,p_attribute18                   => p_attribute18
377        ,p_attribute19                   => p_attribute19
378        ,p_attribute20                   => p_attribute20
379        ,p_attribute21                   => p_attribute21
380        ,p_attribute22                   => p_attribute22
381        ,p_attribute23                   => p_attribute23
382        ,p_attribute24                   => p_attribute24
383        ,p_attribute25                   => p_attribute25
384        ,p_attribute26                   => p_attribute26
385        ,p_attribute27                   => p_attribute27
386        ,p_attribute28                   => p_attribute28
387        ,p_attribute29                   => p_attribute29
388        ,p_attribute30                   => p_attribute30
389        ,p_dis_information_category      => 'KW'
390        ,p_dis_information1              => p_range_of_disability
391        ,p_dis_information2              => p_reporting_description
392        ,p_effective_start_date          => p_effective_start_date
393        ,p_effective_end_date            => p_effective_end_date);
394   --
395   hr_utility.set_location(' Leaving:'||l_proc, 70);
396   --
397 end update_kw_disability;
398 --
399 end per_kw_disability_api;