[Home] [Help]
PACKAGE BODY: APPS.PER_IN_PREV_EMPLOYER_LEG_HOOK
Source
1 PACKAGE BODY per_in_prev_employer_leg_hook AS
2 /* $Header: peinlhpr.pkb 120.3 2007/11/22 10:48:19 sivanara ship $ */
3
4 g_package VARCHAR2(30);
5 g_debug BOOLEAN;
6 g_token_name pay_in_utils.char_tab_type;
7 g_token_value pay_in_utils.char_tab_type;
8 g_message_name VARCHAR2(30);
9
10 --
11
12 --------------------------------------------------------------------------
13 -- Name : validate_ltc_availed --
14 -- Type : Procedure --
15 -- Access : Public --
16 -- Description : Dummy procedure.This has been nulled out --
17 -- --
18 -- Bug 4065990 .The seed data script peinpped.sql had a call to this --
19 -- procedure and it was already shipped.This procedure is needed --
20 -- for compatibility.This procedure does nothing and has been replaced --
21 -- check_prev_emp_create and check_prev_emp_update --
22
23 --------------------------------------------------------------------------
24 PROCEDURE validate_ltc_availed(
28 BEGIN
25 p_pem_information_category IN VARCHAR2
26 ,p_end_date IN DATE
27 ) IS
29
30 NULL;
31
32 END validate_ltc_availed;
33
34 --------------------------------------------------------------------------
35 -- Name : check_prev_emp_int --
36 -- Type : Procedure --
37 -- Access : Public --
38 -- Description : Main Procedure to be called from the PEM Info Hook --
39 -- Parameters : --
40 -- IN : p_effective_date IN DATE --
41 -- p_previous_employer_id IN NUMBER --
42 -- p_business_group_id IN NUMBER --
43 -- p_person_id IN NUMBER --
44 -- p_start_date IN DATE --
45 -- p_end_date IN DATE --
46 -- p_pem_information_category IN VARCHAR2 --
47 -- p_pem_information1..30 IN VARCHAR2 --
48 -- p_calling_procedure IN VARCHAR2 --
49 -- OUT : p_message_name OUT VARCHAR2 --
50 -- p_token_name OUT pay_in_utils.char_tab_type
51 -- p_token_value OUT pay_in_utils.char_tab_type
52 --------------------------------------------------------------------------
53 PROCEDURE check_prev_emp_int(
54 p_effective_date IN DATE
55 ,p_previous_employer_id IN NUMBER
56 ,p_business_group_id IN NUMBER
57 ,p_person_id IN NUMBER
58 ,p_start_date IN DATE
59 ,p_end_date IN DATE
60 ,p_pem_information_category IN VARCHAR2
61 ,p_pem_information1 IN VARCHAR2
62 ,p_pem_information2 IN VARCHAR2
63 ,p_pem_information3 IN VARCHAR2
64 ,p_pem_information4 IN VARCHAR2
65 ,p_pem_information5 IN VARCHAR2
66 ,p_pem_information6 IN VARCHAR2
67 ,p_pem_information7 IN VARCHAR2
68 ,p_pem_information8 IN VARCHAR2
69 ,p_pem_information9 IN VARCHAR2
70 ,p_pem_information10 IN VARCHAR2
71 ,p_pem_information11 IN VARCHAR2
72 ,p_pem_information12 IN VARCHAR2
73 ,p_pem_information13 IN VARCHAR2
74 ,p_pem_information14 IN VARCHAR2
75 ,p_pem_information15 IN VARCHAR2
76 ,p_pem_information16 IN VARCHAR2
77 ,p_pem_information17 IN VARCHAR2
78 ,p_pem_information18 IN VARCHAR2
79 ,p_pem_information19 IN VARCHAR2
80 ,p_pem_information20 IN VARCHAR2
81 ,p_pem_information21 IN VARCHAR2
82 ,p_pem_information22 IN VARCHAR2
83 ,p_pem_information23 IN VARCHAR2
84 ,p_pem_information24 IN VARCHAR2
85 ,p_pem_information25 IN VARCHAR2
86 ,p_pem_information26 IN VARCHAR2
87 ,p_pem_information27 IN VARCHAR2
88 ,p_pem_information28 IN VARCHAR2
89 ,p_pem_information29 IN VARCHAR2
90 ,p_pem_information30 IN VARCHAR2
91 ,p_calling_procedure IN VARCHAR2
92 ,p_message_name OUT NOCOPY VARCHAR2
93 ,p_token_name OUT NOCOPY pay_in_utils.char_tab_type
94 ,p_token_value OUT NOCOPY pay_in_utils.char_tab_type)
95 IS
96 ---------------------------------------------------------------------------
97 --APPLICATION_COLUMN_NAME FORM_LEFT_PROMPT
98 ------------------------------ --------------------------------------------
99 --PEM_INFORMATION1 Designation
100 --PEM_INFORMATION2 Annual Salary (Rs.)
101 --PEM_INFORMATION3 PF Number
102 --PEM_INFORMATION4 PF Establishment Code
103 --PEM_INFORMATION5 EPF Number
104 --PEM_INFORMATION6 Employer Classification
105 --PEM_INFORMATION7 Number of LTC Availed in Previous Block
106 --PEM_INFORMATION8 Number of LTC Availed in Current Block
107 --PEM_INFORMATION9 Leave Encashment Amount
108 --PEM_INFORMATION10 Gratuity Amount
109 --PEM_INFORMATION11 Retrenchment Amount
110 --PEM_INFORMATION12 VRS Amount
111 --PEM_INFORMATION13 Gross Earnings for Current Tax Year
112 --PEM_INFORMATION14 Recognized PF Deduction for Current Tax Year
113 --PEM_INFORMATION15 Entertainment Allowance for Current Tax Year
114 --PEM_INFORMATION16 Professional Tax Paid in Current Tax Year
115 --PEM_INFORMATION17 TDS Deducted in Current Tax Year
116 --PEM_INFORMATION18 Superannuation for Current Tax Year
117 ---------------------------------------------------------------------------
118
119 l_procedure VARCHAR2(100);
120 l_message VARCHAR2(250);
121
122 CURSOR c_pt_ceil IS
123 SELECT global_value
124 FROM ff_globals_f
125 WHERE global_name = 'IN_PTAX_CEILING'
126 AND p_effective_date between effective_start_date and effective_end_date;
127
128 /*Cursor to get the person type of the given person id*/
129 CURSOR c_person_type IS
130 SELECT 'X'
131 FROM per_person_types ppt,
132 per_person_type_usages_f pptu
133 WHERE ppt.person_type_id = pptu.person_type_id
134 AND ppt.business_group_id = p_business_group_id
138
135 AND pptu.person_id = p_person_id
136 AND p_effective_date BETWEEN pptu.effective_start_date
137 AND pptu.effective_end_date AND ppt.system_person_type = 'EMP';
139 l_pt_ceil ff_globals_f.global_value%TYPE;
140 l_person_type VARCHAR2(1);
141
142 BEGIN
143
144 l_procedure := g_package||'check_prev_emp_int';
145 g_debug := hr_utility.debug_enabled;
146 pay_in_utils.set_location(g_debug, 'Entering: ' || l_procedure, 10);
147
148 p_message_name := 'SUCCESS';
149 pay_in_utils.null_message(p_token_name, p_token_value);
150
151 IF NOT hr_utility.chk_product_install('Oracle Human Resources', 'IN') THEN
152 hr_utility.trace ('IN Legislation not installed. Not performing the validations');
153 pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
154 RETURN;
155 END IF;
156
157 IF g_debug THEN
158 pay_in_utils.trace('**************************************************','********************');
159 pay_in_utils.trace('p_effective_date ',p_effective_date );
160 pay_in_utils.trace('p_previous_employer_id',p_previous_employer_id);
161 pay_in_utils.trace('p_business_group_id' ,p_business_group_id);
162 pay_in_utils.trace('p_preson_id' ,p_person_id);
163 pay_in_utils.trace('p_start_date ',p_start_date );
164 pay_in_utils.trace('p_end_date ',p_end_date );
165 pay_in_utils.trace('p_pem_information_category',p_pem_information_category);
166 pay_in_utils.trace('p_pem_information1 ',p_pem_information1 );
167 pay_in_utils.trace('p_pem_information2 ',p_pem_information2 );
168 pay_in_utils.trace('p_pem_information3 ',p_pem_information3 );
169 pay_in_utils.trace('p_pem_information4 ',p_pem_information4 );
170 pay_in_utils.trace('p_pem_information5 ',p_pem_information5 );
171 pay_in_utils.trace('p_pem_information6 ',p_pem_information6 );
172 pay_in_utils.trace('p_pem_information7 ',p_pem_information7 );
173 pay_in_utils.trace('p_pem_information8 ',p_pem_information8 );
174 pay_in_utils.trace('p_pem_information9 ',p_pem_information9 );
175 pay_in_utils.trace('p_pem_information10 ',p_pem_information10 );
176 pay_in_utils.trace('p_pem_information11 ',p_pem_information11 );
177 pay_in_utils.trace('p_pem_information12 ',p_pem_information12 );
178 pay_in_utils.trace('p_pem_information13 ',p_pem_information13 );
179 pay_in_utils.trace('p_pem_information14 ',p_pem_information14 );
180 pay_in_utils.trace('p_pem_information15 ',p_pem_information15 );
181 pay_in_utils.trace('p_pem_information16 ',p_pem_information16 );
182 pay_in_utils.trace('p_pem_information17 ',p_pem_information17 );
183 pay_in_utils.trace('p_pem_information18 ',p_pem_information18 );
184 pay_in_utils.trace('p_pem_information19 ',p_pem_information19 );
185 pay_in_utils.trace('p_pem_information20 ',p_pem_information20 );
186 pay_in_utils.trace('p_pem_information21 ',p_pem_information21 );
187 pay_in_utils.trace('p_pem_information22 ',p_pem_information22 );
188 pay_in_utils.trace('p_pem_information23 ',p_pem_information23 );
189 pay_in_utils.trace('p_pem_information24 ',p_pem_information24 );
190 pay_in_utils.trace('p_pem_information25 ',p_pem_information25 );
191 pay_in_utils.trace('p_pem_information26 ',p_pem_information26 );
192 pay_in_utils.trace('p_pem_information27 ',p_pem_information27 );
193 pay_in_utils.trace('p_pem_information28 ',p_pem_information28 );
194 pay_in_utils.trace('p_pem_information29 ',p_pem_information29 );
195 pay_in_utils.trace('p_pem_information30 ',p_pem_information30 );
196 pay_in_utils.trace('p_calling_procedure ',p_calling_procedure );
197 pay_in_utils.trace('p_message_name ',p_message_name );
198 pay_in_utils.trace('**************************************************','********************');
199 END IF;
200
201 IF p_pem_information_category <> 'IN' THEN
202 pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
203 RETURN;
204 END IF;
205
206 --
207 -- Validations to be built in
208 --
209 -- 1. End date should not be null
210 -- 2. Ensure that Gross Earnings are entered before any other
211 -- current tax year information
212 -- 3. Prof Tax value should not be greater than IN_PTAX_CEILING
213 --
214 pay_in_utils.set_location(g_debug,l_procedure,20);
215 --
216 -- 1. End date should not be null for employee
217 --
218
219 OPEN c_person_type;
220 FETCH c_person_type INTO l_person_type;
221 CLOSE c_person_type;
222
223 pay_in_utils.trace('l_person_type ',l_person_type);
224
225
226 IF p_end_date IS NULL AND l_person_type = 'X' THEN
227 p_message_name := 'PER_IN_END_DATE_NOT_ENTERED';
228
229 IF g_debug THEN
230 pay_in_utils.trace('**************************************************','********************');
231 pay_in_utils.trace('p_message_name ',p_message_name);
232 pay_in_utils.trace('**************************************************','********************');
233 END IF;
234
235 pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,30);
236 RETURN;
237 END IF;
238
239 IF p_pem_information6 IS NULL AND
240 (p_pem_information9 IS NOT NULL OR
241 p_pem_information10 IS NOT NULL OR
242 p_pem_information15 IS NOT NULL)
243 THEN
244 p_message_name := 'PER_IN_MISSING_ER';
245
246 IF g_debug THEN
250 END IF;
247 pay_in_utils.trace('**************************************************','********************');
248 pay_in_utils.trace('p_message_name ',p_message_name);
249 pay_in_utils.trace('**************************************************','********************');
251
252 pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
253 RETURN;
254 END IF;
255
256 pay_in_utils.set_location(g_debug,l_procedure,40);
257
258 IF g_debug THEN
259 pay_in_utils.trace ('Gross Earnings for Current Tax Year :',p_pem_information13);
260 pay_in_utils.trace ('Recognized PF Deduction for Current Tax Year :',p_pem_information14);
261 pay_in_utils.trace ('Entertainment Allowance for Current Tax Year :',p_pem_information15);
262 pay_in_utils.trace ('Professional Tax Paid in Current Tax Year :',p_pem_information16);
263 pay_in_utils.trace ('TDS Deducted in Current Tax Year :',p_pem_information17);
264 pay_in_utils.trace ('Superannuation for Current Tax Year :',p_pem_information18);
265 END IF;
266 --
267 -- 2. Ensure that Gross Earnings are entered before any other
268 -- current tax year information
269 --
270 IF (p_pem_information13 IS NULL OR to_number(p_pem_information13) = 0) AND
271 (p_pem_information14 IS NOT NULL OR
272 p_pem_information15 IS NOT NULL OR
273 p_pem_information16 IS NOT NULL OR
274 p_pem_information17 IS NOT NULL OR
275 p_pem_information18 IS NOT NULL )
276 THEN
277 p_message_name := 'PER_IN_MISSING_EARNINGS';
278
279 IF g_debug THEN
280 pay_in_utils.trace('**************************************************','********************');
281 pay_in_utils.trace('p_message_name ',p_message_name);
282 pay_in_utils.trace('**************************************************','********************');
283 END IF;
284
285 pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
286 RETURN;
287 END IF;
288
289 --
290 -- 3. Prof Tax value should not be greater than IN_PTAX_CEILING
291 --
292 OPEN c_pt_ceil;
293 FETCH c_pt_ceil
294 INTO l_pt_ceil;
295 IF c_pt_ceil%NOTFOUND OR l_pt_ceil IS NULL THEN
296 NULL;
297 ELSE
298 pay_in_utils.set_location(g_debug,'P PT CEILING : '||l_pt_ceil,50);
299 IF p_pem_information16 IS NOT NULL AND
300 TO_NUMBER(p_pem_information16) > TO_NUMBER(l_pt_ceil)
301 THEN
302 p_message_name := 'PER_IN_PT_MORE_THAN_LIMIT';
303 p_token_name(1) := 'VALUE';
304 p_token_value(1):= l_pt_ceil;
305
306 IF g_debug THEN
307 pay_in_utils.trace('**************************************************','********************');
308 pay_in_utils.trace('p_message_name ',p_message_name);
309 pay_in_utils.trace('**************************************************','********************');
310 END IF;
311
312 pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,60);
313 RETURN;
314 END IF;
315 END IF;
316
317 pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,70);
318
319 END check_prev_emp_int;
320
321 --------------------------------------------------------------------------
322 -- Name : check_prev_emp_create --
323 -- Type : Procedure --
324 -- Access : Public --
325 -- Description : Main Procedure to be called from the PEM Info Hook --
326 -- Parameters : --
327 -- IN : p_effective_date IN DATE --
328 -- p_previous_employer_id IN NUMBER --
329 -- p_business_group_id IN NUMBER --
330 -- p_person_id IN NUMBER --
331 -- p_start_date IN DATE --
332 -- p_end_date IN DATE --
333 -- p_pem_information_category IN VARCHAR2 --
334 -- p_pem_information1..30 IN VARCHAR2 --
335 --------------------------------------------------------------------------
336 PROCEDURE check_prev_emp_create(
337 p_effective_date IN DATE
338 ,p_previous_employer_id IN NUMBER
339 ,p_business_group_id IN NUMBER
340 ,p_person_id IN NUMBER
341 ,p_start_date IN DATE
342 ,p_end_date IN DATE
343 ,p_pem_information_category IN VARCHAR2
344 ,p_pem_information1 IN VARCHAR2
345 ,p_pem_information2 IN VARCHAR2
346 ,p_pem_information3 IN VARCHAR2
347 ,p_pem_information4 IN VARCHAR2
348 ,p_pem_information5 IN VARCHAR2
349 ,p_pem_information6 IN VARCHAR2
350 ,p_pem_information7 IN VARCHAR2
351 ,p_pem_information8 IN VARCHAR2
352 ,p_pem_information9 IN VARCHAR2
353 ,p_pem_information10 IN VARCHAR2
354 ,p_pem_information11 IN VARCHAR2
355 ,p_pem_information12 IN VARCHAR2
356 ,p_pem_information13 IN VARCHAR2
357 ,p_pem_information14 IN VARCHAR2
358 ,p_pem_information15 IN VARCHAR2
359 ,p_pem_information16 IN VARCHAR2
360 ,p_pem_information17 IN VARCHAR2
361 ,p_pem_information18 IN VARCHAR2
362 ,p_pem_information19 IN VARCHAR2
363 ,p_pem_information20 IN VARCHAR2
364 ,p_pem_information21 IN VARCHAR2
365 ,p_pem_information22 IN VARCHAR2
369 ,p_pem_information26 IN VARCHAR2
366 ,p_pem_information23 IN VARCHAR2
367 ,p_pem_information24 IN VARCHAR2
368 ,p_pem_information25 IN VARCHAR2
370 ,p_pem_information27 IN VARCHAR2
371 ,p_pem_information28 IN VARCHAR2
372 ,p_pem_information29 IN VARCHAR2
373 ,p_pem_information30 IN VARCHAR2)
374 IS
375
376 l_procedure VARCHAR2(100);
377 l_message VARCHAR2(250);
378
379 BEGIN
380
381 l_procedure := g_package||'check_prev_emp_create';
382 g_debug := hr_utility.debug_enabled;
383 pay_in_utils.set_location(g_debug, 'Entering: ' || l_procedure, 10);
384
385 g_message_name := 'SUCCESS';
386 pay_in_utils.null_message(g_token_name, g_token_value);
387
388 IF g_debug THEN
389 pay_in_utils.trace('**************************************************','********************');
390 pay_in_utils.trace('p_effective_date ',p_effective_date );
391 pay_in_utils.trace('p_previous_employer_id ',p_previous_employer_id );
392 pay_in_utils.trace('p_start_date ',p_start_date );
393 pay_in_utils.trace('p_end_date ',p_end_date );
394 pay_in_utils.trace('p_pem_information_category',p_pem_information_category);
395 pay_in_utils.trace('p_pem_information1 ',p_pem_information1 );
396 pay_in_utils.trace('p_pem_information2 ',p_pem_information2 );
397 pay_in_utils.trace('p_pem_information3 ',p_pem_information3 );
398 pay_in_utils.trace('p_pem_information4 ',p_pem_information4 );
399 pay_in_utils.trace('p_pem_information5 ',p_pem_information5 );
400 pay_in_utils.trace('p_pem_information6 ',p_pem_information6 );
401 pay_in_utils.trace('p_pem_information7 ',p_pem_information7 );
402 pay_in_utils.trace('p_pem_information8 ',p_pem_information8 );
403 pay_in_utils.trace('p_pem_information9 ',p_pem_information9 );
404 pay_in_utils.trace('p_pem_information10 ',p_pem_information10 );
405 pay_in_utils.trace('p_pem_information11 ',p_pem_information11 );
406 pay_in_utils.trace('p_pem_information12 ',p_pem_information12 );
407 pay_in_utils.trace('p_pem_information13 ',p_pem_information13 );
408 pay_in_utils.trace('p_pem_information14 ',p_pem_information14 );
409 pay_in_utils.trace('p_pem_information15 ',p_pem_information15 );
410 pay_in_utils.trace('p_pem_information16 ',p_pem_information16 );
411 pay_in_utils.trace('p_pem_information17 ',p_pem_information17 );
412 pay_in_utils.trace('p_pem_information18 ',p_pem_information18 );
413 pay_in_utils.trace('p_pem_information19 ',p_pem_information19 );
414 pay_in_utils.trace('p_pem_information20 ',p_pem_information20 );
415 pay_in_utils.trace('p_pem_information21 ',p_pem_information21 );
416 pay_in_utils.trace('p_pem_information22 ',p_pem_information22 );
417 pay_in_utils.trace('p_pem_information23 ',p_pem_information23 );
418 pay_in_utils.trace('p_pem_information24 ',p_pem_information24 );
419 pay_in_utils.trace('p_pem_information25 ',p_pem_information25 );
420 pay_in_utils.trace('p_pem_information26 ',p_pem_information26 );
421 pay_in_utils.trace('p_pem_information27 ',p_pem_information27 );
422 pay_in_utils.trace('p_pem_information28 ',p_pem_information28 );
423 pay_in_utils.trace('p_pem_information29 ',p_pem_information29 );
424 pay_in_utils.trace('p_pem_information30 ',p_pem_information30 );
425 pay_in_utils.trace('**************************************************','********************');
426 END IF;
427
428 check_prev_emp_int(
429 p_effective_date => p_effective_date
430 ,p_previous_employer_id => p_previous_employer_id
431 ,p_business_group_id => p_business_group_id
432 ,p_person_id => p_person_id
433 ,p_start_date => p_start_date
434 ,p_end_date => p_end_date
435 ,p_pem_information_category => p_pem_information_category
436 ,p_pem_information1 => p_pem_information1
437 ,p_pem_information2 => p_pem_information2
438 ,p_pem_information3 => p_pem_information3
439 ,p_pem_information4 => p_pem_information4
440 ,p_pem_information5 => p_pem_information5
441 ,p_pem_information6 => p_pem_information6
442 ,p_pem_information7 => p_pem_information7
443 ,p_pem_information8 => p_pem_information8
444 ,p_pem_information9 => p_pem_information9
445 ,p_pem_information10 => p_pem_information10
446 ,p_pem_information11 => p_pem_information11
447 ,p_pem_information12 => p_pem_information12
448 ,p_pem_information13 => p_pem_information13
449 ,p_pem_information14 => p_pem_information14
450 ,p_pem_information15 => p_pem_information15
451 ,p_pem_information16 => p_pem_information16
452 ,p_pem_information17 => p_pem_information17
453 ,p_pem_information18 => p_pem_information18
454 ,p_pem_information19 => p_pem_information19
455 ,p_pem_information20 => p_pem_information20
456 ,p_pem_information21 => p_pem_information21
457 ,p_pem_information22 => p_pem_information22
458 ,p_pem_information23 => p_pem_information23
459 ,p_pem_information24 => p_pem_information24
460 ,p_pem_information25 => p_pem_information25
461 ,p_pem_information26 => p_pem_information26
462 ,p_pem_information27 => p_pem_information27
463 ,p_pem_information28 => p_pem_information28
464 ,p_pem_information29 => p_pem_information29
465 ,p_pem_information30 => p_pem_information30
469 ,p_token_value => g_token_value);
466 ,p_calling_procedure => l_procedure
467 ,p_message_name => g_message_name
468 ,p_token_name => g_token_name
470
471
472 pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
473 pay_in_utils.raise_message(800, g_message_name, g_token_name, g_token_value);
474
475 END check_prev_emp_create;
476
477
478 --------------------------------------------------------------------------
479 -- Name : check_prev_emp_update --
480 -- Type : Procedure --
481 -- Access : Public --
482 -- Description : Main Procedure to be called from the PEM Info Hook --
483 -- Parameters : --
484 -- IN : p_effective_date IN DATE --
485 -- p_previous_employer_id IN NUMBER --
486 -- p_business_group_id IN NUMBER --
487 -- p_person_id IN NUMBER --
488 -- p_start_date IN DATE --
489 -- p_end_date IN DATE --
490 -- p_pem_information_category IN VARCHAR2 --
491 -- p_pem_information1..30 IN VARCHAR2 --
492 --------------------------------------------------------------------------
493 PROCEDURE check_prev_emp_update(
494 p_effective_date IN DATE
495 ,p_previous_employer_id IN NUMBER
496 ,p_start_date IN DATE
497 ,p_end_date IN DATE
498 ,p_pem_information_category IN VARCHAR2
499 ,p_pem_information1 IN VARCHAR2
500 ,p_pem_information2 IN VARCHAR2
501 ,p_pem_information3 IN VARCHAR2
502 ,p_pem_information4 IN VARCHAR2
503 ,p_pem_information5 IN VARCHAR2
504 ,p_pem_information6 IN VARCHAR2
505 ,p_pem_information7 IN VARCHAR2
506 ,p_pem_information8 IN VARCHAR2
507 ,p_pem_information9 IN VARCHAR2
508 ,p_pem_information10 IN VARCHAR2
509 ,p_pem_information11 IN VARCHAR2
510 ,p_pem_information12 IN VARCHAR2
511 ,p_pem_information13 IN VARCHAR2
512 ,p_pem_information14 IN VARCHAR2
513 ,p_pem_information15 IN VARCHAR2
514 ,p_pem_information16 IN VARCHAR2
515 ,p_pem_information17 IN VARCHAR2
516 ,p_pem_information18 IN VARCHAR2
517 ,p_pem_information19 IN VARCHAR2
518 ,p_pem_information20 IN VARCHAR2
519 ,p_pem_information21 IN VARCHAR2
520 ,p_pem_information22 IN VARCHAR2
521 ,p_pem_information23 IN VARCHAR2
522 ,p_pem_information24 IN VARCHAR2
523 ,p_pem_information25 IN VARCHAR2
524 ,p_pem_information26 IN VARCHAR2
525 ,p_pem_information27 IN VARCHAR2
526 ,p_pem_information28 IN VARCHAR2
527 ,p_pem_information29 IN VARCHAR2
528 ,p_pem_information30 IN VARCHAR2)
529 IS
530
531 CURSOR c_pem_id IS
532 SELECT business_group_id
533 ,person_id
534 ,start_date
535 ,end_date
536 ,pem_information_category
537 ,pem_information1
538 ,pem_information2
539 ,pem_information3
540 ,pem_information4
541 ,pem_information5
542 ,pem_information6
543 ,pem_information7
544 ,pem_information8
545 ,pem_information9
546 ,pem_information10
547 ,pem_information11
548 ,pem_information12
549 ,pem_information13
550 ,pem_information14
551 ,pem_information15
552 ,pem_information16
553 ,pem_information17
554 ,pem_information18
555 ,pem_information19
556 ,pem_information20
557 ,pem_information21
558 ,pem_information22
559 ,pem_information23
560 ,pem_information24
561 ,pem_information25
562 ,pem_information26
563 ,pem_information27
564 ,pem_information28
565 ,pem_information29
566 ,pem_information30
567 FROM per_previous_employers
568 WHERE previous_employer_id = p_previous_employer_id;
569
570 l_person_id per_previous_employers.person_id%TYPE;
571 l_business_group_id per_previous_employers.business_group_id%TYPE;
572 l_start_date per_previous_employers.start_date%TYPE;
573 l_end_date per_previous_employers.end_date%TYPE;
574 l_pem_information_category per_previous_employers.pem_information_category%TYPE;
575 l_pem_information1 per_previous_employers.pem_information1%TYPE;
576 l_pem_information2 per_previous_employers.pem_information2%TYPE;
577 l_pem_information3 per_previous_employers.pem_information3%TYPE;
578 l_pem_information4 per_previous_employers.pem_information4%TYPE;
579 l_pem_information5 per_previous_employers.pem_information5%TYPE;
580 l_pem_information6 per_previous_employers.pem_information6%TYPE;
581 l_pem_information7 per_previous_employers.pem_information7%TYPE;
582 l_pem_information8 per_previous_employers.pem_information8%TYPE;
583 l_pem_information9 per_previous_employers.pem_information9%TYPE;
584 l_pem_information10 per_previous_employers.pem_information10%TYPE;
585 l_pem_information11 per_previous_employers.pem_information11%TYPE;
589 l_pem_information15 per_previous_employers.pem_information15%TYPE;
586 l_pem_information12 per_previous_employers.pem_information12%TYPE;
587 l_pem_information13 per_previous_employers.pem_information13%TYPE;
588 l_pem_information14 per_previous_employers.pem_information14%TYPE;
590 l_pem_information16 per_previous_employers.pem_information16%TYPE;
591 l_pem_information17 per_previous_employers.pem_information17%TYPE;
592 l_pem_information18 per_previous_employers.pem_information18%TYPE;
593 l_pem_information19 per_previous_employers.pem_information19%TYPE;
594 l_pem_information20 per_previous_employers.pem_information20%TYPE;
595 l_pem_information21 per_previous_employers.pem_information21%TYPE;
596 l_pem_information22 per_previous_employers.pem_information22%TYPE;
597 l_pem_information23 per_previous_employers.pem_information23%TYPE;
598 l_pem_information24 per_previous_employers.pem_information24%TYPE;
599 l_pem_information25 per_previous_employers.pem_information25%TYPE;
600 l_pem_information26 per_previous_employers.pem_information26%TYPE;
601 l_pem_information27 per_previous_employers.pem_information27%TYPE;
602 l_pem_information28 per_previous_employers.pem_information28%TYPE;
603 l_pem_information29 per_previous_employers.pem_information29%TYPE;
604 l_pem_information30 per_previous_employers.pem_information30%TYPE;
605
606 l_procedure VARCHAR2(100);
607 l_message VARCHAR2(250);
608
609 BEGIN
610 l_procedure := g_package||'check_prev_emp_update';
611 g_debug := hr_utility.debug_enabled;
612 pay_in_utils.set_location(g_debug, 'Entering: ' || l_procedure, 10);
613 g_message_name := 'SUCCESS';
614
615 IF g_debug THEN
616 pay_in_utils.trace('**************************************************','********************');
617 pay_in_utils.trace('p_effective_date ',p_effective_date );
618 pay_in_utils.trace('p_previous_employer_id ',p_previous_employer_id );
619 pay_in_utils.trace('p_start_date ',p_start_date );
620 pay_in_utils.trace('p_end_date ',p_end_date );
621 pay_in_utils.trace('p_pem_information_category',p_pem_information_category);
622 pay_in_utils.trace('p_pem_information1 ',p_pem_information1 );
623 pay_in_utils.trace('p_pem_information2 ',p_pem_information2 );
624 pay_in_utils.trace('p_pem_information3 ',p_pem_information3 );
625 pay_in_utils.trace('p_pem_information4 ',p_pem_information4 );
626 pay_in_utils.trace('p_pem_information5 ',p_pem_information5 );
627 pay_in_utils.trace('p_pem_information6 ',p_pem_information6 );
628 pay_in_utils.trace('p_pem_information7 ',p_pem_information7 );
629 pay_in_utils.trace('p_pem_information8 ',p_pem_information8 );
630 pay_in_utils.trace('p_pem_information9 ',p_pem_information9 );
631 pay_in_utils.trace('p_pem_information10 ',p_pem_information10 );
632 pay_in_utils.trace('p_pem_information11 ',p_pem_information11 );
633 pay_in_utils.trace('p_pem_information12 ',p_pem_information12 );
634 pay_in_utils.trace('p_pem_information13 ',p_pem_information13 );
635 pay_in_utils.trace('p_pem_information14 ',p_pem_information14 );
636 pay_in_utils.trace('p_pem_information15 ',p_pem_information15 );
637 pay_in_utils.trace('p_pem_information16 ',p_pem_information16 );
638 pay_in_utils.trace('p_pem_information17 ',p_pem_information17 );
639 pay_in_utils.trace('p_pem_information18 ',p_pem_information18 );
640 pay_in_utils.trace('p_pem_information19 ',p_pem_information19 );
641 pay_in_utils.trace('p_pem_information20 ',p_pem_information20 );
642 pay_in_utils.trace('p_pem_information21 ',p_pem_information21 );
643 pay_in_utils.trace('p_pem_information22 ',p_pem_information22 );
644 pay_in_utils.trace('p_pem_information23 ',p_pem_information23 );
645 pay_in_utils.trace('p_pem_information24 ',p_pem_information24 );
646 pay_in_utils.trace('p_pem_information25 ',p_pem_information25 );
647 pay_in_utils.trace('p_pem_information26 ',p_pem_information26 );
648 pay_in_utils.trace('p_pem_information27 ',p_pem_information27 );
649 pay_in_utils.trace('p_pem_information28 ',p_pem_information28 );
650 pay_in_utils.trace('p_pem_information29 ',p_pem_information29 );
651 pay_in_utils.trace('p_pem_information30 ',p_pem_information30 );
652 pay_in_utils.trace('**************************************************','********************');
653 END IF;
654
655 /*IF p_end_date IS NULL THEN
656 g_message_name := 'PER_IN_END_DATE_NOT_ENTERED';
657 pay_in_utils.raise_message(800, g_message_name, g_token_name, g_token_value);
658 END IF;*/
659
660 OPEN c_pem_id;
661 FETCH c_pem_id
662 INTO l_business_group_id
663 ,l_person_id
664 ,l_start_date
665 ,l_end_date
666 ,l_pem_information_category
667 ,l_pem_information1
668 ,l_pem_information2
669 ,l_pem_information3
670 ,l_pem_information4
671 ,l_pem_information5
672 ,l_pem_information6
673 ,l_pem_information7
674 ,l_pem_information8
675 ,l_pem_information9
676 ,l_pem_information10
677 ,l_pem_information11
678 ,l_pem_information12
679 ,l_pem_information13
680 ,l_pem_information14
681 ,l_pem_information15
682 ,l_pem_information16
683 ,l_pem_information17
684 ,l_pem_information18
685 ,l_pem_information19
686 ,l_pem_information20
687 ,l_pem_information21
688 ,l_pem_information22
689 ,l_pem_information23
690 ,l_pem_information24
691 ,l_pem_information25
695 ,l_pem_information29
692 ,l_pem_information26
693 ,l_pem_information27
694 ,l_pem_information28
696 ,l_pem_information30;
697 CLOSE c_pem_id;
698
699 pay_in_utils.set_location(g_debug,l_procedure,20);
700
701 IF p_start_date <> hr_api.g_date THEN
702 l_start_date := p_start_date;
703 END IF;
704
705 IF p_end_date <> hr_api.g_date THEN
706 l_end_date := p_end_date;
707 END IF;
708
709 IF p_pem_information_category <> hr_api.g_varchar2 THEN
710 l_pem_information_category := p_pem_information_category;
711 END IF;
712
713 IF p_pem_information1 <> hr_api.g_varchar2 THEN
714 l_pem_information1 := p_pem_information1;
715 END IF;
716
717 IF p_pem_information2 <> hr_api.g_varchar2 THEN
718 l_pem_information2 := p_pem_information2;
719 END IF;
720
721 IF p_pem_information3 <> hr_api.g_varchar2 THEN
722 l_pem_information3 := p_pem_information3;
723 END IF;
724
725 IF p_pem_information4 <> hr_api.g_varchar2 THEN
726 l_pem_information4 := p_pem_information4;
727 END IF;
728
729 IF p_pem_information5 <> hr_api.g_varchar2 THEN
730 l_pem_information5 := p_pem_information5;
731 END IF;
732
733 IF p_pem_information6 <> hr_api.g_varchar2 THEN
734 l_pem_information6 := p_pem_information6;
735 END IF;
736
737 IF p_pem_information7 <> hr_api.g_varchar2 THEN
738 l_pem_information7 := p_pem_information7;
739 END IF;
740
741 IF p_pem_information8 <> hr_api.g_varchar2 THEN
742 l_pem_information8 := p_pem_information8;
743 END IF;
744
745 IF p_pem_information9 <> hr_api.g_varchar2 THEN
746 l_pem_information9 := p_pem_information9;
747 END IF;
748
749 IF p_pem_information10 <> hr_api.g_varchar2 THEN
750 l_pem_information10 := p_pem_information10;
751 END IF;
752
753 IF p_pem_information11 <> hr_api.g_varchar2 THEN
754 l_pem_information11 := p_pem_information11;
755 END IF;
756
757 IF p_pem_information12 <> hr_api.g_varchar2 THEN
758 l_pem_information12 := p_pem_information12;
759 END IF;
760
761 IF p_pem_information13 <> hr_api.g_varchar2 THEN
762 l_pem_information13 := p_pem_information13;
763 END IF;
764
765 IF p_pem_information14 <> hr_api.g_varchar2 THEN
766 l_pem_information14 := p_pem_information14;
767 END IF;
768
769 IF p_pem_information15 <> hr_api.g_varchar2 THEN
770 l_pem_information15 := p_pem_information15;
771 END IF;
772
773 IF p_pem_information16 <> hr_api.g_varchar2 THEN
774 l_pem_information16 := p_pem_information16;
775 END IF;
776
777 IF p_pem_information17 <> hr_api.g_varchar2 THEN
778 l_pem_information17 := p_pem_information17;
779 END IF;
780
781 IF p_pem_information18 <> hr_api.g_varchar2 THEN
782 l_pem_information18 := p_pem_information18;
783 END IF;
784
785 IF p_pem_information19 <> hr_api.g_varchar2 THEN
786 l_pem_information19 := p_pem_information19;
787 END IF;
788
789 IF p_pem_information20 <> hr_api.g_varchar2 THEN
790 l_pem_information20 := p_pem_information20;
791 END IF;
792
793 IF p_pem_information21 <> hr_api.g_varchar2 THEN
794 l_pem_information21 := p_pem_information21;
795 END IF;
796
797 IF p_pem_information22 <> hr_api.g_varchar2 THEN
798 l_pem_information22 := p_pem_information22;
799 END IF;
800
801 IF p_pem_information23 <> hr_api.g_varchar2 THEN
802 l_pem_information23 := p_pem_information23;
803 END IF;
804
805 IF p_pem_information24 <> hr_api.g_varchar2 THEN
806 l_pem_information24 := p_pem_information24;
807 END IF;
808
809 IF p_pem_information25 <> hr_api.g_varchar2 THEN
810 l_pem_information25 := p_pem_information25;
811 END IF;
812
813 IF p_pem_information26 <> hr_api.g_varchar2 THEN
814 l_pem_information26 := p_pem_information26;
815 END IF;
816
817 IF p_pem_information27 <> hr_api.g_varchar2 THEN
818 l_pem_information27 := p_pem_information27;
819 END IF;
820
821 IF p_pem_information28 <> hr_api.g_varchar2 THEN
822 l_pem_information28 := p_pem_information28;
823 END IF;
824
825 IF p_pem_information29 <> hr_api.g_varchar2 THEN
826 l_pem_information29 := p_pem_information29;
827 END IF;
828
829 IF p_pem_information30 <> hr_api.g_varchar2 THEN
830 l_pem_information30 := p_pem_information30;
831 END IF;
832 IF p_end_date IS NULL THEN
833 l_end_date := p_end_date;
834 END if;
835 pay_in_utils.set_location(g_debug,'Before call to internal proc',15);
836 pay_in_utils.trace('Before call to internal proc p_person_id ',l_person_id );
837 pay_in_utils.trace('Before call to internal proc p_business_group_id ',l_business_group_id );
838 check_prev_emp_int(
839 p_effective_date => p_effective_date
840 ,p_previous_employer_id => p_previous_employer_id
841 ,p_business_group_id => l_business_group_id
842 ,p_person_id => l_person_id
843 ,p_start_date => l_start_date
844 ,p_end_date => l_end_date
848 ,p_pem_information3 => l_pem_information3
845 ,p_pem_information_category => l_pem_information_category
846 ,p_pem_information1 => l_pem_information1
847 ,p_pem_information2 => l_pem_information2
849 ,p_pem_information4 => l_pem_information4
850 ,p_pem_information5 => l_pem_information5
851 ,p_pem_information6 => l_pem_information6
852 ,p_pem_information7 => l_pem_information7
853 ,p_pem_information8 => l_pem_information8
854 ,p_pem_information9 => l_pem_information9
855 ,p_pem_information10 => l_pem_information10
856 ,p_pem_information11 => l_pem_information11
857 ,p_pem_information12 => l_pem_information12
858 ,p_pem_information13 => l_pem_information13
859 ,p_pem_information14 => l_pem_information14
860 ,p_pem_information15 => l_pem_information15
861 ,p_pem_information16 => l_pem_information16
862 ,p_pem_information17 => l_pem_information17
863 ,p_pem_information18 => l_pem_information18
864 ,p_pem_information19 => l_pem_information19
865 ,p_pem_information20 => l_pem_information20
866 ,p_pem_information21 => l_pem_information21
867 ,p_pem_information22 => l_pem_information22
868 ,p_pem_information23 => l_pem_information23
869 ,p_pem_information24 => l_pem_information24
870 ,p_pem_information25 => l_pem_information25
871 ,p_pem_information26 => l_pem_information26
872 ,p_pem_information27 => l_pem_information27
873 ,p_pem_information28 => l_pem_information28
874 ,p_pem_information29 => l_pem_information29
875 ,p_pem_information30 => l_pem_information30
876 ,p_calling_procedure => l_procedure
877 ,p_message_name => g_message_name
878 ,p_token_name => g_token_name
879 ,p_token_value => g_token_value);
880
881 pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
882 pay_in_utils.raise_message(800, g_message_name, g_token_name, g_token_value);
883
884 END check_prev_emp_update;
885
886 BEGIN
887
888 g_package := 'per_in_prev_employer_leg_hook.';
889
890 END per_in_prev_employer_leg_hook;