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