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