[Home] [Help]
PACKAGE BODY: APPS.GHR_COMPLAINTS2_PKG
Source
1 PACKAGE BODY ghr_complaints2_pkg AS
2 /* $Header: ghrcomp2.pkb 120.1 2010/04/22 05:43:02 vmididho ship $ */
3
4 -- Get Fullname and SSN
5 PROCEDURE get_fullname_ssn (p_complainant_person_id IN NUMBER
6 ,p_effective_date IN DATE
7 ,p_full_name IN OUT NOCOPY VARCHAR2
8 ,p_ssn IN OUT NOCOPY VARCHAR2) IS
9
10 l_full_name per_people_f.full_name%TYPE := NULL;
11 l_ssn per_people_f.national_identifier%TYPE := NULL;
12 l_record_found BOOLEAN := FALSE;
13
14 /*
15 CURSOR cur_cper IS
16 SELECT per.full_name
17 ,per.national_identifier
18 FROM per_people_v per
19 WHERE p_complainant_person_id = per.person_id
20 AND p_effective_date between per.effective_start_date and per.effective_end_date; */
21 -- Above commented by Sundar for performance changes
22 CURSOR cur_cper IS
23 SELECT per.full_name
24 ,per.national_identifier
25 FROM per_people_f per
26 WHERE per.person_id = p_complainant_person_id
27 AND p_effective_date between per.effective_start_date and per.effective_end_date;
28 -- NOCOPY variables
29 l_nc_full_name per_people_f.full_name%TYPE;
30 l_nc_ssn per_people_f.national_identifier%TYPE;
31
32 BEGIN
33 -- NOCOPY Changes
34 l_nc_full_name := p_full_name;
35 l_nc_ssn := p_ssn;
36
37 FOR cur_cper_rec IN cur_cper LOOP
38 IF not l_record_found THEN
39 l_full_name := cur_cper_rec.full_name;
40 l_ssn := cur_cper_rec.national_identifier;
41 l_record_found := TRUE;
42 ELSE
43 l_full_name := null;
44 l_ssn := null;
45 EXIT;
46 END IF;
47 END LOOP;
48
49 p_full_name := l_full_name;
50 p_ssn := l_ssn;
51 EXCEPTION
52 WHEN OTHERS THEN
53 p_full_name := l_nc_full_name;
54 p_ssn := l_nc_ssn;
55 END get_fullname_ssn;
56 --
57
58 -- Get Assignment IDs
59 PROCEDURE get_asg_ids (p_complainant_person_id IN NUMBER
60 ,p_effective_date IN DATE
61 ,p_asg_id IN OUT NOCOPY NUMBER
62 ,p_posn_id IN OUT NOCOPY NUMBER
63 ,p_grade_id IN OUT NOCOPY NUMBER
64 ,p_job_id IN OUT NOCOPY NUMBER)IS
65
66 l_asg_id per_assignments_f.assignment_id%TYPE := NULL;
67 l_posn_id per_assignments_f.position_id%TYPE := NULL;
68 l_grade_id per_assignments_f.grade_id%TYPE := NULL;
69 l_job_id per_assignments_f.job_id%TYPE := NULL;
70 l_record_found BOOLEAN := FALSE;
71
72 CURSOR cur_casg IS
73 SELECT pas.assignment_id, pas.position_id, pas.grade_id, pas.job_id
74 FROM per_assignments_f pas
75 WHERE p_complainant_person_id = pas.person_id
76 AND assignment_type <> 'B'
77 AND p_effective_date between pas.effective_start_date and pas.effective_end_date;
78
79 -- NOCOPY Variables
80 l_nc_asg_id NUMBER;
81 l_nc_posn_id NUMBER;
82 l_nc_grade_id NUMBER;
83 l_nc_job_id NUMBER;
84
85 BEGIN
86 -- NOCOPY Changes
87 l_nc_asg_id := p_asg_id;
88 l_nc_posn_id := p_posn_id;
89 l_nc_grade_id := p_grade_id;
90 l_nc_job_id := p_job_id;
91
92 FOR cur_casg_rec IN cur_casg LOOP
93 IF not l_record_found THEN
94 l_asg_id := cur_casg_rec.assignment_id;
95 l_posn_id := cur_casg_rec.position_id;
96 l_grade_id := cur_casg_rec.grade_id;
97 l_job_id := cur_casg_rec.job_id;
98 l_record_found := TRUE;
99 EXIT;
100 ELSE
101 l_asg_id := null;
102 l_posn_id := null;
103 l_grade_id := null;
104 l_job_id := null;
105 EXIT;
106 END IF;
107 END LOOP;
108
109 p_asg_id := l_asg_id;
110 p_posn_id := l_posn_id;
111 p_grade_id := l_grade_id;
112 p_job_id := l_job_id;
113 EXCEPTION
114 WHEN OTHERS THEN
115 p_asg_id := l_nc_asg_id;
116 p_posn_id := l_nc_posn_id;
117 p_grade_id := l_nc_grade_id;
118 p_job_id := l_nc_job_id;
119 END get_asg_ids;
120 --
121
122 -- Fetch People EI
123 PROCEDURE fetch_peopleei(
124 p_person_id IN NUMBER
125 ,p_information_type IN VARCHAR2
126 ,p_date_effective IN DATE
127 ,p_information1 IN OUT NOCOPY VARCHAR2
128 ,p_information2 IN OUT NOCOPY VARCHAR2
129 ,p_information3 IN OUT NOCOPY VARCHAR2
130 ,p_information4 IN OUT NOCOPY VARCHAR2
131 ,p_information5 IN OUT NOCOPY VARCHAR2
132 ,p_information6 IN OUT NOCOPY VARCHAR2
133 ,p_information7 IN OUT NOCOPY VARCHAR2
134 ,p_information8 IN OUT NOCOPY VARCHAR2
135 ,p_information9 IN OUT NOCOPY VARCHAR2
136 ,p_information10 IN OUT NOCOPY VARCHAR2
137 ,p_information11 IN OUT NOCOPY VARCHAR2
138 ,p_information12 IN OUT NOCOPY VARCHAR2
139 ,p_information13 IN OUT NOCOPY VARCHAR2
140 ,p_information14 IN OUT NOCOPY VARCHAR2
141 ,p_information15 IN OUT NOCOPY VARCHAR2
142 ,p_information16 IN OUT NOCOPY VARCHAR2
143 ,p_information17 IN OUT NOCOPY VARCHAR2
144 ,p_information18 IN OUT NOCOPY VARCHAR2
145 ,p_information19 IN OUT NOCOPY VARCHAR2
146 ,p_information20 IN OUT NOCOPY VARCHAR2
147 ,p_information21 IN OUT NOCOPY VARCHAR2
148 ,p_information22 IN OUT NOCOPY VARCHAR2
149 ,p_information23 IN OUT NOCOPY VARCHAR2
150 ,p_information24 IN OUT NOCOPY VARCHAR2
151 ,p_information25 IN OUT NOCOPY VARCHAR2
152 ,p_information26 IN OUT NOCOPY VARCHAR2
153 ,p_information27 IN OUT NOCOPY VARCHAR2
154 ,p_information28 IN OUT NOCOPY VARCHAR2
155 ,p_information29 IN OUT NOCOPY VARCHAR2
156 ,p_information30 IN OUT NOCOPY VARCHAR2) IS
157
158 l_per_ei_data per_people_extra_info%rowtype;
159 -- NOCOPY Variables
160 l_information1 per_people_extra_info.pei_information1%type:= p_information1 ;
161 l_information2 per_people_extra_info.pei_information2%type:= p_information2 ;
162 l_information3 per_people_extra_info.pei_information3%type:= p_information3 ;
163 l_information4 per_people_extra_info.pei_information4%type:= p_information4 ;
164 l_information5 per_people_extra_info.pei_information5%type:= p_information5 ;
165 l_information6 per_people_extra_info.pei_information6%type:= p_information6 ;
166 l_information7 per_people_extra_info.pei_information7%type:= p_information7 ;
167 l_information8 per_people_extra_info.pei_information8%type:= p_information8 ;
168 l_information9 per_people_extra_info.pei_information9%type:= p_information9 ;
169 l_information10 per_people_extra_info.pei_information10%type:= p_information10;
170 l_information11 per_people_extra_info.pei_information11%type:= p_information11;
171 l_information12 per_people_extra_info.pei_information12%type:= p_information12;
172 l_information13 per_people_extra_info.pei_information13%type:= p_information13;
173 l_information14 per_people_extra_info.pei_information14%type:= p_information14;
174 l_information15 per_people_extra_info.pei_information15%type:= p_information15;
175 l_information16 per_people_extra_info.pei_information16%type:= p_information16;
176 l_information17 per_people_extra_info.pei_information17%type:= p_information17;
177 l_information18 per_people_extra_info.pei_information18%type:= p_information18;
178 l_information19 per_people_extra_info.pei_information19%type:= p_information19;
179 l_information20 per_people_extra_info.pei_information20%type:= p_information20;
180 l_information21 per_people_extra_info.pei_information21%type:= p_information21;
181 l_information22 per_people_extra_info.pei_information22%type:= p_information22;
182 l_information23 per_people_extra_info.pei_information23%type:= p_information23;
183 l_information24 per_people_extra_info.pei_information24%type:= p_information24;
184 l_information25 per_people_extra_info.pei_information25%type:= p_information25;
185 l_information26 per_people_extra_info.pei_information26%type:= p_information26;
186 l_information27 per_people_extra_info.pei_information27%type:= p_information27;
187 l_information28 per_people_extra_info.pei_information28%type:= p_information28;
188 l_information29 per_people_extra_info.pei_information29%type:= p_information29;
189 l_information30 per_people_extra_info.pei_information30%type:= p_information30;
190
191 BEGIN
192 ghr_history_fetch.fetch_peopleei(
193 p_person_id => p_person_id
194 ,p_information_type => p_information_type
195 ,p_date_effective => p_date_effective
196 ,p_per_ei_data => l_per_ei_data);
197
198 p_information1 := l_per_ei_data.pei_information1;
199 p_information2 := l_per_ei_data.pei_information2;
200 p_information3 := l_per_ei_data.pei_information3;
201 p_information4 := l_per_ei_data.pei_information4;
202 p_information5 := l_per_ei_data.pei_information5;
203 p_information6 := l_per_ei_data.pei_information6;
204 p_information7 := l_per_ei_data.pei_information7;
205 p_information8 := l_per_ei_data.pei_information8;
206 p_information9 := l_per_ei_data.pei_information9;
207 p_information10 := l_per_ei_data.pei_information10;
208 p_information11 := l_per_ei_data.pei_information11;
209 p_information12 := l_per_ei_data.pei_information12;
210 p_information13 := l_per_ei_data.pei_information13;
211 p_information14 := l_per_ei_data.pei_information14;
212 p_information15 := l_per_ei_data.pei_information15;
213 p_information16 := l_per_ei_data.pei_information16;
214 p_information17 := l_per_ei_data.pei_information17;
215 p_information18 := l_per_ei_data.pei_information18;
216 p_information19 := l_per_ei_data.pei_information19;
217 p_information20 := l_per_ei_data.pei_information20;
218 p_information21 := l_per_ei_data.pei_information21;
219 p_information22 := l_per_ei_data.pei_information22;
220 p_information23 := l_per_ei_data.pei_information23;
221 p_information24 := l_per_ei_data.pei_information24;
222 p_information25 := l_per_ei_data.pei_information25;
223 p_information26 := l_per_ei_data.pei_information26;
224 p_information27 := l_per_ei_data.pei_information27;
225 p_information28 := l_per_ei_data.pei_information28;
226 p_information29 := l_per_ei_data.pei_information29;
227 p_information30 := l_per_ei_data.pei_information30;
228 EXCEPTION
229 WHEN OTHERS THEN
230 p_information1 := l_information1 ;
231 p_information2 := l_information2 ;
232 p_information3 := l_information3 ;
233 p_information4 := l_information4 ;
234 p_information5 := l_information5 ;
235 p_information6 := l_information6 ;
236 p_information7 := l_information7 ;
237 p_information8 := l_information8 ;
238 p_information9 := l_information9 ;
239 p_information10 := l_information10;
240 p_information11 := l_information11;
241 p_information12 := l_information12;
242 p_information13 := l_information13;
243 p_information14 := l_information14;
244 p_information15 := l_information15;
245 p_information16 := l_information16;
246 p_information17 := l_information17;
247 p_information18 := l_information18;
248 p_information19 := l_information19;
249 p_information20 := l_information20;
250 p_information21 := l_information21;
251 p_information22 := l_information22;
252 p_information23 := l_information23;
253 p_information24 := l_information24;
254 p_information25 := l_information25;
255 p_information26 := l_information26;
256 p_information27 := l_information27;
257 p_information28 := l_information28;
258 p_information29 := l_information29;
259 p_information30 := l_information30;
260 END fetch_peopleei;
261 --
262
263 -- Fetch Assignment EI
264 PROCEDURE fetch_asgei(
265 p_assignment_id IN NUMBER
266 ,p_information_type IN VARCHAR2
267 ,p_date_effective IN DATE
268 ,p_information1 IN OUT NOCOPY VARCHAR2
269 ,p_information2 IN OUT NOCOPY VARCHAR2
270 ,p_information3 IN OUT NOCOPY VARCHAR2
271 ,p_information4 IN OUT NOCOPY VARCHAR2
272 ,p_information5 IN OUT NOCOPY VARCHAR2
273 ,p_information6 IN OUT NOCOPY VARCHAR2
274 ,p_information7 IN OUT NOCOPY VARCHAR2
275 ,p_information8 IN OUT NOCOPY VARCHAR2
276 ,p_information9 IN OUT NOCOPY VARCHAR2
277 ,p_information10 IN OUT NOCOPY VARCHAR2
278 ,p_information11 IN OUT NOCOPY VARCHAR2
279 ,p_information12 IN OUT NOCOPY VARCHAR2
280 ,p_information13 IN OUT NOCOPY VARCHAR2
281 ,p_information14 IN OUT NOCOPY VARCHAR2
282 ,p_information15 IN OUT NOCOPY VARCHAR2
283 ,p_information16 IN OUT NOCOPY VARCHAR2
284 ,p_information17 IN OUT NOCOPY VARCHAR2
285 ,p_information18 IN OUT NOCOPY VARCHAR2
286 ,p_information19 IN OUT NOCOPY VARCHAR2
287 ,p_information20 IN OUT NOCOPY VARCHAR2
288 ,p_information21 IN OUT NOCOPY VARCHAR2
289 ,p_information22 IN OUT NOCOPY VARCHAR2
290 ,p_information23 IN OUT NOCOPY VARCHAR2
291 ,p_information24 IN OUT NOCOPY VARCHAR2
292 ,p_information25 IN OUT NOCOPY VARCHAR2
293 ,p_information26 IN OUT NOCOPY VARCHAR2
294 ,p_information27 IN OUT NOCOPY VARCHAR2
295 ,p_information28 IN OUT NOCOPY VARCHAR2
296 ,p_information29 IN OUT NOCOPY VARCHAR2
297 ,p_information30 IN OUT NOCOPY VARCHAR2) IS
298
299 l_asg_ei_data per_assignment_extra_info%rowtype;
300
301 -- NOCOPY Variables
302 l_information1 per_assignment_extra_info.aei_information1%type := p_information1 ;
303 l_information2 per_assignment_extra_info.aei_information2%type := p_information2 ;
304 l_information3 per_assignment_extra_info.aei_information3%type := p_information3 ;
305 l_information4 per_assignment_extra_info.aei_information4%type := p_information4 ;
306 l_information5 per_assignment_extra_info.aei_information5%type := p_information5 ;
307 l_information6 per_assignment_extra_info.aei_information6%type := p_information6 ;
308 l_information7 per_assignment_extra_info.aei_information7%type := p_information7 ;
309 l_information8 per_assignment_extra_info.aei_information8%type := p_information8 ;
310 l_information9 per_assignment_extra_info.aei_information9%type := p_information9 ;
311 l_information10 per_assignment_extra_info.aei_information10%type := p_information10 ;
312 l_information11 per_assignment_extra_info.aei_information11%type := p_information11 ;
313 l_information12 per_assignment_extra_info.aei_information12%type := p_information12 ;
314 l_information13 per_assignment_extra_info.aei_information13%type := p_information13 ;
315 l_information14 per_assignment_extra_info.aei_information14%type := p_information14 ;
316 l_information15 per_assignment_extra_info.aei_information15%type := p_information15 ;
317 l_information16 per_assignment_extra_info.aei_information16%type := p_information16 ;
318 l_information17 per_assignment_extra_info.aei_information17%type := p_information17 ;
319 l_information18 per_assignment_extra_info.aei_information18%type := p_information18 ;
320 l_information19 per_assignment_extra_info.aei_information19%type := p_information19 ;
321 l_information20 per_assignment_extra_info.aei_information20%type := p_information20 ;
322 l_information21 per_assignment_extra_info.aei_information21%type := p_information21 ;
323 l_information22 per_assignment_extra_info.aei_information22%type := p_information22 ;
324 l_information23 per_assignment_extra_info.aei_information23%type := p_information23 ;
325 l_information24 per_assignment_extra_info.aei_information24%type := p_information24 ;
326 l_information25 per_assignment_extra_info.aei_information25%type := p_information25 ;
327 l_information26 per_assignment_extra_info.aei_information26%type := p_information26 ;
328 l_information27 per_assignment_extra_info.aei_information27%type := p_information27 ;
329 l_information28 per_assignment_extra_info.aei_information28%type := p_information28 ;
330 l_information29 per_assignment_extra_info.aei_information29%type := p_information29 ;
331 l_information30 per_assignment_extra_info.aei_information30%type := p_information30 ;
332
333 BEGIN
334 ghr_history_fetch.fetch_asgei(
335 p_assignment_id => p_assignment_id
336 ,p_information_type => p_information_type
337 ,p_date_effective => p_date_effective
338 ,p_asg_ei_data => l_asg_ei_data);
339
340 p_information1 := l_asg_ei_data.aei_information1;
341 p_information2 := l_asg_ei_data.aei_information2;
342 p_information3 := l_asg_ei_data.aei_information3;
343 p_information4 := l_asg_ei_data.aei_information4;
344 p_information5 := l_asg_ei_data.aei_information5;
345 p_information6 := l_asg_ei_data.aei_information6;
346 p_information7 := l_asg_ei_data.aei_information7;
347 p_information8 := l_asg_ei_data.aei_information8;
348 p_information9 := l_asg_ei_data.aei_information9;
349 p_information10 := l_asg_ei_data.aei_information10;
350 p_information11 := l_asg_ei_data.aei_information11;
351 p_information12 := l_asg_ei_data.aei_information12;
352 p_information13 := l_asg_ei_data.aei_information13;
353 p_information14 := l_asg_ei_data.aei_information14;
354 p_information15 := l_asg_ei_data.aei_information15;
355 p_information16 := l_asg_ei_data.aei_information16;
356 p_information17 := l_asg_ei_data.aei_information17;
357 p_information18 := l_asg_ei_data.aei_information18;
358 p_information19 := l_asg_ei_data.aei_information19;
359 p_information20 := l_asg_ei_data.aei_information20;
360 p_information21 := l_asg_ei_data.aei_information21;
361 p_information22 := l_asg_ei_data.aei_information22;
362 p_information23 := l_asg_ei_data.aei_information23;
363 p_information24 := l_asg_ei_data.aei_information24;
364 p_information25 := l_asg_ei_data.aei_information25;
365 p_information26 := l_asg_ei_data.aei_information26;
366 p_information27 := l_asg_ei_data.aei_information27;
367 p_information28 := l_asg_ei_data.aei_information28;
368 p_information29 := l_asg_ei_data.aei_information29;
369 p_information30 := l_asg_ei_data.aei_information30;
370 EXCEPTION
371 WHEN OTHERS THEN
372 p_information1 := l_information1 ;
373 p_information2 := l_information2 ;
374 p_information3 := l_information3 ;
375 p_information4 := l_information4 ;
376 p_information5 := l_information5 ;
377 p_information6 := l_information6 ;
378 p_information7 := l_information7 ;
379 p_information8 := l_information8 ;
380 p_information9 := l_information9 ;
381 p_information10 := l_information10;
382 p_information11 := l_information11;
383 p_information12 := l_information12;
384 p_information13 := l_information13;
385 p_information14 := l_information14;
386 p_information15 := l_information15;
387 p_information16 := l_information16;
388 p_information17 := l_information17;
389 p_information18 := l_information18;
390 p_information19 := l_information19;
391 p_information20 := l_information20;
392 p_information21 := l_information21;
393 p_information22 := l_information22;
394 p_information23 := l_information23;
395 p_information24 := l_information24;
396 p_information25 := l_information25;
397 p_information26 := l_information26;
398 p_information27 := l_information27;
399 p_information28 := l_information28;
400 p_information29 := l_information29;
401 p_information30 := l_information30;
402 END fetch_asgei;
403 --
404
405 -- Fetch Position EI
406 PROCEDURE fetch_positionei(
407 p_position_id IN NUMBER
408 ,p_information_type IN VARCHAR2
409 ,p_date_effective IN DATE
410 ,p_information1 IN OUT NOCOPY VARCHAR2
411 ,p_information2 IN OUT NOCOPY VARCHAR2
412 ,p_information3 IN OUT NOCOPY VARCHAR2
413 ,p_information4 IN OUT NOCOPY VARCHAR2
414 ,p_information5 IN OUT NOCOPY VARCHAR2
415 ,p_information6 IN OUT NOCOPY VARCHAR2
416 ,p_information7 IN OUT NOCOPY VARCHAR2
417 ,p_information8 IN OUT NOCOPY VARCHAR2
418 ,p_information9 IN OUT NOCOPY VARCHAR2
419 ,p_information10 IN OUT NOCOPY VARCHAR2
420 ,p_information11 IN OUT NOCOPY VARCHAR2
421 ,p_information12 IN OUT NOCOPY VARCHAR2
422 ,p_information13 IN OUT NOCOPY VARCHAR2
423 ,p_information14 IN OUT NOCOPY VARCHAR2
424 ,p_information15 IN OUT NOCOPY VARCHAR2
425 ,p_information16 IN OUT NOCOPY VARCHAR2
426 ,p_information17 IN OUT NOCOPY VARCHAR2
427 ,p_information18 IN OUT NOCOPY VARCHAR2
428 ,p_information19 IN OUT NOCOPY VARCHAR2
429 ,p_information20 IN OUT NOCOPY VARCHAR2
430 ,p_information21 IN OUT NOCOPY VARCHAR2
431 ,p_information22 IN OUT NOCOPY VARCHAR2
432 ,p_information23 IN OUT NOCOPY VARCHAR2
433 ,p_information24 IN OUT NOCOPY VARCHAR2
434 ,p_information25 IN OUT NOCOPY VARCHAR2
435 ,p_information26 IN OUT NOCOPY VARCHAR2
436 ,p_information27 IN OUT NOCOPY VARCHAR2
437 ,p_information28 IN OUT NOCOPY VARCHAR2
438 ,p_information29 IN OUT NOCOPY VARCHAR2
439 ,p_information30 IN OUT NOCOPY VARCHAR2) IS
440
441 l_pos_ei_data per_position_extra_info%rowtype;
442 -- NOCOPY Changes
443 l_information1 per_position_extra_info.poei_information1%type := p_information1 ;
444 l_information2 per_position_extra_info.poei_information2%type := p_information2 ;
445 l_information3 per_position_extra_info.poei_information3%type := p_information3 ;
446 l_information4 per_position_extra_info.poei_information4%type := p_information4 ;
447 l_information5 per_position_extra_info.poei_information5%type := p_information5 ;
448 l_information6 per_position_extra_info.poei_information6%type := p_information6 ;
449 l_information7 per_position_extra_info.poei_information7%type := p_information7 ;
450 l_information8 per_position_extra_info.poei_information8%type := p_information8 ;
451 l_information9 per_position_extra_info.poei_information9%type := p_information9 ;
452 l_information10 per_position_extra_info.poei_information10%type := p_information10 ;
453 l_information11 per_position_extra_info.poei_information11%type := p_information11 ;
454 l_information12 per_position_extra_info.poei_information12%type := p_information12 ;
455 l_information13 per_position_extra_info.poei_information13%type := p_information13 ;
456 l_information14 per_position_extra_info.poei_information14%type := p_information14 ;
457 l_information15 per_position_extra_info.poei_information15%type := p_information15 ;
458 l_information16 per_position_extra_info.poei_information16%type := p_information16 ;
459 l_information17 per_position_extra_info.poei_information17%type := p_information17 ;
460 l_information18 per_position_extra_info.poei_information18%type := p_information18 ;
461 l_information19 per_position_extra_info.poei_information19%type := p_information19 ;
462 l_information20 per_position_extra_info.poei_information20%type := p_information20 ;
463 l_information21 per_position_extra_info.poei_information21%type := p_information21 ;
464 l_information22 per_position_extra_info.poei_information22%type := p_information22 ;
465 l_information23 per_position_extra_info.poei_information23%type := p_information23 ;
466 l_information24 per_position_extra_info.poei_information24%type := p_information24 ;
467 l_information25 per_position_extra_info.poei_information25%type := p_information25 ;
468 l_information26 per_position_extra_info.poei_information26%type := p_information26 ;
469 l_information27 per_position_extra_info.poei_information27%type := p_information27 ;
470 l_information28 per_position_extra_info.poei_information28%type := p_information28 ;
471 l_information29 per_position_extra_info.poei_information29%type := p_information29 ;
472 l_information30 per_position_extra_info.poei_information30%type := p_information30 ;
473
474 BEGIN
475 ghr_history_fetch.fetch_positionei(
476 p_position_id => p_position_id
477 ,p_information_type => p_information_type
478 ,p_date_effective => p_date_effective
479 ,p_pos_ei_data => l_pos_ei_data);
480
481 p_information1 := l_pos_ei_data.poei_information1;
482 p_information2 := l_pos_ei_data.poei_information2;
483 p_information3 := l_pos_ei_data.poei_information3;
484 p_information4 := l_pos_ei_data.poei_information4;
485 p_information5 := l_pos_ei_data.poei_information5;
486 p_information6 := l_pos_ei_data.poei_information6;
487 p_information7 := l_pos_ei_data.poei_information7;
488 p_information8 := l_pos_ei_data.poei_information8;
489 p_information9 := l_pos_ei_data.poei_information9;
490 p_information10 := l_pos_ei_data.poei_information10;
491 p_information11 := l_pos_ei_data.poei_information11;
492 p_information12 := l_pos_ei_data.poei_information12;
493 p_information13 := l_pos_ei_data.poei_information13;
494 p_information14 := l_pos_ei_data.poei_information14;
495 p_information15 := l_pos_ei_data.poei_information15;
496 p_information16 := l_pos_ei_data.poei_information16;
497 p_information17 := l_pos_ei_data.poei_information17;
498 p_information18 := l_pos_ei_data.poei_information18;
499 p_information19 := l_pos_ei_data.poei_information19;
500 p_information20 := l_pos_ei_data.poei_information20;
501 p_information21 := l_pos_ei_data.poei_information21;
502 p_information22 := l_pos_ei_data.poei_information22;
503 p_information23 := l_pos_ei_data.poei_information23;
504 p_information24 := l_pos_ei_data.poei_information24;
505 p_information25 := l_pos_ei_data.poei_information25;
506 p_information26 := l_pos_ei_data.poei_information26;
507 p_information27 := l_pos_ei_data.poei_information27;
508 p_information28 := l_pos_ei_data.poei_information28;
509 p_information29 := l_pos_ei_data.poei_information29;
510 p_information30 := l_pos_ei_data.poei_information30;
511
512 EXCEPTION
513 WHEN OTHERS THEN
514 p_information1 := l_information1 ;
515 p_information2 := l_information2 ;
516 p_information3 := l_information3 ;
517 p_information4 := l_information4 ;
518 p_information5 := l_information5 ;
519 p_information6 := l_information6 ;
520 p_information7 := l_information7 ;
521 p_information8 := l_information8 ;
522 p_information9 := l_information9 ;
523 p_information10 := l_information10;
524 p_information11 := l_information11;
525 p_information12 := l_information12;
526 p_information13 := l_information13;
527 p_information14 := l_information14;
528 p_information15 := l_information15;
529 p_information16 := l_information16;
530 p_information17 := l_information17;
531 p_information18 := l_information18;
532 p_information19 := l_information19;
533 p_information20 := l_information20;
534 p_information21 := l_information21;
535 p_information22 := l_information22;
536 p_information23 := l_information23;
537 p_information24 := l_information24;
538 p_information25 := l_information25;
539 p_information26 := l_information26;
540 p_information27 := l_information27;
541 p_information28 := l_information28;
542 p_information29 := l_information29;
543 p_information30 := l_information30;
544 END fetch_positionei;
545 --
546
547 -- Get POI Desc
548 FUNCTION get_poi_desc (p_personnel_office_id IN NUMBER)
549 RETURN VARCHAR2 IS
550 --
551 CURSOR cur_poi IS
552 SELECT poi.description
553 FROM ghr_pois poi
554 WHERE poi.personnel_office_id = p_personnel_office_id;
555
556 BEGIN
557 FOR cur_poi_rec IN cur_poi LOOP
558 RETURN(cur_poi_rec.description);
559 END LOOP;
560 --
561 RETURN(NULL);
562 --
563 END get_poi_desc;
564 --
565
566 -- Get Grade Details
567 PROCEDURE get_grade_details (p_grade_id IN NUMBER
568 ,p_grade_name IN OUT NOCOPY VARCHAR2
569 ,p_pay_plan IN OUT NOCOPY VARCHAR2
570 ,p_grade_or_level IN OUT NOCOPY VARCHAR2) IS
571 --
572 CURSOR cur_grd IS
573 SELECT gdf.segment1 pay_plan
574 ,gdf.segment2 grade_or_level
575 ,grd.name grade_name
576 FROM per_grade_definitions gdf
577 ,per_grades grd
578 WHERE grd.grade_id = p_grade_id
579 AND grd.grade_definition_id = gdf.grade_definition_id;
580 --
581 l_grade_name per_grades.name%type := p_grade_name;
582 l_pay_plan per_grade_definitions.segment1%type := p_pay_plan;
583 l_grade_or_level per_grade_definitions.segment2%type := p_grade_or_level;
584
585 BEGIN
586
587 FOR cur_grd_rec IN cur_grd LOOP
588 p_grade_name := cur_grd_rec.grade_name;
589 p_pay_plan := cur_grd_rec.pay_plan;
590 p_grade_or_level := cur_grd_rec.grade_or_level;
591 END LOOP;
592 EXCEPTION
593 WHEN OTHERS THEN
594 p_grade_name := l_grade_name;
595 p_pay_plan := l_pay_plan;
596 p_grade_or_level := l_grade_or_level;
597
598 END get_grade_details;
599 --
600
601 -- Get Consolidated Count
602 FUNCTION get_consolidated_count (p_consolidated_complaint_id IN NUMBER
603 ,p_complaint_id IN NUMBER)
604 RETURN NUMBER IS
605 --
606 CURSOR cur_cmp IS
607 SELECT count(*) rec_count
608 FROM ghr_complaints2 cmp
609 WHERE cmp.consolidated_complaint_id = p_consolidated_complaint_id
610 AND (cmp.complaint_id <> p_complaint_id OR p_complaint_id IS NULL);
611
612 BEGIN
613 FOR cur_cmp_rec IN cur_cmp LOOP
614 RETURN(cur_cmp_rec.rec_count);
615 END LOOP;
616 --
617 RETURN(NULL);
618 --
619 END get_consolidated_count;
620 --
621
622 -- Get Docket Number
623 FUNCTION get_docket_number (p_consolidated_complaint_id IN NUMBER)
624 RETURN VARCHAR2 IS
625 --
626 CURSOR cur_cmp IS
627 SELECT docket_number
628 FROM ghr_complaints2 cmp
629 WHERE cmp.consolidated_complaint_id = p_consolidated_complaint_id;
630
631 BEGIN
632 FOR cur_cmp_rec IN cur_cmp LOOP
633 RETURN(cur_cmp_rec.docket_number);
634 END LOOP;
635 --
636 RETURN(NULL);
637 --
638 END get_docket_number;
639 --
640
641 -- Mixed Complaint
642 FUNCTION mixed_complaint(p_complaint_id IN NUMBER)
643 RETURN BOOLEAN IS
644 --
645 CURSOR cur_clm IS
646 SELECT 1
647 FROM ghr_compl_claims clm
648 WHERE clm.complaint_id = p_complaint_id
649 AND clm.mixed_flag = 'Y';
650 --
651 BEGIN
652 FOR cur_clm_rec IN cur_clm LOOP
653 RETURN(TRUE);
654 END LOOP;
655 --
656 RETURN(FALSE);
657 --
658 END mixed_complaint;
659 --
660
661 -- Remand Complaint
662 FUNCTION remand_complaint(p_complaint_id IN NUMBER)
663 RETURN BOOLEAN IS
664 --
665 -- Must use only Max Date Appeal for code test
666 CURSOR cur_rmd IS
667 SELECT 1
668 FROM ghr_compl_appeals cap
669 WHERE cap.complaint_id = p_complaint_id
670 AND cap.appeal_date = (SELECT MAX(cmp.appeal_date)
671 FROM ghr_compl_appeals cmp
672 WHERE cmp.complaint_id = p_complaint_id)
673 AND cap.decision IN ('30', '40');
674 --
675 BEGIN
676 FOR cur_rmd_rec IN cur_rmd LOOP
677 RETURN(TRUE);
678 END LOOP;
679 --
680 RETURN(FALSE);
681 --
682 END remand_complaint;
683 --
684
685 -- Get Window Title
686 FUNCTION get_window_title(p_complaint_id IN NUMBER
687 ,p_effective_date IN DATE)
688 RETURN VARCHAR2 IS
689 --
690 l_full_name per_people_f.full_name%TYPE := NULL;
691 l_ssn per_people_f.national_identifier%TYPE := NULL;
692 l_complainant_person_id ghr_complaints2.complainant_person_id%TYPE := NULL;
693 l_docket_number ghr_complaints2.docket_number%TYPE := NULL;
694
695 CURSOR cur_cmp IS
696 SELECT complainant_person_id,docket_number
697 FROM ghr_complaints2 cmp
698 WHERE cmp.complaint_id = p_complaint_id;
699 --
700 BEGIN
701
702 FOR cur_cmp_rec IN cur_cmp LOOP
703 l_complainant_person_id := cur_cmp_rec.complainant_person_id;
704 l_docket_number := cur_cmp_rec.docket_number;
705 END LOOP;
706 --
707 ghr_complaints2_pkg.get_fullname_ssn(l_complainant_person_id
708 ,p_effective_date
709 ,l_full_name
710 ,l_ssn);
711 --Bug # 9636050
712 if NVL(fnd_profile.value('GHR_ALLOW_SSN_DISPLAY'),'N') = 'N' then
713 l_ssn := '**********';
714 end if;
715 --Bug # 9636050
716
717 RETURN(l_docket_number||' '||l_full_name||' '||l_ssn);
718 --
719 END get_window_title;
720 --
721
722 -- Get Lookup Code
723 FUNCTION get_lookup_code(
724 p_application_id fnd_common_lookups.application_id%TYPE
725 ,p_lookup_type fnd_common_lookups.lookup_type%TYPE
726 ,p_meaning fnd_common_lookups.meaning%TYPE
727 )
728 RETURN VARCHAR2 IS
729 --
730 l_ret_val fnd_common_lookups.lookup_code%TYPE := NULL;
731
732 CURSOR cur_loc IS
733 SELECT loc.lookup_code
734 FROM fnd_common_lookups loc
735 WHERE loc.application_id = p_application_id
736 AND loc.lookup_type = p_lookup_type
737 AND loc.meaning = p_meaning;
738 --
739 BEGIN
740
741 FOR cur_loc_rec IN cur_loc LOOP
742 l_ret_val := cur_loc_rec.lookup_code;
743 END LOOP;
744 --
745 RETURN(l_ret_val);
746 --
747 END get_lookup_code;
748
749 -- Get Lookup Meaning
750 FUNCTION get_lookup_meaning(
751 p_application_id fnd_common_lookups.application_id%TYPE
752 ,p_lookup_type fnd_common_lookups.lookup_type%TYPE
753 ,p_lookup_code fnd_common_lookups.lookup_code%TYPE
754 )
755 RETURN VARCHAR2 IS
756 --
757 l_ret_val fnd_common_lookups.meaning%TYPE := NULL;
758
759 CURSOR cur_loc IS
760 SELECT loc.meaning
761 FROM fnd_common_lookups loc
762 WHERE loc.application_id = p_application_id
763 AND loc.lookup_type = p_lookup_type
764 AND loc.lookup_code = p_lookup_code;
765 --
766 BEGIN
767
768 FOR cur_loc_rec IN cur_loc LOOP
769 l_ret_val := cur_loc_rec.meaning;
770 END LOOP;
771 --
772 RETURN(l_ret_val);
773 --
774 END get_lookup_meaning;
775 --
776
777 -- Test Existence of Corrective Action Records.
778 FUNCTION ca_rec_exists(p_complaint_id IN NUMBER)
779 RETURN BOOLEAN IS
780 --
781 --
782 CURSOR cur_cdt IS
783 SELECT 1
784 FROM ghr_compl_ca_details cdt
785 WHERE cdt.compl_ca_header_id in (select compl_ca_header_id
786 from ghr_compl_ca_headers
787 where complaint_id = p_complaint_id);
788 --
789 BEGIN
790 FOR cur_cdt_rec IN cur_cdt LOOP
791 RETURN(TRUE);
792 END LOOP;
793 --
794 RETURN(FALSE);
795 --
796 END ca_rec_exists;
797
798
799 -- Test Existence of Claim for Letter Date.
800 FUNCTION ltr_claim_chk(p_complaint_id IN NUMBER)
801 RETURN BOOLEAN IS
802 --
803 --
804 CURSOR cur_clm IS
805 SELECT 1
806 FROM ghr_compl_claims clm, ghr_compl_bases cba
807 WHERE clm.complaint_id = p_complaint_id
808 AND clm.compl_claim_id = cba.compl_claim_id
809 AND clm.phase in ('20','30')
810 AND cba.basis is NOT NULL;
811 --
812 BEGIN
813 FOR cur_clm_rec IN cur_clm LOOP
814 RETURN(TRUE);
815 END LOOP;
816 --
817 RETURN(FALSE);
818 --
819 END ltr_claim_chk;
820
821 -- Claim Check for RR Ltr Received and Pre-Com Initiated.
822 FUNCTION claim_chk(p_complaint_id IN NUMBER)
823 RETURN BOOLEAN IS
824 --
825 --
826 CURSOR cur_clm2 IS
827 SELECT 1
828 FROM ghr_compl_claims clm, ghr_compl_bases cba
829 WHERE clm.complaint_id = p_complaint_id
830 AND clm.compl_claim_id = cba.compl_claim_id
831 AND clm.phase in ('10','30')
832 AND cba.basis is NOT NULL;
833 --
834 BEGIN
835 FOR cur_clm2_rec IN cur_clm2 LOOP
836 RETURN(TRUE);
837 END LOOP;
838 --
839 RETURN(FALSE);
840 --
841 END claim_chk;
842
843 -- Test if COMPLAINTS.PCOM_INIT is NOT NULL
844 FUNCTION pcom_init_chk(p_complaint_id IN NUMBER)
845 RETURN BOOLEAN IS
846 --
847 --
848 CURSOR cur_cmp IS
849 SELECT 1
850 FROM ghr_complaints2 cmp
851 WHERE cmp.complaint_id = p_complaint_id
852 AND cmp.pcom_init is NOT NULL;
853 --
854 BEGIN
855 FOR cur_cmp_rec IN cur_cmp LOOP
856 RETURN(TRUE);
857 END LOOP;
858 --
859 RETURN(FALSE);
860 --
861 END pcom_init_chk;
862
863 -- Test bases exist for a claim
864 FUNCTION basis_chk(p_compl_claim_id IN NUMBER)
865 RETURN BOOLEAN IS
866 --
867 --
868 CURSOR cur_cba IS
869 SELECT 1
870 FROM ghr_compl_bases cba
871 WHERE cba.compl_claim_id = p_compl_claim_id;
872 --
873 BEGIN
874 FOR cur_cba_rec IN cur_cba LOOP
875 RETURN(TRUE);
876 END LOOP;
877 --
878 RETURN(FALSE);
879 --
880 END basis_chk;
881
882 -- Return true if a claim exists for the complaint_id passed.
883 FUNCTION claim_exists(p_complaint_id IN NUMBER)
884 RETURN BOOLEAN IS
885 --
886 --
887 CURSOR cur_clm IS
888 SELECT 1
889 FROM ghr_compl_claims clm
890 WHERE clm.complaint_id = p_complaint_id;
891 --
892 BEGIN
893 FOR cur_clm_rec IN cur_clm LOOP
894 RETURN(TRUE);
895 END LOOP;
896 --
897 RETURN(FALSE);
898 --
899 END claim_exists;
900
901
902 END ghr_complaints2_pkg;