DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_PYAURECD_XMLP_PKG

Source


1 PACKAGE BODY PAY_PYAURECD_XMLP_PKG AS
2 /* $Header: PYAURECDB.pls 120.1 2008/03/31 09:48:11 amakrish noship $ */
3 
4   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
5     REQ_ID NUMBER;
6     L_PACT_ID NUMBER;
7     Rep_name varchar2(50);
8   BEGIN
9   /*added as fix:*/
10   select concurrent_program_name into Rep_name  from fnd_concurrent_programs fc,FND_CONCURRENT_REQUESTS fn
11 where  fn.concurrent_program_id=fc.concurrent_program_id
12 and request_id= FND_GLOBAL.conc_request_id;
13 if Rep_name='PYAUREPSR_XML' then
14   select
15   SUBSTR(argument1,INSTR(argument1,'=',1)+1,LENGTH(argument1)),
16   SUBSTR(argument2,INSTR(argument2,'=',1)+1,LENGTH(argument2)),
17   SUBSTR(argument3,INSTR(argument3,'=',1)+1,LENGTH(argument3)),
18   SUBSTR(argument4,INSTR(argument4,'=',1)+1,LENGTH(argument4)),
19   SUBSTR(argument5,INSTR(argument5,'=',1)+1,LENGTH(argument5)),
20   SUBSTR(argument6,INSTR(argument6,'=',1)+1,LENGTH(argument6)),
21   SUBSTR(argument7,INSTR(argument7,'=',1)+1,LENGTH(argument7)),
22   SUBSTR(argument8,INSTR(argument8,'=',1)+1,LENGTH(argument8)),
23   SUBSTR(argument9,INSTR(argument9,'=',1)+1,LENGTH(argument9)),
24   SUBSTR(argument10,INSTR(argument10,'=',1)+1,LENGTH(argument10)),
25   SUBSTR(argument11,INSTR(argument11,'=',1)+1,LENGTH(argument11)),
26   substr(argument12,instr(argument12,'=',1)+1,LENGTH(argument12)),
27   substr(argument13,instr(argument13,'=',1)+1,LENGTH(argument13)),
28   substr(argument14,instr(argument14,'=',1)+1,LENGTH(argument14)),
29   substr(argument15,instr(argument15,'=',1)+1,LENGTH(argument15)),
30   substr(argument16,instr(argument16,'=',1)+1,LENGTH(argument16)),
31   substr(argument17,instr(argument17,'=',1)+1,LENGTH(argument17)),
32   substr(argument18,instr(argument18,'=',1)+1,LENGTH(argument18)),
33   substr(argument19,instr(argument19,'=',1)+1,LENGTH(argument19)),
34   substr(argument20,instr(argument20,'=',1)+1,LENGTH(argument20)),
35   substr(argument21,instr(argument21,'=',1)+1,LENGTH(argument21))
36   into
37   LP_PAYROLL_ACTION_ID,
38   LP_BUSINESS_GROUP_ID,
39   LP_ORGANIZATION_ID,
40   LP_PAYROLL_ID,
41   LP_REGISTERED_EMPLOYER,
42   LP_ASSIGNMENT_ID,
43   LP_START_DATE_D,
44   LP_END_DATE_D,
45   LP_PAYROLL_RUN_ID,
46   LP_PERIOD_END_DATE_D,
47   LP_EMPLOYEE_TYPE,
48   LP_YTD_TOTALS,
49   LP_ZERO_RECORDS,
50   LP_NEGATIVE_RECORDS,
51   LP_SORT_ORDER_1,
52   LP_SORT_ORDER_2,
53   LP_SORT_ORDER_3,
54   LP_SORT_ORDER_4,
55   P_PAYSUM_FLAG,
56   LP_LST_YEAR_TERM,
57   LP_DELETE_ACTIONS
58 
59     from FND_CONCURRENT_REQUESTS
60 where request_id= FND_GLOBAL.conc_request_id;
61 
62 end if;
63 if Rep_name='PYAURECD_XML' then
64   select
65   SUBSTR(argument1,INSTR(argument1,'=',1)+1,LENGTH(argument1)),
66   SUBSTR(argument2,INSTR(argument2,'=',1)+1,LENGTH(argument2)),
67   SUBSTR(argument3,INSTR(argument3,'=',1)+1,LENGTH(argument3)),
68   SUBSTR(argument4,INSTR(argument4,'=',1)+1,LENGTH(argument4)),
69   SUBSTR(argument5,INSTR(argument5,'=',1)+1,LENGTH(argument5)),
70   SUBSTR(argument6,INSTR(argument6,'=',1)+1,LENGTH(argument6)),
71   SUBSTR(argument7,INSTR(argument7,'=',1)+1,LENGTH(argument7)),
72   SUBSTR(argument8,INSTR(argument8,'=',1)+1,LENGTH(argument8)),
73   SUBSTR(argument9,INSTR(argument9,'=',1)+1,LENGTH(argument9)),
74   SUBSTR(argument10,INSTR(argument10,'=',1)+1,LENGTH(argument10)),
75   SUBSTR(argument11,INSTR(argument11,'=',1)+1,LENGTH(argument11)),
76   substr(argument12,instr(argument12,'=',1)+1,LENGTH(argument12)),
77   substr(argument13,instr(argument13,'=',1)+1,LENGTH(argument13)),
78   substr(argument14,instr(argument14,'=',1)+1,LENGTH(argument14)),
79   substr(argument15,instr(argument15,'=',1)+1,LENGTH(argument15)),
80   substr(argument16,instr(argument16,'=',1)+1,LENGTH(argument16)),
81   substr(argument17,instr(argument17,'=',1)+1,LENGTH(argument17)),
82   substr(argument18,instr(argument18,'=',1)+1,LENGTH(argument18)),
83   substr(argument21,instr(argument21,'=',1)+1,LENGTH(argument21))
84   into
85   LP_PAYROLL_ACTION_ID,
86   LP_BUSINESS_GROUP_ID,
87   LP_ORGANIZATION_ID,
88   LP_PAYROLL_ID,
89   LP_REGISTERED_EMPLOYER,
90   LP_ASSIGNMENT_ID,
91   LP_START_DATE_D,
92   LP_END_DATE_D,
93   LP_PAYROLL_RUN_ID,
94   LP_PERIOD_END_DATE_D,
95   LP_EMPLOYEE_TYPE,
96   LP_YTD_TOTALS,
97   LP_ZERO_RECORDS,
98   LP_NEGATIVE_RECORDS,
99   LP_SORT_ORDER_1,
100   LP_SORT_ORDER_2,
101   LP_SORT_ORDER_3,
102   LP_SORT_ORDER_4,
103   LP_DELETE_ACTIONS
104 
105     from FND_CONCURRENT_REQUESTS
106 where request_id= FND_GLOBAL.conc_request_id;
107 
108 end if;
109 
110 LP_START_DATE := to_date(LP_START_DATE_D,'YYYY/MM/DD');
111 LP_END_DATE := to_date(LP_END_DATE_D,'YYYY/MM/DD');
112 LP_PERIOD_END_DATE := to_date(LP_PERIOD_END_DATE_D,'YYYY/MM/DD');
113 LP_START_DATE_D:=to_char(LP_START_DATE,'DD-MON-YYYY');
114 LP_END_DATE_D:=to_char(LP_END_DATE,'DD-MON-YYYY');
115 /*fix ends*/
116     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
117     ORDERBY_CLAUSE := ' ';
118     IF (P_PAYSUM_FLAG IS NULL) THEN
119       P_PAYSUM_FLAG := 'N';
120     END IF;
121     IF (LP_SORT_ORDER_1 IS NOT NULL) THEN
122       IF (LP_SORT_ORDER_1 = 'EMPLOYEE') THEN
123         ORDERBY_CLAUSE := 'Order By pai_asg.action_information1';
124       ELSIF (LP_SORT_ORDER_1 = 'LEGAL_EMPLOYER') THEN
125         ORDERBY_CLAUSE := 'Order By pai_asg.action_information9';
126         LP_SORT_ORDER_1 := 'LEGAL EMPLOYER';
127       ELSIF (LP_SORT_ORDER_1 = 'ORGANIZATION') THEN
128         ORDERBY_CLAUSE := 'Order By pai_asg.action_information8';
129       ELSE
130         ORDERBY_CLAUSE := 'Order By pai_asg.action_information10';
131       END IF;
132     END IF;
133     IF (LP_SORT_ORDER_2 IS NOT NULL) THEN
134       IF (LP_SORT_ORDER_2 = 'EMPLOYEE') THEN
135         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information1';
136       ELSIF (LP_SORT_ORDER_2 = 'LEGAL_EMPLOYER') THEN
137         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information9';
138         LP_SORT_ORDER_2 := 'LEGAL EMPLOYER';
139       ELSIF (LP_SORT_ORDER_2 = 'ORGANIZATION') THEN
140         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information8';
141       ELSE
142         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information10';
143       END IF;
144     END IF;
145     IF (LP_SORT_ORDER_3 IS NOT NULL) THEN
146       IF (LP_SORT_ORDER_3 = 'EMPLOYEE') THEN
147         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information1';
148       ELSIF (LP_SORT_ORDER_3 = 'LEGAL_EMPLOYER') THEN
149         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information9';
150         LP_SORT_ORDER_3 := 'LEGAL EMPLOYER';
151       ELSIF (LP_SORT_ORDER_3 = 'ORGANIZATION') THEN
152         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information8';
153       ELSE
154         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information10';
155       END IF;
156     END IF;
157     IF (LP_SORT_ORDER_4 IS NOT NULL) THEN
158       IF (LP_SORT_ORDER_4 = 'EMPLOYEE') THEN
159         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information1';
160       ELSIF (LP_SORT_ORDER_4 = 'LEGAL_EMPLOYER') THEN
161         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information9';
162         LP_SORT_ORDER_4 := 'LEGAL EMPLOYER';
163       ELSIF (LP_SORT_ORDER_4 = 'ORGANIZATION') THEN
164         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information8';
165       ELSE
166         ORDERBY_CLAUSE := ORDERBY_CLAUSE || ',pai_asg.action_information10';
167       END IF;
168     END IF;
169     IF (P_PAYSUM_FLAG = 'Y') THEN
170       ORDERBY_CLAUSE := 'Order by pai_asg.assignment_id';
171     END IF;
172     CP_PS_PAYSUM_GROSS := 0;
173     CP_PS_WORKPLACE_GIVING := 0;
174     CP_PS_REP_ALLOWANCES := 0;
175     CP_PS_ETP := 0;
176     CP_PS_RFB := 0;
177     CP_PS_ASSESSABLE_ETP := 0;
178     CP_PS_CDEP := 0;
179     CP_PS_OTHER_INCOME := 0;
180     CP_PS_UNION_FEES := 0;
181     CP_PS_LUMPSUM_PAYMENTS := 0;
182     CP_MAN_PS_PAYSUM_GROSS := 0;
183     CP_MAN_PS_WORKPLACE_GIVING := 0;
184     CP_MAN_PS_REP_ALLOWANCES := 0;
185     CP_MAN_PS_ETP := 0;
186     CP_MAN_PS_RFB := 0;
187     CP_MAN_PS_ASSESSABLE_ETP := 0;
188     CP_MAN_PS_CDEP := 0;
189     CP_MAN_PS_OTHER_INCOME := 0;
190     CP_MAN_PS_UNION_FEES := 0;
191     CP_MAN_PS_LUMPSUM_PAYMENTS := 0;
192     CP_PRINTED_COUNT := 0;
193     CP_MANUAL_COUNT := 0;
194     RETURN (TRUE);
195   END BEFOREREPORT;
196 
197   FUNCTION AFTERREPORT RETURN BOOLEAN IS
198   BEGIN
199     IF LP_DELETE_ACTIONS = 'Y' THEN
200       BEGIN
201         DELETE FROM PAY_ACTION_INFORMATION
202          WHERE ACTION_INFORMATION_CATEGORY = 'AU_EMPLOYEE_RECON_DETAILS'
203            AND ACTION_CONTEXT_ID = LP_PAYROLL_ACTION_ID;
204         IF P_PAYSUM_FLAG = 'Y' THEN
205           DELETE FROM PAY_ACTION_INFORMATION
206            WHERE ACTION_INFORMATION_CATEGORY in ( 'AU_ELEMENT_RECON_DETAILS' , 'AU_BALANCE_RECON_DETAILS_YTD' , 'AU_PS_BALANCE_RECON_DETAILS' )
207              AND ACTION_CONTEXT_ID in (
208              SELECT
209                PAA.ASSIGNMENT_ACTION_ID
210              FROM
211                PAY_ASSIGNMENT_ACTIONS PAA
212              WHERE PAYROLL_ACTION_ID = LP_PAYROLL_ACTION_ID
213                AND PAA.ACTION_STATUS = 'C' );
214         ELSE
215           DELETE FROM PAY_ACTION_INFORMATION
216            WHERE ACTION_INFORMATION_CATEGORY in ( 'AU_ELEMENT_RECON_DETAILS' , 'AU_BALANCE_RECON_DETAILS_RUN' , 'AU_BALANCE_RECON_DETAILS_YTD' )
217              AND ACTION_CONTEXT_ID in (
218              SELECT
219                PAA.ASSIGNMENT_ACTION_ID
220              FROM
221                PAY_ASSIGNMENT_ACTIONS PAA
222              WHERE PAA.PAYROLL_ACTION_ID = LP_PAYROLL_ACTION_ID
223                AND PAA.ACTION_STATUS = 'C' );
224           DELETE FROM PAY_ACTION_INFORMATION
225            WHERE ACTION_INFORMATION_CATEGORY = 'AU_ARCHIVE_ASG_DETAILS'
226              AND ACTION_INFORMATION2 = TO_CHAR(LP_PAYROLL_ACTION_ID);
227         END IF;
228       EXCEPTION
229         WHEN OTHERS THEN
230           NULL;
231       END;
232       BEGIN
233         DELETE FROM PAY_ASSIGNMENT_ACTIONS PAA
234          WHERE PAA.PAYROLL_ACTION_ID = LP_PAYROLL_ACTION_ID;
235         DELETE FROM PAY_PAYROLL_ACTIONS PPA
236          WHERE PPA.PAYROLL_ACTION_ID = LP_PAYROLL_ACTION_ID;
237       EXCEPTION
238         WHEN OTHERS THEN
239           NULL;
240       END;
241       COMMIT;
242     END IF;
243     RETURN (TRUE);
244   END AFTERREPORT;
245 
246   FUNCTION CF_BUSINESS_GROUPFORMULA RETURN VARCHAR2 IS
247     V_BUSINESS_GROUP HR_ALL_ORGANIZATION_UNITS.NAME%TYPE;
248   BEGIN
249     V_BUSINESS_GROUP := HR_REPORTS.GET_BUSINESS_GROUP(LP_BUSINESS_GROUP_ID);
250     RETURN V_BUSINESS_GROUP;
251   END CF_BUSINESS_GROUPFORMULA;
252 
253   FUNCTION CF_LEGISLATION_CODEFORMULA RETURN VARCHAR2 IS
254     V_LEGISLATION_CODE HR_ORGANIZATION_INFORMATION.ORG_INFORMATION9%TYPE := NULL;
255     CURSOR LEGISLATION_CODE(C_BUSINESS_GROUP_ID IN HR_ORGANIZATION_INFORMATION.ORGANIZATION_ID%TYPE) IS
256       SELECT
257         ORG_INFORMATION9
258       FROM
259         HR_ORGANIZATION_INFORMATION
260       WHERE ORGANIZATION_ID = C_BUSINESS_GROUP_ID
261         AND ORG_INFORMATION9 is not null
262         AND ORG_INFORMATION_CONTEXT = 'Business Group Information';
263   BEGIN
264     OPEN LEGISLATION_CODE(LP_BUSINESS_GROUP_ID);
265     FETCH LEGISLATION_CODE
266      INTO
267        V_LEGISLATION_CODE;
268     CLOSE LEGISLATION_CODE;
269     RETURN V_LEGISLATION_CODE;
270   END CF_LEGISLATION_CODEFORMULA;
271 
272   FUNCTION CF_CURRENCY_FORMAT_MASKFORMULA(CF_LEGISLATION_CODE IN VARCHAR2) RETURN VARCHAR2 IS
273     V_CURRENCY_CODE FND_CURRENCIES.CURRENCY_CODE%TYPE;
274     V_FORMAT_MASK VARCHAR2(100) := NULL;
275     V_FIELD_LENGTH NUMBER(3) := 14;
276     CURSOR CURRENCY_FORMAT_MASK(C_TERRITORY_CODE IN FND_CURRENCIES.ISSUING_TERRITORY_CODE%TYPE) IS
277       SELECT
278         CURRENCY_CODE
279       FROM
280         FND_CURRENCIES
281       WHERE ISSUING_TERRITORY_CODE = C_TERRITORY_CODE;
282   BEGIN
283     OPEN CURRENCY_FORMAT_MASK(CF_LEGISLATION_CODE);
284     FETCH CURRENCY_FORMAT_MASK
285      INTO
286        V_CURRENCY_CODE;
287     CLOSE CURRENCY_FORMAT_MASK;
288     V_FORMAT_MASK := FND_CURRENCY.GET_FORMAT_MASK(V_CURRENCY_CODE
289                                                  ,V_FIELD_LENGTH);
290     RETURN V_FORMAT_MASK;
291   END CF_CURRENCY_FORMAT_MASKFORMULA;
292 
293   PROCEDURE SET_CURRENCY_FORMAT_MASK IS
294   BEGIN
295     NULL;
296   END SET_CURRENCY_FORMAT_MASK;
297 
298   FUNCTION P_BUSINESS_GROUP_IDVALIDTRIGGE RETURN BOOLEAN IS
299   BEGIN
300     RETURN (TRUE);
301   END P_BUSINESS_GROUP_IDVALIDTRIGGE;
302 
303   FUNCTION CF_EMPLOYEE_TYPE_DISPLAYFORMUL RETURN CHAR IS
304   BEGIN
305     IF (LP_EMPLOYEE_TYPE = 'B') THEN
306       RETURN ('Both Current and Terminated Employees');
307     END IF;
308     IF (LP_EMPLOYEE_TYPE = 'C') THEN
309       RETURN ('Only Current Employees');
310     END IF;
311     IF (LP_EMPLOYEE_TYPE = 'T') THEN
312       RETURN ('Only Terminated Employees');
313     END IF;
314   END CF_EMPLOYEE_TYPE_DISPLAYFORMUL;
315 
316   FUNCTION CF_EMP_DISPLAYFORMULA RETURN CHAR IS
317     L_EMP_NAME VARCHAR2(80) := NULL;
318     CURSOR GET_EMP_NAME(C_ASS_ID IN PER_ASSIGNMENTS_F.ASSIGNMENT_ID%TYPE) IS
319       SELECT
320         SUBSTR(PPF.FULL_NAME
321               ,1
322               ,80)
323       FROM
324         PER_PEOPLE_F PPF,
325         PER_ASSIGNMENTS_F PAF
326       WHERE PAF.PERSON_ID = PPF.PERSON_ID
327         AND PAF.ASSIGNMENT_ID = C_ASS_ID;
328   BEGIN
329     IF (LP_ASSIGNMENT_ID IS NOT NULL) THEN
330       OPEN GET_EMP_NAME(LP_ASSIGNMENT_ID);
331       FETCH GET_EMP_NAME
332        INTO
333          L_EMP_NAME;
334       CLOSE GET_EMP_NAME;
335     END IF;
336     RETURN L_EMP_NAME;
337   END CF_EMP_DISPLAYFORMULA;
338 
339   FUNCTION CF_LEG_EMP_DISPLAYFORMULA RETURN CHAR IS
340     L_LEG_EMP_NAME VARCHAR2(80) := NULL;
341     CURSOR GET_LEG_EMP_NAME(C_LEG_EMP_ID IN HR_ORGANIZATION_UNITS.ORGANIZATION_ID%TYPE) IS
342       SELECT
343         SUBSTR(NAME
344               ,1
345               ,80)
346       FROM
347         HR_ORGANIZATION_UNITS
348       WHERE ORGANIZATION_ID = C_LEG_EMP_ID;
349   BEGIN
350     IF (LP_REGISTERED_EMPLOYER IS NOT NULL) THEN
351       OPEN GET_LEG_EMP_NAME(LP_REGISTERED_EMPLOYER);
352       FETCH GET_LEG_EMP_NAME
353        INTO
354          L_LEG_EMP_NAME;
355       CLOSE GET_LEG_EMP_NAME;
356     END IF;
357     RETURN L_LEG_EMP_NAME;
358   END CF_LEG_EMP_DISPLAYFORMULA;
359 
360   FUNCTION CF_NEG_RECORDS_DISPLAYFORMULA RETURN CHAR IS
361   BEGIN
362     IF (LP_NEGATIVE_RECORDS = 'Y') THEN
363       RETURN ('Yes');
364     END IF;
365     IF (LP_NEGATIVE_RECORDS = 'N') THEN
366       RETURN ('No');
367     END IF;
368   END CF_NEG_RECORDS_DISPLAYFORMULA;
369 
370   FUNCTION CF_NO_DATA_END_REPORTFORMULA(CS_DATA_EXISTS IN NUMBER) RETURN CHAR IS
371   BEGIN
372     IF (CS_DATA_EXISTS = 0) THEN
373       RETURN (CP_NO_DATA_FOUND);
374     ELSE
375       RETURN (CP_END_REPORT);
376     END IF;
377   END CF_NO_DATA_END_REPORTFORMULA;
378 
379   FUNCTION CF_ORG_ID_DISPLAYFORMULA RETURN CHAR IS
380     L_ORG_NAME VARCHAR2(80) := NULL;
381     CURSOR GET_ORG_NAME(C_ORGANIZATION_ID IN HR_ORGANIZATION_UNITS.ORGANIZATION_ID%TYPE) IS
382       SELECT
383         SUBSTR(NAME
384               ,1
385               ,80)
386       FROM
387         HR_ORGANIZATION_UNITS
388       WHERE ORGANIZATION_ID = C_ORGANIZATION_ID;
389   BEGIN
390     IF (LP_ORGANIZATION_ID IS NOT NULL) THEN
391       OPEN GET_ORG_NAME(LP_ORGANIZATION_ID);
392       FETCH GET_ORG_NAME
393        INTO
394          L_ORG_NAME;
395       CLOSE GET_ORG_NAME;
396     END IF;
397     RETURN L_ORG_NAME;
398   END CF_ORG_ID_DISPLAYFORMULA;
399 
400   FUNCTION CF_PAYROLL_NAMEFORMULA RETURN VARCHAR2 IS
401     L_PAYROLL_NAME VARCHAR2(80) := NULL;
402     CURSOR GET_PAYROLL_NAME(C_PAYROLL_ID IN PAY_ALL_PAYROLLS_F.PAYROLL_ID%TYPE) IS
403       SELECT
404         SUBSTR(PAYROLL_NAME
405               ,1
406               ,80)
407       FROM
408         PAY_ALL_PAYROLLS_F
409       WHERE PAYROLL_ID = C_PAYROLL_ID;
410   BEGIN
411     IF (LP_PAYROLL_ID IS NOT NULL) THEN
412       OPEN GET_PAYROLL_NAME(LP_PAYROLL_ID);
413       FETCH GET_PAYROLL_NAME
414        INTO
415          L_PAYROLL_NAME;
416       CLOSE GET_PAYROLL_NAME;
417     END IF;
418     RETURN L_PAYROLL_NAME;
419   END CF_PAYROLL_NAMEFORMULA;
420 
421   FUNCTION CF_PAYROLL_RUN_DISPLAYFORMUL RETURN CHAR IS
422     L_PAYROLL_RUN VARCHAR2(80) := NULL;
423     CURSOR PAYROLL_RUN(C_PAYROLL_ACTION_ID IN PAY_PAYROLL_ACTIONS.PAYROLL_ACTION_ID%TYPE) IS
424       SELECT
425         SUBSTR(PAP.PAYROLL_NAME
426               ,1
427               ,71 - LENGTH(PTP.PERIOD_NAME) - LENGTH(HRL.MEANING)) || ' - ' || PTP.PERIOD_NAME || ' (' || HRL.MEANING || ' ' || TO_CHAR(PPA.DISPLAY_RUN_NUMBER) || ')' DISPLAY
428       FROM
429         PAY_ALL_PAYROLLS_F PAP,
430         PER_TIME_PERIODS PTP,
431         PAY_PAYROLL_ACTIONS PPA,
432         HR_LOOKUPS HRL
433       WHERE PPA.PAYROLL_ACTION_ID = C_PAYROLL_ACTION_ID
434         AND PAP.PAYROLL_ID = PPA.PAYROLL_ID
435         AND PAP.PAYROLL_ID = PTP.PAYROLL_ID
436         AND PPA.DATE_EARNED between PTP.START_DATE
437         AND PTP.END_DATE
438         AND HRL.LOOKUP_TYPE = 'ACTION_TYPE'
439         AND HRL.LOOKUP_CODE = PPA.ACTION_TYPE;
440   BEGIN
441     IF (LP_PAYROLL_RUN_ID IS NOT NULL) THEN
442       OPEN PAYROLL_RUN(LP_PAYROLL_RUN_ID);
443       FETCH PAYROLL_RUN
444        INTO
445          L_PAYROLL_RUN;
446       CLOSE PAYROLL_RUN;
447     END IF;
448     RETURN L_PAYROLL_RUN;
449   END CF_PAYROLL_RUN_DISPLAYFORMUL;
450 
451   FUNCTION CF_PERIOD_PAYROLLFORMULA(CF_PAYROLL_RUN_DISPLAY IN VARCHAR2) RETURN CHAR IS
452     L_PERIOD_PAYROLL VARCHAR2(100);
453   BEGIN
454     IF (LP_START_DATE IS NOT NULL) THEN
455       L_PERIOD_PAYROLL := 'Period Dates: ' || TO_CHAR(LP_START_DATE
456                                  ,'DD-MON-RRRR') || ' to ' || TO_CHAR(LP_END_DATE
457                                  ,'DD-MON-RRRR');
458     ELSE
459       L_PERIOD_PAYROLL := 'Payroll Run: ' || CF_PAYROLL_RUN_DISPLAY;
460     END IF;
461     RETURN (L_PERIOD_PAYROLL);
462   END CF_PERIOD_PAYROLLFORMULA;
463 
464   FUNCTION CF_YTD_TOTALS_DISPLAYFORMULA RETURN CHAR IS
465   BEGIN
466     IF (LP_YTD_TOTALS = 'Y') THEN
467       RETURN ('Yes');
468     END IF;
469     IF (LP_YTD_TOTALS = 'N') THEN
470       RETURN ('No');
471     END IF;
472   END CF_YTD_TOTALS_DISPLAYFORMULA;
473 
474   FUNCTION CF_ZERO_RECORDS_DISPLAYFORMULA RETURN CHAR IS
475   BEGIN
476     IF (LP_ZERO_RECORDS = 'Y') THEN
477       RETURN ('Yes');
478     END IF;
479     IF (LP_ZERO_RECORDS = 'N') THEN
480       RETURN ('No');
481     END IF;
482   END CF_ZERO_RECORDS_DISPLAYFORMULA;
483 
484   FUNCTION CF_RETURN_BALANCESFORMULA(CS_ASG_TAXABLE_EARNINGS IN NUMBER
485                                     ,CS_ASG_NON_TAX_EARNINGS IN NUMBER
486                                     ,CS_ASG_DEDUCTIONS IN NUMBER
487                                     ,CS_ASG_TAX IN NUMBER
488                                     ,CS_ASG_NET_PAYMENT_RUN IN NUMBER
489                                     ,CS_ASG_EMP_CHG IN NUMBER
490                                     ,CS_ASG_GROSS_EARNINGS IN NUMBER
491                                     ,CS_ASG_PRE_TAX_DEDUCTIONS IN NUMBER
492                                     ,CS_ASG_DIRECT_PAYMENTS IN NUMBER
493                                     ,CS_ASG_YTD_GROSS_EARNINGS IN NUMBER
494                                     ,CS_ASG_YTD_PRE_TAX_DEDUCTIONS IN NUMBER
495                                     ,CS_ASG_YTD_DIRECT_PAYMENTS IN NUMBER
496                                     ,CS_ASG_YTD_TAX_EARN IN NUMBER
497                                     ,CS_ASG_YTD_NON_TAX IN NUMBER
498                                     ,CS_ASG_YTD_DEDUCTIONS IN NUMBER
499                                     ,CS_ASG_YTD_TAX IN NUMBER
500                                     ,CS_ASG_YTD_NET_PAY IN NUMBER
501                                     ,CS_ASG_YTD_EMP_CHG IN NUMBER
502                                     ,MANUAL_PS_ISSUED IN VARCHAR2
503                                     ,CS_PS_PAYSUM_GROSS IN NUMBER
504                                     ,CS_PS_WORKPLACE_GIVING IN NUMBER
505                                     ,CS_PS_REP_ALLOWANCES IN NUMBER
506                                     ,CS_PS_ETP IN NUMBER
507                                     ,CS_PS_RFB IN NUMBER
508                                     ,CS_PS_ASSESSABLE_ETP IN NUMBER
509                                     ,CS_PS_CDEP IN NUMBER
510                                     ,CS_PS_OTHER_INCOME IN NUMBER
511                                     ,CS_PS_UNION_FEES IN NUMBER
512                                     ,CS_PS_LUMPSUM_PAYMENTS IN NUMBER) RETURN NUMBER IS
513   --PRAGMA autonomous_transaction;
514   BEGIN
515     CP_TAXABLE_EARNINGS := CS_ASG_TAXABLE_EARNINGS;
516     CP_NON_TAXABLE_EARNINGS := CS_ASG_NON_TAX_EARNINGS;
517     CP_DEDUCTIONS := CS_ASG_DEDUCTIONS;
518     CP_TAX := CS_ASG_TAX;
519     CP_NET_PAYMENT := CS_ASG_NET_PAYMENT_RUN;
520     CP_EMP_CHG := CS_ASG_EMP_CHG;
521     CP_GROSS_EARNINGS := CS_ASG_GROSS_EARNINGS;
522     CP_PRE_TAX_DEDUCTIONS := CS_ASG_PRE_TAX_DEDUCTIONS;
523     CP_DIRECT_PAYMENTS := CS_ASG_DIRECT_PAYMENTS;
524     CP_YTD_GROSS_EARNINGS := CS_ASG_YTD_GROSS_EARNINGS;
525 --INSERT INTO LOG_MSG VALUES('SAMPATH','PYAURECD','CP_YTD_GROSS_EARNINGS',CP_YTD_GROSS_EARNINGS);COMMIT;
526     CP_YTD_PRE_TAX_DEDUCTIONS := CS_ASG_YTD_PRE_TAX_DEDUCTIONS;
527     CP_YTD_DIRECT_PAYMENTS := CS_ASG_YTD_DIRECT_PAYMENTS;
528     CP_YTD_TAXABLE_EARNINGS := CS_ASG_YTD_TAX_EARN;
529     CP_YTD_NON_TAXABLE_EARNINGS := CS_ASG_YTD_NON_TAX;
530     CP_YTD_DEDUCTIONS := CS_ASG_YTD_DEDUCTIONS;
531     CP_YTD_TAX := CS_ASG_YTD_TAX;
532     CP_YTD_NET_PAYMENT := CS_ASG_YTD_NET_PAY;
533     CP_YTD_EMP_CHG := CS_ASG_YTD_EMP_CHG;
534     IF (LP_ZERO_RECORDS = 'Y' AND CS_ASG_NET_PAYMENT_RUN = 0) THEN
535       CP_TAXABLE_EARNINGS := 0;
536       CP_NON_TAXABLE_EARNINGS := 0;
537       CP_DEDUCTIONS := 0;
538       CP_TAX := 0;
539       CP_NET_PAYMENT := 0;
540       CP_EMP_CHG := 0;
541       CP_GROSS_EARNINGS := 0;
542       CP_PRE_TAX_DEDUCTIONS := 0;
543       CP_DIRECT_PAYMENTS := 0;
544       CP_YTD_GROSS_EARNINGS := 0;
545       CP_YTD_DIRECT_PAYMENTS := 0;
546       CP_YTD_PRE_TAX_DEDUCTIONS := 0;
547       CP_YTD_TAXABLE_EARNINGS := 0;
548       CP_YTD_NON_TAXABLE_EARNINGS := 0;
549       CP_YTD_DEDUCTIONS := 0;
550       CP_YTD_TAX := 0;
551       CP_YTD_NET_PAYMENT := 0;
552       CP_YTD_EMP_CHG := 0;
553     END IF;
554     IF (LP_NEGATIVE_RECORDS = 'Y' AND CS_ASG_NET_PAYMENT_RUN < 0) THEN
555       CP_TAXABLE_EARNINGS := 0;
556       CP_NON_TAXABLE_EARNINGS := 0;
557       CP_DEDUCTIONS := 0;
558       CP_TAX := 0;
559       CP_NET_PAYMENT := 0;
560       CP_EMP_CHG := 0;
561       CP_GROSS_EARNINGS := 0;
562       CP_PRE_TAX_DEDUCTIONS := 0;
563       CP_DIRECT_PAYMENTS := 0;
564       CP_YTD_DIRECT_PAYMENTS := 0;
565       CP_YTD_GROSS_EARNINGS := 0;
566       CP_YTD_PRE_TAX_DEDUCTIONS := 0;
567       CP_YTD_TAXABLE_EARNINGS := 0;
568       CP_YTD_NON_TAXABLE_EARNINGS := 0;
569       CP_YTD_DEDUCTIONS := 0;
570       CP_YTD_TAX := 0;
571       CP_YTD_NET_PAYMENT := 0;
572       CP_YTD_EMP_CHG := 0;
573     END IF;
574     IF (P_PAYSUM_FLAG = 'Y') THEN
575       IF MANUAL_PS_ISSUED = 'Y' THEN
576         CP_MAN_PS_PAYSUM_GROSS := CP_MAN_PS_PAYSUM_GROSS + CS_PS_PAYSUM_GROSS;
577         CP_MAN_PS_WORKPLACE_GIVING := CP_MAN_PS_WORKPLACE_GIVING + CS_PS_WORKPLACE_GIVING;
578         CP_MAN_PS_REP_ALLOWANCES := CP_MAN_PS_REP_ALLOWANCES + CS_PS_REP_ALLOWANCES;
579         CP_MAN_PS_ETP := CP_MAN_PS_ETP + CS_PS_ETP;
580         CP_MAN_PS_RFB := CP_MAN_PS_RFB + CS_PS_RFB;
581         CP_MAN_PS_ASSESSABLE_ETP := CP_MAN_PS_ASSESSABLE_ETP + CS_PS_ASSESSABLE_ETP;
582         CP_MAN_PS_CDEP := CP_MAN_PS_CDEP + CS_PS_CDEP;
583         CP_MAN_PS_OTHER_INCOME := CP_MAN_PS_OTHER_INCOME + CS_PS_OTHER_INCOME;
584         CP_MAN_PS_UNION_FEES := CP_MAN_PS_UNION_FEES + CS_PS_UNION_FEES;
585         CP_MAN_PS_LUMPSUM_PAYMENTS := CP_MAN_PS_LUMPSUM_PAYMENTS + CS_PS_LUMPSUM_PAYMENTS;
586         CP_MANUAL_COUNT := CP_MANUAL_COUNT + 1;
587       ELSE
588         CP_PS_PAYSUM_GROSS := CP_PS_PAYSUM_GROSS + CS_PS_PAYSUM_GROSS;
589         CP_PS_WORKPLACE_GIVING := CP_PS_WORKPLACE_GIVING + CS_PS_WORKPLACE_GIVING;
590         CP_PS_REP_ALLOWANCES := CP_PS_REP_ALLOWANCES + CS_PS_REP_ALLOWANCES;
591         CP_PS_ETP := CP_PS_ETP + CS_PS_ETP;
592         CP_PS_RFB := CP_PS_RFB + CS_PS_RFB;
593         CP_PS_ASSESSABLE_ETP := CP_PS_ASSESSABLE_ETP + CS_PS_ASSESSABLE_ETP;
594         CP_PS_CDEP := CP_PS_CDEP + CS_PS_CDEP;
595         CP_PS_OTHER_INCOME := CP_PS_OTHER_INCOME + CS_PS_OTHER_INCOME;
596         CP_PS_UNION_FEES := CP_PS_UNION_FEES + CS_PS_UNION_FEES;
597         CP_PS_LUMPSUM_PAYMENTS := CP_PS_LUMPSUM_PAYMENTS + CS_PS_LUMPSUM_PAYMENTS;
598         CP_PRINTED_COUNT := CP_PRINTED_COUNT + 1;
599       END IF;
600     END IF;
601     RETURN (NULL);
602   END CF_RETURN_BALANCESFORMULA;
603 
604   FUNCTION CF_FIN_YEAR_DISPLAYFORMULA RETURN CHAR IS
605     L_FIN_YEAR VARCHAR2(80);
606   BEGIN
607     IF (LP_START_DATE IS NOT NULL AND LP_END_DATE IS NOT NULL) THEN
608       L_FIN_YEAR := TO_CHAR(LP_START_DATE
609                            ,'YYYY') || '/' || TO_CHAR(LP_END_DATE
610                            ,'YYYY');
611     END IF;
612     RETURN L_FIN_YEAR;
613   END CF_FIN_YEAR_DISPLAYFORMULA;
614 
615   FUNCTION CF_LST_YEAR_TERM_DISPLAYFORMUL RETURN CHAR IS
616   BEGIN
617     IF (LP_LST_YEAR_TERM = 'Y' OR LP_LST_YEAR_TERM IS NULL) THEN
618       RETURN ('Yes');
619     ELSE
620       RETURN ('No');
621     END IF;
622   END CF_LST_YEAR_TERM_DISPLAYFORMUL;
623 
624   FUNCTION CF_TITLE_DISPLAYFORMULA RETURN CHAR IS
625     L_TITLE VARCHAR2(100);
626   BEGIN
627     IF (P_PAYSUM_FLAG = 'Y') THEN
628       L_TITLE := 'End of Year Reconciliation Detail Report (AUD)';
629     ELSE
630       L_TITLE := 'Payroll Reconciliation Detail Report (AUD) ';
631     END IF;
632     RETURN (L_TITLE);
633   END CF_TITLE_DISPLAYFORMULA;
634 
635   FUNCTION CP_TAXABLE_EARNINGS_P RETURN NUMBER IS
636   BEGIN
637     RETURN CP_TAXABLE_EARNINGS;
638   END CP_TAXABLE_EARNINGS_P;
639 
640   FUNCTION CP_NON_TAXABLE_EARNINGS_P RETURN NUMBER IS
641   BEGIN
642     RETURN CP_NON_TAXABLE_EARNINGS;
643   END CP_NON_TAXABLE_EARNINGS_P;
644 
645   FUNCTION CP_DEDUCTIONS_P RETURN NUMBER IS
646   BEGIN
647     RETURN CP_DEDUCTIONS;
648   END CP_DEDUCTIONS_P;
649 
650   FUNCTION CP_PRE_TAX_DEDUCTIONS_P RETURN NUMBER IS
651   BEGIN
652     RETURN CP_PRE_TAX_DEDUCTIONS;
653   END CP_PRE_TAX_DEDUCTIONS_P;
654 
655   FUNCTION CP_DIRECT_PAYMENTS_P RETURN NUMBER IS
656   BEGIN
657     RETURN CP_DIRECT_PAYMENTS;
658   END CP_DIRECT_PAYMENTS_P;
659 
660   FUNCTION CP_TAX_P RETURN NUMBER IS
661   BEGIN
662     RETURN CP_TAX;
663   END CP_TAX_P;
664 
665   FUNCTION CP_GROSS_EARNINGS_P RETURN NUMBER IS
666   BEGIN
667     RETURN CP_GROSS_EARNINGS;
668   END CP_GROSS_EARNINGS_P;
669 
670   FUNCTION CP_NET_PAYMENT_P RETURN NUMBER IS
671   BEGIN
672     RETURN CP_NET_PAYMENT;
673   END CP_NET_PAYMENT_P;
674 
675   FUNCTION CP_YTD_TAXABLE_EARNINGS_P RETURN NUMBER IS
676   BEGIN
677     RETURN CP_YTD_TAXABLE_EARNINGS;
678   END CP_YTD_TAXABLE_EARNINGS_P;
679 
680   FUNCTION CP_YTD_NON_TAXABLE_EARNINGS_P RETURN NUMBER IS
681   BEGIN
682     RETURN CP_YTD_NON_TAXABLE_EARNINGS;
683   END CP_YTD_NON_TAXABLE_EARNINGS_P;
684 
685   FUNCTION CP_YTD_GROSS_EARNINGS_P RETURN NUMBER IS
686   BEGIN
687     RETURN CP_YTD_GROSS_EARNINGS;
688   END CP_YTD_GROSS_EARNINGS_P;
689 
690   FUNCTION CP_YTD_PRE_TAX_DEDUCTIONS_P RETURN NUMBER IS
691   BEGIN
692     RETURN CP_YTD_PRE_TAX_DEDUCTIONS;
693   END CP_YTD_PRE_TAX_DEDUCTIONS_P;
694 
695   FUNCTION CP_YTD_DIRECT_PAYMENTS_P RETURN NUMBER IS
696   BEGIN
697     RETURN CP_YTD_DIRECT_PAYMENTS;
698   END CP_YTD_DIRECT_PAYMENTS_P;
699 
700   FUNCTION CP_YTD_DEDUCTIONS_P RETURN NUMBER IS
701   BEGIN
702     RETURN CP_YTD_DEDUCTIONS;
703   END CP_YTD_DEDUCTIONS_P;
704 
705   FUNCTION CP_YTD_TAX_P RETURN NUMBER IS
706   BEGIN
707     RETURN CP_YTD_TAX;
708   END CP_YTD_TAX_P;
709 
710   FUNCTION CP_YTD_NET_PAYMENT_P RETURN NUMBER IS
711   BEGIN
712     RETURN CP_YTD_NET_PAYMENT;
713   END CP_YTD_NET_PAYMENT_P;
714 
715   FUNCTION CP_EMP_CHG_P RETURN NUMBER IS
716   BEGIN
717     RETURN CP_EMP_CHG;
718   END CP_EMP_CHG_P;
719 
720   FUNCTION CP_YTD_EMP_CHG_P RETURN NUMBER IS
721   BEGIN
722     RETURN CP_YTD_EMP_CHG;
723   END CP_YTD_EMP_CHG_P;
724 
725   FUNCTION CP_END_REPORT_P RETURN VARCHAR2 IS
726   BEGIN
727     RETURN CP_END_REPORT;
728   END CP_END_REPORT_P;
729 
730   FUNCTION CP_NO_DATA_FOUND_P RETURN VARCHAR2 IS
731   BEGIN
732     RETURN CP_NO_DATA_FOUND;
733   END CP_NO_DATA_FOUND_P;
734 
735   FUNCTION CP_PS_WORKPLACE_GIVING_P RETURN NUMBER IS
736   BEGIN
737     RETURN CP_PS_WORKPLACE_GIVING;
738   END CP_PS_WORKPLACE_GIVING_P;
739 
740   FUNCTION CP_MAN_PS_WORKPLACE_GIVING_P RETURN NUMBER IS
741   BEGIN
742     RETURN CP_MAN_PS_WORKPLACE_GIVING;
743   END CP_MAN_PS_WORKPLACE_GIVING_P;
744 
745   FUNCTION CP_PS_PAYSUM_GROSS_P RETURN NUMBER IS
746   BEGIN
747     RETURN CP_PS_PAYSUM_GROSS;
748   END CP_PS_PAYSUM_GROSS_P;
749 
750   FUNCTION CP_MAN_PS_PAYSUM_GROSS_P RETURN NUMBER IS
751   BEGIN
752     RETURN CP_MAN_PS_PAYSUM_GROSS;
753   END CP_MAN_PS_PAYSUM_GROSS_P;
754 
755   FUNCTION CP_PS_REP_ALLOWANCES_P RETURN NUMBER IS
756   BEGIN
757     RETURN CP_PS_REP_ALLOWANCES;
758   END CP_PS_REP_ALLOWANCES_P;
759 
760   FUNCTION CP_MAN_PS_REP_ALLOWANCES_P RETURN NUMBER IS
761   BEGIN
762     RETURN CP_MAN_PS_REP_ALLOWANCES;
763   END CP_MAN_PS_REP_ALLOWANCES_P;
764 
765   FUNCTION CP_PS_ETP_P RETURN NUMBER IS
766   BEGIN
767     RETURN CP_PS_ETP;
768   END CP_PS_ETP_P;
769 
770   FUNCTION CP_MAN_PS_ETP_P RETURN NUMBER IS
771   BEGIN
772     RETURN CP_MAN_PS_ETP;
773   END CP_MAN_PS_ETP_P;
774 
775   FUNCTION CP_PS_RFB_P RETURN NUMBER IS
776   BEGIN
777     RETURN CP_PS_RFB;
778   END CP_PS_RFB_P;
779 
780   FUNCTION CP_MAN_PS_RFB_P RETURN NUMBER IS
781   BEGIN
782     RETURN CP_MAN_PS_RFB;
783   END CP_MAN_PS_RFB_P;
784 
785   FUNCTION CP_PS_ASSESSABLE_ETP_P RETURN NUMBER IS
786   BEGIN
787     RETURN CP_PS_ASSESSABLE_ETP;
788   END CP_PS_ASSESSABLE_ETP_P;
789 
790   FUNCTION CP_MAN_PS_ASSESSABLE_ETP_P RETURN NUMBER IS
791   BEGIN
792     RETURN CP_MAN_PS_ASSESSABLE_ETP;
793   END CP_MAN_PS_ASSESSABLE_ETP_P;
794 
795   FUNCTION CP_PS_CDEP_P RETURN NUMBER IS
796   BEGIN
797     RETURN CP_PS_CDEP;
798   END CP_PS_CDEP_P;
799 
800   FUNCTION CP_MAN_PS_CDEP_P RETURN NUMBER IS
801   BEGIN
802     RETURN CP_MAN_PS_CDEP;
803   END CP_MAN_PS_CDEP_P;
804 
805   FUNCTION CP_PS_OTHER_INCOME_P RETURN NUMBER IS
806   BEGIN
807     RETURN CP_PS_OTHER_INCOME;
808   END CP_PS_OTHER_INCOME_P;
809 
810   FUNCTION CP_MAN_PS_OTHER_INCOME_P RETURN NUMBER IS
811   BEGIN
812     RETURN CP_MAN_PS_OTHER_INCOME;
813   END CP_MAN_PS_OTHER_INCOME_P;
814 
815   FUNCTION CP_PS_UNION_FEES_P RETURN NUMBER IS
816   BEGIN
817     RETURN CP_PS_UNION_FEES;
818   END CP_PS_UNION_FEES_P;
819 
820   FUNCTION CP_MAN_PS_UNION_FEES_P RETURN NUMBER IS
821   BEGIN
822     RETURN CP_MAN_PS_UNION_FEES;
823   END CP_MAN_PS_UNION_FEES_P;
824 
825   FUNCTION CP_PS_LUMPSUM_PAYMENTS_P RETURN NUMBER IS
826   BEGIN
827     RETURN CP_PS_LUMPSUM_PAYMENTS;
828   END CP_PS_LUMPSUM_PAYMENTS_P;
829 
830   FUNCTION CP_MAN_PS_LUMPSUM_PAYMENTS_P RETURN NUMBER IS
831   BEGIN
832     RETURN CP_MAN_PS_LUMPSUM_PAYMENTS;
833   END CP_MAN_PS_LUMPSUM_PAYMENTS_P;
834 
835   FUNCTION CP_PRINTED_COUNT_P RETURN NUMBER IS
836   BEGIN
837     RETURN CP_PRINTED_COUNT;
838   END CP_PRINTED_COUNT_P;
839 
840   FUNCTION CP_MANUAL_COUNT_P RETURN NUMBER IS
841   BEGIN
842     RETURN CP_MANUAL_COUNT;
843   END CP_MANUAL_COUNT_P;
844 
845 END PAY_PYAURECD_XMLP_PKG;
846