[Home] [Help]
PACKAGE BODY: APPS.PER_PERUSHIR_XMLP_PKG
Source
1 PACKAGE BODY PER_PERUSHIR_XMLP_PKG AS
2 /* $Header: PERUSHIRB.pls 120.1 2008/03/31 10:14:13 amakrish noship $ */
3 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4 BEGIN
5 -- HR_STANDARD.EVENT('BEFORE REPORT');
6 C_END_OF_TIME := END_OF_TIME;
7 C_BUSINESS_GROUP_NAME := GET_BUSINESS_GROUP(P_BUSINESS_GROUP_ID);
8 IF P_MEDICAL_AVAIL = 'Y' THEN
9 C_MEDICAL_AVAIL := 'Yes';
10 ELSIF P_MEDICAL_AVAIL = 'N' THEN
11 C_MEDICAL_AVAIL := 'No';
12 ELSE
13 C_MEDICAL_AVAIL := NULL;
14 END IF;
15 IF P_TAX_UNIT_ID IS NOT NULL THEN
16 C_TAX_UNIT := GET_ORG_NAME(P_TAX_UNIT_ID
17 ,P_BUSINESS_GROUP_ID);
18 END IF;
19 IF P_STATE_CODE IS NOT NULL THEN
20 C_STATE_NAME := GET_STATE_NAME(P_STATE_CODE);
21 END IF;
22
23 --P_REPORT_DATE_T := to_char(to_date(P_REPORT_DATE,'YYYY/MM/DD HH24:MI:SS'),'DD-MON-YYYY');
24 P_REPORT_DATE_T := to_char(to_date(P_REPORT_DATE,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD');
25
26 IF P_REPORT_MODE Is null THEN
27 P_REPORT_MODE:='F';
28 End IF;
29
30 IF P_STATE_CODE IN ('HI','IA','KY','MT','NM','OR','RI','TX','MD') THEN
31 Flag1 := 1;
32 ELSE
33 Flag1 := 0;
34 END IF;
35
36 IF P_STATE_CODE IN ('TX','OR','MD') THEN
37 Flag2 := 1;
38 ELSE
39 Flag2 := 0;
40 END IF;
41
42
43
44 RETURN (TRUE);
45
46 EXCEPTION
47 WHEN NO_DATA_FOUND THEN
48 RETURN NULL;
49 WHEN OTHERS THEN
50 RETURN NULL;
51
52 END BEFOREREPORT;
53
54 FUNCTION C_EMPLOYEE_ADDRESSFORMULA(PERSON_ID IN NUMBER) RETURN VARCHAR2 IS
55 BEGIN
56 DECLARE
57 L_EMPLOYEE_ADDRESS VARCHAR2(2000) := NULL;
58 L_PERSON_ID NUMBER(15);
59 BEGIN
60 L_PERSON_ID := PERSON_ID;
61 GET_EMPLOYEE_ADDRESS(L_PERSON_ID
62 ,L_EMPLOYEE_ADDRESS);
63 RETURN (L_EMPLOYEE_ADDRESS);
64 EXCEPTION
65 WHEN OTHERS THEN
66 NULL;
67 END;
68 RETURN NULL;
69 END C_EMPLOYEE_ADDRESSFORMULA;
70
71 FUNCTION C_CONTACT_NAMEFORMULA(NEW_HIRE_CONTACT_ID IN VARCHAR2) RETURN VARCHAR2 IS
72 BEGIN
73 DECLARE
74 L_PERSON_ID NUMBER(15);
75 L_BUSINESS_GROUP_ID NUMBER(15);
76 L_REPORT_DATE DATE;
77 L_CONTACT_NAME VARCHAR2(240);
78 L_CONTACT_TITLE VARCHAR2(160);
79 L_CONTACT_PHONE VARCHAR2(60);
80 BEGIN
81 L_PERSON_ID := NEW_HIRE_CONTACT_ID;
82 L_REPORT_DATE := FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE);
83 L_BUSINESS_GROUP_ID := P_BUSINESS_GROUP_ID;
84 PER_NEW_HIRE_PKG.GET_NEW_HIRE_CONTACT(L_PERSON_ID
85 ,L_BUSINESS_GROUP_ID
86 ,L_REPORT_DATE
87 ,L_CONTACT_NAME
88 ,L_CONTACT_TITLE
89 ,L_CONTACT_PHONE);
90 SET_LOCATION('Entered c_person_dets'
91 ,5);
92 TRACE('Contact name => ' || L_CONTACT_NAME);
93 SET_LOCATION('Leaving c_contact_name'
94 ,10);
95 RETURN (L_CONTACT_NAME);
96 EXCEPTION
97 WHEN NO_DATA_FOUND THEN
98 TRACE('Error is found in c_contact_name');
99 END;
100 RETURN NULL;
101 END C_CONTACT_NAMEFORMULA;
102
103 FUNCTION C_SALARYFORMULA(ASSIGNMENT_ID IN NUMBER) RETURN NUMBER IS
104 BEGIN
105 DECLARE
106 L_BUSINESS_GROUP_ID NUMBER(15);
107 L_REPORT_DATE DATE;
108 L_SALARY NUMBER;
109 BEGIN
110 SET_LOCATION('Entered c_salary formula'
111 ,5);
112 IF P_STATE_CODE = 'TX' OR P_STATE_CODE = 'OR' OR P_STATE_CODE = 'MD' THEN
113 L_BUSINESS_GROUP_ID := P_BUSINESS_GROUP_ID;
114 L_REPORT_DATE := FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE);
115 L_SALARY := GET_SALARY(L_BUSINESS_GROUP_ID
116 ,ASSIGNMENT_ID
117 ,L_REPORT_DATE);
118 SET_LOCATION('Leaving c_salary formula'
119 ,10);
120 IF P_STATE_CODE = 'TX' OR P_STATE_CODE = 'MD' THEN
121 RETURN (L_SALARY);
122 ELSE
123 RETURN (L_SALARY / 12);
124 END IF;
125 ELSE
126 SET_LOCATION('Leaving c_salary formula'
127 ,15);
128 RETURN (NULL);
129 END IF;
130 EXCEPTION
131 WHEN NO_DATA_FOUND THEN
132 NULL;
133 WHEN OTHERS THEN
134 NULL;
135 END;
136 RETURN NULL;
137 END C_SALARYFORMULA;
138
139 FUNCTION AFTERREPORT RETURN BOOLEAN IS
140 BEGIN
141 -- HR_STANDARD.EVENT('AFTER REPORT');
142
143
144 SET_LOCATION('Entered after report trigger'
145 ,5);
146 P_OUTPUT_NEW_HIRE_NULL;
147 SET_LOCATION('Entered after report trigger'
148 ,10);
149
150
151 IF P_REPORT_MODE = 'F' THEN
152
153 P_UPDATE_STATUS;
154 END IF;
155
156
157 SET_LOCATION('Leaving after report trigger'
158 ,15);
159 RETURN (TRUE);
160 RETURN NULL;
161 EXCEPTION
162 WHEN OTHERS THEN
163 SET_LOCATION('Error found in after report trigger'
164 ,20);
165 TRACE('The error message is ' || SQLERRM);
166 RETURN NULL;
167 END AFTERREPORT;
168
169 FUNCTION G_TAX_UNIT_HEADERGROUPFILTER RETURN BOOLEAN IS
170 BEGIN
171 RETURN (TRUE);
172 END G_TAX_UNIT_HEADERGROUPFILTER;
173
174 FUNCTION G_NEW_HIRESGROUPFILTER RETURN BOOLEAN IS
175 BEGIN
176 RETURN (TRUE);
177 END G_NEW_HIRESGROUPFILTER;
178
179 FUNCTION C_TAX_UNIT_ADDRESSFORMULA(LOCATION_ID IN NUMBER) RETURN VARCHAR2 IS
180 BEGIN
181 DECLARE
182 L_TAX_UNIT_ADDRESS VARCHAR2(2000);
183 L_LOCATION_ID NUMBER(15);
184 BEGIN
185 L_LOCATION_ID := LOCATION_ID;
186 GET_ADDRESS(L_LOCATION_ID
187 ,L_TAX_UNIT_ADDRESS);
188 RETURN (L_TAX_UNIT_ADDRESS);
189 EXCEPTION
190 WHEN OTHERS THEN
191 TRACE('the error is ' || TO_CHAR(SQLCODE) || SQLERRM);
192 END;
193 RETURN NULL;
194 END C_TAX_UNIT_ADDRESSFORMULA;
195
196 PROCEDURE P_UPDATE_STATUS IS
197 BEGIN
198 DECLARE
199 CURSOR C_PERSON_ID IS
200 SELECT
201 PPF.PERSON_ID,
202 PPF.LAST_NAME,
203 PPF.FIRST_NAME
204 FROM
205 PER_ALL_PEOPLE_F PPF,
206 PER_ALL_ASSIGNMENTS_F PAF,
207 HR_SOFT_CODING_KEYFLEX HSCF,
208 HR_LOCATIONS_ALL HL,
209 PER_JOBS JOB,
210 PER_PERIODS_OF_SERVICE PPS
211 WHERE PPS.PERSON_ID = PPF.PERSON_ID
212 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between PPS.DATE_START
213 AND NVL(PPS.ACTUAL_TERMINATION_DATE
214 ,C_END_OF_TIME)
215 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between PPF.EFFECTIVE_START_DATE
216 AND PPF.EFFECTIVE_END_DATE
217 AND PPF.PERSON_ID = PAF.PERSON_ID
218 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between PAF.EFFECTIVE_START_DATE
219 AND PAF.EFFECTIVE_END_DATE
220 AND HSCF.SEGMENT1 = TO_CHAR(P_TAX_UNIT_ID)
221 AND PAF.SOFT_CODING_KEYFLEX_ID = HSCF.SOFT_CODING_KEYFLEX_ID
222 AND PAF.ASSIGNMENT_TYPE = 'E'
223 AND PAF.PRIMARY_FLAG = 'Y'
224 AND PAF.LOCATION_ID = HL.LOCATION_ID
225 AND HL.REGION_2 = NVL(P_STATE_CODE
226 ,HL.REGION_2)
227 AND PAF.JOB_ID = job.job_id (+)
228 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between NVL(JOB.DATE_FROM
229 ,FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE))
230 AND NVL(JOB.DATE_TO
231 ,C_END_OF_TIME)
232 AND PPF.BUSINESS_GROUP_ID = P_BUSINESS_GROUP_ID
233 AND PPF.PER_INFORMATION_CATEGORY = 'US'
234 AND PPS.DATE_START <= FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE)
235 AND PPF.PER_INFORMATION7 = 'INCL'
236 UNION
237 SELECT
238 PPF.PERSON_ID,
239 PPF.LAST_NAME,
240 PPF.FIRST_NAME
241 FROM
242 PER_ALL_PEOPLE_F PPF,
243 PER_ALL_ASSIGNMENTS_F PAF,
244 HR_SOFT_CODING_KEYFLEX HSCF,
245 HR_LOCATIONS_ALL HL,
246 PER_JOBS JOB,
247 PER_PERIODS_OF_SERVICE PPS
248 WHERE PPS.PERSON_ID = PPF.PERSON_ID
249 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between PPF.EFFECTIVE_START_DATE
250 AND PPF.EFFECTIVE_END_DATE
251 AND PPS.ACTUAL_TERMINATION_DATE IS NOT NULL
252 AND PPF.PERSON_ID = PAF.PERSON_ID
253 AND not exists (
254 SELECT
255 1
256 FROM
257 PER_PERIODS_OF_SERVICE PPS2
258 WHERE PPF.PERSON_ID = PPS2.PERSON_ID
259 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between PPS2.DATE_START
260 AND NVL(PPS2.ACTUAL_TERMINATION_DATE
261 ,C_END_OF_TIME) )
262 AND PPS.DATE_START = PAF.EFFECTIVE_START_DATE
263 AND HSCF.SEGMENT1 = TO_CHAR(P_TAX_UNIT_ID)
264 AND PAF.SOFT_CODING_KEYFLEX_ID = HSCF.SOFT_CODING_KEYFLEX_ID
265 AND PAF.ASSIGNMENT_TYPE = 'E'
266 AND PAF.PRIMARY_FLAG = 'Y'
267 AND PAF.LOCATION_ID = HL.LOCATION_ID
268 AND HL.REGION_2 = NVL(P_STATE_CODE
269 ,HL.REGION_2)
270 AND PAF.JOB_ID = job.job_id (+)
271 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between NVL(JOB.DATE_FROM
272 ,FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE))
273 AND NVL(JOB.DATE_TO
274 ,C_END_OF_TIME)
275 AND PPF.BUSINESS_GROUP_ID = P_BUSINESS_GROUP_ID
276 AND PPF.PER_INFORMATION_CATEGORY = 'US'
277 AND PPS.DATE_START <= FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE)
278 AND PPF.PER_INFORMATION7 = 'INCL'
279 ORDER BY
280 2,
281 3;
282 V_PERSON_ID PER_PEOPLE_F.PERSON_ID%TYPE;
283 V_LAST_NAME PER_PEOPLE_F.LAST_NAME%TYPE;
284 V_FIRST_NAME PER_PEOPLE_F.FIRST_NAME%TYPE;
285 BEGIN
286
287 SET_LOCATION('Entered p_update_status'
288 ,5);
289 IF C_PERSON_ID%ISOPEN THEN
290 CLOSE C_PERSON_ID;
291 END IF;
292 OPEN C_PERSON_ID;
293 LOOP
294 FETCH C_PERSON_ID
295 INTO
296 V_PERSON_ID
297 ,V_LAST_NAME
298 ,V_FIRST_NAME;
299 UPDATE
300 PER_PEOPLE_F
301 SET
302 PER_INFORMATION7 = 'DONE'
303 WHERE PERSON_ID = V_PERSON_ID
304 AND PER_INFORMATION7 = 'INCL';
305 EXIT WHEN C_PERSON_ID%NOTFOUND;
306 END LOOP;
307 SET_LOCATION('p_update_status'
308 ,10);
309 CLOSE C_PERSON_ID;
310 COMMIT;
311 SET_LOCATION('Leaving p_update_status'
312 ,15);
313
314
315
316 EXCEPTION
317 WHEN OTHERS THEN
318 ROLLBACK;
319 END;
320 END P_UPDATE_STATUS;
321
322 FUNCTION C_CONTACT_TITLEFORMULA(NEW_HIRE_CONTACT_ID IN VARCHAR2) RETURN VARCHAR2 IS
323 BEGIN
324 DECLARE
325 L_PERSON_ID NUMBER(15);
326 L_BUSINESS_GROUP_ID NUMBER(15);
327 L_REPORT_DATE DATE;
328 L_CONTACT_NAME VARCHAR2(240);
329 L_CONTACT_TITLE VARCHAR2(160);
330 L_CONTACT_PHONE VARCHAR2(60);
331 BEGIN
332 L_PERSON_ID := NEW_HIRE_CONTACT_ID;
333 L_REPORT_DATE := FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE);
334 L_BUSINESS_GROUP_ID := P_BUSINESS_GROUP_ID;
335 PER_NEW_HIRE_PKG.GET_NEW_HIRE_CONTACT(L_PERSON_ID
336 ,L_BUSINESS_GROUP_ID
337 ,L_REPORT_DATE
338 ,L_CONTACT_NAME
339 ,L_CONTACT_TITLE
340 ,L_CONTACT_PHONE);
341 SET_LOCATION('Entered c_contact_title'
342 ,5);
343 TRACE('Contact title => ' || L_CONTACT_TITLE);
344 SET_LOCATION('Leaving c_contact_title'
345 ,10);
346 RETURN (L_CONTACT_TITLE);
347 EXCEPTION
348 WHEN NO_DATA_FOUND THEN
349 TRACE('no data found error in c_contact_title');
350 END;
351 RETURN NULL;
352 END C_CONTACT_TITLEFORMULA;
353
354 FUNCTION C_CONTACT_PHONEFORMULA(NEW_HIRE_CONTACT_ID IN VARCHAR2) RETURN VARCHAR2 IS
355 BEGIN
356 DECLARE
357 L_PERSON_ID NUMBER(15);
358 L_BUSINESS_GROUP_ID NUMBER(15);
359 L_REPORT_DATE DATE;
360 L_CONTACT_NAME VARCHAR2(240);
361 L_CONTACT_TITLE VARCHAR2(160);
362 L_CONTACT_PHONE VARCHAR2(60);
363 BEGIN
364 L_PERSON_ID := NEW_HIRE_CONTACT_ID;
365 L_REPORT_DATE := FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE);
366 L_BUSINESS_GROUP_ID := P_BUSINESS_GROUP_ID;
367 PER_NEW_HIRE_PKG.GET_NEW_HIRE_CONTACT(L_PERSON_ID
368 ,L_BUSINESS_GROUP_ID
369 ,L_REPORT_DATE
370 ,L_CONTACT_NAME
371 ,L_CONTACT_TITLE
372 ,L_CONTACT_PHONE);
373 SET_LOCATION('Entered c_contact_phone'
374 ,5);
375 TRACE('Contact phone => ' || L_CONTACT_PHONE);
376 SET_LOCATION('Leaving c_contact_phone'
377 ,10);
378 RETURN (L_CONTACT_PHONE);
379 EXCEPTION
380 WHEN NO_DATA_FOUND THEN
381 TRACE('no data found error in c_contact_phone');
382 END;
383 RETURN NULL;
384 END C_CONTACT_PHONEFORMULA;
385
386 FUNCTION BETWEENPAGE RETURN BOOLEAN IS
387 BEGIN
388 SET_LOCATION('Entered between page trigger'
389 ,5);
390 RETURN (TRUE);
391 END BETWEENPAGE;
392
393 PROCEDURE P_OUTPUT_NEW_HIRE_NULL IS
394 BEGIN
395 DECLARE
396 CURSOR C_PERSON_ID IS
397 SELECT
398 PPF.PERSON_ID,
399 PPF.LAST_NAME,
400 PPF.FIRST_NAME,
401 SUBSTR(PPF.MIDDLE_NAMES
402 ,1
403 ,1) MIDDLE_NAME,
404 PPF.NATIONAL_IDENTIFIER,
405 PPF.DATE_OF_BIRTH,
406 PPS.DATE_START
407 FROM
408 PER_ALL_PEOPLE_F PPF,
409 PER_ALL_ASSIGNMENTS_F PAF,
410 HR_SOFT_CODING_KEYFLEX HSCF,
411 HR_LOCATIONS_ALL HL,
412 PER_JOBS JOB,
413 PER_PERIODS_OF_SERVICE PPS
414 WHERE PPS.PERSON_ID = PPF.PERSON_ID
415 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between PPS.DATE_START
416 AND NVL(PPS.ACTUAL_TERMINATION_DATE
417 ,C_END_OF_TIME)
418 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between PPF.EFFECTIVE_START_DATE
419 AND PPF.EFFECTIVE_END_DATE
420 AND PPF.PERSON_ID = PAF.PERSON_ID
421 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between PAF.EFFECTIVE_START_DATE
422 AND PAF.EFFECTIVE_END_DATE
423 AND HSCF.SEGMENT1 = TO_CHAR(P_TAX_UNIT_ID)
424 AND PAF.SOFT_CODING_KEYFLEX_ID = HSCF.SOFT_CODING_KEYFLEX_ID
425 AND PAF.ASSIGNMENT_TYPE = 'E'
426 AND PAF.PRIMARY_FLAG = 'Y'
427 AND PAF.LOCATION_ID = HL.LOCATION_ID
428 AND HL.REGION_2 = NVL(P_STATE_CODE
429 ,HL.REGION_2)
430 AND PAF.JOB_ID = job.job_id (+)
431 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between NVL(JOB.DATE_FROM
432 ,FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE))
433 AND NVL(JOB.DATE_TO
434 ,C_END_OF_TIME)
435 AND PPF.BUSINESS_GROUP_ID = P_BUSINESS_GROUP_ID
436 AND PPF.PER_INFORMATION_CATEGORY = 'US'
437 AND PPS.DATE_START <= FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE)
438 AND PPF.PER_INFORMATION7 is NULL
439 UNION
440 SELECT
441 PPF.PERSON_ID,
442 PPF.LAST_NAME,
443 PPF.FIRST_NAME,
444 SUBSTR(PPF.MIDDLE_NAMES
445 ,1
446 ,1) MIDDLE_NAME,
447 PPF.NATIONAL_IDENTIFIER,
448 PPF.DATE_OF_BIRTH,
449 PPS.DATE_START
450 FROM
451 PER_ALL_PEOPLE_F PPF,
452 PER_ALL_ASSIGNMENTS_F PAF,
453 HR_SOFT_CODING_KEYFLEX HSCF,
454 HR_LOCATIONS_ALL HL,
455 PER_JOBS JOB,
456 PER_PERIODS_OF_SERVICE PPS
457 WHERE PPS.PERSON_ID = PPF.PERSON_ID
458 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between PPF.EFFECTIVE_START_DATE
459 AND PPF.EFFECTIVE_END_DATE
460 AND PPS.ACTUAL_TERMINATION_DATE IS NOT NULL
461 AND PPF.PERSON_ID = PAF.PERSON_ID
462 AND not exists (
463 SELECT
464 1
465 FROM
466 PER_PERIODS_OF_SERVICE PPS2
467 WHERE PPF.PERSON_ID = PPS2.PERSON_ID
468 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between PPS2.DATE_START
469 AND NVL(PPS2.ACTUAL_TERMINATION_DATE
470 ,C_END_OF_TIME) )
471 AND PPS.DATE_START = PAF.EFFECTIVE_START_DATE
472 AND HSCF.SEGMENT1 = TO_CHAR(P_TAX_UNIT_ID)
473 AND PAF.SOFT_CODING_KEYFLEX_ID = HSCF.SOFT_CODING_KEYFLEX_ID
474 AND PAF.ASSIGNMENT_TYPE = 'E'
475 AND PAF.PRIMARY_FLAG = 'Y'
476 AND PAF.LOCATION_ID = HL.LOCATION_ID
477 AND HL.REGION_2 = NVL(P_STATE_CODE
478 ,HL.REGION_2)
479 AND PAF.JOB_ID = job.job_id (+)
480 AND FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE) between NVL(JOB.DATE_FROM
481 ,FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE))
482 AND NVL(JOB.DATE_TO
483 ,C_END_OF_TIME)
484 AND PPF.BUSINESS_GROUP_ID = P_BUSINESS_GROUP_ID
485 AND PPF.PER_INFORMATION_CATEGORY = 'US'
486 AND PPS.DATE_START <= FND_DATE.CANONICAL_TO_DATE(P_REPORT_DATE)
487 AND PPF.PER_INFORMATION7 is NULL
488 ORDER BY
489 2,
490 3;
491 V_PERSON_ID PER_ALL_PEOPLE_F.PERSON_ID%TYPE;
492 V_LAST_NAME PER_ALL_PEOPLE_F.LAST_NAME%TYPE;
493 V_FIRST_NAME PER_ALL_PEOPLE_F.FIRST_NAME%TYPE;
494 V_MIDDLE_NAME PER_ALL_PEOPLE_F.MIDDLE_NAMES%TYPE;
495 V_SSN PER_ALL_PEOPLE_F.NATIONAL_IDENTIFIER%TYPE;
496 V_DOB PER_ALL_PEOPLE_F.DATE_OF_BIRTH%TYPE;
497 V_DATE_START PER_PERIODS_OF_SERVICE.DATE_START%TYPE;
498 V_HEADER NUMBER;
499 V_BUFFER VARCHAR2(120);
500 V_BOOLEAN BOOLEAN;
501 BEGIN
502 SET_LOCATION('Entered p_output_new_hire_null'
503 ,10);
504 V_HEADER := 0;
505 IF C_PERSON_ID%ISOPEN THEN
506 CLOSE C_PERSON_ID;
507 END IF;
508 OPEN C_PERSON_ID;
509 FETCH C_PERSON_ID
510 INTO
511 V_PERSON_ID
512 ,V_LAST_NAME
513 ,V_FIRST_NAME
514 ,V_MIDDLE_NAME
515 ,V_SSN
516 ,V_DOB
517 ,V_DATE_START;
518 WHILE C_PERSON_ID%FOUND LOOP
519
520 IF V_HEADER = 0 THEN
521 V_BOOLEAN := FND_CONCURRENT.SET_COMPLETION_STATUS('WARNING'
522 ,'');
523 FND_FILE.PUT_LINE(1
524 ,'Warning : The New Hire field of the following employees on people form is blank.');
525 FND_FILE.PUT_LINE(1
526 ,'Warning : Please update the New Hire field.');
527 FND_FILE.PUT_LINE(1
528 ,' ');
529 FND_FILE.PUT_LINE(1
530 ,'Last Name First Name MI SSN Hire Date DOB ');
531 FND_FILE.PUT_LINE(1
532 ,'------------------------ -------------------- -- ----------- --------- ---------');
533 V_BUFFER := RPAD(V_LAST_NAME
534 ,24
535 ,' ') || RPAD(' '
536 ,1
537 ,' ') || RPAD(NVL(V_FIRST_NAME
538 ,' ')
539 ,20
540 ,' ') || RPAD(' '
541 ,1
542 ,' ') || RPAD(NVL(V_MIDDLE_NAME
543 ,' ')
544 ,2
545 ,' ') || RPAD(' '
546 ,1
547 ,' ') || RPAD(NVL(V_SSN
548 ,' ')
549 ,11
550 ,' ') || RPAD(' '
551 ,1
552 ,' ') || RPAD(TO_DATE(V_DATE_START
553 ,'DD-MON-RRRR')
554 ,9
555 ,' ') || RPAD(' '
556 ,1
557 ,' ') || RPAD(TO_DATE(V_DOB
558 ,'DD-MON-RRRR')
559 ,9
560 ,' ');
561 FND_FILE.PUT_LINE(1
562 ,V_BUFFER);
563 V_HEADER := 1;
564 ELSE
565 V_BUFFER := RPAD(V_LAST_NAME
566 ,24
567 ,' ') || RPAD(' '
568 ,1
569 ,' ') || RPAD(NVL(V_FIRST_NAME
570 ,' ')
571 ,20
572 ,' ') || RPAD(' '
573 ,1
574 ,' ') || RPAD(NVL(V_MIDDLE_NAME
575 ,' ')
576 ,2
577 ,' ') || RPAD(' '
578 ,1
579 ,' ') || RPAD(NVL(V_SSN
580 ,' ')
581 ,11
582 ,' ') || RPAD(' '
583 ,1
584 ,' ') || RPAD(TO_DATE(V_DATE_START
585 ,'DD-MON-RRRR')
586 ,9
587 ,' ') || RPAD(' '
588 ,1
589 ,' ') || RPAD(TO_DATE(V_DOB
590 ,'DD-MON-RRRR')
591 ,9
592 ,' ');
593 FND_FILE.PUT_LINE(1
594 ,V_BUFFER);
595 END IF;
596 FETCH C_PERSON_ID
597 INTO
598 V_PERSON_ID
599 ,V_LAST_NAME
600 ,V_FIRST_NAME
601 ,V_MIDDLE_NAME
602 ,V_SSN
603 ,V_DOB
604 ,V_DATE_START;
605 END LOOP;
606 FND_FILE.PUT_LINE(1
607 ,' ');
608 SET_LOCATION('p_output_new_hire_null'
609 ,100);
610 CLOSE C_PERSON_ID;
611 EXCEPTION
612 WHEN OTHERS THEN
613 ROLLBACK;
614 END;
615 END P_OUTPUT_NEW_HIRE_NULL;
616
617 FUNCTION AFTERPFORM RETURN BOOLEAN IS
618 BEGIN
619 RETURN (TRUE);
620 END AFTERPFORM;
621
622 FUNCTION C_BUSINESS_GROUP_NAME_P RETURN VARCHAR2 IS
623 BEGIN
624 RETURN C_BUSINESS_GROUP_NAME;
625 END C_BUSINESS_GROUP_NAME_P;
626
627 FUNCTION C_REPORT_SUBTITLE_P RETURN VARCHAR2 IS
628 BEGIN
629 RETURN C_REPORT_SUBTITLE;
630 END C_REPORT_SUBTITLE_P;
631
632 FUNCTION C_TAX_UNIT_P RETURN VARCHAR2 IS
633 BEGIN
634 RETURN C_TAX_UNIT;
635 END C_TAX_UNIT_P;
636
637 FUNCTION C_STATE_NAME_P RETURN VARCHAR2 IS
638 BEGIN
639 RETURN C_STATE_NAME;
640 END C_STATE_NAME_P;
641
642 FUNCTION C_MEDICAL_AVAIL_P RETURN VARCHAR2 IS
643 BEGIN
644 RETURN C_MEDICAL_AVAIL;
645 END C_MEDICAL_AVAIL_P;
646
647 FUNCTION C_END_OF_TIME_P RETURN DATE IS
648 BEGIN
649 RETURN C_END_OF_TIME;
650 END C_END_OF_TIME_P;
651 FUNCTION GET_BUSINESS_GROUP(P_BUSINESS_GROUP_ID IN NUMBER) RETURN VARCHAR2 IS
652 X0 VARCHAR2(2000);
653 BEGIN
654 X0 := HR_REPORTS.GET_BUSINESS_GROUP(P_BUSINESS_GROUP_ID);
655 RETURN X0;
656 END GET_BUSINESS_GROUP;
657
658
659
660 FUNCTION END_OF_TIME RETURN DATE IS
661 X0 DATE;
662 BEGIN
663 X0 := HR_GENERAL.END_OF_TIME;
664 RETURN X0;
665 END END_OF_TIME;
666
667 FUNCTION GET_ORG_NAME(P_ORGANIZATION_ID IN NUMBER
668 ,P_BUSINESS_GROUP_ID IN NUMBER) RETURN VARCHAR2 IS
669 X0 VARCHAR2(2000);
670 BEGIN
671 X0 := HR_US_REPORTS.GET_ORG_NAME(P_ORGANIZATION_ID,P_BUSINESS_GROUP_ID);
672 RETURN X0;
673 END GET_ORG_NAME;
674
675 FUNCTION GET_STATE_NAME(P_STATE_CODE IN VARCHAR2) RETURN VARCHAR2 IS
676 X0 VARCHAR2(2000);
677 BEGIN
678 X0 := HR_US_REPORTS.GET_STATE_NAME(P_STATE_CODE);
679 RETURN X0;
680 END GET_STATE_NAME;
681
682 PROCEDURE GET_EMPLOYEE_ADDRESS(P_PERSON_ID IN NUMBER
683 ,P_ADDRESS OUT NOCOPY VARCHAR2) IS
684 BEGIN
685 HR_US_REPORTS.GET_EMPLOYEE_ADDRESS(P_PERSON_ID, P_ADDRESS);
686
687 END GET_EMPLOYEE_ADDRESS;
688
689 PROCEDURE SET_LOCATION(PROCEDURE_NAME IN VARCHAR2
690 ,STAGE IN NUMBER) IS
691 BEGIN
692 HR_UTILITY.SET_LOCATION(PROCEDURE_NAME, STAGE);
693 END SET_LOCATION;
694
695 PROCEDURE TRACE(TRACE_DATA IN VARCHAR2) IS
696 BEGIN
697 HR_UTILITY.TRACE(TRACE_DATA);
698 END TRACE;
699
700 FUNCTION GET_SALARY(P_PAY_BASIS_ID IN NUMBER
701 ,P_ASSIGNMENT_ID IN NUMBER) RETURN VARCHAR2 IS
702 X0 VARCHAR2(2000);
703 BEGIN
704 X0 := HR_GENERAL.GET_SALARY(P_PAY_BASIS_ID, P_ASSIGNMENT_ID);
705 RETURN X0;
706 END GET_SALARY;
707
708 FUNCTION GET_SALARY(P_BUSINESS_GROUP_ID IN NUMBER
709 ,P_ASSIGNMENT_ID IN NUMBER
710 ,P_REPORT_DATE IN DATE) RETURN NUMBER IS
711 X0 NUMBER;
712 BEGIN
713 X0 := HR_US_REPORTS.GET_SALARY(P_BUSINESS_GROUP_ID, P_ASSIGNMENT_ID, P_REPORT_DATE);
714 RETURN X0;
715 END GET_SALARY;
716
717 PROCEDURE GET_ADDRESS(P_LOCATION_ID IN NUMBER
718 ,P_ADDRESS OUT NOCOPY VARCHAR2) IS
719 BEGIN
720 HR_US_REPORTS.GET_ADDRESS(P_LOCATION_ID, P_ADDRESS);
721 END GET_ADDRESS;
722
723 END PER_PERUSHIR_XMLP_PKG;