DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_PYAURECP_XMLP_PKG

Source


1 PACKAGE BODY PAY_PYAURECP_XMLP_PKG AS
2 /* $Header: PYAURECPB.pls 120.1.12020000.4 2012/07/27 06:46:15 jmarupil ship $ */
3   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4     CURSOR C_YEAR(C_FIN_YR IN VARCHAR2) IS
5       SELECT
6         TO_DATE('01-07-' || SUBSTR(C_FIN_YR
7                       ,1
8                       ,4)
9                ,'DD-MM-YYYY') FINANCIAL_YEAR_START,
10         TO_DATE('30-06-' || SUBSTR(C_FIN_YR
11                       ,6
12                       ,4)
13                ,'DD-MM-YYYY') FINANCIAL_YEAR_END,
14         TO_DATE('01-04-' || SUBSTR(C_FIN_YR
15                       ,1
16                       ,4)
17                ,'DD-MM-YYYY') FBT_YEAR_START,
18         TO_DATE('30-06-' || SUBSTR(C_FIN_YR
19                       ,1
20                       ,4)
21                ,'DD-MM-YYYY') FBT_YEAR_END
22       FROM
23         DUAL;
24     CURSOR C_REG_EMP(C_ORG_ID IN HR_AU_LEG_EMP_V.ORGANIZATION_ID%TYPE) IS
25       SELECT
26         NAME
27       FROM
28         HR_AU_LEG_EMP_V
29       WHERE ORGANIZATION_ID = C_ORG_ID;
30     CURSOR C_PAYROLL_INFO(C_PAYROLL_ID IN NUMBER) IS
31       SELECT
32         PPF.PAYROLL_NAME
33       FROM
34         PAY_PAYROLLS_F PPF
35       WHERE PPF.PAYROLL_ID = C_PAYROLL_ID
36         AND PPF.EFFECTIVE_START_DATE = (
37         SELECT
38           MAX(PPF1.EFFECTIVE_START_DATE)
39         FROM
40           PAY_PAYROLLS_F PPF1
41         WHERE PPF1.PAYROLL_ID = PPF.PAYROLL_ID );
42     CURSOR C_HL_MEANING(C_HL_CODE IN HR_LOOKUPS.LOOKUP_CODE%TYPE) IS
43       SELECT
44         HL.MEANING
45       FROM
46         HR_LOOKUPS HL
47       WHERE HL.LOOKUP_TYPE = 'AU_PS_EMPLOYEE_TYPE'
48         AND HL.ENABLED_FLAG = 'Y'
49         AND HL.LOOKUP_CODE = C_HL_CODE;
50     CURSOR C_ASSIGNMENT_INFO(C_ASSIGNMENT_ID IN NUMBER) IS
51       SELECT
52         PAA.ASSIGNMENT_NUMBER
53       FROM
54         PER_ASSIGNMENTS_F PAA
55       WHERE PAA.ASSIGNMENT_ID = C_ASSIGNMENT_ID
56         AND PAA.EFFECTIVE_START_DATE = (
57         SELECT
58           MAX(PAA1.EFFECTIVE_START_DATE)
59         FROM
60           PER_ASSIGNMENTS_F PAA1
61         WHERE PAA1.ASSIGNMENT_ID = PAA.ASSIGNMENT_ID
62           AND PAA1.EFFECTIVE_START_DATE <= CP_FIN_YR_END
63           AND PAA1.EFFECTIVE_END_DATE >= CP_FIN_YR_START );
64     CURSOR C_GET_GLOBAL(C_NAME IN VARCHAR2,C_YEAR_END IN DATE) IS
65       SELECT
66         GLOBAL_VALUE
67       FROM
68         FF_GLOBALS_F
69       WHERE GLOBAL_NAME = C_NAME
70         AND LEGISLATION_CODE = 'AU'
71         AND C_YEAR_END BETWEEN EFFECTIVE_START_DATE
72         AND EFFECTIVE_END_DATE;
73     CURSOR C_ASG_COUNT IS
74       SELECT
75         COUNT(ASSIGNMENT_ACTION_ID)
76       FROM
77         PAY_ASSIGNMENT_ACTIONS
78       WHERE PAYROLL_ACTION_ID = LP_PAYROLL_ACTION_ID;
79     X NUMBER;
80     L_TEXT LONG;
81     LN NUMBER;
82   BEGIN
83   select
84     SUBSTR(argument1,INSTR(argument1,'=',1)+1,LENGTH(argument1)),
85     SUBSTR(argument2,INSTR(argument2,'=',1)+1,LENGTH(argument2)),
86     SUBSTR(argument3,INSTR(argument3,'=',1)+1,LENGTH(argument3)),
87     SUBSTR(argument4,INSTR(argument4,'=',1)+1,LENGTH(argument4)),
88     SUBSTR(argument5,INSTR(argument5,'=',1)+1,LENGTH(argument5)),
89     SUBSTR(argument6,INSTR(argument6,'=',1)+1,LENGTH(argument6)),
90     SUBSTR(argument7,INSTR(argument7,'=',1)+1,LENGTH(argument7)),
91     SUBSTR(argument8,INSTR(argument8,'=',1)+1,LENGTH(argument8))
92   into
93 
94   LP_PAYROLL_ACTION_ID,
95   LP_ASSIGNMENT_ID,
96   LP_BUSINESS_GROUP_ID,
97   LP_EMPLOYEE_TYPE,
98   LP_FINANCIAL_YEAR,
99   LP_LST_YR_TERM,
100   LP_PAYROLL_ID,
101   LP_REGISTERED_EMPLOYER
102 
103     from FND_CONCURRENT_REQUESTS
104 where request_id= FND_GLOBAL.conc_request_id;
105   P_ASSIGNMENT_ID:=LP_ASSIGNMENT_ID;
106 
107     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
108     X := PAY_AU_RECON_SUMMARY.POPULATE_BAL_IDS('Y'
109                                               ,LP_BUSINESS_GROUP_ID
110                                               ,LP_LST_YR_TERM);
111    -- WHERECLAUSE := NULL;
112     WHERECLAUSE := ' ';
113     IF (LP_REGISTERED_EMPLOYER IS NOT NULL) THEN
114       IF (LP_PAYROLL_ID IS NOT NULL) THEN
115         CP_DIMENSION := '_ASG_LE_YTD';
116         IF (LP_ASSIGNMENT_ID IS NOT NULL) THEN
117           WHERECLAUSE := 'and ppa.assignment_id=' || LP_ASSIGNMENT_ID;
118         ELSE
119           WHERECLAUSE := 'and ppa.payroll_id=' || LP_PAYROLL_ID;
120         END IF;
121       ELSE
122         CP_DIMENSION := '_LE_YTD';
123       END IF;
124     END IF;
125 
126     CP_TOTAL_STANDARD := 0;
127     CP_TOTAL_CURRENT_EMPLOYEES := 0;
128     CP_TOTAL_TERMINATED_EMPLOYEES := 0;
129     CP_TOTAL_GROSS := 0;
130     CP_TOTAL_ALLOWANCES := 0;
131     CP_TOTAL_RFB := 0;
132     CP_TOTAL_CDEP := 0;
133     CP_TOTAL_LUMPSUM_A_PAY := 0;
134     CP_TOTAL_LUMPSUM_B_PAY := 0;
135     CP_TOTAL_LUMPSUM_D_PAY := 0;
136     CP_TOTAL_LUMPSUM_E_PAY := 0;
137     CP_TOTAL_UNION_FEES := 0;
138     CP_TOTAL_TID := 0;
139     CP_TOTAL_ETP := 0;
140     CP_TOTAL_PRE_JUL_83 := 0;
141     CP_TOTAL_JUN_83_UNT := 0;
142     CP_TOTAL_JUN_83_TAX := 0;
143     CP_TOTAL_JUN_94_INV := 0;
144     CP_TOTAL_GROSS_ETP := 0;
145     CP_TOTAL_ETP_TID := 0;
146     CP_TOTAL_ASSESSABLE_INCOME := 0;
147     CP_TOTAL_WORKPLACE := 0;
148     CP_TOTAL_RESC  := 0;
149     CP_TOTAL_FOREIGN_INCOME := 0;
150     CP_FW_TOTAL_STANDARD    := 0;
151     CP_FW_TOTAL_GROSS  	   := 0;
152     CP_FW_TOTAL_TID         := 0;
153     CP_FW_TOTAL_FTID        := 0;
154     CP_FW_TOTAL_LUMPSUMA    := 0;
155     CP_FW_TOTAL_LUMPSUME    := 0;
156     CP_FW_TOTAL_UNION_FEES  := 0;
157     CP_FW_TOTAL_WORKPLACE  := 0;
158     CP_FW_TOTAL_RFB         := 0;
159     CP_FW_TOTAL_LUMPSUMD    := 0;
160     CP_FW_TOTAL_RESC        := 0;
161     CP_TOTAL_NET_BAL        := 0;
162     CP_FW_TOTAL_SUB_BAL     := 0;
163     CP_FW_TOTAL_NET_BAL     := 0;
164     CP_FW_TOTAL_ALLOWANCE   := 0;
165     CP_MAN_TOTAL_STANDARD := 0;
166     CP_MAN_TOTAL_CURR_EMPLOYEES := 0;
167     CP_MAN_TOTAL_TERM_EMPLOYEES := 0;
168     CP_MAN_TOTAL_GROSS := 0;
169     CP_MAN_TOTAL_ALLOWANCES := 0;
170     CP_MAN_TOTAL_RFB := 0;
171     CP_MAN_TOTAL_CDEP := 0;
172     CP_MAN_TOTAL_LUMPSUM_A_PAY := 0;
173     CP_MAN_TOTAL_LUMPSUM_B_PAY := 0;
174     CP_MAN_TOTAL_LUMPSUM_D_PAY := 0;
175     CP_MAN_TOTAL_LUMPSUM_E_PAY := 0;
176     CP_MAN_TOTAL_UNION_FEES := 0;
177     CP_MAN_TOTAL_TID := 0;
178     CP_MAN_TOTAL_ETP := 0;
179     CP_MAN_TOTAL_PRE_JUL_83 := 0;
180     CP_MAN_TOTAL_JUN_83_UNT := 0;
181     CP_MAN_TOTAL_JUN_83_TAX := 0;
182     CP_MAN_TOTAL_JUN_94_INV := 0;
183     CP_MAN_TOTAL_GROSS_ETP := 0;
184     CP_MAN_TOTAL_ETP_TID := 0;
185     CP_MAN_TOTAL_ASSESSABLE_INCOME := 0;
186     CP_MAN_TOTAL_WORKPLACE := 0;
187     CP_MAN_TOTAL_RESC            := 0;
188     CP_MAN_TOTAL_FOREIGN_INCOME  := 0;
189     CP_TOTAL_TAX_FREE_COMP      := 0;
190     CP_TOTAL_TAXABLE_COMP       := 0;
191     CP_MAN_TOTAL_TAX_FREE_COMP  := 0;
192     CP_MAN_TOTAL_TAXABLE_COMP   := 0;
193     OPEN C_YEAR(LP_FINANCIAL_YEAR);
194     FETCH C_YEAR
195      INTO
196        CP_FIN_YR_START
197        ,CP_FIN_YR_END
198        ,CP_FBT_YR_START
199        ,CP_FBT_YR_END;
200     CLOSE C_YEAR;
201     CP_FINANCIAL_YEAR := LP_FINANCIAL_YEAR;
202     IF (LP_LST_YR_TERM = 'Y') THEN
203       CP_LST_YR_START := ADD_MONTHS(CP_FIN_YR_START
204                                    ,-12);
205     ELSE
206       CP_LST_YR_START := TO_DATE('01/01/1900'
207                                 ,'DD/MM/YYYY');
208     END IF;
209     OPEN C_REG_EMP(LP_REGISTERED_EMPLOYER);
210     FETCH C_REG_EMP
211      INTO
212        CP_REG_EMP;
213     CLOSE C_REG_EMP;
214     OPEN C_HL_MEANING(LP_EMPLOYEE_TYPE);
215     FETCH C_HL_MEANING
216      INTO
217        CP_EMP_TYPE;
218     CLOSE C_HL_MEANING;
219     IF LP_PAYROLL_ID IS NOT NULL THEN
220       OPEN C_PAYROLL_INFO(LP_PAYROLL_ID);
221       FETCH C_PAYROLL_INFO
222        INTO
223          CP_PAYROLL_NAME;
224       CLOSE C_PAYROLL_INFO;
225     END IF;
226     IF LP_ASSIGNMENT_ID IS NOT NULL THEN
227       OPEN C_ASSIGNMENT_INFO(LP_ASSIGNMENT_ID);
228       FETCH C_ASSIGNMENT_INFO
229        INTO
230          CP_ASSIGNMENT_NUMBER;
231       CLOSE C_ASSIGNMENT_INFO;
232     END IF;
233     IF LP_EMPLOYEE_TYPE = 'C' THEN
234       LP_EMPLOYEE_TYPE := 'Y';
235     END IF;
236     IF LP_EMPLOYEE_TYPE = 'T' THEN
237       LP_EMPLOYEE_TYPE := 'N';
238     END IF;
239     IF LP_EMPLOYEE_TYPE = 'B' THEN
240       LP_EMPLOYEE_TYPE := '%';
241     END IF;
242     IF LP_LST_YR_TERM = 'Y' THEN
243       CP_LST_YR_TERM := 'Yes';
244     ELSE
245       IF LP_LST_YR_TERM = 'N' THEN
246         CP_LST_YR_TERM := 'No';
247       END IF;
248     END IF;
249     OPEN C_GET_GLOBAL('FBT_RATE',ADD_MONTHS(CP_FIN_YR_END
250               ,-3));
251     FETCH C_GET_GLOBAL
252      INTO
253        CP_FBT_GLOBAL;
254     CLOSE C_GET_GLOBAL;
255     OPEN C_GET_GLOBAL('MEDICARE_LEVY',ADD_MONTHS(CP_FIN_YR_END
256               ,-3));
257     FETCH C_GET_GLOBAL
258      INTO
259        CP_ML_GLOBAL;
260     CLOSE C_GET_GLOBAL;
261     OPEN C_ASG_COUNT;
262     FETCH C_ASG_COUNT
263      INTO
264        CP_ASSGT_TOTAL;
265     CLOSE C_ASG_COUNT;
266     RETURN (TRUE);
267   END BEFOREREPORT;
268 
269    FUNCTION CF_CALC_TOTALSFORMULA(ASSIGNMENT_ID IN NUMBER,TAX_UNIT_ID IN NUMBER,EMP_TYPE IN VARCHAR2,TERM_DATE IN DATE) RETURN NUMBER IS
270 
271  L_OUTPUT_TAB PAY_AU_RECON_SUMMARY.BAL_TAB;
272  L_TERM_OUTPUT_TAB PAY_AU_RECON_SUMMARY.BAL_TAB;
273   L_DISPLAY_FLAG VARCHAR2(5);
274     L_FBT_VALUE NUMBER;
275     X NUMBER;
276 L_MANUAL_PS_YEAR VARCHAR2(80);
277 
278     CURSOR C_PAYMENT_SUMMARY_DETAILS(C_ASSIGNMENT_ID IN NUMBER,
279                       C_FIN_DATE IN DATE,
280                   C_TAX_UNIT_ID IN PAY_ASSIGNMENT_ACTIONS.TAX_UNIT_ID%TYPE)
281 IS
282 SELECT HR.MEANING FIN_YEAR
283       FROM PER_ASSIGNMENT_EXTRA_INFO PAE,
284         HR_LOOKUPS HR
285       WHERE PAE.AEI_INFORMATION_CATEGORY = 'HR_PS_ISSUE_DATE_AU'
286         AND PAE.INFORMATION_TYPE = 'HR_PS_ISSUE_DATE_AU'
287         AND PAE.ASSIGNMENT_ID = C_ASSIGNMENT_ID
288         AND PAE.AEI_INFORMATION1 = TO_CHAR(C_FIN_DATE,'YY')
289         AND NVL(AEI_INFORMATION2,C_TAX_UNIT_ID) = DECODE(AEI_INFORMATION2,'-999',AEI_INFORMATION2,C_TAX_UNIT_ID)
290         AND PAE.AEI_INFORMATION1 = HR.LOOKUP_CODE
291         AND HR.LOOKUP_TYPE = 'AU_PS_FINANCIAL_YEAR';
292 
293 CURSOR GET_MAX_ACTION
294                 (C_ASSIGNMENT_ID   IN   PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_ID%TYPE,
295                  C_TAX_UNIT_ID     IN   HR_ALL_ORGANIZATION_UNITS.ORGANIZATION_ID%TYPE,
296                  C_YEAR_START      IN   DATE,
297                  C_YEAR_END        IN   DATE )
298 IS
299     SELECT   TO_NUMBER(SUBSTR(MAX(LPAD(PAA.ACTION_SEQUENCE,15,'0')||PAA.ASSIGNMENT_ACTION_ID),16)) ASSIGNMENT_ACTION_ID
300     FROM     PAY_ASSIGNMENT_ACTIONS      PAA
301            , PAY_PAYROLL_ACTIONS         PPA
302            , PER_ASSIGNMENTS_F           PAF
303     WHERE   PAA.ASSIGNMENT_ID          = PAF.ASSIGNMENT_ID
304             AND PAF.ASSIGNMENT_ID      = C_ASSIGNMENT_ID
305             AND PAA.ASSIGNMENT_ID     = C_ASSIGNMENT_ID
306             AND PPA.PAYROLL_ACTION_ID  = PAA.PAYROLL_ACTION_ID
307             AND PPA.EFFECTIVE_DATE      BETWEEN C_YEAR_START AND C_YEAR_END
308             AND PPA.PAYROLL_ID         =  PAF.PAYROLL_ID
309             AND PPA.ACTION_TYPE        IN ('R', 'Q', 'I', 'V', 'B')
310             AND PPA.EFFECTIVE_DATE BETWEEN PAF.EFFECTIVE_START_DATE AND PAF.EFFECTIVE_END_DATE
311             AND PAA.ACTION_STATUS='C'
312             AND PAA.TAX_UNIT_ID         = C_TAX_UNIT_ID;
313 
314 
315 CURSOR GET_EFFECTIVE_DATE(C_ASSIGNMENT_ACTION_ID IN PAY_ASSIGNMENT_ACTIONS.ASSIGNMENT_ACTION_ID%TYPE)
316 IS
317 SELECT PPA.EFFECTIVE_DATE
318 FROM   PAY_PAYROLL_ACTIONS         PPA
319       ,PAY_ASSIGNMENT_ACTIONS      PAA
320 WHERE PAA.ASSIGNMENT_ACTION_ID = C_ASSIGNMENT_ACTION_ID
321 AND   PPA.PAYROLL_ACTION_ID   = PAA.PAYROLL_ACTION_ID;
322   BEGIN
323     OPEN C_PAYMENT_SUMMARY_DETAILS(ASSIGNMENT_ID,CP_FIN_YR_START,TAX_UNIT_ID);
324     FETCH C_PAYMENT_SUMMARY_DETAILS INTO L_MANUAL_PS_YEAR;
325     IF C_PAYMENT_SUMMARY_DETAILS%FOUND THEN
326       MANUAL_PS_ISSUED := 'Y';
327     ELSE
328       MANUAL_PS_ISSUED := 'N';
329     END IF;
330     CLOSE C_PAYMENT_SUMMARY_DETAILS;
331 
332 FOREIGN_PS_EXISTS  := PAY_AU_FOREIGN_WORKERS.CHECK_FOREIGN_WORKER
333                                     (ASSIGNMENT_ID
334                                     ,TAX_UNIT_ID
335                                     ,CP_FIN_YR_START
336                                     ,CP_FIN_YR_END);
337  OPEN GET_MAX_ACTION(ASSIGNMENT_ID
338                            ,TAX_UNIT_ID
339                            ,CP_FBT_YR_START
340                            ,CP_FIN_YR_END);
341         FETCH GET_MAX_ACTION INTO ASSIGNMENT_ACTION_ID;
342         CLOSE GET_MAX_ACTION ;
343 
344         OPEN GET_EFFECTIVE_DATE(ASSIGNMENT_ACTION_ID);
345         FETCH GET_EFFECTIVE_DATE INTO DATE_EARNED;
346         CLOSE GET_EFFECTIVE_DATE;
347 
348     IF EMP_TYPE = 'T' THEN
349       IF ((LP_LST_YR_TERM = 'Y' AND TERM_DATE > CP_FBT_YR_START) OR (LP_LST_YR_TERM = 'N' AND TERM_DATE > CP_LST_YR_START)) AND TERM_DATE < CP_FIN_YR_START AND DATE_EARNED < CP_FIN_YR_START THEN
350         CP_TOTAL_STANDARD := CP_TOTAL_STANDARD + 1;
351         CP_TOTAL_TERMINATED_EMPLOYEES := CP_TOTAL_TERMINATED_EMPLOYEES + 1;
352         L_FBT_VALUE := PAY_AU_RECON_SUMMARY.GET_TOTAL_FBT(CP_FIN_YR_START
353                                                          ,ASSIGNMENT_ID
354                                                          ,TAX_UNIT_ID
355                                                          ,CP_FBT_GLOBAL
356                                                          ,CP_ML_GLOBAL
357                                                          ,'PRV_TERM');
358         CP_TOTAL_RFB := CP_TOTAL_RFB + L_FBT_VALUE;
359         X := PAY_AU_RECON_SUMMARY.POPULATE_EXCLUSION_TABLE(ASSIGNMENT_ID
360                                                           ,CP_FINANCIAL_YEAR
361                                                           ,CP_FIN_YR_END
362                                                           ,TAX_UNIT_ID);
363         IF MANUAL_PS_ISSUED = 'Y' THEN
364           CP_MAN_TOTAL_STANDARD := CP_MAN_TOTAL_STANDARD + 1;
365           CP_MAN_TOTAL_TERM_EMPLOYEES := CP_MAN_TOTAL_TERM_EMPLOYEES + 1;
366           CP_MAN_TOTAL_RFB := CP_MAN_TOTAL_RFB + L_FBT_VALUE;
367         END IF;
368         RETURN (1);
369       END IF;
370     END IF;
371     IF (LP_EMPLOYEE_TYPE = '%' AND CP_DIMENSION < '_ASG_LE_YTD') THEN
372       L_DISPLAY_FLAG := 'YES';
373       IF (EMP_TYPE = 'T') THEN
374         IF (TERM_DATE < CP_FIN_YR_START) THEN
375           PAY_AU_RECON_SUMMARY.GET_VALUE_BBR(CP_FIN_YR_START
376                                             ,CP_FIN_YR_END
377                                             ,ASSIGNMENT_ID
378                                             ,CP_FBT_GLOBAL
379                                             ,CP_ML_GLOBAL
380                                             ,ASSIGNMENT_ACTION_ID
381                                             ,TAX_UNIT_ID
382                                             ,TERM_DATE
383                                             ,L_DISPLAY_FLAG
384                                             ,L_OUTPUT_TAB);
385         ELSE
386           L_DISPLAY_FLAG := 'YES';
387         END IF;
388 
389       END IF;
390       IF L_DISPLAY_FLAG = 'YES' THEN
391         CP_TOTAL_STANDARD := CP_TOTAL_STANDARD + 1;
392         PAY_AU_RECON_SUMMARY.GET_ASSGT_CURR_TERM_VALUES_BBR(P_YEAR_START => CP_FIN_YR_START
393                                                            ,P_YEAR_END => CP_FIN_YR_END
394                                                            ,P_ASSIGNMENT_ID => ASSIGNMENT_ID
395                                                            ,P_FBT_RATE => CP_FBT_GLOBAL
396                                                            ,P_ML_RATE => CP_ML_GLOBAL
397                                                            ,P_ASSIGNMENT_ACTION_ID => ASSIGNMENT_ACTION_ID
398                                                            ,P_TAX_UNIT_ID => TAX_UNIT_ID
399                                                            ,P_EMP_TYPE => EMP_TYPE
400                                                            ,P_TERM_OUTPUT_TAB => L_TERM_OUTPUT_TAB);
401 
402         CP_TOTAL_RFB := CP_TOTAL_RFB + L_TERM_OUTPUT_TAB(1).BALANCE_VALUE;
403         CP_TOTAL_LUMPSUM_E_PAY := CP_TOTAL_LUMPSUM_E_PAY + L_TERM_OUTPUT_TAB(2).BALANCE_VALUE;
404         IF EMP_TYPE = 'C' THEN
405           CP_TOTAL_CURRENT_EMPLOYEES := CP_TOTAL_CURRENT_EMPLOYEES + 1;
406         END IF;
407         IF EMP_TYPE = 'T' THEN
408           CP_TOTAL_TERMINATED_EMPLOYEES := CP_TOTAL_TERMINATED_EMPLOYEES + 1;
409           IF (L_TERM_OUTPUT_TAB(6).BALANCE_VALUE > 0) THEN
410             CP_TOTAL_ETP := CP_TOTAL_ETP + 1;
411             CP_TOTAL_PRE_JUL_83 := CP_TOTAL_PRE_JUL_83 + L_TERM_OUTPUT_TAB(3).BALANCE_VALUE;
412             CP_TOTAL_JUN_83_UNT := CP_TOTAL_JUN_83_UNT + L_TERM_OUTPUT_TAB(4).BALANCE_VALUE;
413             CP_TOTAL_JUN_94_INV := CP_TOTAL_JUN_94_INV + L_TERM_OUTPUT_TAB(5).BALANCE_VALUE;
414             CP_TOTAL_GROSS_ETP := CP_TOTAL_GROSS_ETP + L_TERM_OUTPUT_TAB(6).BALANCE_VALUE;
415             CP_TOTAL_ETP_TID := CP_TOTAL_ETP_TID + L_TERM_OUTPUT_TAB(7).BALANCE_VALUE;
416             CP_TOTAL_ASSESSABLE_INCOME := CP_TOTAL_ASSESSABLE_INCOME + L_TERM_OUTPUT_TAB(8).BALANCE_VALUE;
417             CP_TOTAL_TAX_FREE_COMP  := CP_TOTAL_TAX_FREE_COMP + L_TERM_OUTPUT_TAB(3).BALANCE_VALUE + L_TERM_OUTPUT_TAB(5).BALANCE_VALUE;
418             CP_TOTAL_TAXABLE_COMP   := CP_TOTAL_TAXABLE_COMP  + L_TERM_OUTPUT_TAB(4).BALANCE_VALUE;
419 
420 END IF;
421         END IF;
422         X := PAY_AU_RECON_SUMMARY.POPULATE_EXCLUSION_TABLE(ASSIGNMENT_ID
423                                                           ,CP_FINANCIAL_YEAR
424                                                           ,CP_FIN_YR_END
425                                                           ,TAX_UNIT_ID);
426       END IF;
427     ELSE
428       PAY_AU_RECON_SUMMARY.GET_VALUE_BBR(CP_FIN_YR_START
429                                         ,CP_FIN_YR_END
430                                         ,ASSIGNMENT_ID
431                                         ,CP_FBT_GLOBAL
432                                         ,CP_ML_GLOBAL
433                                         ,ASSIGNMENT_ACTION_ID
434                                         ,TAX_UNIT_ID
435                                         ,TERM_DATE
436                                         ,L_DISPLAY_FLAG
437                                         ,L_OUTPUT_TAB);
438 
439       IF L_DISPLAY_FLAG = 'YES' THEN
440         CP_TOTAL_STANDARD := CP_TOTAL_STANDARD + 1;
441 
442         IF EMP_TYPE = 'C' THEN
443           CP_TOTAL_CURRENT_EMPLOYEES := CP_TOTAL_CURRENT_EMPLOYEES + 1;
444         END IF;
445 
446         IF EMP_TYPE = 'T' THEN
447           CP_TOTAL_TERMINATED_EMPLOYEES := CP_TOTAL_TERMINATED_EMPLOYEES + 1;
448         END IF;
449 
450         CP_TOTAL_GROSS := CP_TOTAL_GROSS + L_OUTPUT_TAB(11).BALANCE_VALUE;
451         CP_TOTAL_ALLOWANCES := CP_TOTAL_ALLOWANCES + L_OUTPUT_TAB(1).BALANCE_VALUE;
452         CP_TOTAL_RFB := CP_TOTAL_RFB + L_OUTPUT_TAB(2).BALANCE_VALUE;
453         CP_TOTAL_CDEP := CP_TOTAL_CDEP + L_OUTPUT_TAB(3).BALANCE_VALUE;
454         CP_TOTAL_LUMPSUM_A_PAY := CP_TOTAL_LUMPSUM_A_PAY + L_OUTPUT_TAB(4).BALANCE_VALUE;
455         CP_TOTAL_LUMPSUM_B_PAY := CP_TOTAL_LUMPSUM_B_PAY + L_OUTPUT_TAB(5).BALANCE_VALUE;
456         CP_TOTAL_LUMPSUM_D_PAY := CP_TOTAL_LUMPSUM_D_PAY + L_OUTPUT_TAB(6).BALANCE_VALUE;
457         CP_TOTAL_LUMPSUM_E_PAY := CP_TOTAL_LUMPSUM_E_PAY + L_OUTPUT_TAB(7).BALANCE_VALUE;
458         CP_TOTAL_UNION_FEES := CP_TOTAL_UNION_FEES + L_OUTPUT_TAB(8).BALANCE_VALUE;
459         CP_TOTAL_TID := CP_TOTAL_TID + L_OUTPUT_TAB(9).BALANCE_VALUE;
460         CP_TOTAL_WORKPLACE := CP_TOTAL_WORKPLACE + L_OUTPUT_TAB(18).BALANCE_VALUE;
461         CP_TOTAL_RESC            := CP_TOTAL_RESC            + L_OUTPUT_TAB(19).BALANCE_VALUE;
462         CP_TOTAL_FOREIGN_INCOME  := CP_TOTAL_FOREIGN_INCOME  + L_OUTPUT_TAB(20).BALANCE_VALUE;
463 
464 
465 IF (EMP_TYPE = 'T' AND L_OUTPUT_TAB(15).BALANCE_VALUE > 0) THEN
466           CP_TOTAL_ETP := CP_TOTAL_ETP + 1;
467           CP_TOTAL_PRE_JUL_83 := CP_TOTAL_PRE_JUL_83 + L_OUTPUT_TAB(12).BALANCE_VALUE;
468           CP_TOTAL_JUN_83_UNT := CP_TOTAL_JUN_83_UNT + L_OUTPUT_TAB(13).BALANCE_VALUE;
469           CP_TOTAL_JUN_94_INV := CP_TOTAL_JUN_94_INV + L_OUTPUT_TAB(14).BALANCE_VALUE;
470           CP_TOTAL_GROSS_ETP := CP_TOTAL_GROSS_ETP + L_OUTPUT_TAB(15).BALANCE_VALUE;
471           CP_TOTAL_ETP_TID := CP_TOTAL_ETP_TID + L_OUTPUT_TAB(16).BALANCE_VALUE;
472           CP_TOTAL_ASSESSABLE_INCOME := CP_TOTAL_ASSESSABLE_INCOME + L_OUTPUT_TAB(17).BALANCE_VALUE;
473         CP_TOTAL_TAX_FREE_COMP  := CP_TOTAL_TAX_FREE_COMP + L_OUTPUT_TAB(12).BALANCE_VALUE + L_OUTPUT_TAB(14).BALANCE_VALUE;
474         CP_TOTAL_TAXABLE_COMP   := CP_TOTAL_TAXABLE_COMP  + L_OUTPUT_TAB(13).BALANCE_VALUE;
475 
476 END IF;
477         X := PAY_AU_RECON_SUMMARY.POPULATE_EXCLUSION_TABLE(ASSIGNMENT_ID
478                                                           ,CP_FINANCIAL_YEAR
479                                                           ,CP_FIN_YR_END
480                                                           ,TAX_UNIT_ID);
481       END IF;
482     END IF;
483     IF MANUAL_PS_ISSUED = 'Y' THEN
484       IF (LP_EMPLOYEE_TYPE = '%' AND CP_DIMENSION < '_ASG_LE_YTD') THEN
485         PAY_AU_RECON_SUMMARY.GET_VALUE_BBR(CP_FIN_YR_START
486                                           ,CP_FIN_YR_END
487                                           ,ASSIGNMENT_ID
488                                           ,CP_FBT_GLOBAL
489                                           ,CP_ML_GLOBAL
490                                           ,ASSIGNMENT_ACTION_ID
491                                           ,TAX_UNIT_ID
492                                           ,TERM_DATE
493                                           ,L_DISPLAY_FLAG
494                                           ,L_OUTPUT_TAB);
495 
496       END IF;
497       IF L_DISPLAY_FLAG = 'YES' THEN
498         CP_MAN_TOTAL_STANDARD := CP_MAN_TOTAL_STANDARD + 1;
499         IF EMP_TYPE = 'C' THEN
500           CP_MAN_TOTAL_CURR_EMPLOYEES := CP_MAN_TOTAL_CURR_EMPLOYEES + 1;
501         END IF;
502         IF EMP_TYPE = 'T' THEN
503           CP_MAN_TOTAL_TERM_EMPLOYEES := CP_MAN_TOTAL_TERM_EMPLOYEES + 1;
504         END IF;
505 
506         CP_MAN_TOTAL_GROSS := CP_MAN_TOTAL_GROSS + L_OUTPUT_TAB(11).BALANCE_VALUE;
507         CP_MAN_TOTAL_ALLOWANCES := CP_MAN_TOTAL_ALLOWANCES + L_OUTPUT_TAB(1).BALANCE_VALUE;
508         CP_MAN_TOTAL_RFB := CP_MAN_TOTAL_RFB + L_OUTPUT_TAB(2).BALANCE_VALUE;
509         CP_MAN_TOTAL_CDEP := CP_MAN_TOTAL_CDEP + L_OUTPUT_TAB(3).BALANCE_VALUE;
510         CP_MAN_TOTAL_LUMPSUM_A_PAY := CP_MAN_TOTAL_LUMPSUM_A_PAY + L_OUTPUT_TAB(4).BALANCE_VALUE;
511         CP_MAN_TOTAL_LUMPSUM_B_PAY := CP_MAN_TOTAL_LUMPSUM_B_PAY + L_OUTPUT_TAB(5).BALANCE_VALUE;
512         CP_MAN_TOTAL_LUMPSUM_D_PAY := CP_MAN_TOTAL_LUMPSUM_D_PAY + L_OUTPUT_TAB(6).BALANCE_VALUE;
513         CP_MAN_TOTAL_LUMPSUM_E_PAY := CP_MAN_TOTAL_LUMPSUM_E_PAY + L_OUTPUT_TAB(7).BALANCE_VALUE;
514         CP_MAN_TOTAL_UNION_FEES := CP_MAN_TOTAL_UNION_FEES + L_OUTPUT_TAB(8).BALANCE_VALUE;
515         CP_MAN_TOTAL_TID := CP_MAN_TOTAL_TID + L_OUTPUT_TAB(9).BALANCE_VALUE;
516         CP_MAN_TOTAL_WORKPLACE := CP_MAN_TOTAL_WORKPLACE + L_OUTPUT_TAB(18).BALANCE_VALUE;
517         CP_MAN_TOTAL_RESC            := CP_MAN_TOTAL_RESC            + L_OUTPUT_TAB(19).BALANCE_VALUE;
518         CP_MAN_TOTAL_FOREIGN_INCOME  := CP_MAN_TOTAL_FOREIGN_INCOME  + L_OUTPUT_TAB(20).BALANCE_VALUE;
519 
520         IF (EMP_TYPE = 'T' AND L_OUTPUT_TAB(15).BALANCE_VALUE > 0) THEN
521           CP_MAN_TOTAL_ETP := CP_MAN_TOTAL_ETP + 1;
522           CP_MAN_TOTAL_PRE_JUL_83 := CP_MAN_TOTAL_PRE_JUL_83 + L_OUTPUT_TAB(12).BALANCE_VALUE;
523           CP_MAN_TOTAL_JUN_83_UNT := CP_MAN_TOTAL_JUN_83_UNT + L_OUTPUT_TAB(13).BALANCE_VALUE;
524           CP_MAN_TOTAL_JUN_94_INV := CP_MAN_TOTAL_JUN_94_INV + L_OUTPUT_TAB(14).BALANCE_VALUE;
525           CP_MAN_TOTAL_GROSS_ETP := CP_MAN_TOTAL_GROSS_ETP + L_OUTPUT_TAB(15).BALANCE_VALUE;
526           CP_MAN_TOTAL_ETP_TID := CP_MAN_TOTAL_ETP_TID + L_OUTPUT_TAB(16).BALANCE_VALUE;
527           CP_MAN_TOTAL_ASSESSABLE_INCOME := CP_MAN_TOTAL_ASSESSABLE_INCOME + L_OUTPUT_TAB(17).BALANCE_VALUE;
528         CP_MAN_TOTAL_TAX_FREE_COMP  := CP_MAN_TOTAL_TAX_FREE_COMP + L_OUTPUT_TAB(12).BALANCE_VALUE + L_OUTPUT_TAB(14).BALANCE_VALUE;
529             CP_MAN_TOTAL_TAXABLE_COMP   := CP_MAN_TOTAL_TAX_FREE_COMP + L_OUTPUT_TAB(13).BALANCE_VALUE;
530 END IF;
531       END IF;
532     END IF;
533 
534 IF (FOREIGN_PS_EXISTS = 'Y')
535 THEN
536         IF (LP_EMPLOYEE_TYPE= '%' AND CP_DIMENSION  <> '_ASG_LE_YTD' AND MANUAL_PS_ISSUED <> 'Y')
537         THEN
538           PAY_AU_RECON_SUMMARY.GET_VALUE_BBR(CP_FIN_YR_START
539                                           ,CP_FIN_YR_END
540                                           ,ASSIGNMENT_ID
541                                           ,CP_FBT_GLOBAL
542                                           ,CP_ML_GLOBAL
543                                           ,ASSIGNMENT_ACTION_ID
544                                           ,TAX_UNIT_ID
545                                           ,TERM_DATE
546                                           ,L_DISPLAY_FLAG
547                                           ,L_OUTPUT_TAB);
548 
549         END IF;
550 
551      CP_FW_TOTAL_GROSS      := CP_FW_TOTAL_GROSS      + L_OUTPUT_TAB(21).BALANCE_VALUE ;
552      CP_FW_TOTAL_ALLOWANCE  := CP_FW_TOTAL_ALLOWANCE  + L_OUTPUT_TAB(35).BALANCE_VALUE;
553      CP_FW_TOTAL_LUMPSUME   := CP_FW_TOTAL_LUMPSUME   + L_OUTPUT_TAB(22).BALANCE_VALUE;
554      CP_FW_TOTAL_WORKPLACE  := CP_FW_TOTAL_WORKPLACE  + L_OUTPUT_TAB(23).BALANCE_VALUE;
555      CP_FW_TOTAL_TID        := CP_FW_TOTAL_TID        + L_OUTPUT_TAB(24).BALANCE_VALUE;
556      CP_FW_TOTAL_FTID       := CP_FW_TOTAL_FTID       + L_OUTPUT_TAB(25).BALANCE_VALUE;
557      CP_FW_TOTAL_LUMPSUMA   := CP_FW_TOTAL_LUMPSUMA   + L_OUTPUT_TAB(26).BALANCE_VALUE;
558      CP_FW_TOTAL_LUMPSUMD   := CP_FW_TOTAL_LUMPSUMD   + L_OUTPUT_TAB(27).BALANCE_VALUE;
559      CP_FW_TOTAL_RESC       := CP_FW_TOTAL_RESC       + L_OUTPUT_TAB(28).BALANCE_VALUE;
560      CP_FW_TOTAL_UNION_FEES := CP_FW_TOTAL_UNION_FEES + L_OUTPUT_TAB(29).BALANCE_VALUE;
561      CP_FW_TOTAL_RFB        := CP_FW_TOTAL_RFB       + L_OUTPUT_TAB(30).BALANCE_VALUE;
562      CP_FW_TOTAL_NET_BAL    := CP_FW_TOTAL_NET_BAL    + L_OUTPUT_TAB(31).BALANCE_VALUE;
563      CP_FW_TOTAL_SUB_BAL    := CP_FW_TOTAL_SUB_BAL    + L_OUTPUT_TAB(32).BALANCE_VALUE;
564      CP_TOTAL_NET_BAL       := CP_TOTAL_NET_BAL      + L_OUTPUT_TAB(33).BALANCE_VALUE;
565 
566 
567 
568      IF (L_OUTPUT_TAB(33).BALANCE_VALUE - L_OUTPUT_TAB(31).BALANCE_VALUE) <> 0
569      THEN
570         IF (L_OUTPUT_TAB(31).BALANCE_VALUE <> 0)
571         THEN
572                 CP_FW_TOTAL_STANDARD := CP_FW_TOTAL_STANDARD + 1;
573         END IF;
574      ELSIF (L_OUTPUT_TAB(31).BALANCE_VALUE <> 0)
575      THEN
576                  CP_FW_TOTAL_STANDARD      := CP_FW_TOTAL_STANDARD    + 1;
577                  CP_FW_TOTAL_RFB           := CP_FW_TOTAL_RFB        + L_OUTPUT_TAB(2).BALANCE_VALUE;
578                  CP_FW_TOTAL_RESC          := CP_FW_TOTAL_RESC        + L_OUTPUT_TAB(19).BALANCE_VALUE;
579                  CP_FW_TOTAL_LUMPSUMD      := CP_FW_TOTAL_LUMPSUMD    + L_OUTPUT_TAB(6).BALANCE_VALUE;
580                  CP_TOTAL_STANDARD        := CP_TOTAL_STANDARD       - 1;
581      END IF;
582 
583 END IF;
584 
585     RETURN (1);
586   END CF_CALC_TOTALSFORMULA;
587 
588   FUNCTION AFTERREPORT RETURN BOOLEAN IS
589   BEGIN
590     DELETE FROM PAY_ASSIGNMENT_ACTIONS
591      WHERE PAYROLL_ACTION_ID = LP_PAYROLL_ACTION_ID;
592     DELETE FROM PAY_PAYROLL_ACTIONS
593      WHERE PAYROLL_ACTION_ID = LP_PAYROLL_ACTION_ID;
594     COMMIT;
595     RETURN (TRUE);
596   END AFTERREPORT;
597 
598   FUNCTION CF_CALC_GROUP_TOTALSFORMULA RETURN NUMBER IS
599    CURSOR CSR_MAX_ASSGT_ACTION
600 IS
601       SELECT TO_NUMBER(SUBSTR(MAX(LPAD(PAA.ACTION_SEQUENCE ,15,'0') || PAA.ASSIGNMENT_ACTION_ID),16)) ASSIGNMENT_ACTION_ID
602       FROM PAY_ASSIGNMENT_ACTIONS PAA,
603         PAY_PAYROLL_ACTIONS PPA
604       WHERE PAA.TAX_UNIT_ID = LP_REGISTERED_EMPLOYER
605         AND PAA.PAYROLL_ACTION_ID = PPA.PAYROLL_ACTION_ID
606         AND PPA.PAYROLL_ID = NVL(LP_PAYROLL_ID,PPA.PAYROLL_ID)
607         AND PAA.ASSIGNMENT_ID = NVL(LP_ASSIGNMENT_ID,PAA.ASSIGNMENT_ID)
608         AND PPA.EFFECTIVE_DATE BETWEEN CP_FIN_YR_START AND CP_FIN_YR_END
609         AND PAA.ACTION_STATUS = 'C'
610         AND PPA.ACTION_STATUS = 'C'
611         AND PPA.ACTION_TYPE in ( 'R' , 'Q' , 'I' , 'V' , 'B' );
612 
613 L_ASSIGNMENT_ACTION_ID PAY_ASSIGNMENT_ACTIONS.ASSIGNMENT_ACTION_ID%TYPE;
614     L_GROUP_OUTPUT_TAB PAY_AU_RECON_SUMMARY.BAL_TAB;
615     L_GROUP_ASSGT_OUTPUT_TAB PAY_AU_RECON_SUMMARY.BAL_TAB;
616 
617   BEGIN
618     L_GROUP_OUTPUT_TAB.DELETE;
619     CP_ASSGT_COUNTER := CP_ASSGT_COUNTER + 1;
620     IF (CP_ASSGT_COUNTER = CP_ASSGT_TOTAL AND LP_EMPLOYEE_TYPE = '%' AND CP_DIMENSION <> '_ASG_LE_YTD') THEN
621       OPEN CSR_MAX_ASSGT_ACTION;
622       FETCH CSR_MAX_ASSGT_ACTION
623        INTO L_ASSIGNMENT_ACTION_ID;
624       CLOSE CSR_MAX_ASSGT_ACTION;
625       PAY_AU_RECON_SUMMARY.POPULATE_GROUP_DEF_BAL_IDS(P_DIMENSION_NAME => CP_DIMENSION
626                                                                                              ,p_business_group_id => LP_BUSINESS_GROUP_ID);  -- added for bug 7571001
627       PAY_AU_RECON_SUMMARY.GET_GROUP_VALUES_BBR(p_year_start           => CP_FIN_YR_START  -- added for bug 7571001
628                                                , p_year_end             => CP_FIN_YR_END    -- added for bug 7571001
629                                                ,P_ASSIGNMENT_ACTION_ID => L_ASSIGNMENT_ACTION_ID
630                                                ,P_DATE_EARNED => CP_FIN_YR_END
631                                                ,P_TAX_UNIT_ID => LP_REGISTERED_EMPLOYER
632                                                ,P_GROUP_OUTPUT_TAB => L_GROUP_OUTPUT_TAB);
633       CP_TOTAL_LUMPSUM_A_PAY := L_GROUP_OUTPUT_TAB(1).BALANCE_VALUE;
634       CP_TOTAL_LUMPSUM_B_PAY := L_GROUP_OUTPUT_TAB(2).BALANCE_VALUE;
635       CP_TOTAL_LUMPSUM_D_PAY := L_GROUP_OUTPUT_TAB(3).BALANCE_VALUE;
636       CP_TOTAL_UNION_FEES := L_GROUP_OUTPUT_TAB(4).BALANCE_VALUE;
637       CP_TOTAL_TID := L_GROUP_OUTPUT_TAB(5).BALANCE_VALUE;
638       CP_TOTAL_CDEP := L_GROUP_OUTPUT_TAB(8).BALANCE_VALUE;
639       CP_TOTAL_WORKPLACE := L_GROUP_OUTPUT_TAB(10).BALANCE_VALUE;
640       CP_TOTAL_ALLOWANCES    := L_GROUP_OUTPUT_TAB(11).BALANCE_VALUE;  -- bug 7571001
641       CP_TOTAL_RESC           := L_GROUP_OUTPUT_TAB(12).BALANCE_VALUE;
642       CP_TOTAL_FOREIGN_INCOME := L_GROUP_OUTPUT_TAB(13).BALANCE_VALUE;
643       CP_TOTAL_GROSS := (L_GROUP_OUTPUT_TAB(6).BALANCE_VALUE + L_GROUP_OUTPUT_TAB(7).BALANCE_VALUE) + CP_TOTAL_WORKPLACE -
644 (GREATEST(CP_TOTAL_ALLOWANCES,0) + CP_TOTAL_CDEP  + CP_TOTAL_LUMPSUM_E_PAY+ CP_TOTAL_FOREIGN_INCOME);
645     END IF;
646     IF (CP_ASSGT_COUNTER = CP_ASSGT_TOTAL) THEN
647       CP_TOTAL_STANDARD := CP_TOTAL_STANDARD - CP_MAN_TOTAL_STANDARD;
648       CP_TOTAL_CURRENT_EMPLOYEES := CP_TOTAL_CURRENT_EMPLOYEES - CP_MAN_TOTAL_CURR_EMPLOYEES;
649       CP_TOTAL_TERMINATED_EMPLOYEES := CP_TOTAL_TERMINATED_EMPLOYEES - CP_MAN_TOTAL_TERM_EMPLOYEES;
650       CP_TOTAL_GROSS := CP_TOTAL_GROSS - CP_MAN_TOTAL_GROSS - CP_FW_TOTAL_GROSS  ;
651       CP_TOTAL_ALLOWANCES := CP_TOTAL_ALLOWANCES - CP_MAN_TOTAL_ALLOWANCES- CP_FW_TOTAL_ALLOWANCE;
652       CP_TOTAL_RFB := CP_TOTAL_RFB - CP_MAN_TOTAL_RFB - CP_FW_TOTAL_RFB;
653       CP_TOTAL_CDEP := CP_TOTAL_CDEP - CP_MAN_TOTAL_CDEP;
654       CP_TOTAL_LUMPSUM_A_PAY := CP_TOTAL_LUMPSUM_A_PAY - CP_MAN_TOTAL_LUMPSUM_A_PAY - CP_FW_TOTAL_LUMPSUMA;
655       CP_TOTAL_LUMPSUM_B_PAY := CP_TOTAL_LUMPSUM_B_PAY - CP_MAN_TOTAL_LUMPSUM_B_PAY;
656       CP_TOTAL_LUMPSUM_D_PAY := CP_TOTAL_LUMPSUM_D_PAY - CP_MAN_TOTAL_LUMPSUM_D_PAY- CP_FW_TOTAL_LUMPSUMD;
657       CP_TOTAL_LUMPSUM_E_PAY := CP_TOTAL_LUMPSUM_E_PAY - CP_MAN_TOTAL_LUMPSUM_E_PAY - CP_FW_TOTAL_LUMPSUME;
658       CP_TOTAL_UNION_FEES := CP_TOTAL_UNION_FEES - CP_MAN_TOTAL_UNION_FEES - CP_FW_TOTAL_UNION_FEES;
659       CP_TOTAL_TID := CP_TOTAL_TID - CP_MAN_TOTAL_TID- CP_FW_TOTAL_TID;
660       CP_TOTAL_ETP := CP_TOTAL_ETP - CP_MAN_TOTAL_ETP;
661       CP_TOTAL_PRE_JUL_83 := CP_TOTAL_PRE_JUL_83 - CP_MAN_TOTAL_PRE_JUL_83;
662       CP_TOTAL_JUN_83_UNT := CP_TOTAL_JUN_83_UNT - CP_MAN_TOTAL_JUN_83_UNT;
663       CP_TOTAL_JUN_83_TAX := CP_TOTAL_JUN_83_TAX - CP_MAN_TOTAL_JUN_83_TAX;
664       CP_TOTAL_JUN_94_INV := CP_TOTAL_JUN_94_INV - CP_MAN_TOTAL_JUN_94_INV;
665       CP_TOTAL_GROSS_ETP := CP_TOTAL_GROSS_ETP - CP_MAN_TOTAL_GROSS_ETP;
666       CP_TOTAL_ETP_TID := CP_TOTAL_ETP_TID - CP_MAN_TOTAL_ETP_TID;
667       CP_TOTAL_ASSESSABLE_INCOME := CP_TOTAL_ASSESSABLE_INCOME - CP_MAN_TOTAL_ASSESSABLE_INCOME;
668       CP_TOTAL_WORKPLACE := CP_TOTAL_WORKPLACE - CP_MAN_TOTAL_WORKPLACE- CP_FW_TOTAL_WORKPLACE;
669       CP_TOTAL_RESC                    :=   CP_TOTAL_RESC -  CP_MAN_TOTAL_RESC - CP_FW_TOTAL_RESC;
670       CP_TOTAL_FOREIGN_INCOME          :=   CP_TOTAL_FOREIGN_INCOME -  CP_MAN_TOTAL_FOREIGN_INCOME ;
671       CP_TOTAL_TAX_FREE_COMP           :=  CP_TOTAL_TAX_FREE_COMP            -  CP_MAN_TOTAL_TAX_FREE_COMP ;
672       CP_TOTAL_TAXABLE_COMP            :=  CP_TOTAL_TAXABLE_COMP             -  CP_MAN_TOTAL_TAXABLE_COMP ;
673       CP_FW_TOTAL_GROSS                :=  CP_FW_TOTAL_GROSS + CP_FW_TOTAL_ALLOWANCE;
674 
675     END IF;
676     RETURN (1);
677 END CF_CALC_GROUP_TOTALSFORMULA;
678 
679   FUNCTION MANUAL_PS_ISSUED_P RETURN VARCHAR2 IS
680   BEGIN
681     RETURN MANUAL_PS_ISSUED;
682   END MANUAL_PS_ISSUED_P;
683 
684   FUNCTION FOREIGN_PS_EXISTS_P RETURN VARCHAR2 IS
685   BEGIN
686     RETURN FOREIGN_PS_EXISTS;
687   END FOREIGN_PS_EXISTS_P;
688 
689   FUNCTION CP_FIN_YR_START_P RETURN DATE IS
690   BEGIN
691     RETURN CP_FIN_YR_START;
692   END CP_FIN_YR_START_P;
693 
694   FUNCTION CP_FIN_YR_END_P RETURN DATE IS
695   BEGIN
696     RETURN CP_FIN_YR_END;
697   END CP_FIN_YR_END_P;
698 
699   FUNCTION CP_FBT_YR_START_P RETURN DATE IS
700   BEGIN
701     RETURN CP_FBT_YR_START;
702   END CP_FBT_YR_START_P;
703 
704   FUNCTION CP_FBT_YR_END_P RETURN DATE IS
705   BEGIN
706     RETURN CP_FBT_YR_END;
707   END CP_FBT_YR_END_P;
708 
709   FUNCTION CP_TOTAL_STANDARD_P RETURN NUMBER IS
710   BEGIN
711     RETURN CP_TOTAL_STANDARD;
712   END CP_TOTAL_STANDARD_P;
713 
714   FUNCTION CP_TOTAL_ETP_P RETURN NUMBER IS
715   BEGIN
716     RETURN CP_TOTAL_ETP;
717   END CP_TOTAL_ETP_P;
718 
719   FUNCTION CP_TOTAL_CURRENT_EMPLOYEES_P RETURN NUMBER IS
720   BEGIN
721     RETURN CP_TOTAL_CURRENT_EMPLOYEES;
722   END CP_TOTAL_CURRENT_EMPLOYEES_P;
723 
724   --FUNCTION CP_TOTAL_TERMINATED_EMPLOYEES RETURN NUMBER IS
725   FUNCTION CP_TOTAL_TERMINATED_EMPLOY_P RETURN NUMBER IS
726   BEGIN
727     RETURN CP_TOTAL_TERMINATED_EMPLOYEES;
728   END CP_TOTAL_TERMINATED_EMPLOY_P;
729 
730   FUNCTION CP_TOTAL_GROSS_P RETURN NUMBER IS
731   BEGIN
732     RETURN CP_TOTAL_GROSS;
733   END CP_TOTAL_GROSS_P;
734 
735   FUNCTION CP_TOTAL_RFB_P RETURN NUMBER IS
736   BEGIN
737     RETURN CP_TOTAL_RFB;
738   END CP_TOTAL_RFB_P;
739 
740   FUNCTION CP_TOTAL_LUMPSUM_A_PAY_P RETURN NUMBER IS
741   BEGIN
742     RETURN CP_TOTAL_LUMPSUM_A_PAY;
743   END CP_TOTAL_LUMPSUM_A_PAY_P;
744 
745   FUNCTION CP_TOTAL_LUMPSUM_B_PAY_P RETURN NUMBER IS
746   BEGIN
747     RETURN CP_TOTAL_LUMPSUM_B_PAY;
748   END CP_TOTAL_LUMPSUM_B_PAY_P;
749 
750   FUNCTION CP_TOTAL_LUMPSUM_D_PAY_P RETURN NUMBER IS
751   BEGIN
752     RETURN CP_TOTAL_LUMPSUM_D_PAY;
753   END CP_TOTAL_LUMPSUM_D_PAY_P;
754 
755   FUNCTION CP_TOTAL_LUMPSUM_E_PAY_P RETURN NUMBER IS
756   BEGIN
757     RETURN CP_TOTAL_LUMPSUM_E_PAY;
758   END CP_TOTAL_LUMPSUM_E_PAY_P;
759 
760   FUNCTION CP_TOTAL_UNION_FEES_P RETURN NUMBER IS
761   BEGIN
762     RETURN CP_TOTAL_UNION_FEES;
763   END CP_TOTAL_UNION_FEES_P;
764 
765   FUNCTION CP_TOTAL_TID_P RETURN NUMBER IS
766   BEGIN
767     RETURN CP_TOTAL_TID;
768   END CP_TOTAL_TID_P;
769 
770   FUNCTION CP_TOTAL_PRE_JUL_83_P RETURN NUMBER IS
771   BEGIN
772     RETURN CP_TOTAL_PRE_JUL_83;
773   END CP_TOTAL_PRE_JUL_83_P;
774 
775   FUNCTION CP_TOTAL_JUN_83_UNT_P RETURN NUMBER IS
776   BEGIN
777     RETURN CP_TOTAL_JUN_83_UNT;
778   END CP_TOTAL_JUN_83_UNT_P;
779 
780   FUNCTION CP_TOTAL_JUN_83_TAX_P RETURN NUMBER IS
781   BEGIN
782     RETURN CP_TOTAL_JUN_83_TAX;
783   END CP_TOTAL_JUN_83_TAX_P;
784 
785   FUNCTION CP_TOTAL_JUN_94_INV_P RETURN NUMBER IS
786   BEGIN
787     RETURN CP_TOTAL_JUN_94_INV;
788   END CP_TOTAL_JUN_94_INV_P;
789 
790   FUNCTION CP_TOTAL_GROSS_ETP_P RETURN NUMBER IS
791   BEGIN
792     RETURN CP_TOTAL_GROSS_ETP;
793   END CP_TOTAL_GROSS_ETP_P;
794 
795   FUNCTION CP_TOTAL_ETP_TID_P RETURN NUMBER IS
796   BEGIN
797     RETURN CP_TOTAL_ETP_TID;
798   END CP_TOTAL_ETP_TID_P;
799 
800   FUNCTION CP_TOTAL_ASSESSABLE_INCOME_P RETURN NUMBER IS
801   BEGIN
802     RETURN CP_TOTAL_ASSESSABLE_INCOME;
803   END CP_TOTAL_ASSESSABLE_INCOME_P;
804 
805   FUNCTION CP_TOTAL_ALLOWANCES_P RETURN NUMBER IS
806   BEGIN
807     RETURN CP_TOTAL_ALLOWANCES;
808   END CP_TOTAL_ALLOWANCES_P;
809 
810   FUNCTION CP_TOTAL_CDEP_P RETURN NUMBER IS
811   BEGIN
812     RETURN CP_TOTAL_CDEP;
813   END CP_TOTAL_CDEP_P;
814 
815   FUNCTION CP_FINANCIAL_YEAR_P RETURN VARCHAR2 IS
816   BEGIN
817     RETURN CP_FINANCIAL_YEAR;
818   END CP_FINANCIAL_YEAR_P;
819 
820   FUNCTION CP_REG_EMP_P RETURN VARCHAR2 IS
821   BEGIN
822     RETURN CP_REG_EMP;
823   END CP_REG_EMP_P;
824 
825   FUNCTION CP_PAYROLL_NAME_P RETURN VARCHAR2 IS
826   BEGIN
827     RETURN CP_PAYROLL_NAME;
828   END CP_PAYROLL_NAME_P;
829 
830   FUNCTION CP_EMP_TYPE_P RETURN VARCHAR2 IS
831   BEGIN
832     RETURN CP_EMP_TYPE;
833   END CP_EMP_TYPE_P;
834 
835   FUNCTION CP_ASSIGNMENT_NUMBER_P RETURN VARCHAR2 IS
836   BEGIN
837     RETURN CP_ASSIGNMENT_NUMBER;
838   END CP_ASSIGNMENT_NUMBER_P;
839 
840   FUNCTION CP_FBT_GLOBAL_P RETURN VARCHAR2 IS
841   BEGIN
842     RETURN CP_FBT_GLOBAL;
843   END CP_FBT_GLOBAL_P;
844 
845   FUNCTION CP_ML_GLOBAL_P RETURN VARCHAR2 IS
846   BEGIN
847     RETURN CP_ML_GLOBAL;
848   END CP_ML_GLOBAL_P;
849 
850   FUNCTION CP_DIMENSION_P RETURN VARCHAR2 IS
851   BEGIN
852     RETURN CP_DIMENSION;
853   END CP_DIMENSION_P;
854 
855   FUNCTION CP_ASSGT_COUNTER_P RETURN NUMBER IS
856   BEGIN
857     RETURN CP_ASSGT_COUNTER;
858   END CP_ASSGT_COUNTER_P;
859 
860   FUNCTION CP_ASSGT_TOTAL_P RETURN NUMBER IS
861   BEGIN
862     RETURN CP_ASSGT_TOTAL;
863   END CP_ASSGT_TOTAL_P;
864 
865   FUNCTION CP_LST_YR_START_P RETURN DATE IS
866   BEGIN
867     RETURN CP_LST_YR_START;
868   END CP_LST_YR_START_P;
869 
870   FUNCTION CP_LST_YR_TERM_P RETURN VARCHAR2 IS
871   BEGIN
872     RETURN CP_LST_YR_TERM;
873   END CP_LST_YR_TERM_P;
874 
875   FUNCTION CP_TOTAL_WORKPLACE_P RETURN NUMBER IS
876   BEGIN
877     RETURN CP_TOTAL_WORKPLACE;
878   END CP_TOTAL_WORKPLACE_P;
879 
880   FUNCTION CP_FW_TOTAL_ALLOWANCE_P RETURN NUMBER IS
881   BEGIN
882     RETURN CP_FW_TOTAL_ALLOWANCE;
883   END CP_FW_TOTAL_ALLOWANCE_P;
884 
885   FUNCTION  CP_FW_TOTAL_FTID_P RETURN NUMBER IS
886   BEGIN
887     RETURN CP_FW_TOTAL_FTID;
888   END CP_FW_TOTAL_FTID_P;
889 
890   FUNCTION  CP_FW_TOTAL_GROSS_P RETURN NUMBER IS
891   BEGIN
892     RETURN CP_FW_TOTAL_GROSS;
893   END CP_FW_TOTAL_GROSS_P;
894 
895   FUNCTION  CP_FW_TOTAL_LUMPSUMA_P RETURN NUMBER IS
896   BEGIN
897     RETURN CP_FW_TOTAL_LUMPSUMA;
898   END CP_FW_TOTAL_LUMPSUMA_P;
899 
900   FUNCTION  CP_FW_TOTAL_LUMPSUMD_P RETURN NUMBER IS
901   BEGIN
902     RETURN CP_FW_TOTAL_LUMPSUMD;
903   END CP_FW_TOTAL_LUMPSUMD_P;
904 
905   FUNCTION  CP_FW_TOTAL_LUMPSUME_P RETURN NUMBER IS
906   BEGIN
907     RETURN CP_FW_TOTAL_LUMPSUME;
908   END CP_FW_TOTAL_LUMPSUME_P;
909 
910   FUNCTION  CP_FW_TOTAL_NET_BAL_P RETURN NUMBER IS
911   BEGIN
912     RETURN CP_FW_TOTAL_NET_BAL;
913   END CP_FW_TOTAL_NET_BAL_P;
914 
915   FUNCTION  CP_FW_TOTAL_RESC_P RETURN NUMBER IS
916   BEGIN
917     RETURN CP_FW_TOTAL_RESC;
918   END CP_FW_TOTAL_RESC_P;
919 
920   FUNCTION  CP_FW_TOTAL_RFB_P RETURN NUMBER IS
921   BEGIN
922     RETURN CP_FW_TOTAL_RFB;
923   END CP_FW_TOTAL_RFB_P;
924 
925   FUNCTION  CP_FW_TOTAL_STANDARD_P RETURN NUMBER IS
926   BEGIN
927     RETURN CP_FW_TOTAL_STANDARD;
928   END CP_FW_TOTAL_STANDARD_P;
929 
930   FUNCTION  CP_FW_TOTAL_SUB_BAL_P RETURN NUMBER IS
931   BEGIN
932     RETURN CP_FW_TOTAL_SUB_BAL;
933   END CP_FW_TOTAL_SUB_BAL_P;
934 
935   FUNCTION  CP_FW_TOTAL_TID_P RETURN NUMBER IS
936   BEGIN
937     RETURN CP_FW_TOTAL_TID;
938   END CP_FW_TOTAL_TID_P;
939 
940   FUNCTION  CP_FW_TOTAL_UNION_FEES_P RETURN NUMBER IS
941   BEGIN
942     RETURN CP_FW_TOTAL_UNION_FEES;
943   END CP_FW_TOTAL_UNION_FEES_P;
944 
945   FUNCTION  CP_FW_TOTAL_WORKPLACE_P RETURN NUMBER IS
946   BEGIN
947     RETURN CP_FW_TOTAL_WORKPLACE;
948   END CP_FW_TOTAL_WORKPLACE_P;
949 
950   FUNCTION CP_MAN_TOTAL_STANDARD_P RETURN NUMBER IS
951   BEGIN
952     RETURN CP_MAN_TOTAL_STANDARD;
953   END CP_MAN_TOTAL_STANDARD_P;
954 
955   FUNCTION CP_MAN_TOTAL_ETP_P RETURN NUMBER IS
956   BEGIN
957     RETURN CP_MAN_TOTAL_ETP;
958   END CP_MAN_TOTAL_ETP_P;
959 
960   FUNCTION CP_MAN_TOTAL_CURR_EMPLOYEES_P RETURN NUMBER IS
961   BEGIN
962     RETURN CP_MAN_TOTAL_CURR_EMPLOYEES;
963   END CP_MAN_TOTAL_CURR_EMPLOYEES_P;
964 
965   FUNCTION CP_MAN_TOTAL_TERM_EMPLOYEES_P RETURN NUMBER IS
966   BEGIN
967     RETURN CP_MAN_TOTAL_TERM_EMPLOYEES;
968   END CP_MAN_TOTAL_TERM_EMPLOYEES_P;
969 
970   FUNCTION CP_MAN_TOTAL_GROSS_P RETURN NUMBER IS
971   BEGIN
972     RETURN CP_MAN_TOTAL_GROSS;
973   END CP_MAN_TOTAL_GROSS_P;
974 
975   FUNCTION CP_MAN_TOTAL_RFB_P RETURN NUMBER IS
976   BEGIN
977     RETURN CP_MAN_TOTAL_RFB;
978   END CP_MAN_TOTAL_RFB_P;
979 
980   FUNCTION CP_MAN_TOTAL_LUMPSUM_A_PAY_P RETURN NUMBER IS
981   BEGIN
982     RETURN CP_MAN_TOTAL_LUMPSUM_A_PAY;
983   END CP_MAN_TOTAL_LUMPSUM_A_PAY_P;
984 
985   FUNCTION CP_MAN_TOTAL_LUMPSUM_B_PAY_P RETURN NUMBER IS
986   BEGIN
987     RETURN CP_MAN_TOTAL_LUMPSUM_B_PAY;
988   END CP_MAN_TOTAL_LUMPSUM_B_PAY_P;
989 
990   FUNCTION CP_MAN_TOTAL_LUMPSUM_D_PAY_P RETURN NUMBER IS
991   BEGIN
992     RETURN CP_MAN_TOTAL_LUMPSUM_D_PAY;
993   END CP_MAN_TOTAL_LUMPSUM_D_PAY_P;
994 
995   FUNCTION CP_MAN_TOTAL_LUMPSUM_E_PAY_P RETURN NUMBER IS
996   BEGIN
997     RETURN CP_MAN_TOTAL_LUMPSUM_E_PAY;
998   END CP_MAN_TOTAL_LUMPSUM_E_PAY_P;
999 
1000   FUNCTION CP_MAN_TOTAL_UNION_FEES_P RETURN NUMBER IS
1001   BEGIN
1002     RETURN CP_MAN_TOTAL_UNION_FEES;
1003   END CP_MAN_TOTAL_UNION_FEES_P;
1004 
1005   FUNCTION CP_MAN_TOTAL_TID_P RETURN NUMBER IS
1006   BEGIN
1007     RETURN CP_MAN_TOTAL_TID;
1008   END CP_MAN_TOTAL_TID_P;
1009 
1010   FUNCTION CP_MAN_TOTAL_PRE_JUL_83_P RETURN NUMBER IS
1011   BEGIN
1012     RETURN CP_MAN_TOTAL_PRE_JUL_83;
1013   END CP_MAN_TOTAL_PRE_JUL_83_P;
1014 
1015   FUNCTION CP_MAN_TOTAL_JUN_83_UNT_P RETURN NUMBER IS
1016   BEGIN
1017     RETURN CP_MAN_TOTAL_JUN_83_UNT;
1018   END CP_MAN_TOTAL_JUN_83_UNT_P;
1019 
1020   FUNCTION CP_MAN_TOTAL_JUN_83_TAX_P RETURN NUMBER IS
1021   BEGIN
1022     RETURN CP_MAN_TOTAL_JUN_83_TAX;
1023   END CP_MAN_TOTAL_JUN_83_TAX_P;
1024 
1025   FUNCTION CP_MAN_TOTAL_JUN_94_INV_P RETURN NUMBER IS
1026   BEGIN
1027     RETURN CP_MAN_TOTAL_JUN_94_INV;
1028   END CP_MAN_TOTAL_JUN_94_INV_P;
1029 
1030   FUNCTION CP_MAN_TOTAL_GROSS_ETP_P RETURN NUMBER IS
1031   BEGIN
1032     RETURN CP_MAN_TOTAL_GROSS_ETP;
1033   END CP_MAN_TOTAL_GROSS_ETP_P;
1034 
1035   FUNCTION CP_MAN_TOTAL_ETP_TID_P RETURN NUMBER IS
1036   BEGIN
1037     RETURN CP_MAN_TOTAL_ETP_TID;
1038   END CP_MAN_TOTAL_ETP_TID_P;
1039 
1040   FUNCTION CP_MAN_TOTAL_ASSESSABLE_INCOM RETURN NUMBER IS
1041   BEGIN
1042     RETURN CP_MAN_TOTAL_ASSESSABLE_INCOME;
1043   END CP_MAN_TOTAL_ASSESSABLE_INCOM;
1044 
1045   FUNCTION CP_MAN_TOTAL_ALLOWANCES_P RETURN NUMBER IS
1046   BEGIN
1047     RETURN CP_MAN_TOTAL_ALLOWANCES;
1048   END CP_MAN_TOTAL_ALLOWANCES_P;
1049 
1050   FUNCTION CP_MAN_TOTAL_CDEP_P RETURN NUMBER IS
1051   BEGIN
1052     RETURN CP_MAN_TOTAL_CDEP;
1053   END CP_MAN_TOTAL_CDEP_P;
1054 
1055   FUNCTION CP_MAN_TOTAL_WORKPLACE_P RETURN NUMBER IS
1056   BEGIN
1057     RETURN CP_MAN_TOTAL_WORKPLACE;
1058   END CP_MAN_TOTAL_WORKPLACE_P;
1059 
1060   FUNCTION CP_MAN_TOTAL_FOREIGN_INCOME_P RETURN NUMBER IS
1061   BEGIN
1062     RETURN CP_MAN_TOTAL_FOREIGN_INCOME;
1063   END CP_MAN_TOTAL_FOREIGN_INCOME_P;
1064 
1065   FUNCTION CP_MAN_TOTAL_RESC_P RETURN NUMBER IS
1066   BEGIN
1067     RETURN CP_MAN_TOTAL_RESC;
1068   END CP_MAN_TOTAL_RESC_P;
1069 
1070   FUNCTION CP_MAN_TOTAL_TAXABLE_COMP_P RETURN NUMBER IS
1071   BEGIN
1072     RETURN CP_MAN_TOTAL_TAXABLE_COMP;
1073   END CP_MAN_TOTAL_TAXABLE_COMP_P;
1074 
1075   FUNCTION CP_MAN_TOTAL_TAX_FREE_COMP_P RETURN NUMBER IS
1076   BEGIN
1077     RETURN CP_MAN_TOTAL_TAX_FREE_COMP;
1078   END CP_MAN_TOTAL_TAX_FREE_COMP_P;
1079 
1080   FUNCTION CP_TOTAL_FOREIGN_INCOME_P RETURN NUMBER IS
1081   BEGIN
1082     RETURN CP_TOTAL_FOREIGN_INCOME;
1083   END CP_TOTAL_FOREIGN_INCOME_P;
1084 
1085   FUNCTION CP_TOTAL_NET_BAL_P RETURN NUMBER IS
1086   BEGIN
1087     RETURN CP_TOTAL_NET_BAL;
1088   END CP_TOTAL_NET_BAL_P;
1089 
1090   FUNCTION CP_TOTAL_RESC_P RETURN NUMBER IS
1091   BEGIN
1092     RETURN CP_TOTAL_RESC;
1093   END CP_TOTAL_RESC_P;
1094 
1095   FUNCTION CP_TOTAL_TAXABLE_COMP_P RETURN NUMBER IS
1096   BEGIN
1097     RETURN CP_TOTAL_TAXABLE_COMP;
1098   END CP_TOTAL_TAXABLE_COMP_P;
1099 
1100   FUNCTION CP_TOTAL_TAX_FREE_COMP_P RETURN NUMBER IS
1101   BEGIN
1102     RETURN CP_TOTAL_TAX_FREE_COMP;
1103   END CP_TOTAL_TAX_FREE_COMP_P;
1104 
1105   FUNCTION ASSIGNMENT_ACTION_ID_P RETURN NUMBER IS
1106   BEGIN
1107     RETURN ASSIGNMENT_ACTION_ID;
1108   END ASSIGNMENT_ACTION_ID_P;
1109 
1110   FUNCTION DATE_EARNED_P RETURN DATE IS
1111   BEGIN
1112     RETURN DATE_EARNED;
1113   END DATE_EARNED_P;
1114 END PAY_PYAURECP_XMLP_PKG;