DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_SA_DISABILITY_API

Source


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