[Home] [Help]
PACKAGE BODY: APPS.PY_ZA_TX_01032002
Source
1 PACKAGE BODY py_za_tx_01032002 AS
2 /* $Header: pyzat004.pkb 120.0 2005/05/29 10:29:49 appldev noship $ */
3 /* Copyright (c) Oracle Corporation 1999. All rights reserved. */
4 /*
5 PRODUCT
6 Oracle Payroll - ZA Localisation Tax Module
7
8 NAME
9 py_za_tx_01032002.pkb
10
11 DESCRIPTION
12 This is the main tax package as used in the ZA Localisation Tax Module.
13 The public functions in this package are not for client use and is
14 only referenced by the tax formulae in the Application.
15
16 PUBLIC FUNCTIONS
17 Descriptions in package header
18 ZaTxOvr_01032000
19 ZaTxGlb_01032000
20 ZaTxDbi_01032000
21 ZaTxBal1_01032000
22 ZaTxBal2_01032000
23 ZaTxBal3_01032000
24 ZaTx_01032000
25
26 PRIVATE FUNCTIONS
27 <none>
28
29
30 PRIVATE PROCEDURES
31 WrtHrTrc
32 Wrapper procedure for py_za_tx_utl_01032002.WriteHrTrace
33 NetTxbIncCalc
34 Procedure to calculate a Net Taxable Income figure used
35 to properly calculate the Skills Development Levy
36 LteCalc
37 A main tax calculation.
38 For a complete description see the tax module design document.
39 SeaCalc
40 A main tax calculation.
41 For a complete description see the tax module design document.
42 SitCalc
43 A main tax calculation.
44 For a complete description see the tax module design document.
45 DirCalc
46 A main tax calculation.
47 For a complete description see the tax module design document.
48 BasCalc
49 A main tax calculation.
50 For a complete description see the tax module design document.
51 CalCalc
52 A main tax calculation.
53 For a complete description see the tax module design document.
54 YtdCalc
55 A main tax calculation.
56 For a complete description see the tax module design document.
57 NorCalc
58 A main tax calculation.
59 For a complete description see the tax module design document.
60
61 NOTES
62 .
63
64 MODIFICATION HISTORY
65 Person Date Version Comments
66 --------- ---------------- ------- --------------------------------
67 A. Mahanty 14/04/2005 115.15 Bug 3491357 : BRA Enhancement
68 Balance Values retrieval modified.
69 J.N. Louw 02/07/2003 115.14 Bug 3011568
70 J.N. Louw 19/06/2003 115.13 Bug 3013638
71 J.N. Louw 19/06/2003 115.12 Bug 3013801
72 J.N. Louw 10/06/2003 115.11 Bug 2998778
73 J.N. Louw 12/02/2003 115.10 Bug 2659613
74 J.N. Louw 22/03/2002 115.8 Bug 2224332
75 Directors Remuneration
76 J.N. Louw 22/03/2002 115.7 Bug 2274662
77 Personal Service Trusts
78 J.N. Louw 12/10/2001 115.6 Fixed Abatements calculation
79 in NetTxbIncCalc
80 Fixed trc_TotLib[CatCode] Cascade
81 Figure calculation
82 J.N. Louw 27/09/2001 115.5 Added bal_ANN_PF_CYTD
83 J.N. Louw 04/09/2001 115.4 NorCalc.TrvAll Ptd summation
84 added
85 J.N. Louw 04/09/2001 115.3 Added WrtHrTrc wrapper
86 J.N. Louw 04/09/2001 115.2 Added Abatement Functionality to
87 the BasCalc calculation
88 J.N. Louw 31-08-2001 115.1 Corected Spool File
89 J.N. Louw 29-08-2001 115.0 Next Version of Main ZA Tax
90 Package.
91 For detail history see
92 py_za_tx_01082000
93 */
94
95 -------------------------------------------------------------------------------
96 -- PACKAGE BODY --
97 -------------------------------------------------------------------------------
98
99 -------------------------------------------------------------------------------
100 -- WrtHrTrc
101 -- Wrapper for py_za_tx_utl_01032002.WriteHrTrace
102 -------------------------------------------------------------------------------
103 PROCEDURE WrtHrTrc(
104 p_Buf IN VARCHAR2
105 )
106 AS
107
108 BEGIN
109 py_za_tx_utl_01032002.WriteHrTrace(p_Buf);
110 END WrtHrTrc;
111
112 -------------------------------------------------------------------------------
113 -- NetTxbIncCalc
114 -- Calculates the net taxable income value for the calendar month
115 -------------------------------------------------------------------------------
116 PROCEDURE NetTxbIncCalc AS
117
118 -- Variable Declaration
119 nti_CurMthStrtDte DATE;
120 nti_CurMthEndDte DATE;
121 nti_SitFactor NUMBER;
122 nti_PerTypInc BALANCE DEFAULT 0;
123 nti_PerTypErn BALANCE DEFAULT 0;
124 nti_AnnTypErn BALANCE DEFAULT 0;
125 nti_PerPenFnd BALANCE DEFAULT 0;
126 nti_PerRfiCon BALANCE DEFAULT 0;
127 nti_PerPenFndMax BALANCE DEFAULT 0;
128 nti_PerPenFndAbm BALANCE DEFAULT 0;
129 nti_AnnPenFnd BALANCE DEFAULT 0;
130 nti_AnnRfiCon BALANCE DEFAULT 0;
131 nti_AnnPenFndMax BALANCE DEFAULT 0;
132 nti_AnnPenFndAbm BALANCE DEFAULT 0;
133 nti_PerArrPenFnd BALANCE DEFAULT 0;
134 nti_PerArrPenFndAbm BALANCE DEFAULT 0;
135 nti_PerRetAnu BALANCE DEFAULT 0;
136 nti_PerNrfiCon BALANCE DEFAULT 0;
137 nti_PerRetAnuMax BALANCE DEFAULT 0;
138 nti_PerRetAnuAbm BALANCE DEFAULT 0;
139 nti_PerArrRetAnu BALANCE DEFAULT 0;
140 nti_PerArrRetAnuAbm BALANCE DEFAULT 0;
141 nti_AnnArrPenFnd BALANCE DEFAULT 0;
142 nti_AnnArrPenFndAbm BALANCE DEFAULT 0;
143 nti_AnnRetAnu BALANCE DEFAULT 0;
144 nti_AnnNrfiCon BALANCE DEFAULT 0;
145 nti_AnnRetAnuMax BALANCE DEFAULT 0;
146 nti_AnnRetAnuAbm BALANCE DEFAULT 0;
147 nti_AnnArrRetAnu BALANCE DEFAULT 0;
148 nti_AnnArrRetAnuAbm BALANCE DEFAULT 0;
149 nti_MedAidAbm BALANCE DEFAULT 0;
150 nti_PerTotAbm BALANCE DEFAULT 0;
151 nti_AnnTotAbm BALANCE DEFAULT 0;
152 nti_TxbPerTypInc BALANCE DEFAULT 0;
153 nti_TxbAnnTypInc BALANCE DEFAULT 0;
154 nti_NetPerTxbInc BALANCE DEFAULT 0;
155 nti_NetAnnTxbInc BALANCE DEFAULT 0;
156 l_65Year DATE;
157
158 BEGIN
159 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',1);
160 -- Calculate the Current Effective Calendar Month to Date Start Date
161 --
162 SELECT trunc(dbi_SES_DTE,'Month')
163 INTO nti_CurMthStrtDte
164 FROM dual;
165
166 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',2);
167
168 -- Calculate the Current Effective Calendar Month to Date End Date
169 --
170 SELECT last_day(dbi_SES_DTE)
171 INTO nti_CurMthEndDte
172 FROM dual;
173
174 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',3);
175
176 -- Calculate Site Factor
177 --
178 -- Based on the number of days in the calendar year over days in the calendar month
179 nti_SitFactor := dbi_ZA_DYS_IN_YR / (nti_CurMthEndDte - nti_CurMthStrtDte + 1);
180
181 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',4);
182
183 WrtHrTrc('nti_CurMthEndDte: '||to_char(nti_CurMthEndDte,'DD/MM/YYYY'));
184 WrtHrTrc('nti_CurMthStrtDte: '||to_char(nti_CurMthStrtDte,'DD/MM/YYYY'));
185
186 -- Calculate the Taxable Portion of the Not-Fully Taxable Income Balances
187 --
188 bal_TA_RFI_CMTD := bal_TA_RFI_CMTD * glb_ZA_TRV_ALL_TX_PRC / 100;
189 bal_TA_NRFI_CMTD := bal_TA_NRFI_CMTD * glb_ZA_TRV_ALL_TX_PRC / 100;
190
191 bal_PO_RFI_CMTD := bal_PO_RFI_CMTD * glb_ZA_PBL_TX_PRC / 100;
192 bal_PO_NRFI_CMTD := bal_PO_NRFI_CMTD * glb_ZA_PBL_TX_PRC / 100;
193
194 -- Sum Period Type Income Calendar Month to Date Balances
195 --
196 nti_PerTypInc :=
197 ( bal_AST_PRCHD_RVAL_NRFI_CMTD + bal_AST_PRCHD_RVAL_RFI_CMTD
198 + bal_BP_CMTD
199 + bal_BUR_AND_SCH_NRFI_CMTD + bal_BUR_AND_SCH_RFI_CMTD
200 + bal_COMM_NRFI_CMTD + bal_COMM_RFI_CMTD
201 + bal_COMP_ALL_NRFI_CMTD + bal_COMP_ALL_RFI_CMTD
202 + bal_ENT_ALL_NRFI_CMTD + bal_ENT_ALL_RFI_CMTD
203 + bal_FREE_ACCOM_NRFI_CMTD + bal_FREE_ACCOM_RFI_CMTD
204 + bal_FREE_SERV_NRFI_CMTD + bal_FREE_SERV_RFI_CMTD
205 + bal_LOW_LOANS_NRFI_CMTD + bal_LOW_LOANS_RFI_CMTD
206 + bal_MED_PAID_NRFI_CMTD + bal_MED_PAID_RFI_CMTD
207 + bal_MLS_AND_VOUCH_NRFI_CMTD + bal_MLS_AND_VOUCH_RFI_CMTD
208 + bal_OTHER_TXB_ALL_NRFI_CMTD + bal_OTHER_TXB_ALL_RFI_CMTD
209 + bal_OVTM_NRFI_CMTD + bal_OVTM_RFI_CMTD
210 + bal_PO_NRFI_CMTD + bal_PO_RFI_CMTD
211 + bal_PYM_DBT_NRFI_CMTD + bal_PYM_DBT_RFI_CMTD
212 + bal_RES_TRD_NRFI_CMTD + bal_RES_TRD_RFI_CMTD
213 + bal_RGT_AST_NRFI_CMTD + bal_RGT_AST_RFI_CMTD
214 + bal_TA_NRFI_CMTD + bal_TA_RFI_CMTD
215 + bal_TEL_ALL_NRFI_CMTD + bal_TEL_ALL_RFI_CMTD
216 + bal_TOOL_ALL_NRFI_CMTD + bal_TOOL_ALL_RFI_CMTD
217 + bal_TXB_INC_NRFI_CMTD + bal_TXB_INC_RFI_CMTD
218 + bal_TXB_PEN_NRFI_CMTD + bal_TXB_PEN_RFI_CMTD
219 + bal_USE_VEH_NRFI_CMTD + bal_USE_VEH_RFI_CMTD
220 );
221
222 -- Annualise by the Site Factor the Period Type Income
223 --
224 nti_PerTypErn := nti_PerTypInc * nti_SitFactor;
225
226 -- Sum Annual Type Income Calendar Month to Date Balances
227 --
228 nti_AnnTypErn :=
229 nti_PerTypErn
230 + ( bal_AB_NRFI_CMTD + bal_AB_RFI_CMTD
231 + bal_AA_PRCHD_RVAL_NRFI_CMTD + bal_AA_PRCHD_RVAL_RFI_CMTD
232 + bal_ANN_BUR_AND_SCH_NRFI_CMTD + bal_ANN_BUR_AND_SCH_RFI_CMTD
233 + bal_AC_NRFI_CMTD + bal_AC_RFI_CMTD
234 + bal_ANU_FRM_RET_FND_NRFI_CMTD + bal_ANU_FRM_RET_FND_RFI_CMTD
235 + bal_ARES_TRD_NRFI_CMTD + bal_ARES_TRD_RFI_CMTD
236 + bal_PRCH_ANU_TXB_NRFI_CMTD + bal_PRCH_ANU_TXB_RFI_CMTD
237 + bal_TXB_AP_NRFI_CMTD + bal_TXB_AP_RFI_CMTD
238 );
239
240 -----------------------------
241 -- Calculate Abatement Values
242 -----------------------------
243 -------------------------
244 -- Pension Fund Abatement
245 -------------------------
246 ---------------------
247 -- Period Calculation
248 ---------------------
249 -- Annualise Period Pension Fund Contribution
250 nti_PerPenFnd := bal_PF_CMTD * nti_SitFactor;
251 -- Annualise Period Rfiable Contributions
252 nti_PerRfiCon := bal_TOT_RFI_INC_CMTD * nti_SitFactor;
253 ---------------------
254 -- Annual Calculation
255 ---------------------
256 -- Annual Pension Fund Contribution
257 nti_AnnPenFnd := nti_PerPenFnd + bal_ANN_PF_CMTD;
258 -- Annual Rfi Contribution
259 nti_AnnRfiCon := nti_PerRfiCon + bal_TOT_RFI_AN_INC_CMTD;
260
261 --------------------------------
262 -- Arrear Pension Fund Abatement
263 --------------------------------
264 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',4);
265 -------------
266 -- Excess ITD
267 -------------
268 nti_PerArrPenFnd := bal_EXC_ARR_PEN_ITD;
269 ------------------------------------
270 -- Current/Annual based on frequency
271 ------------------------------------
272 nti_PerArrPenFnd :=
273 nti_PerArrPenFnd + ( bal_ARR_PF_CMTD * nti_SitFactor);
274 ---------
275 -- Annual
276 ---------
277 nti_AnnArrPenFnd := nti_PerArrPenFnd + bal_ANN_ARR_PF_CMTD;
278
279 -------------------------------
280 -- Retirement Annuity Abatement
281 -------------------------------
282 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',7);
283 -------------
284 -- Current RA
285 -------------
286 -- Calculate RA Contribution
287 nti_PerRetAnu := bal_RA_CMTD * nti_SitFactor;
288 ---------------------
289 -- Current NRFI Contr
290 ---------------------
291 IF bal_PF_CMTD + bal_ANN_PF_CMTD = 0 THEN
292 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',10);
293 nti_PerNrfiCon := (
294 bal_TOT_RFI_INC_CMTD + bal_TOT_NRFI_INC_CMTD
295 )
296 * nti_SitFactor;
297 ELSE
298 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',11);
299 nti_PerNrfiCon := bal_TOT_NRFI_INC_CMTD * nti_SitFactor;
300 END IF;
301 ------------
302 -- Annual RA
303 ------------
304 nti_AnnRetAnu := nti_PerRetAnu + bal_ANN_RA_CMTD;
305
306 IF bal_PF_CMTD + bal_ANN_PF_CMTD = 0 THEN
307 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',10);
308
309 nti_AnnNrfiCon := nti_PerNrfiCon
310 + bal_TOT_NRFI_AN_INC_CMTD
311 + bal_TOT_RFI_AN_INC_CMTD;
312 ELSE
313 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',11);
314
315 nti_AnnNrfiCon := nti_PerNrfiCon + bal_TOT_NRFI_AN_INC_CMTD;
316 END IF;
317 --------------------------------------
318 -- Arrear Retirement Annuity Abatement
319 --------------------------------------
320 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',12);
321 -------------
322 -- Excess ITD
323 -------------
324 nti_PerArrRetAnu := bal_EXC_ARR_RA_ITD;
325 ------------------------------------
326 -- Current/Annual based on frequency
327 ------------------------------------
328 nti_PerArrRetAnu := nti_PerArrRetAnu
329 + ( bal_ARR_RA_CMTD
330 * nti_SitFactor
331 );
332 ---------
333 -- Annual
334 ---------
335 nti_AnnArrRetAnu := nti_PerArrRetAnu
336 + nti_AnnArrRetAnu
337 + bal_ANN_ARR_RA_CMTD;
338
339 ------------------------
340 -- Medical Aid Abatement
341 ------------------------
342 nti_MedAidAbm := bal_MED_CONTR_CMTD * nti_SitFactor;
343
344 ----------------------------------------------------------------------------
345 -- CALCULATE THE ABATEMENTS --
346 ----------------------------------------------------------------------------
347 -------------------------
348 -- Pension Fund Abatement
349 -------------------------
350 ---------------------
351 -- Period Calculation
352 ---------------------
353 -- Calculate the Pension Fund Maximum
354 nti_PerPenFndMax := GREATEST( glb_ZA_PF_AN_MX_ABT
355 , glb_ZA_PF_MX_PRC / 100 * nti_PerRfiCon
356 );
357 -- Calculate Period Pension Fund Abatement
358 nti_PerPenFndAbm := LEAST(nti_PerPenFnd, nti_PerPenFndMax);
359 ---------------------
360 -- Annual Calculation
361 ---------------------
362 -- Calculate the Pension Fund Maximum
363 nti_AnnPenFndMax := GREATEST( glb_ZA_PF_AN_MX_ABT
364 , glb_ZA_PF_MX_PRC / 100 * nti_AnnRfiCon
365 );
366
367 -- Calculate Annual Pension Fund Abatement
368 nti_AnnPenFndAbm := LEAST(nti_AnnPenFnd, nti_AnnPenFndMax);
369 --------------------------------
370 -- Arrear Pension Fund Abatement
371 --------------------------------
372 ---------------------
373 -- Period Calculation
374 ---------------------
375 nti_PerArrPenFndAbm := LEAST(nti_PerArrPenFnd, glb_ZA_ARR_PF_AN_MX_ABT);
376 ---------------------
377 -- Annual Calculation
378 ---------------------
379 nti_AnnArrPenFndAbm := LEAST(nti_AnnArrPenFnd, glb_ZA_ARR_PF_AN_MX_ABT);
380 ---------------------------------
381 -- Retirement Annnnuity Abatement
382 ---------------------------------
383 ---------------------
384 -- Period Calculation
385 ---------------------
386 -- Calculate the Retirement Annuity Maximum
387 nti_PerRetAnuMax := GREATEST( glb_ZA_PF_AN_MX_ABT
388 , glb_ZA_RA_AN_MX_ABT - nti_PerPenFndAbm
389 , glb_ZA_RA_MX_PRC / 100 * nti_PerNrfiCon
390 );
391
392 -- Calculate Retirement Annuity Abatement
393 nti_PerRetAnuAbm := LEAST(nti_PerRetAnu, nti_PerRetAnuMax);
394 ---------------------
395 -- Annual Calculation
396 ---------------------
397 nti_AnnRetAnuMax := GREATEST( glb_ZA_PF_AN_MX_ABT
398 , glb_ZA_RA_AN_MX_ABT - nti_AnnPenFndAbm
399 , glb_ZA_RA_MX_PRC / 100 * nti_AnnNrfiCon
400 );
401
402 -- Calculate Retirement Annuity Abatement
403 nti_AnnRetAnuAbm := LEAST(nti_AnnRetAnu, nti_AnnRetAnuMax);
404 --------------------------------------
405 -- Arrear Retirement Annuity Abatement
406 --------------------------------------
407 ---------------------
408 -- Period Calculation
409 ---------------------
410 nti_PerArrRetAnuAbm := LEAST(nti_PerArrRetAnu, glb_ZA_ARR_RA_AN_MX_ABT);
411 ---------------------
412 -- Annual Calculation
413 ---------------------
414 nti_AnnArrRetAnuAbm := LEAST(nti_AnnArrRetAnu, glb_ZA_ARR_RA_AN_MX_ABT);
415
416 -----------------------------------------------------------
417 -- Tax Rebates, Threshold Figure and Medical Aid Abatements
418 -----------------------------------------------------------
419 -- Calculate the assignments 65 Year Date
420 l_65Year := add_months(py_za_tx_01032002.dbi_PER_DTE_OF_BRTH,780);
421
422 IF l_65Year > dbi_ZA_TX_YR_END THEN
423 nti_MedAidAbm := 0;
424 END IF;
425
426 hr_utility.set_location('py_za_tx_01032002.NetTxbIncCalc',62);
427
428 -------------------
429 -- Total Abatements
430 -------------------
431 -- Period Total Abatement
432 nti_PerTotAbm := ( nti_PerPenFndAbm
433 + nti_PerArrPenFndAbm
434 + nti_PerRetAnuAbm
435 + nti_PerArrRetAnuAbm
436 + nti_MedAidAbm
437 );
438
439 -- Annual Total Abatements
440 nti_AnnTotAbm := ( nti_AnnPenFndAbm
441 + nti_AnnArrPenFndAbm
442 + nti_AnnRetAnuAbm
443 + nti_AnnArrRetAnuAbm
444 + nti_MedAidAbm
445 );
446
447 -- Calculate New O Figures
448 --
449 nti_TxbPerTypInc := nti_PerTypErn - nti_PerTotAbm;
450 nti_TxbAnnTypInc := nti_AnnTypErn - nti_AnnTotAbm;
451
452 -- Deannualise Period O Figure
453 --
454 nti_NetPerTxbInc := nti_TxbPerTypInc / nti_SitFactor;
455 -- Calculate the Net Taxable Annual Type Income
456 --
457 nti_NetAnnTxbInc := nti_TxbAnnTypInc - nti_TxbPerTypInc;
458
459 -- Calculate New Net Taxable Income Balance
460 --
461 trc_NtiUpdFig := (nti_NetPerTxbInc + nti_NetAnnTxbInc) - bal_NET_TXB_INC_CMTD;
462
463 WrtHrTrc('nti_SitFactor: '||to_char(nti_SitFactor));
464 WrtHrTrc('nti_PerTypErn: '||to_char(nti_PerTypErn));
465 WrtHrTrc('nti_AnnTypErn: '||to_char(nti_AnnTypErn));
466 WrtHrTrc('nti_NetPerTxbInc: '||to_char(nti_NetPerTxbInc));
467 WrtHrTrc('nti_NetAnnTxbInc: '||to_char(nti_NetAnnTxbInc));
468 WrtHrTrc('bal_NET_TXB_INC_CMTD: '||to_char(bal_NET_TXB_INC_CMTD));
469 WrtHrTrc('trc_NtiUpdFig: '||to_char(trc_NtiUpdFig));
470 WrtHrTrc(' ');
471 WrtHrTrc('nti_PerTotAbm: '||to_char(nti_PerTotAbm));
472 WrtHrTrc('nti_PerTotAbm consists of:');
473 WrtHrTrc('nti_PerPenFndAbm: '||to_char(nti_PerPenFndAbm));
474 WrtHrTrc('nti_PerArrPenFndAbm: '||to_char(nti_PerArrPenFndAbm));
475 WrtHrTrc('nti_PerRetAnuAbm: '||to_char(nti_PerRetAnuAbm));
476 WrtHrTrc('nti_PerArrRetAnuAbm: '||to_char(nti_PerArrRetAnuAbm));
477 WrtHrTrc('nti_MedAidAbm: '||to_char(nti_MedAidAbm));
478 WrtHrTrc(' ');
479 WrtHrTrc('nti_AnnTotAbm: '||to_char(nti_AnnTotAbm));
480 WrtHrTrc('nti_AnnTotAbm consists of:');
481 WrtHrTrc('nti_AnnPenFndAbm: '||to_char(nti_AnnPenFndAbm));
482 WrtHrTrc('nti_AnnArrPenFndAbm: '||to_char(nti_AnnArrPenFndAbm));
483 WrtHrTrc('nti_AnnRetAnuAbm: '||to_char(nti_AnnRetAnuAbm));
484 WrtHrTrc('nti_AnnArrRetAnuAbm: '||to_char(nti_AnnArrRetAnuAbm));
485 WrtHrTrc('nti_MedAidAbm: '||to_char(nti_MedAidAbm));
486
487
488 EXCEPTION
489 WHEN OTHERS THEN
490 IF xpt_Msg = 'No Error' THEN
491 xpt_Msg := 'NetTxbIncCalc: '||TO_CHAR(SQLCODE);
492 END IF;
493 RAISE xpt_E;
494 END NetTxbIncCalc;
495
496 -------------------------------------------------------------------------------
497 -- Tax Override Function
498 -------------------------------------------------------------------------------
499 FUNCTION ZaTxOvr_01032002(
500 p_OvrTyp IN VARCHAR2
501 ,p_TxOnNI IN NUMBER DEFAULT 0
502 ,p_TxOnAP IN NUMBER DEFAULT 0
503 ,p_TxPrc IN NUMBER DEFAULT 0
504 )RETURN NUMBER
505 AS
506 l_Dum NUMBER := 1;
507 BEGIN
508 -- Set the Override Global
509 trc_OvrTxCalc := TRUE;
510
511 -- Set Override Values
512 trc_OvrTyp := p_OvrTyp;
513
514 IF p_OvrTyp = 'V' THEN
515 trc_LibFpNI := p_TxOnNI;
516 trc_LibFpAP := p_TxOnAP;
517 ELSIF p_OvrTyp = 'P' THEN
518 trc_OvrPrc := p_TxPrc;
519 END IF;
520 RETURN l_Dum;
521
522 EXCEPTION
523 WHEN OTHERS THEN
524 hr_utility.set_message(801, 'ZaTxOvr_01032002: '||TO_CHAR(SQLCODE));
525 hr_utility.raise_error;
526 END ZaTxOvr_01032002;
527
528 -------------------------------------------------------------------------------
529 -- Main Tax Calculation Procedures --
530 -------------------------------------------------------------------------------
531 -------------------------------------------------------------------------------
532 -- LteCalc
533 -------------------------------------------------------------------------------
534 PROCEDURE LteCalc AS
535
536 -- Variables
537 l_EndDate DATE;
538 l_StrtDte DATE;
539 l_65Year DATE;
540 l_ZA_TX_YR_END DATE;
541 l_ZA_ADL_TX_RBT NUMBER;
542 l_ZA_PRI_TX_RBT NUMBER;
543 l_ZA_PRI_TX_THRSHLD NUMBER;
544 l_ZA_SC_TX_THRSHLD NUMBER;
545
546 l_Sl BOOLEAN;
547 l_Np BALANCE DEFAULT 0;
548
549
550 -- Private Functions
551 --
552 FUNCTION getBalVal
553 (p_BalNme IN pay_balance_types.balance_name%TYPE
554 ,p_EffDte IN DATE
555 ) RETURN NUMBER
556 AS
557 -- Variables
558 l_BalVal BALANCE;
559 l_BalTypId pay_balance_types.balance_type_id%TYPE;
560 l_dimension pay_balance_dimensions.dimension_name%TYPE ;
561
562 BEGIN
563 hr_utility.set_location('py_za_tx_01032002.LteCalc',1);
564 -- Get the Balance Type ID
565 SELECT pbt.balance_type_id
566 INTO l_BalTypId
567 FROM pay_balance_types pbt
568 WHERE pbt.balance_name = p_BalNme;
569
570 hr_utility.set_location('py_za_tx_01032002.LteCalc',2);
571
572 -- Get the Balance Value
573 -- 3491357
574 /*l_BalVal := py_za_bal.calc_asg_tax_ytd_date
575 ( con_ASG_ID
576 , l_BalTypId
577 , p_EffDte
578 );*/
579 l_dimension := '_ASG_TAX_YTD';
580 l_BalVal := py_za_bal.get_balance_value
581 ( con_ASG_ID
582 , l_BalTypId
583 , l_dimension
584 , p_EffDte
585 );
586
587 RETURN l_BalVal;
588 END getBalVal;
589
590 FUNCTION getBalVal2
591 (p_BalNme IN pay_balance_types.balance_name%TYPE
592 ,p_EffDte IN DATE
593 ) RETURN NUMBER
594 AS
595 -- Variables
596 l_BalVal BALANCE;
597 l_BalTypId pay_balance_types.balance_type_id%TYPE;
598 l_dimension pay_balance_dimensions.dimension_name%TYPE ;
599 BEGIN
600 hr_utility.set_location('py_za_tx_01032002.LteCalc',3);
601 -- Get the Balance Type ID
602 SELECT pbt.balance_type_id
603 INTO l_BalTypId
604 FROM pay_balance_types pbt
605 WHERE pbt.balance_name = p_BalNme;
606
607 hr_utility.set_location('py_za_tx_01032002.LteCalc',4);
608
609 -- Get the Balance Value
610 -- 3491357
611 /*l_BalVal := py_za_bal.calc_asg_itd_date
612 ( con_ASG_ID
613 , l_BalTypId
614 , p_EffDte
615 );*/
616 l_dimension := '_ASG_ITD';
617 l_BalVal := py_za_bal.get_balance_value
618 ( con_ASG_ID
619 , l_BalTypId
620 , l_dimension
621 , p_EffDte
622 );
623
624 RETURN l_BalVal;
625 END getBalVal2;
626
627 BEGIN
628 hr_utility.set_location('py_za_tx_01032002.LteCalc',5);
629 -- Does the Assignment have an OFigure?
630 --
631 IF bal_TOT_TXB_INC_ITD <= 0 THEN
632 hr_utility.set_location('py_za_tx_01032002.LteCalc',6);
633 -- Calculate the 'O' Figure
634 -- Set the Global
635 trc_CalTyp := 'PstCalc';
636 -- Set the Site Factor to the value of the previous tax year
637 l_StrtDte := dbi_ZA_ASG_TX_YR_STRT;
638 l_EndDate := dbi_ZA_ASG_TX_YR_END;
639
640 hr_utility.set_location('py_za_tx_01032002.LteCalc',8);
641
642 trc_SitFactor := (l_EndDate - l_StrtDte + 1) / py_za_tx_utl_01032002.DaysWorked;
643
644 hr_utility.set_location('py_za_tx_01032002.LteCalc',9);
645
646 -- Populate Local Balance Variables
647 -- The PTD Globals are used as dummy to store the previous tax year's
648 -- Balance values
649
650 bal_AB_NRFI_PTD := getBalVal('Annual Bonus NRFI',l_EndDate);
651 bal_AB_RFI_PTD := getBalVal('Annual Bonus RFI',l_EndDate);
652 bal_AA_PRCHD_RVAL_NRFI_PTD := getBalVal('Annual Asset Purchased at Reduced Value NRFI',l_EndDate);
653 bal_AA_PRCHD_RVAL_RFI_PTD := getBalVal('Annual Asset Purchased at Reduced Value RFI',l_EndDate);
654 bal_ANN_BUR_AND_SCH_NRFI_PTD := getBalVal('Annual Bursaries and Scholarships NRFI',l_EndDate);
655 bal_ANN_BUR_AND_SCH_RFI_PTD := getBalVal('Annual Bursaries and Scholarships RFI',l_EndDate);
656 bal_AC_NRFI_PTD := getBalVal('Annual Commission NRFI',l_EndDate);
657 bal_AC_RFI_PTD := getBalVal('Annual Commission RFI',l_EndDate);
658 bal_ANN_ARR_PF_PTD := getBalVal('Annual Arrear Pension Fund',l_EndDate);
659 bal_ANN_ARR_RA_PTD := getBalVal('Annual Arrear Retirement Annuity',l_EndDate);
660 bal_ANN_PF_PTD := getBalVal('Annual Pension Fund',l_EndDate);
661 bal_ANN_RA_PTD := getBalVal('Annual Retirement Annuity',l_EndDate);
662 bal_ANU_FRM_RET_FND_NRFI_PTD := getBalVal('Annuity from Retirement Fund NRFI',l_EndDate);
663 bal_ANU_FRM_RET_FND_RFI_PTD := getBalVal('Annuity from Retirement Fund RFI',l_EndDate);
664 bal_ARES_TRD_NRFI_PTD := getBalVal('Annual Restraint of Trade NRFI',l_EndDate);
665 bal_ARES_TRD_RFI_PTD := getBalVal('Annual Restraint of Trade RFI',l_EndDate);
666 bal_ARR_PF_PTD := getBalVal('Arrear Pension Fund',l_EndDate);
667 bal_ARR_RA_PTD := getBalVal('Arrear Retirement Annuity',l_EndDate);
668 bal_AST_PRCHD_RVAL_NRFI_PTD := getBalVal('Asset Purchased at Reduced Value NRFI',l_EndDate);
669 bal_AST_PRCHD_RVAL_RFI_PTD := getBalVal('Asset Purchased at Reduced Value RFI',l_EndDate);
670 bal_BP_PTD := getBalVal('Bonus Provision',l_EndDate);
671 bal_BUR_AND_SCH_NRFI_PTD := getBalVal('Bursaries and Scholarships NRFI',l_EndDate);
672 bal_BUR_AND_SCH_RFI_PTD := getBalVal('Bursaries and Scholarships RFI',l_EndDate);
673 bal_COMM_NRFI_PTD := getBalVal('Commission NRFI',l_EndDate);
674 bal_COMM_RFI_PTD := getBalVal('Commission RFI',l_EndDate);
675 bal_COMP_ALL_NRFI_PTD := getBalVal('Computer Allowance NRFI',l_EndDate);
676 bal_COMP_ALL_RFI_PTD := getBalVal('Computer Allowance RFI',l_EndDate);
677 bal_PF_PTD := getBalVal('Current Pension Fund',l_EndDate);
678 bal_RA_PTD := getBalVal('Current Retirement Annuity',l_EndDate);
679 bal_ENT_ALL_NRFI_PTD := getBalVal('Entertainment Allowance NRFI',l_EndDate);
680 bal_ENT_ALL_RFI_PTD := getBalVal('Entertainment Allowance RFI',l_EndDate);
681 bal_EXC_ARR_PEN_PTD := getBalVal2('Excess Arrear Pension',l_EndDate);
682 bal_EXC_ARR_RA_PTD := getBalVal2('Excess Arrear Retirement Annuity',l_EndDate);
683 bal_FREE_ACCOM_NRFI_PTD := getBalVal('Free or Cheap Accommodation NRFI',l_EndDate);
684 bal_FREE_ACCOM_RFI_PTD := getBalVal('Free or Cheap Accommodation RFI',l_EndDate);
685 bal_FREE_SERV_NRFI_PTD := getBalVal('Free or Cheap Services NRFI',l_EndDate);
686 bal_FREE_SERV_RFI_PTD := getBalVal('Free or Cheap Services RFI',l_EndDate);
687 bal_LOW_LOANS_NRFI_PTD := getBalVal('Low or Interest Free Loans NRFI',l_EndDate);
688 bal_LOW_LOANS_RFI_PTD := getBalVal('Low or Interest Free Loans RFI',l_EndDate);
689 bal_MLS_AND_VOUCH_NRFI_PTD := getBalVal('Meals Refreshments and Vouchers NRFI',l_EndDate);
690 bal_MLS_AND_VOUCH_RFI_PTD := getBalVal('Meals Refreshments and Vouchers RFI',l_EndDate);
691 bal_MED_CONTR_PTD := getBalVal('Medical Aid Contribution',l_EndDate);
692 bal_MED_PAID_NRFI_PTD := getBalVal('Medical Aid Paid on Behalf of Employee NRFI',l_EndDate);
693 bal_MED_PAID_RFI_PTD := getBalVal('Medical Aid Paid on Behalf of Employee RFI',l_EndDate);
694 bal_OTHER_TXB_ALL_NRFI_PTD := getBalVal('Other Taxable Allowance NRFI',l_EndDate);
695 bal_OTHER_TXB_ALL_RFI_PTD := getBalVal('Other Taxable Allowance RFI',l_EndDate);
696 bal_OVTM_NRFI_PTD := getBalVal('Overtime NRFI',l_EndDate);
697 bal_OVTM_RFI_PTD := getBalVal('Overtime RFI',l_EndDate);
698 bal_PYM_DBT_NRFI_PTD := getBalVal('Payment of Employee Debt NRFI',l_EndDate);
699 bal_PYM_DBT_RFI_PTD := getBalVal('Payment of Employee Debt RFI',l_EndDate);
700 bal_PO_NRFI_PTD := getBalVal('Public Office Allowance NRFI',l_EndDate);
701 bal_PO_RFI_PTD := getBalVal('Public Office Allowance RFI',l_EndDate);
702 bal_PRCH_ANU_TXB_NRFI_PTD := getBalVal('Purchased Annuity Taxable NRFI',l_EndDate);
703 bal_PRCH_ANU_TXB_RFI_PTD := getBalVal('Purchased Annuity Taxable RFI',l_EndDate);
704 bal_RES_TRD_NRFI_PTD := getBalVal('Restraint of Trade NRFI',l_EndDate);
705 bal_RES_TRD_RFI_PTD := getBalVal('Restraint of Trade RFI',l_EndDate);
706 bal_RGT_AST_NRFI_PTD := getBalVal('Right of Use of Asset NRFI',l_EndDate);
707 bal_RGT_AST_RFI_PTD := getBalVal('Right of Use of Asset RFI',l_EndDate);
708 bal_TXB_AP_NRFI_PTD := getBalVal('Taxable Annual Payment NRFI',l_EndDate);
709 bal_TXB_AP_RFI_PTD := getBalVal('Taxable Annual Payment RFI',l_EndDate);
710 bal_TXB_INC_NRFI_PTD := getBalVal('Taxable Income NRFI',l_EndDate);
711 bal_TXB_INC_RFI_PTD := getBalVal('Taxable Income RFI',l_EndDate);
712 bal_TXB_PEN_NRFI_PTD := getBalVal('Taxable Pension NRFI',l_EndDate);
713 bal_TXB_PEN_RFI_PTD := getBalVal('Taxable Pension RFI',l_EndDate);
714 bal_TEL_ALL_NRFI_PTD := getBalVal('Telephone Allowance NRFI',l_EndDate);
715 bal_TEL_ALL_RFI_PTD := getBalVal('Telephone Allowance RFI',l_EndDate);
716 bal_TOOL_ALL_NRFI_PTD := getBalVal('Tool Allowance NRFI',l_EndDate);
717 bal_TOOL_ALL_RFI_PTD := getBalVal('Tool Allowance RFI',l_EndDate);
718 bal_TOT_INC_PTD := getBalVal('Total Income',l_EndDate);
719 bal_TOT_NRFI_AN_INC_PTD := getBalVal('Total NRFIable Annual Income',l_EndDate);
720 bal_TOT_NRFI_INC_PTD := getBalVal('Total NRFIable Income',l_EndDate);
721 bal_TOT_RFI_AN_INC_PTD := getBalVal('Total RFIable Annual Income',l_EndDate);
722 bal_TOT_RFI_INC_PTD := getBalVal('Total RFIable Income',l_EndDate);
723 bal_TA_NRFI_PTD := getBalVal('Travel Allowance NRFI',l_EndDate);
724 bal_TA_RFI_PTD := getBalVal('Travel Allowance RFI',l_EndDate);
725 bal_USE_VEH_NRFI_PTD := getBalVal('Use of Motor Vehicle NRFI',l_EndDate);
726 bal_USE_VEH_RFI_PTD := getBalVal('Use of Motor Vehicle RFI',l_EndDate);
727
728 hr_utility.set_location('py_za_tx_01032002.LteCalc',10);
729
730 -- Update Globals with Correct Taxable Values
731 py_za_tx_utl_01032002.TrvAll;
732
733 bal_PO_NRFI_PTD := bal_PO_NRFI_PTD
734 * py_za_tx_utl_01032002.GlbVal('ZA_PUBL_TAX_PERC',l_EndDate)
735 / 100;
736 bal_PO_RFI_PTD := bal_PO_RFI_PTD
737 * py_za_tx_utl_01032002.GlbVal('ZA_PUBL_TAX_PERC',l_EndDate)
738 / 100;
739
740 hr_utility.set_location('py_za_tx_01032002.LteCalc',11);
741
742 -- Rebates
743 py_za_tx_utl_01032002.SetRebates;
744 -- Abatements
745 py_za_tx_utl_01032002.Abatements;
746
747 hr_utility.set_location('py_za_tx_01032002.LteCalc',12);
748
749 -- Base Earnings
750 --
751 trc_BseErn :=
752 (( bal_AST_PRCHD_RVAL_NRFI_PTD + bal_AST_PRCHD_RVAL_RFI_PTD
753 + bal_BP_PTD
754 + bal_BUR_AND_SCH_NRFI_PTD + bal_BUR_AND_SCH_RFI_PTD
755 + bal_COMM_NRFI_PTD + bal_COMM_RFI_PTD
756 + bal_COMP_ALL_NRFI_PTD + bal_COMP_ALL_RFI_PTD
757 + bal_ENT_ALL_NRFI_PTD + bal_ENT_ALL_RFI_PTD
758 + bal_FREE_ACCOM_NRFI_PTD + bal_FREE_ACCOM_RFI_PTD
759 + bal_FREE_SERV_NRFI_PTD + bal_FREE_SERV_RFI_PTD
760 + bal_LOW_LOANS_NRFI_PTD + bal_LOW_LOANS_RFI_PTD
761 + bal_MED_PAID_NRFI_PTD + bal_MED_PAID_RFI_PTD
762 + bal_MLS_AND_VOUCH_NRFI_PTD + bal_MLS_AND_VOUCH_RFI_PTD
763 + bal_OTHER_TXB_ALL_NRFI_PTD + bal_OTHER_TXB_ALL_RFI_PTD
764 + bal_OVTM_NRFI_PTD + bal_OVTM_RFI_PTD
765 + bal_PO_NRFI_PTD + bal_PO_RFI_PTD
766 + bal_PYM_DBT_NRFI_PTD + bal_PYM_DBT_RFI_PTD
767 + bal_RES_TRD_NRFI_PTD + bal_RES_TRD_RFI_PTD
768 + bal_RGT_AST_NRFI_PTD + bal_RGT_AST_RFI_PTD
769 + bal_TA_NRFI_PTD + bal_TA_RFI_PTD
770 + bal_TEL_ALL_NRFI_PTD + bal_TEL_ALL_RFI_PTD
771 + bal_TOOL_ALL_NRFI_PTD + bal_TOOL_ALL_RFI_PTD
772 + bal_TXB_INC_NRFI_PTD + bal_TXB_INC_RFI_PTD
773 + bal_TXB_PEN_NRFI_PTD + bal_TXB_PEN_RFI_PTD
774 + bal_USE_VEH_NRFI_PTD + bal_USE_VEH_RFI_PTD)
775 * trc_SitFactor)
776 + bal_AB_NRFI_PTD + bal_AB_RFI_PTD
777 + bal_AA_PRCHD_RVAL_NRFI_PTD + bal_AA_PRCHD_RVAL_RFI_PTD
778 + bal_ANN_BUR_AND_SCH_NRFI_PTD + bal_ANN_BUR_AND_SCH_RFI_PTD
779 + bal_AC_NRFI_PTD + bal_AC_RFI_PTD
780 + bal_ANU_FRM_RET_FND_NRFI_PTD + bal_ANU_FRM_RET_FND_RFI_PTD
781 + bal_ARES_TRD_NRFI_PTD + bal_ARES_TRD_RFI_PTD
782 + bal_PRCH_ANU_TXB_NRFI_PTD + bal_PRCH_ANU_TXB_RFI_PTD
783 + bal_TXB_AP_NRFI_PTD + bal_TXB_AP_RFI_PTD;
784
785 -- Taxable Base Income
786 trc_TxbBseInc := trc_BseErn - trc_AnnTotAbm;
787 -- Threshold Check
788 IF trc_TxbBseInc >= trc_Threshold THEN
789 hr_utility.set_location('py_za_tx_01032002.LteCalc',13);
790 -- Tax Liability
791 trc_TotLibBse := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbBseInc);
792 ELSE
793 hr_utility.set_location('py_za_tx_01032002.LteCalc',14);
794 trc_TotLibBse := 0;
795 END IF;
796
797 -- Populate the O Figure
798 trc_OUpdFig := trc_TxbBseInc - bal_TOT_TXB_INC_ITD;
799
800 -- Base Income
801 WrtHrTrc('trc_BseErn: '||to_char(trc_BseErn));
802 WrtHrTrc('trc_TxbBseInc: '||to_char(trc_TxbBseInc));
803 WrtHrTrc('trc_TotLibBse: '||to_char(trc_TotLibBse));
804
805 ELSE
806 hr_utility.set_location('py_za_tx_01032002.LteCalc',15);
807 -- Use the 'O' Figure as Base
808 -- Set the Global
809 trc_CalTyp := 'LteCalc';
810
811 -- Get the assignment's previous tax year's
812 -- threshold and rebate figures
813 -- Employee Tax Year Start and End Dates
814 l_EndDate := dbi_ZA_ASG_TX_YR_END;
815
816 hr_utility.set_location('py_za_tx_01032002.LteCalc',16);
817
818 -- Global Values
819 l_ZA_TX_YR_END := l_EndDate;
820 l_ZA_ADL_TX_RBT := py_za_tx_utl_01032002.GlbVal('ZA_ADDITIONAL_TAX_REBATE',l_EndDate);
821 l_ZA_PRI_TX_RBT := py_za_tx_utl_01032002.GlbVal('ZA_PRIMARY_TAX_REBATE',l_EndDate);
822 l_ZA_PRI_TX_THRSHLD := py_za_tx_utl_01032002.GlbVal('ZA_PRIM_TAX_THRESHOLD',l_EndDate);
823 l_ZA_SC_TX_THRSHLD := py_za_tx_utl_01032002.GlbVal('ZA_SEC_TAX_THRESHOLD',l_EndDate);
824
825 -- Calculate the assignments 65 Year Date
826 l_65Year := add_months(dbi_PER_DTE_OF_BRTH,780);
827
828 IF l_65Year <= l_ZA_TX_YR_END THEN
829 hr_utility.set_location('py_za_tx_01032002.LteCalc',17);
830 -- give the extra abatement
831 trc_Rebate := l_ZA_PRI_TX_RBT + l_ZA_ADL_TX_RBT;
832 trc_Threshold := l_ZA_SC_TX_THRSHLD;
833 ELSE
834 hr_utility.set_location('py_za_tx_01032002.LteCalc',18);
835 -- not eligable for extra abatement
836 trc_Rebate := l_ZA_PRI_TX_RBT;
837 trc_Threshold := l_ZA_PRI_TX_THRSHLD;
838 END IF;
839
840
841 -- Base Earnings
842 --
843 -- Take the OFigure as Taxable Base Income
844 trc_TxbBseInc := bal_TOT_TXB_INC_ITD;
845 -- Threshold Check
846 IF trc_TxbBseInc >= trc_Threshold THEN
847 hr_utility.set_location('py_za_tx_01032002.LteCalc',19);
848 -- Tax Liability
849 trc_TotLibBse := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbBseInc);
850 ELSE
851 hr_utility.set_location('py_za_tx_01032002.LteCalc',20);
852 trc_TotLibBse := 0;
853 END IF;
854
855 -- Base Income
856 WrtHrTrc('trc_BseErn: '||to_char(trc_BseErn));
857 WrtHrTrc('trc_TxbBseInc: '||to_char(trc_TxbBseInc));
858 WrtHrTrc('trc_TotLibBse: '||to_char(trc_TotLibBse));
859 END IF;
860
861 -- Override the Global
862 trc_CalTyp := 'LteCalc';
863 -- Set the SitFactor back to 1
864 trc_SitFactor := 1;
865
866 hr_utility.set_location('py_za_tx_01032002.LteCalc',21);
867
868 -- Rebates
869 py_za_tx_utl_01032002.SetRebates;
870 -- Abatements
871 py_za_tx_utl_01032002.Abatements;
872
873 hr_utility.set_location('py_za_tx_01032002.LteCalc',22);
874
875 -- Update Global Balance Values with correct TAXABLE values
876 py_za_tx_utl_01032002.TrvAll;
877
878 bal_PO_RFI_YTD := bal_PO_RFI_YTD * glb_ZA_PBL_TX_PRC / 100;
879 bal_PO_NRFI_YTD := bal_PO_NRFI_YTD * glb_ZA_PBL_TX_PRC / 100;
880
881 -- Normal Income
882 --
883 -- Ytd Normal Income
884 trc_NorIncYtd :=
885 ( bal_COMM_NRFI_YTD + bal_COMM_RFI_YTD
886 + bal_COMP_ALL_NRFI_YTD + bal_COMP_ALL_RFI_YTD
887 + bal_ENT_ALL_NRFI_YTD + bal_ENT_ALL_RFI_YTD
888 + bal_OTHER_TXB_ALL_NRFI_YTD + bal_OTHER_TXB_ALL_RFI_YTD
889 + bal_OVTM_NRFI_YTD + bal_OVTM_RFI_YTD
890 + bal_RES_TRD_NRFI_YTD + bal_RES_TRD_RFI_YTD
891 + bal_TXB_INC_NRFI_YTD + bal_TXB_INC_RFI_YTD
892 + bal_TXB_PEN_NRFI_YTD + bal_TXB_PEN_RFI_YTD
893 + bal_TEL_ALL_NRFI_YTD + bal_TEL_ALL_RFI_YTD
894 + bal_TOOL_ALL_NRFI_YTD + bal_TOOL_ALL_RFI_YTD
895 );
896 -- Skip the calculation if there is No Income
897 IF trc_NorIncYtd <> 0 THEN
898 hr_utility.set_location('py_za_tx_01032002.LteCalc',23);
899 -- Normal Earnings
900 trc_NorErn := trc_NorIncYtd + trc_TxbBseInc;
901 -- Taxable Normal Income
902 trc_TxbNorInc := trc_NorErn - trc_PerTotAbm;
903 -- Threshold Check
904 IF trc_TxbNorInc >= trc_Threshold THEN
905 hr_utility.set_location('py_za_tx_01032002.LteCalc',24);
906 -- Tax Liability
907 trc_TotLibNI := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbNorInc);
908 trc_LibFyNI := trc_TotLibNI - least(trc_TotLibNI,trc_TotLibBse);
909 trc_TotLibNI := greatest(trc_TotLibNI,trc_TotLibBse);
910 trc_LibFpNI := trc_LibFyNI - bal_TX_ON_NI_YTD;
911 ELSE
912 hr_utility.set_location('py_za_tx_01032002.LteCalc',25);
913 -- Set Cascade Figures and Refund
914 trc_TotLibNI := 0;
915 trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
916 trc_LibFpNIOvr := TRUE;
917 END IF;
918 ELSE
919 hr_utility.set_location('py_za_tx_01032002.LteCalc',26);
920 -- Set Cascade Figures and Refund
921 trc_NorErn := trc_TxbBseInc;
922 trc_TxbNorInc := 0;
923 trc_TotLibNI := trc_TotLibBse;
924 trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
925 trc_LibFpNIOvr := TRUE;
926 END IF;
927
928 -- Fringe Benefits
929 --
930 -- Ytd Fringe Benefits
931 trc_FrnBenYtd :=
932 ( bal_AST_PRCHD_RVAL_NRFI_YTD + bal_AST_PRCHD_RVAL_RFI_YTD
933 + bal_BUR_AND_SCH_NRFI_YTD + bal_BUR_AND_SCH_RFI_YTD
934 + bal_FREE_ACCOM_NRFI_YTD + bal_FREE_ACCOM_RFI_YTD
935 + bal_FREE_SERV_NRFI_YTD + bal_FREE_SERV_RFI_YTD
936 + bal_LOW_LOANS_NRFI_YTD + bal_LOW_LOANS_RFI_YTD
937 + bal_MLS_AND_VOUCH_NRFI_YTD + bal_MLS_AND_VOUCH_RFI_YTD
938 + bal_MED_PAID_NRFI_YTD + bal_MED_PAID_RFI_YTD
939 + bal_PYM_DBT_NRFI_YTD + bal_PYM_DBT_RFI_YTD
940 + bal_RGT_AST_NRFI_YTD + bal_RGT_AST_RFI_YTD
941 + bal_USE_VEH_NRFI_YTD + bal_USE_VEH_RFI_YTD
942 );
943 -- Skip the calculation if there is No Income
944 IF trc_FrnBenYtd <> 0 THEN
945 hr_utility.set_location('py_za_tx_01032002.LteCalc',27);
946 -- Fringe Benefit Earnings
947 trc_FrnBenErn := trc_FrnBenYtd + trc_NorErn;
948 -- Taxable Fringe Income
949 trc_TxbFrnInc := trc_FrnBenErn - trc_PerTotAbm;
950 -- Threshold Check
951 IF trc_TxbFrnInc >= trc_Threshold THEN
952 hr_utility.set_location('py_za_tx_01032002.LteCalc',28);
953 -- Tax Liability
954 trc_TotLibFB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbFrnInc);
955 trc_LibFyFB := trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI);
956 trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
957 trc_LibFpFB := trc_LibFyFB - bal_TX_ON_FB_YTD;
958 ElSE
959 hr_utility.set_location('py_za_tx_01032002.LteCalc',29);
960 -- Set Cascade Figures and Refund
961 trc_TotLibFB := trc_TotLibNI;
962 trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
963 trc_LibFpFBOvr := TRUE;
964 END IF;
965 ELSE
966 hr_utility.set_location('py_za_tx_01032002.LteCalc',30);
967 -- Set Cascade Figures and Refund
968 trc_FrnBenErn := trc_NorErn;
969 trc_TxbFrnInc := trc_TxbNorInc;
970 trc_TotLibFB := trc_TotLibNI;
971 trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
972 trc_LibFpFBOvr := TRUE;
973 END IF;
974
975 -- Travel Allowance
976 --
977 -- Ytd Travel Allowance
978 trc_TrvAllYtd := bal_TA_NRFI_YTD + bal_TA_RFI_YTD;
979 -- Skip the calculation if there is No Income
980 IF trc_TrvAllYtd <> 0 THEN
981 hr_utility.set_location('py_za_tx_01032002.LteCalc',31);
982 -- Travel Earnings
983 trc_TrvAllErn := trc_TrvAllYtd + trc_FrnBenErn;
984 -- Taxable Travel Income
985 trc_TxbTrvInc := trc_TrvAllErn - trc_PerTotAbm;
986 -- Threshold Check
987 IF trc_TxbTrvInc >= trc_Threshold THEN
988 hr_utility.set_location('py_za_tx_01032002.LteCalc',32);
989 -- Tax Liability
990 trc_TotLibTA := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbTrvInc);
991 trc_LibFyTA := trc_TotLibTA - least(trc_TotLibTA,trc_TotLibFB);
992 trc_TotLibTA := greatest(trc_TotLibTA,trc_TotLibFB);
993 trc_LibFpTA := trc_LibFyTA - bal_TX_ON_TA_YTD;
994 ELSE
995 hr_utility.set_location('py_za_tx_01032002.LteCalc',33);
996 -- Set Cascade Figures and Refund
997 trc_TotLibTA := trc_TotLibFB;
998 trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
999 trc_LibFpTAOvr := TRUE;
1000 END IF;
1001 ELSE
1002 hr_utility.set_location('py_za_tx_01032002.LteCalc',34);
1003 -- Set Cascade Figures and Refund
1004 trc_TrvAllErn := trc_FrnBenErn;
1005 trc_TxbTrvInc := trc_TxbFrnInc;
1006 trc_TotLibTA := trc_TotLibFB;
1007 trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
1008 trc_LibFpTAOvr := TRUE;
1009 END IF;
1010
1011 -- Annual Bonus
1012 --
1013 -- Ytd Annual Bonus
1014 trc_AnnBonYtd := bal_AB_NRFI_YTD + bal_AB_RFI_YTD;
1015 -- Skip the calculation if there is No Income
1016 IF trc_AnnBonYtd <> 0 THEN
1017 hr_utility.set_location('py_za_tx_01032002.LteCalc',35);
1018 -- Annual Bonus Earnings
1019 trc_AnnBonErn := trc_AnnBonYtd + trc_TrvAllErn;
1020 -- Taxable Annual Bonus Income
1021 trc_TxbAnnBonInc := trc_AnnBonErn - trc_AnnTotAbm;
1022 -- Threshold Check
1023 IF trc_TxbAnnBonInc >= trc_Threshold THEN
1024 hr_utility.set_location('py_za_tx_01032002.LteCalc',36);
1025 -- Tax Liability
1026 trc_TotLibAB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnBonInc);
1027 trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
1028 trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
1029 trc_LibFpAB := trc_LibFyAB - bal_TX_ON_AB_YTD;
1030 ELSE
1031 hr_utility.set_location('py_za_tx_01032002.LteCalc',39);
1032 -- Set Cascade Figures and Refund
1033 trc_TotLibAB := trc_TotLibTA;
1034 trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
1035 trc_LibFpABOvr := TRUE;
1036 END IF;
1037 ELSE
1038 hr_utility.set_location('py_za_tx_01032002.LteCalc',40);
1039 -- Set Cascade Figures and Refund
1040 trc_AnnBonErn := trc_TrvAllErn;
1041 trc_TxbAnnBonInc := trc_TxbTrvInc;
1042 trc_TotLibAB := trc_TotLibTA;
1043 trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
1044 trc_LibFpABOvr := TRUE;
1045 END IF;
1046
1047 -- Annual Payments
1048 --
1049 -- Ytd Annual Payments
1050 trc_AnnPymYtd :=
1051 ( bal_AA_PRCHD_RVAL_NRFI_YTD + bal_AA_PRCHD_RVAL_RFI_YTD
1052 + bal_ANN_BUR_AND_SCH_NRFI_YTD + bal_ANN_BUR_AND_SCH_RFI_YTD
1053 + bal_AC_NRFI_YTD + bal_AC_RFI_YTD
1054 + bal_ANU_FRM_RET_FND_NRFI_YTD + bal_ANU_FRM_RET_FND_RFI_YTD
1055 + bal_ARES_TRD_NRFI_YTD + bal_ARES_TRD_RFI_YTD
1056 + bal_PRCH_ANU_TXB_NRFI_YTD + bal_PRCH_ANU_TXB_RFI_YTD
1057 + bal_TXB_AP_NRFI_YTD + bal_TXB_AP_RFI_YTD
1058 );
1059 -- Skip the calculation if there is No Income
1060 IF trc_AnnPymYtd <> 0 THEN
1061 hr_utility.set_location('py_za_tx_01032002.LteCalc',41);
1062 -- Annual Payments Earnings
1063 trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
1064 -- Taxable Annual Payments Income
1065 trc_TxbAnnPymInc := trc_AnnPymErn - trc_AnnTotAbm;
1066 -- Threshold Check
1067 IF trc_TxbAnnPymInc >= trc_Threshold THEN
1068 hr_utility.set_location('py_za_tx_01032002.LteCalc',42);
1069 -- Tax Liability
1070 trc_TotLibAP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnPymInc);
1071 trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
1072 trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
1073 trc_LibFpAP := trc_LibFyAP - bal_TX_ON_AP_YTD;
1074 ELSE
1075 hr_utility.set_location('py_za_tx_01032002.LteCalc',45);
1076 -- Set Cascade Figures and Refund
1077 trc_TotLibAP := trc_TotLibAB;
1078 trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
1079 trc_LibFpAPOvr := TRUE;
1080 END IF;
1081 ELSE
1082 hr_utility.set_location('py_za_tx_01032002.LteCalc',46);
1083 -- Set Cascade Figures and Refund
1084 trc_AnnPymErn := trc_AnnBonErn;
1085 trc_TxbAnnPymInc := trc_TxbAnnBonInc;
1086 trc_TotLibAP := trc_TotLibAB;
1087 trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
1088 trc_LibFpAPOvr := TRUE;
1089 END IF;
1090
1091 -- Public Office Allowance
1092 --
1093 -- Ytd Public Office Allowance
1094 trc_PblOffYtd := bal_PO_NRFI_YTD + bal_PO_RFI_YTD;
1095 -- Skip the calculation if there is No Income
1096 IF trc_PblOffYtd <> 0 THEN
1097 hr_utility.set_location('py_za_tx_01032002.LteCalc',47);
1098 -- Public Office Earnings
1099 trc_PblOffErn := trc_PblOffYtd;
1100 -- Tax Liability
1101 trc_LibFyPO := trc_PblOffErn * glb_ZA_PBL_TX_RTE / 100;
1102 trc_LibFpPO := trc_LibFyPO - bal_TX_ON_PO_YTD;
1103 ELSE
1104 hr_utility.set_location('py_za_tx_01032002.LteCalc',48);
1105 -- Set Cascade Figures and Refund
1106 trc_LibFyPO := 0;
1107 trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
1108 trc_LibFpPOOvr := TRUE;
1109 END IF;
1110
1111 -- Net Pay Validation
1112 --
1113 -- Net Pay of the Employee
1114 l_Np := bal_NET_PAY_RUN;
1115 -- Site Limit Check
1116 IF trc_TxbAnnPymInc + trc_PblOffErn < glb_ZA_SIT_LIM THEN
1117 hr_utility.set_location('py_za_tx_01032002.LteCalc',49);
1118 l_Sl := TRUE;
1119 ELSE
1120 hr_utility.set_location('py_za_tx_01032002.LteCalc',50);
1121 l_Sl := FALSE;
1122 END IF;
1123
1124 py_za_tx_utl_01032002.ValidateTaxOns(p_Rf => l_Sl);
1125
1126 -- Set IT3A Indicator
1127 --
1128 IF trc_TxbAnnPymInc + trc_PblOffErn >= trc_Threshold THEN
1129 hr_utility.set_location('py_za_tx_01032002.LteCalc',51);
1130 trc_It3Ind := 0; -- Over Lim
1131 ELSE
1132 hr_utility.set_location('py_za_tx_01032002.LteCalc',52);
1133 trc_It3Ind := 1; -- Under Lim
1134 END IF;
1135
1136 -- Normal Income
1137 WrtHrTrc('trc_NorIncYtd: '||to_char(trc_NorIncYtd));
1138 WrtHrTrc('trc_NorIncPtd: '||to_char(trc_NorIncPtd));
1139 WrtHrTrc('trc_NorErn: '||to_char(trc_NorErn));
1140 WrtHrTrc('trc_TxbNorInc: '||to_char(trc_TxbNorInc));
1141 WrtHrTrc('trc_TotLibNI: '||to_char(trc_TotLibNI));
1142 WrtHrTrc('trc_LibFyNI: '||to_char(trc_LibFyNI));
1143 WrtHrTrc('trc_LibFpNI: '||to_char(trc_LibFpNI));
1144 -- Fringe Benefits
1145 WrtHrTrc('trc_FrnBenYtd: '||to_char(trc_FrnBenYtd));
1146 WrtHrTrc('trc_FrnBenPtd: '||to_char(trc_FrnBenPtd));
1147 WrtHrTrc('trc_FrnBenErn: '||to_char(trc_FrnBenErn));
1148 WrtHrTrc('trc_TxbFrnInc: '||to_char(trc_TxbFrnInc));
1149 WrtHrTrc('trc_TotLibFB: '||to_char(trc_TotLibFB));
1150 WrtHrTrc('trc_LibFyFB: '||to_char(trc_LibFyFB));
1151 WrtHrTrc('trc_LibFpFB: '||to_char(trc_LibFpFB));
1152 -- Travel Allowance
1153 WrtHrTrc('trc_TrvAllYtd: '||to_char(trc_TrvAllYtd));
1154 WrtHrTrc('trc_TrvAllPtd: '||to_char(trc_TrvAllPtd));
1155 WrtHrTrc('trc_TrvAllErn: '||to_char(trc_TrvAllErn));
1156 WrtHrTrc('trc_TxbTrvInc: '||to_char(trc_TxbTrvInc));
1157 WrtHrTrc('trc_TotLibTA: '||to_char(trc_TotLibTA));
1158 WrtHrTrc('trc_LibFyTA: '||to_char(trc_LibFyTA));
1159 WrtHrTrc('trc_LibFpTA: '||to_char(trc_LibFpTA));
1160 -- Annual Bonus
1161 WrtHrTrc('trc_AnnBonYtd: '||to_char(trc_AnnBonYtd));
1162 WrtHrTrc('trc_AnnBonPtd: '||to_char(trc_AnnBonPtd));
1163 WrtHrTrc('trc_AnnBonErn: '||to_char(trc_AnnBonErn));
1164 WrtHrTrc('trc_TxbAnnBonInc: '||to_char(trc_TxbAnnBonInc));
1165 WrtHrTrc('trc_TotLibAB: '||to_char(trc_TotLibAB));
1166 WrtHrTrc('trc_LibFyAB: '||to_char(trc_LibFyAB));
1167 WrtHrTrc('trc_LibFpAB: '||to_char(trc_LibFpAB));
1168 -- Annual Payments
1169 WrtHrTrc('trc_AnnPymYtd: '||to_char(trc_AnnPymYtd));
1170 WrtHrTrc('trc_AnnPymPtd: '||to_char(trc_AnnPymPtd));
1171 WrtHrTrc('trc_AnnPymErn: '||to_char(trc_AnnPymErn));
1172 WrtHrTrc('trc_TxbAnnPymInc: '||to_char(trc_TxbAnnPymInc));
1173 WrtHrTrc('trc_TotLibAP: '||to_char(trc_TotLibAP));
1174 WrtHrTrc('trc_LibFyAP: '||to_char(trc_LibFyAP));
1175 WrtHrTrc('trc_LibFpAP: '||to_char(trc_LibFpAP));
1176 -- Pubilc Office Allowance
1177 WrtHrTrc('trc_PblOffYtd: '||to_char(trc_PblOffYtd));
1178 WrtHrTrc('trc_PblOffPtd: '||to_char(trc_PblOffPtd));
1179 WrtHrTrc('trc_PblOffErn: '||to_char(trc_PblOffErn));
1180 WrtHrTrc('trc_LibFyPO: '||to_char(trc_LibFyPO));
1181 WrtHrTrc('trc_LibFpPO: '||to_char(trc_LibFpPO));
1182
1183 EXCEPTION
1184 WHEN OTHERS THEN
1185 IF xpt_Msg = 'No Error' THEN
1186 xpt_Msg := 'LteCalc: '||TO_CHAR(SQLCODE);
1187 END IF;
1188 RAISE xpt_E;
1189 END LteCalc;
1190 -------------------------------------------------------------------------------
1191 -- SeaCalc --
1192 -- Tax Calculation for Seasonal Workers --
1193 -------------------------------------------------------------------------------
1194 PROCEDURE SeaCalc AS
1195 -- Variables
1196 --
1197 l_Np BALANCE DEFAULT 0;
1198 l_65Year DATE;
1199
1200 BEGIN
1201 hr_utility.set_location('py_za_tx_01032002.SeaCalc',1);
1202 -- Identify the calculation
1203 --
1204 trc_CalTyp := 'SeaCalc';
1205
1206 -- Period Type Income
1207 --
1208 trc_TxbIncPtd :=
1209 ( bal_AST_PRCHD_RVAL_NRFI_RUN + bal_AST_PRCHD_RVAL_RFI_RUN
1210 + bal_BUR_AND_SCH_NRFI_RUN + bal_BUR_AND_SCH_RFI_RUN
1211 + bal_COMM_NRFI_RUN + bal_COMM_RFI_RUN
1212 + bal_COMP_ALL_NRFI_RUN + bal_COMP_ALL_RFI_RUN
1213 + bal_ENT_ALL_NRFI_RUN + bal_ENT_ALL_RFI_RUN
1214 + bal_FREE_ACCOM_NRFI_RUN + bal_FREE_ACCOM_RFI_RUN
1215 + bal_FREE_SERV_NRFI_RUN + bal_FREE_SERV_RFI_RUN
1216 + bal_LOW_LOANS_NRFI_RUN + bal_LOW_LOANS_RFI_RUN
1217 + bal_MLS_AND_VOUCH_NRFI_RUN + bal_MLS_AND_VOUCH_RFI_RUN
1218 + bal_MED_PAID_NRFI_RUN + bal_MED_PAID_RFI_RUN
1219 + bal_OTHER_TXB_ALL_NRFI_RUN + bal_OTHER_TXB_ALL_RFI_RUN
1220 + bal_OVTM_NRFI_RUN + bal_OVTM_RFI_RUN
1221 + bal_PYM_DBT_NRFI_RUN + bal_PYM_DBT_RFI_RUN
1222 + bal_RES_TRD_NRFI_RUN + bal_RES_TRD_RFI_RUN
1223 + bal_RGT_AST_NRFI_RUN + bal_RGT_AST_RFI_RUN
1224 + bal_TXB_INC_NRFI_RUN + bal_TXB_INC_RFI_RUN
1225 + bal_TXB_PEN_NRFI_RUN + bal_TXB_PEN_RFI_RUN
1226 + bal_TEL_ALL_NRFI_RUN + bal_TEL_ALL_RFI_RUN
1227 + bal_TOOL_ALL_NRFI_RUN + bal_TOOL_ALL_RFI_RUN
1228 + bal_USE_VEH_NRFI_RUN + bal_USE_VEH_RFI_RUN
1229 );
1230
1231 -- Check if any Period Income Exists
1232 --
1233 hr_utility.set_location('py_za_tx_01032002.SeaCalc',2);
1234 IF trc_TxbIncPtd = 0 THEN -- Pre-Earnings Calc
1235 hr_utility.set_location('py_za_tx_01032002.SeaCalc',3);
1236 -- Site Factor
1237 --
1238 trc_SitFactor := glb_ZA_WRK_DYS_PR_YR / dbi_SEA_WRK_DYS_WRK;
1239
1240 -- Tax Rebates, Threshold Figure and Medical Aid
1241 -- Abatements
1242 -- Calculate the assignments 65 Year Date
1243 l_65Year := add_months(dbi_PER_DTE_OF_BRTH,780);
1244
1245 IF l_65Year BETWEEN dbi_ZA_TX_YR_STRT AND dbi_ZA_TX_YR_END THEN
1246 hr_utility.set_location('py_za_tx_01032002.SeaCalc',4);
1247 -- give the extra abatement
1248 trc_Rebate := glb_ZA_PRI_TX_RBT + glb_ZA_ADL_TX_RBT;
1249 trc_Threshold := glb_ZA_SC_TX_THRSHLD;
1250 ELSE
1251 hr_utility.set_location('py_za_tx_01032002.SeaCalc',5);
1252 -- not eligable for extra abatement
1253 trc_Rebate := glb_ZA_PRI_TX_RBT;
1254 trc_Threshold := glb_ZA_PRI_TX_THRSHLD;
1255 END IF;
1256
1257 -- Base Income
1258 --
1259 -- Base Income
1260 trc_BseErn :=
1261 ( bal_AA_PRCHD_RVAL_NRFI_RUN + bal_AA_PRCHD_RVAL_RFI_RUN
1262 + bal_ANN_BUR_AND_SCH_NRFI_RUN + bal_ANN_BUR_AND_SCH_RFI_RUN
1263 + bal_AC_NRFI_RUN + bal_AC_RFI_RUN
1264 + bal_ANU_FRM_RET_FND_NRFI_RUN + bal_ANU_FRM_RET_FND_RFI_RUN
1265 + bal_ARES_TRD_NRFI_RUN + bal_ARES_TRD_RFI_RUN
1266 + bal_PRCH_ANU_TXB_NRFI_RUN + bal_PRCH_ANU_TXB_RFI_RUN
1267 + bal_TXB_AP_NRFI_RUN + bal_TXB_AP_RFI_RUN
1268 );
1269 -- Taxable Base Income
1270 trc_TxbBseInc := trc_BseErn * trc_SitFactor;
1271 -- Threshold Check
1272 IF trc_TxbBseInc >= trc_Threshold THEN
1273 hr_utility.set_location('py_za_tx_01032002.SeaCalc',6);
1274 -- Tax Liability
1275 trc_TotLibBse := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbBseInc);
1276 ELSE
1277 hr_utility.set_location('py_za_tx_01032002.SeaCalc',7);
1278 trc_TotLibBse := 0;
1279 END IF;
1280
1281 -- Annual Payments
1282 --
1283 -- Taxable Annual Payments Income
1284 trc_TxbAnnPymInc := trc_BseErn + trc_TxbBseInc;-- AP was taken as base!
1285 -- Threshold Check
1286 IF trc_TxbAnnPymInc >= trc_Threshold THEN
1287 hr_utility.set_location('py_za_tx_01032002.SeaCalc',8);
1288 -- Tax Liability
1289 trc_TotLibAP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnPymInc);
1290 trc_LibFpAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibBse);
1291 ElSE
1292 hr_utility.set_location('py_za_tx_01032002.SeaCalc',9);
1293 trc_LibFpAP := 0;
1294 END IF;
1295
1296 -- Base Income
1297 WrtHrTrc('trc_BseErn: ' ||to_char(trc_BseErn));
1298 WrtHrTrc('trc_TxbBseInc: ' ||to_char(trc_TxbBseInc));
1299 WrtHrTrc('trc_TotLibBse: ' ||to_char(trc_TotLibBse));
1300
1301 -- Annual Payments
1302 WrtHrTrc('trc_AnnPymYtd: ' ||to_char(trc_AnnPymYtd));
1303 WrtHrTrc('trc_AnnPymPtd: ' ||to_char(trc_AnnPymPtd));
1304 WrtHrTrc('trc_AnnPymErn: ' ||to_char(trc_AnnPymErn));
1305 WrtHrTrc('trc_TxbAnnPymInc: '||to_char(trc_TxbAnnPymInc));
1306 WrtHrTrc('trc_TotLibAP: ' ||to_char(trc_TotLibAP));
1307 WrtHrTrc('trc_LibFyAP: ' ||to_char(trc_LibFyAP));
1308 WrtHrTrc('trc_LibFpAP: ' ||to_char(trc_LibFpAP));
1309
1310
1311 ELSE
1312 hr_utility.set_location('py_za_tx_01032002.SeaCalc',10);
1313 -- Site Factor
1314 --
1315 trc_SitFactor := glb_ZA_WRK_DYS_PR_YR / dbi_SEA_WRK_DYS_WRK;
1316
1317 -- Rebates
1318 py_za_tx_utl_01032002.SetRebates;
1319
1320 -- Abatements
1321 py_za_tx_utl_01032002.Abatements;
1322
1323 hr_utility.set_location('py_za_tx_01032002.SeaCalc',11);
1324
1325 -- Normal Income
1326 --
1327 -- Run Normal Income
1328 trc_NorIncPtd :=
1329 (bal_COMM_NRFI_RUN + bal_COMM_RFI_RUN
1330 + bal_COMP_ALL_NRFI_RUN + bal_COMP_ALL_RFI_RUN
1331 + bal_ENT_ALL_NRFI_RUN + bal_ENT_ALL_RFI_RUN
1332 + bal_OTHER_TXB_ALL_NRFI_RUN + bal_OTHER_TXB_ALL_RFI_RUN
1333 + bal_OVTM_NRFI_RUN + bal_OVTM_RFI_RUN
1334 + bal_RES_TRD_NRFI_RUN + bal_RES_TRD_RFI_RUN
1335 + bal_TXB_INC_NRFI_RUN + bal_TXB_INC_RFI_RUN
1336 + bal_TXB_PEN_NRFI_RUN + bal_TXB_PEN_RFI_RUN
1337 + bal_TEL_ALL_NRFI_RUN + bal_TEL_ALL_RFI_RUN
1338 + bal_TOOL_ALL_NRFI_RUN + bal_TOOL_ALL_RFI_RUN
1339 );
1340 -- Skip the calculation if there is No Income
1341 IF trc_NorIncPtd <> 0 THEN
1342 hr_utility.set_location('py_za_tx_01032002.SeaCalc',12);
1343 -- Normal Earnings
1344 trc_NorErn := trc_NorIncPtd * trc_SitFactor;
1345 -- Taxable Normal Income
1346 trc_TxbNorInc := trc_NorErn - trc_PerTotAbm;
1347 -- Threshold Check
1348 IF trc_TxbNorInc >= trc_Threshold THEN
1349 hr_utility.set_location('py_za_tx_01032002.SeaCalc',13);
1350 -- Tax Liability
1351 trc_TotLibNI := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbNorInc);
1352 trc_LibFyNI := trc_TotLibNI - 0;
1353 trc_TotLibNI := greatest(trc_TotLibNI,0);
1354 trc_LibFpNI := trc_LibFyNI / trc_SitFactor;
1355 ELSE
1356 hr_utility.set_location('py_za_tx_01032002.SeaCalc',14);
1357 trc_TotLibNI := 0;
1358 END IF;
1359 ELSE
1360 hr_utility.set_location('py_za_tx_01032002.SeaCalc',15);
1361 trc_NorErn := 0;
1362 trc_TxbNorInc := 0;
1363 trc_TotLibNI := 0;
1364 END IF;
1365
1366 -- Fringe Benefits
1367 --
1368 -- Run Fringe Benefits
1369 trc_FrnBenPtd :=
1370 ( bal_AST_PRCHD_RVAL_NRFI_RUN + bal_AST_PRCHD_RVAL_RFI_RUN
1371 + bal_BUR_AND_SCH_NRFI_RUN + bal_BUR_AND_SCH_RFI_RUN
1372 + bal_FREE_ACCOM_NRFI_RUN + bal_FREE_ACCOM_RFI_RUN
1373 + bal_FREE_SERV_NRFI_RUN + bal_FREE_SERV_RFI_RUN
1374 + bal_LOW_LOANS_NRFI_RUN + bal_LOW_LOANS_RFI_RUN
1375 + bal_MLS_AND_VOUCH_NRFI_RUN + bal_MLS_AND_VOUCH_RFI_RUN
1376 + bal_MED_PAID_NRFI_RUN + bal_MED_PAID_RFI_RUN
1377 + bal_PYM_DBT_NRFI_RUN + bal_PYM_DBT_RFI_RUN
1378 + bal_RGT_AST_NRFI_RUN + bal_RGT_AST_RFI_RUN
1379 + bal_USE_VEH_NRFI_RUN + bal_USE_VEH_RFI_RUN
1380 );
1381
1382 -- Skip the calculation if there is No Income
1383 IF trc_FrnBenPtd <> 0 THEN
1384 hr_utility.set_location('py_za_tx_01032002.SeaCalc',16);
1385 -- Fringe Benefit Earnings
1386 trc_FrnBenErn := trc_FrnBenPtd * trc_SitFactor + trc_NorErn;
1387 -- Taxable Fringe Income
1388 trc_TxbFrnInc := trc_FrnBenErn - trc_PerTotAbm;
1389 -- Threshold Check
1390 IF trc_TxbFrnInc >= trc_Threshold THEN
1391 hr_utility.set_location('py_za_tx_01032002.SeaCalc',17);
1392 -- Tax Liability
1393 trc_TotLibFB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbFrnInc);
1394 trc_LibFyFB := trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI);
1395 trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
1396 trc_LibFpFB := trc_LibFyFB / trc_SitFactor;
1397 ELSE
1398 hr_utility.set_location('py_za_tx_01032002.SeaCalc',18);
1399 trc_TotLibFB := trc_TotLibNI;
1400 END IF;
1401 ELSE
1402 hr_utility.set_location('py_za_tx_01032002.SeaCalc',19);
1403 trc_FrnBenErn := trc_NorErn;
1404 trc_TxbFrnInc := trc_TxbNorInc;
1405 trc_TotLibFB := trc_TotLibNI;
1406 END IF;
1407
1408 -- Annual Payments
1409 --
1410 -- Run Annual Payments
1411 trc_AnnPymPtd :=
1412 ( bal_AA_PRCHD_RVAL_NRFI_RUN + bal_AA_PRCHD_RVAL_RFI_RUN
1413 + bal_ANN_BUR_AND_SCH_NRFI_RUN + bal_ANN_BUR_AND_SCH_RFI_RUN
1414 + bal_AC_NRFI_RUN + bal_AC_RFI_RUN
1415 + bal_ANU_FRM_RET_FND_NRFI_RUN + bal_ANU_FRM_RET_FND_RFI_RUN
1416 + bal_ARES_TRD_NRFI_RUN + bal_ARES_TRD_RFI_RUN
1417 + bal_PRCH_ANU_TXB_NRFI_RUN + bal_PRCH_ANU_TXB_RFI_RUN
1418 + bal_TXB_AP_NRFI_RUN + bal_TXB_AP_RFI_RUN
1419 );
1420 -- Skip the calculation if there is No Income
1421 IF trc_AnnPymPtd <> 0 THEN
1422 hr_utility.set_location('py_za_tx_01032002.SeaCalc',20);
1423 -- Annual Payments Earnings
1424 trc_AnnPymErn := trc_AnnPymPtd + trc_FrnBenErn;
1425 -- Taxable Annual Payments Income
1426 trc_TxbAnnPymInc := trc_AnnPymErn - trc_AnnTotAbm;
1427 -- Threshold Check
1428 IF trc_TxbAnnPymInc >= trc_Threshold THEN
1429 hr_utility.set_location('py_za_tx_01032002.SeaCalc',21);
1430 -- Tax Liability
1431 trc_TotLibAP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnPymInc);
1432 trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibFB);
1433 trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibFB);
1434 trc_LibFpAP := trc_LibFyAP;
1435 ELSE
1436 hr_utility.set_location('py_za_tx_01032002.SeaCalc',22);
1437 trc_TotLibAP := trc_TotLibFB;
1438 END IF;
1439 ELSE
1440 hr_utility.set_location('py_za_tx_01032002.SeaCalc',23);
1441 trc_AnnPymErn := trc_FrnBenErn;
1442 trc_TxbAnnPymInc := trc_TxbFrnInc;
1443 trc_TotLibAP := trc_TotLibFB;
1444 END IF;
1445
1446
1447 -- Net Pay Validation
1448 --
1449 py_za_tx_utl_01032002.ValidateTaxOns;
1450
1451 hr_utility.set_location('py_za_tx_01032002.SeaCalc',24);
1452
1453 -- Set IT3A Indicator
1454 --
1455 IF trc_TxbAnnPymInc + trc_PblOffErn >= trc_Threshold THEN
1456 hr_utility.set_location('py_za_tx_01032002.SeaCalc',25);
1457 trc_It3Ind := 0; -- Over Lim
1458 ELSE
1459 hr_utility.set_location('py_za_tx_01032002.SeaCalc',26);
1460 trc_It3Ind := 1; -- Under Lim
1461 END IF;
1462 END IF;
1463
1464 -- Normal Income
1465 WrtHrTrc('trc_NorIncYtd: '||to_char(trc_NorIncYtd));
1466 WrtHrTrc('trc_NorIncPtd: '||to_char(trc_NorIncPtd));
1467 WrtHrTrc('trc_NorErn: '||to_char(trc_NorErn));
1468 WrtHrTrc('trc_TxbNorInc: '||to_char(trc_TxbNorInc));
1469 WrtHrTrc('trc_TotLibNI: '||to_char(trc_TotLibNI));
1470 WrtHrTrc('trc_LibFyNI: '||to_char(trc_LibFyNI));
1471 WrtHrTrc('trc_LibFpNI: '||to_char(trc_LibFpNI));
1472 -- Fringe Benefits
1473 WrtHrTrc('trc_FrnBenYtd: '||to_char(trc_FrnBenYtd));
1474 WrtHrTrc('trc_FrnBenPtd: '||to_char(trc_FrnBenPtd));
1475 WrtHrTrc('trc_FrnBenErn: '||to_char(trc_FrnBenErn));
1476 WrtHrTrc('trc_TxbFrnInc: '||to_char(trc_TxbFrnInc));
1477 WrtHrTrc('trc_TotLibFB: '||to_char(trc_TotLibFB));
1478 WrtHrTrc('trc_LibFyFB: '||to_char(trc_LibFyFB));
1479 WrtHrTrc('trc_LibFpFB: '||to_char(trc_LibFpFB));
1480 -- Annual Payments
1481 WrtHrTrc('trc_AnnPymYtd: '||to_char(trc_AnnPymYtd));
1482 WrtHrTrc('trc_AnnPymPtd: '||to_char(trc_AnnPymPtd));
1483 WrtHrTrc('trc_AnnPymErn: '||to_char(trc_AnnPymErn));
1484 WrtHrTrc('trc_TxbAnnPymInc: '||to_char(trc_TxbAnnPymInc));
1485 WrtHrTrc('trc_TotLibAP: '||to_char(trc_TotLibAP));
1486 WrtHrTrc('trc_LibFyAP: '||to_char(trc_LibFyAP));
1487 WrtHrTrc('trc_LibFpAP: '||to_char(trc_LibFpAP));
1488
1489 EXCEPTION
1490 WHEN OTHERS THEN
1491 IF xpt_Msg = 'No Error' THEN
1492 xpt_Msg := 'SeaCalc: '||TO_CHAR(SQLCODE);
1493 END IF;
1494 RAISE xpt_E;
1495 END SeaCalc;
1496
1497 -------------------------------------------------------------------------------
1498 -- SitCalc --
1499 -- End of Year Tax Calculation --
1500 -------------------------------------------------------------------------------
1501 PROCEDURE SitCalc AS
1502 -- Variables
1503 --
1504 l_Sl BOOLEAN;
1505 l_Np BALANCE;
1506
1507 BEGIN
1508 hr_utility.set_location('py_za_tx_01032002.SitCalc',1);
1509 -- Identify the calculation
1510 --
1511 trc_CalTyp := 'SitCalc';
1512
1513 -- Update Global Balance Values with correct TAXABLE values
1514 --
1515 py_za_tx_utl_01032002.TrvAll;
1516
1517 hr_utility.set_location('py_za_tx_01032002.SitCalc',2);
1518
1519 bal_PO_RFI_YTD := bal_PO_RFI_YTD * glb_ZA_PBL_TX_PRC / 100;
1520 bal_PO_NRFI_YTD := bal_PO_NRFI_YTD * glb_ZA_PBL_TX_PRC / 100;
1521
1522 -- Ytd Taxable Income
1523 --
1524 trc_TxbIncYtd :=
1525 ( bal_AST_PRCHD_RVAL_NRFI_YTD + bal_AST_PRCHD_RVAL_RFI_YTD
1526 + bal_BP_YTD
1527 + bal_BUR_AND_SCH_NRFI_YTD + bal_BUR_AND_SCH_RFI_YTD
1528 + bal_COMM_NRFI_YTD + bal_COMM_RFI_YTD
1529 + bal_COMP_ALL_NRFI_YTD + bal_COMP_ALL_RFI_YTD
1530 + bal_ENT_ALL_NRFI_YTD + bal_ENT_ALL_RFI_YTD
1531 + bal_FREE_ACCOM_NRFI_YTD + bal_FREE_ACCOM_RFI_YTD
1532 + bal_FREE_SERV_NRFI_YTD + bal_FREE_SERV_RFI_YTD
1533 + bal_LOW_LOANS_NRFI_YTD + bal_LOW_LOANS_RFI_YTD
1534 + bal_MLS_AND_VOUCH_NRFI_YTD + bal_MLS_AND_VOUCH_RFI_YTD
1535 + bal_MED_PAID_NRFI_YTD + bal_MED_PAID_RFI_YTD
1536 + bal_OTHER_TXB_ALL_NRFI_YTD + bal_OTHER_TXB_ALL_RFI_YTD
1537 + bal_OVTM_NRFI_YTD + bal_OVTM_RFI_YTD
1538 + bal_PYM_DBT_NRFI_YTD + bal_PYM_DBT_RFI_YTD
1539 + bal_RES_TRD_NRFI_YTD + bal_RES_TRD_RFI_YTD
1540 + bal_RGT_AST_NRFI_YTD + bal_RGT_AST_RFI_YTD
1541 + bal_TXB_INC_NRFI_YTD + bal_TXB_INC_RFI_YTD
1542 + bal_TXB_PEN_NRFI_YTD + bal_TXB_PEN_RFI_YTD
1543 + bal_TEL_ALL_NRFI_YTD + bal_TEL_ALL_RFI_YTD
1544 + bal_TOOL_ALL_NRFI_YTD + bal_TOOL_ALL_RFI_YTD
1545 + bal_TA_NRFI_YTD + bal_TA_RFI_YTD
1546 + bal_USE_VEH_NRFI_YTD + bal_USE_VEH_RFI_YTD
1547 );
1548
1549 hr_utility.set_location('py_za_tx_01032002.SitCalc',3);
1550
1551 -- Site Factor
1552 --
1553 trc_SitFactor := dbi_ZA_DYS_IN_YR / py_za_tx_utl_01032002.DaysWorked;
1554
1555 hr_utility.set_location('py_za_tx_01032002.SitCalc',4);
1556
1557 -- Rebates
1558 py_za_tx_utl_01032002.SetRebates;
1559
1560 -- Abatements
1561 py_za_tx_utl_01032002.Abatements;
1562
1563 hr_utility.set_location('py_za_tx_01032002.SitCalc',5);
1564
1565 -- Deemed Remuneration
1566 --
1567 -- Run Deemed Remuneration
1568 trc_DmdRmnRun := bal_DIR_DMD_RMN_ITD;
1569
1570 -- Skip the calculation if there is No Income
1571 IF trc_DmdRmnRun <> 0 THEN
1572 hr_utility.set_location('py_za_tx_01032002.SitCalc',6);
1573 -- Taxable Deemed Remuneration
1574 trc_TxbDmdRmn := trc_DmdRmnRun;
1575 -- Threshold Check
1576 IF trc_TxbDmdRmn >= trc_Threshold THEN
1577 hr_utility.set_location('py_za_tx_01032002.SitCalc',7);
1578 -- Tax Liability
1579 trc_TotLibDR := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbDmdRmn);
1580 trc_LibFyDR := (trc_TotLibDR - 0) / trc_SitFactor;
1581 trc_TotLibDR := greatest(trc_TotLibDR,0);
1582 trc_LibFpDR := trc_LibFyDR - bal_TX_ON_DR_YTD;
1583 ELSE
1584 hr_utility.set_location('py_za_tx_01032002.SitCalc',8);
1585 -- Set Cascade Figures and Refund
1586 trc_TotLibDR := 0;
1587 trc_LibFpDR := -1 * bal_TX_ON_DR_YTD;
1588 trc_LibFpDROvr := TRUE;
1589 END IF;
1590 ELSE
1591 hr_utility.set_location('py_za_tx_01032002.SitCalc',9);
1592 -- Set Cascade Figures and Refund
1593 trc_TxbDmdRmn := 0;
1594 trc_TotLibDR := 0;
1595 trc_LibFpDR := -1 * bal_TX_ON_DR_YTD;
1596 trc_LibFpDROvr := TRUE;
1597 END IF;
1598
1599 hr_utility.set_location('py_za_tx_01032002.SitCalc',10);
1600
1601 -- Normal Income
1602 --
1603 -- Ytd Normal Income
1604 trc_NorIncYtd :=
1605 ( bal_COMM_NRFI_YTD + bal_COMM_RFI_YTD
1606 + bal_COMP_ALL_NRFI_YTD + bal_COMP_ALL_RFI_YTD
1607 + bal_ENT_ALL_NRFI_YTD + bal_ENT_ALL_RFI_YTD
1608 + bal_OTHER_TXB_ALL_NRFI_YTD + bal_OTHER_TXB_ALL_RFI_YTD
1609 + bal_OVTM_NRFI_YTD + bal_OVTM_RFI_YTD
1610 + bal_RES_TRD_NRFI_YTD + bal_RES_TRD_RFI_YTD
1611 + bal_TXB_INC_NRFI_YTD + bal_TXB_INC_RFI_YTD
1612 + bal_TXB_PEN_NRFI_YTD + bal_TXB_PEN_RFI_YTD
1613 + bal_TEL_ALL_NRFI_YTD + bal_TEL_ALL_RFI_YTD
1614 + bal_TOOL_ALL_NRFI_YTD + bal_TOOL_ALL_RFI_YTD
1615 );
1616 -- Skip the calculation if there is No Income
1617 IF trc_NorIncYtd <> 0 THEN
1618 hr_utility.set_location('py_za_tx_01032002.SitCalc',11);
1619 -- Normal Earnings
1620 trc_NorErn := trc_NorIncYtd * trc_SitFactor;
1621 -- Taxable Normal Income
1622 trc_TxbNorInc := trc_NorErn - trc_PerTotAbm;
1623 -- Threshold Check
1624 IF trc_TxbNorInc >= trc_Threshold THEN
1625 hr_utility.set_location('py_za_tx_01032002.SitCalc',12);
1626 -- Tax Liability
1627 trc_TotLibNI := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbNorInc);
1628 trc_LibFyNI := (trc_TotLibNI - least(trc_TotLibNI,trc_TotLibDR)) / trc_SitFactor;
1629 trc_TotLibNI := greatest(trc_TotLibNI,trc_TotLibDR);
1630 trc_LibFpNI := trc_LibFyNI - bal_TX_ON_NI_YTD;
1631 ELSE
1632 hr_utility.set_location('py_za_tx_01032002.SitCalc',13);
1633 -- Set Cascade Figures and Refund
1634 trc_TotLibNI := trc_TotLibDR;
1635 trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
1636 trc_LibFpNIOvr := TRUE;
1637 END IF;
1638 ELSE
1639 hr_utility.set_location('py_za_tx_01032002.SitCalc',14);
1640 -- Set Cascade Figures and Refund
1641 trc_NorErn := 0;
1642 trc_TxbNorInc := 0;
1643 trc_TotLibNI := trc_TotLibDR;
1644 trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
1645 trc_LibFpNIOvr := TRUE;
1646 END IF;
1647
1648 -- Fringe Benefits
1649 --
1650 -- Ytd Fringe Benefits
1651 trc_FrnBenYtd :=
1652 ( bal_AST_PRCHD_RVAL_NRFI_YTD + bal_AST_PRCHD_RVAL_RFI_YTD
1653 + bal_BUR_AND_SCH_NRFI_YTD + bal_BUR_AND_SCH_RFI_YTD
1654 + bal_FREE_ACCOM_NRFI_YTD + bal_FREE_ACCOM_RFI_YTD
1655 + bal_FREE_SERV_NRFI_YTD + bal_FREE_SERV_RFI_YTD
1656 + bal_LOW_LOANS_NRFI_YTD + bal_LOW_LOANS_RFI_YTD
1657 + bal_MLS_AND_VOUCH_NRFI_YTD + bal_MLS_AND_VOUCH_RFI_YTD
1658 + bal_MED_PAID_NRFI_YTD + bal_MED_PAID_RFI_YTD
1659 + bal_PYM_DBT_NRFI_YTD + bal_PYM_DBT_RFI_YTD
1660 + bal_RGT_AST_NRFI_YTD + bal_RGT_AST_RFI_YTD
1661 + bal_USE_VEH_NRFI_YTD + bal_USE_VEH_RFI_YTD
1662 );
1663
1664 -- Skip the calculation if there is No Income
1665 IF trc_FrnBenYtd <> 0 THEN
1666 hr_utility.set_location('py_za_tx_01032002.SitCalc',15);
1667 -- Fringe Benefit Earnings
1668 trc_FrnBenErn := trc_FrnBenYtd * trc_SitFactor + trc_NorErn;
1669 -- Taxable Fringe Income
1670 trc_TxbFrnInc := trc_FrnBenErn - trc_PerTotAbm;
1671 -- Threshold Check
1672 IF trc_TxbFrnInc >= trc_Threshold THEN
1673 hr_utility.set_location('py_za_tx_01032002.SitCalc',16);
1674 -- Tax Liability
1675 trc_TotLibFB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbFrnInc);
1676 trc_LibFyFB := (trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI)) / trc_SitFactor;
1677 trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
1678 trc_LibFpFB := trc_LibFyFB - bal_TX_ON_FB_YTD;
1679 ElSE
1680 hr_utility.set_location('py_za_tx_01032002.SitCalc',17);
1681 -- Set Cascade Figures and Refund
1682 trc_TotLibFB := trc_TotLibNI;
1683 trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
1684 trc_LibFpFBOvr := TRUE;
1685 END IF;
1686 ELSE
1687 hr_utility.set_location('py_za_tx_01032002.SitCalc',18);
1688 -- Set Cascade Figures and Refund
1689 trc_FrnBenErn := trc_NorErn;
1690 trc_TxbFrnInc := trc_TxbNorInc;
1691 trc_TotLibFB := trc_TotLibNI;
1692 trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
1693 trc_LibFpFBOvr := TRUE;
1694 END IF;
1695
1696 -- Travel Allowance
1697 --
1698 -- Ytd Travel Allowance
1699 trc_TrvAllYtd := bal_TA_NRFI_YTD + bal_TA_RFI_YTD;
1700 -- Skip the calculation if there is No Income
1701 IF trc_TrvAllYtd <> 0 THEN
1702 hr_utility.set_location('py_za_tx_01032002.SitCalc',19);
1703 -- Travel Earnings
1704 trc_TrvAllErn := trc_TrvAllYtd * trc_SitFactor + trc_FrnBenErn;
1705 -- Taxable Travel Income
1706 trc_TxbTrvInc := trc_TrvAllErn - trc_PerTotAbm;
1707 -- Threshold Check
1708 IF trc_TxbTrvInc >= trc_Threshold THEN
1709 hr_utility.set_location('py_za_tx_01032002.SitCalc',20);
1710 -- Tax Liability
1711 trc_TotLibTA := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbTrvInc);
1712 trc_LibFyTA := (trc_TotLibTA - least(trc_TotLibTA,trc_TotLibFB)) / trc_SitFactor;
1713 trc_TotLibTA := greatest(trc_TotLibTA,trc_TotLibFB);
1714 trc_LibFpTA := trc_LibFyTA - bal_TX_ON_TA_YTD;
1715 ELSE
1716 hr_utility.set_location('py_za_tx_01032002.SitCalc',21);
1717 -- Set Cascade Figures and Refund
1718 trc_TotLibTA := trc_TotLibFB;
1719 trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
1720 trc_LibFpTAOvr := TRUE;
1721 END IF;
1722 ELSE
1723 hr_utility.set_location('py_za_tx_01032002.SitCalc',22);
1724 -- Set Cascade Figures and Refund
1725 trc_TrvAllErn := trc_FrnBenErn;
1726 trc_TxbTrvInc := trc_TxbFrnInc;
1727 trc_TotLibTA := trc_TotLibFB;
1728 trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
1729 trc_LibFpTAOvr := TRUE;
1730 END IF;
1731
1732 -- Bonus Provision
1733 --
1734 -- Ytd Bonus Prvision
1735 trc_BonProYtd := bal_BP_YTD;
1736 -- Skip the calculation if there is No Income
1737 IF trc_BonProYtd <> 0 THEN
1738 hr_utility.set_location('py_za_tx_01032002.SitCalc',23);
1739 -- Bonus Provision Earnings
1740 trc_BonProErn := trc_BonProYtd * trc_SitFactor + trc_TrvAllErn;
1741 -- Taxable Bonus Provision Income
1742 trc_TxbBonProInc := trc_BonProErn - trc_PerTotAbm;
1743 -- Threshold Check
1744 IF trc_TxbBonProInc >= trc_Threshold THEN
1745 hr_utility.set_location('py_za_tx_01032002.SitCalc',24);
1746 -- Tax Liability
1747 trc_TotLibBP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbBonProInc);
1748 trc_LibFyBP := (trc_TotLibBP - least(trc_TotLibBP,trc_TotLibTA)) / trc_SitFactor;
1749 trc_TotLibBP := greatest(trc_TotLibBP,trc_TotLibTA);
1750 trc_LibFpBP := trc_LibFyBP - bal_TX_ON_BP_YTD;
1751 ELSE
1752 hr_utility.set_location('py_za_tx_01032002.SitCalc',25);
1753 -- Set Cascade Figures and Refund
1754 trc_TotLibBP := trc_TotLibTA;
1755 trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
1756 trc_LibFpBPOvr := TRUE;
1757 END IF;
1758 ELSE
1759 hr_utility.set_location('py_za_tx_01032002.SitCalc',26);
1760 -- Set Cascade Figures and Refund
1761 trc_BonProErn := trc_TrvAllErn;
1762 trc_TxbBonProInc := trc_TxbTrvInc;
1763 trc_TotLibBP := trc_TotLibTA;
1764 trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
1765 trc_LibFpBPOvr := TRUE;
1766 END IF;
1767
1768 -- Annual Bonus
1769 --
1770 -- Ytd Annual Bonus
1771 trc_AnnBonYtd := bal_AB_NRFI_YTD + bal_AB_RFI_YTD;
1772 -- Skip the calculation if there is No Income
1773 IF trc_AnnBonYtd <> 0 THEN
1774 hr_utility.set_location('py_za_tx_01032002.SitCalc',27);
1775 -- Annual Bonus Earnings
1776 trc_AnnBonErn := trc_AnnBonYtd + trc_TrvAllErn;
1777 -- Taxable Annual Bonus Income
1778 trc_TxbAnnBonInc := trc_AnnBonErn - trc_AnnTotAbm;
1779 -- Threshold Check
1780 IF trc_TxbAnnBonInc >= trc_Threshold THEN
1781 hr_utility.set_location('py_za_tx_01032002.SitCalc',28);
1782 -- Tax Liability
1783 trc_TotLibAB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnBonInc);
1784 trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
1785 trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
1786 hr_utility.set_location('py_za_tx_01032002.SitCalc',29);
1787 -- Check Bonus Provision
1788 IF trc_BonProYtd <> 0 THEN
1789 hr_utility.set_location('py_za_tx_01032002.SitCalc',30);
1790 -- Check Bonus Provision Frequency
1791 IF dbi_BP_TX_RCV = 'B' OR py_za_tx_utl_01032002.SitePeriod THEN
1792 hr_utility.set_location('py_za_tx_01032002.SitCalc',31);
1793 trc_LibFpAB :=
1794 trc_LibFyAB - (bal_TX_ON_BP_YTD
1795 + trc_LibFpBP
1796 + bal_TX_ON_AB_YTD);
1797 ELSE
1798 hr_utility.set_location('py_za_tx_01032002.SitCalc',32);
1799 trc_LibFpAB := 0;
1800 END IF;
1801 ELSE
1802 hr_utility.set_location('py_za_tx_01032002.SitCalc',33);
1803 trc_LibFpAB := trc_LibFyAB - bal_TX_ON_AB_YTD;
1804 END IF;
1805 ELSE
1806 hr_utility.set_location('py_za_tx_01032002.SitCalc',34);
1807 -- Set Cascade Figures and Refund
1808 trc_TotLibAB := trc_TotLibTA;
1809 trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
1810 trc_LibFpABOvr := TRUE;
1811 END IF;
1812 ELSE
1813 hr_utility.set_location('py_za_tx_01032002.SitCalc',35);
1814 -- Set Cascade Figures and Refund
1815 trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
1816 trc_LibFpABOvr := TRUE;
1817
1818 IF dbi_BP_TX_RCV = 'A' AND py_za_tx_utl_01032002.SitePeriod THEN
1819 hr_utility.set_location('py_za_tx_01032002.SitCalc',36);
1820 trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
1821 trc_LibFpBPOvr := TRUE;
1822 trc_LibFpAPOvr := TRUE;
1823
1824 trc_AnnBonErn := trc_TrvAllErn;
1825 trc_TxbAnnBonInc := trc_TxbTrvInc;
1826 trc_TotLibAB := trc_TotLibTA;
1827 ELSE
1828 hr_utility.set_location('py_za_tx_01032002.SitCalc',37);
1829 trc_AnnBonErn := trc_BonProErn;
1830 trc_TxbAnnBonInc := trc_TxbBonProInc;
1831 trc_TotLibAB := trc_TotLibBP;
1832 END IF;
1833 END IF;
1834
1835 -- Annual Payments
1836 --
1837 -- Ytd Annual Payments
1838 trc_AnnPymYtd :=
1839 ( bal_AA_PRCHD_RVAL_NRFI_YTD + bal_AA_PRCHD_RVAL_RFI_YTD
1840 + bal_ANN_BUR_AND_SCH_NRFI_YTD + bal_ANN_BUR_AND_SCH_RFI_YTD
1841 + bal_AC_NRFI_YTD + bal_AC_RFI_YTD
1842 + bal_ANU_FRM_RET_FND_NRFI_YTD + bal_ANU_FRM_RET_FND_RFI_YTD
1843 + bal_ARES_TRD_NRFI_YTD + bal_ARES_TRD_RFI_YTD
1844 + bal_PRCH_ANU_TXB_NRFI_YTD + bal_PRCH_ANU_TXB_RFI_YTD
1845 + bal_TXB_AP_NRFI_YTD + bal_TXB_AP_RFI_YTD
1846 );
1847 -- Skip the calculation if there is No Income
1848 IF trc_AnnPymYtd <> 0 THEN
1849 hr_utility.set_location('py_za_tx_01032002.SitCalc',38);
1850 -- Annual Payments Earnings
1851 trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
1852 -- Taxable Annual Payments Income
1853 trc_TxbAnnPymInc := trc_AnnPymErn - trc_AnnTotAbm;
1854 -- Threshold Check
1855 IF trc_TxbAnnPymInc >= trc_Threshold THEN
1856 hr_utility.set_location('py_za_tx_01032002.SitCalc',39);
1857 -- Tax Liability
1858 trc_TotLibAP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnPymInc);
1859 trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
1860 trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
1861 trc_LibFpAP := trc_LibFyAP - bal_TX_ON_AP_YTD;
1862 ELSE
1863 hr_utility.set_location('py_za_tx_01032002.SitCalc',40);
1864 -- Set Cascade Figures and Refund
1865 trc_TotLibAP := trc_TotLibAB;
1866 trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
1867 trc_LibFpAPOvr := TRUE;
1868 END IF;
1869 ELSE
1870 hr_utility.set_location('py_za_tx_01032002.SitCalc',41);
1871 -- Set Cascade Figures and Refund
1872 trc_AnnPymErn := trc_AnnBonErn;
1873 trc_TxbAnnPymInc := trc_TxbAnnBonInc;
1874 trc_TotLibAP := trc_TotLibAB;
1875 trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
1876 trc_LibFpAPOvr := TRUE;
1877 END IF;
1878
1879 -- Public Office Allowance
1880 --
1881 -- Ytd Public Office Allowance
1882 trc_PblOffYtd := bal_PO_NRFI_YTD + bal_PO_RFI_YTD;
1883 -- Skip the calculation if there is No Income
1884 IF trc_PblOffYtd <> 0 THEN
1885 hr_utility.set_location('py_za_tx_01032002.SitCalc',42);
1886 -- Public Office Earnings
1887 trc_PblOffErn := trc_PblOffYtd * trc_SitFactor;
1888 -- Tax Liability
1889 trc_LibFyPO := (trc_PblOffErn * glb_ZA_PBL_TX_RTE / 100)/trc_SitFactor;
1890 trc_LibFpPO := trc_LibFyPO - bal_TX_ON_PO_YTD;
1891 ELSE
1892 hr_utility.set_location('py_za_tx_01032002.SitCalc',43);
1893 -- Set Cascade Figures and Refund
1894 trc_LibFyPO := 0;
1895 trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
1896 trc_LibFpPOOvr := TRUE;
1897 END IF;
1898
1899 -- Net Pay Validation
1900 --
1901 -- Net Pay of the Employee
1902 l_Np := bal_NET_PAY_RUN;
1903 -- Site Limit Check
1904 IF trc_TxbAnnPymInc + trc_PblOffErn < glb_ZA_SIT_LIM THEN
1905 hr_utility.set_location('py_za_tx_01032002.SitCalc',44);
1906 l_Sl := TRUE;
1907 ELSE
1908 hr_utility.set_location('py_za_tx_01032002.SitCalc',45);
1909 l_Sl := FALSE;
1910 END IF;
1911
1912 py_za_tx_utl_01032002.ValidateTaxOns(p_Rf => l_Sl);
1913
1914 hr_utility.set_location('py_za_tx_01032002.SitCalc',46);
1915
1916 -- Set IT3A Indicator
1917 --
1918 IF trc_TxbAnnPymInc + trc_PblOffErn >= trc_Threshold THEN
1919 hr_utility.set_location('py_za_tx_01032002.SitCalc',47);
1920 trc_It3Ind := 0; -- Over Lim
1921 ELSE
1922 hr_utility.set_location('py_za_tx_01032002.SitCalc',48);
1923 trc_It3Ind := 1; -- Under Lim
1924 END IF;
1925
1926 -- Calculate Total Taxable Income and pass out
1927 --
1928 trc_OUpdFig := (trc_TxbAnnPymInc + trc_PblOffErn) - bal_TOT_TXB_INC_ITD;
1929
1930 hr_utility.set_location('py_za_tx_01032002.SitCalc',49);
1931
1932 -- Deemed Remuneration
1933 WrtHrTrc('trc_TxbDmdRmn: '||to_char(trc_TxbDmdRmn));
1934 WrtHrTrc('trc_TotLibDR: '||to_char(trc_TotLibDR));
1935 WrtHrTrc('trc_LibFyDR: '||to_char(trc_LibFyDR));
1936 WrtHrTrc('trc_LibFpDR: '||to_char(trc_LibFpDR));
1937 -- Base Income
1938 WrtHrTrc('trc_BseErn: '||to_char(trc_BseErn));
1939 WrtHrTrc('trc_TxbBseInc: '||to_char(trc_TxbBseInc));
1940 WrtHrTrc('trc_TotLibBse: '||to_char(trc_TotLibBse));
1941 -- Normal Income
1942 WrtHrTrc('trc_NorIncYtd: '||to_char(trc_NorIncYtd));
1943 WrtHrTrc('trc_NorIncPtd: '||to_char(trc_NorIncPtd));
1944 WrtHrTrc('trc_NorErn: '||to_char(trc_NorErn));
1945 WrtHrTrc('trc_TxbNorInc: '||to_char(trc_TxbNorInc));
1946 WrtHrTrc('trc_TotLibNI: '||to_char(trc_TotLibNI));
1947 WrtHrTrc('trc_LibFyNI: '||to_char(trc_LibFyNI));
1948 WrtHrTrc('trc_LibFpNI: '||to_char(trc_LibFpNI));
1949 -- Fringe Benefits
1950 WrtHrTrc('trc_FrnBenYtd: '||to_char(trc_FrnBenYtd));
1951 WrtHrTrc('trc_FrnBenPtd: '||to_char(trc_FrnBenPtd));
1952 WrtHrTrc('trc_FrnBenErn: '||to_char(trc_FrnBenErn));
1953 WrtHrTrc('trc_TxbFrnInc: '||to_char(trc_TxbFrnInc));
1954 WrtHrTrc('trc_TotLibFB: '||to_char(trc_TotLibFB));
1955 WrtHrTrc('trc_LibFyFB: '||to_char(trc_LibFyFB));
1956 WrtHrTrc('trc_LibFpFB: '||to_char(trc_LibFpFB));
1957 -- Travel Allowance
1958 WrtHrTrc('trc_TrvAllYtd: '||to_char(trc_TrvAllYtd));
1959 WrtHrTrc('trc_TrvAllPtd: '||to_char(trc_TrvAllPtd));
1960 WrtHrTrc('trc_TrvAllErn: '||to_char(trc_TrvAllErn));
1961 WrtHrTrc('trc_TxbTrvInc: '||to_char(trc_TxbTrvInc));
1962 WrtHrTrc('trc_TotLibTA: '||to_char(trc_TotLibTA));
1963 WrtHrTrc('trc_LibFyTA: '||to_char(trc_LibFyTA));
1964 WrtHrTrc('trc_LibFpTA: '||to_char(trc_LibFpTA));
1965 -- Bonus Provision
1966 WrtHrTrc('trc_BonProYtd: '||to_char(trc_BonProYtd));
1967 WrtHrTrc('trc_BonProPtd: '||to_char(trc_BonProPtd));
1968 WrtHrTrc('trc_BonProErn: '||to_char(trc_BonProErn));
1969 WrtHrTrc('trc_TxbBonProInc: '||to_char(trc_TxbBonProInc));
1970 WrtHrTrc('trc_TotLibBP: '||to_char(trc_TotLibBP));
1971 WrtHrTrc('trc_LibFyBP: '||to_char(trc_LibFyBP));
1972 WrtHrTrc('trc_LibFpBP: '||to_char(trc_LibFpBP));
1973 -- Annual Bonus
1974 WrtHrTrc('trc_AnnBonYtd: '||to_char(trc_AnnBonYtd));
1975 WrtHrTrc('trc_AnnBonPtd: '||to_char(trc_AnnBonPtd));
1976 WrtHrTrc('trc_AnnBonErn: '||to_char(trc_AnnBonErn));
1977 WrtHrTrc('trc_TxbAnnBonInc: '||to_char(trc_TxbAnnBonInc));
1978 WrtHrTrc('trc_TotLibAB: '||to_char(trc_TotLibAB));
1979 WrtHrTrc('trc_LibFyAB: '||to_char(trc_LibFyAB));
1980 WrtHrTrc('trc_LibFpAB: '||to_char(trc_LibFpAB));
1981 -- Annual Payments
1982 WrtHrTrc('trc_AnnPymYtd: '||to_char(trc_AnnPymYtd));
1983 WrtHrTrc('trc_AnnPymPtd: '||to_char(trc_AnnPymPtd));
1984 WrtHrTrc('trc_AnnPymErn: '||to_char(trc_AnnPymErn));
1985 WrtHrTrc('trc_TxbAnnPymInc: '||to_char(trc_TxbAnnPymInc));
1986 WrtHrTrc('trc_TotLibAP: '||to_char(trc_TotLibAP));
1987 WrtHrTrc('trc_LibFyAP: '||to_char(trc_LibFyAP));
1988 WrtHrTrc('trc_LibFpAP: '||to_char(trc_LibFpAP));
1989
1990 EXCEPTION
1991 WHEN OTHERS THEN
1992 IF xpt_Msg = 'No Error' THEN
1993 xpt_Msg := 'SitCalc: '||TO_CHAR(SQLCODE);
1994 END IF;
1995 RAISE xpt_E;
1996 END SitCalc;
1997
1998 -------------------------------------------------------------------------------
1999 -- DirCalc --
2000 -- Tax Calculation for Directive Assignments --
2001 -------------------------------------------------------------------------------
2002 PROCEDURE DirCalc AS
2003 -- Variables
2004 --
2005 l_Np BALANCE DEFAULT 0;
2006
2007 BEGIN
2008 hr_utility.set_location('py_za_tx_01032002.DirCalc',1);
2009 -- Identify the calculation
2010 --
2011 trc_CalTyp := 'DirCalc';
2012
2013 -- Update Global Balance Values with correct TAXABLE values
2014 --
2015 py_za_tx_utl_01032002.TrvAll;
2016
2017 hr_utility.set_location('py_za_tx_01032002.DirCalc',2);
2018
2019 bal_PO_RFI_YTD := bal_PO_RFI_YTD * glb_ZA_PBL_TX_PRC / 100;
2020 bal_PO_NRFI_YTD := bal_PO_NRFI_YTD * glb_ZA_PBL_TX_PRC / 100;
2021
2022 -- Normal Income
2023 --
2024 -- Ytd Normal Income
2025 trc_NorIncYtd :=
2026 ( bal_COMM_NRFI_YTD + bal_COMM_RFI_YTD
2027 + bal_COMP_ALL_NRFI_YTD + bal_COMP_ALL_RFI_YTD
2028 + bal_ENT_ALL_NRFI_YTD + bal_ENT_ALL_RFI_YTD
2029 + bal_OTHER_TXB_ALL_NRFI_YTD + bal_OTHER_TXB_ALL_RFI_YTD
2030 + bal_OVTM_NRFI_YTD + bal_OVTM_RFI_YTD
2031 + bal_RES_TRD_NRFI_YTD + bal_RES_TRD_RFI_YTD
2032 + bal_TXB_INC_NRFI_YTD + bal_TXB_INC_RFI_YTD
2033 + bal_TXB_PEN_NRFI_YTD + bal_TXB_PEN_RFI_YTD
2034 + bal_TEL_ALL_NRFI_YTD + bal_TEL_ALL_RFI_YTD
2035 + bal_TOOL_ALL_NRFI_YTD + bal_TOOL_ALL_RFI_YTD
2036 );
2037 -- Skip the calculation if there is No Income
2038 IF trc_NorIncYtd <> 0 THEN
2039 hr_utility.set_location('py_za_tx_01032002.DirCalc',3);
2040 -- Normal Earnings
2041 trc_NorErn := trc_NorIncYtd;
2042 -- Tax Liability
2043 trc_TotLibNI := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_NorErn);
2044 trc_LibFyNI := trc_TotLibNI - 0;
2045 trc_TotLibNI := greatest(trc_TotLibNI,0);
2046 trc_LibFpNI := trc_LibFyNI - bal_TX_ON_NI_YTD;
2047 ELSE
2048 hr_utility.set_location('py_za_tx_01032002.DirCalc',4);
2049 -- Set Cascade Figures and Refund
2050 trc_NorErn := 0;
2051 trc_TotLibNI := 0;
2052 trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
2053 trc_LibFpNIOvr := TRUE;
2054 END IF;
2055
2056 -- Fringe Benefits
2057 --
2058 -- Ytd Fringe Benefits
2059 trc_FrnBenYtd :=
2060 ( bal_AST_PRCHD_RVAL_NRFI_YTD + bal_AST_PRCHD_RVAL_RFI_YTD
2061 + bal_BUR_AND_SCH_NRFI_YTD + bal_BUR_AND_SCH_RFI_YTD
2062 + bal_FREE_ACCOM_NRFI_YTD + bal_FREE_ACCOM_RFI_YTD
2063 + bal_FREE_SERV_NRFI_YTD + bal_FREE_SERV_RFI_YTD
2064 + bal_LOW_LOANS_NRFI_YTD + bal_LOW_LOANS_RFI_YTD
2065 + bal_MLS_AND_VOUCH_NRFI_YTD + bal_MLS_AND_VOUCH_RFI_YTD
2066 + bal_MED_PAID_NRFI_YTD + bal_MED_PAID_RFI_YTD
2067 + bal_PYM_DBT_NRFI_YTD + bal_PYM_DBT_RFI_YTD
2068 + bal_RGT_AST_NRFI_YTD + bal_RGT_AST_RFI_YTD
2069 + bal_USE_VEH_NRFI_YTD + bal_USE_VEH_RFI_YTD
2070 );
2071 -- Skip the calculation if there is No Income
2072 IF trc_FrnBenYtd <> 0 THEN
2073 hr_utility.set_location('py_za_tx_01032002.DirCalc',5);
2074 -- Fringe Benefit Earnings
2075 trc_FrnBenErn := trc_FrnBenYtd + trc_NorErn;
2076 -- Tax Liability
2077 trc_TotLibFB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_FrnBenErn);
2078 trc_LibFyFB := trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI);
2079 trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
2080 trc_LibFpFB := trc_LibFyFB - bal_TX_ON_FB_YTD;
2081 ELSE
2082 hr_utility.set_location('py_za_tx_01032002.DirCalc',6);
2083 -- Set Cascade Figures and Refund
2084 trc_FrnBenErn := trc_NorErn;
2085 trc_TotLibFB := trc_TotLibNI;
2086 trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
2087 trc_LibFpFBOvr := TRUE;
2088 END IF;
2089
2090 -- Travel Allowance
2091 --
2092 -- Ytd Travel Allowance
2093 trc_TrvAllYtd := bal_TA_NRFI_YTD + bal_TA_RFI_YTD;
2094 -- Skip the calculation if there is No Income
2095 IF trc_TrvAllYtd <> 0 THEN
2096 hr_utility.set_location('py_za_tx_01032002.DirCalc',7);
2097 -- Travel Allowance Earnings
2098 trc_TrvAllErn := trc_TrvAllYtd + trc_FrnBenErn;
2099 -- Tax Liability
2100 trc_TotLibTA := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TrvAllErn);
2101 trc_LibFyTA := trc_TotLibTA - least(trc_TotLibTA,trc_TotLibFB);
2102 trc_TotLibTA := greatest(trc_TotLibTA,trc_TotLibFB);
2103 trc_LibFpTA := trc_LibFyTA - bal_TX_ON_TA_YTD;
2104 ELSE
2105 hr_utility.set_location('py_za_tx_01032002.DirCalc',8);
2106 -- Set Cascade Figures and Refund
2107 trc_TrvAllErn := trc_FrnBenErn; --Cascade Figure
2108 trc_TotLibTA := trc_TotLibFB;
2109 trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
2110 trc_LibFpTAOvr := TRUE;
2111 END IF;
2112
2113 -- Bonus Provision
2114 --
2115 -- Ytd Bonus Provision
2116 trc_BonProYtd := bal_BP_YTD;
2117 -- Skip the calculation if there is No Income
2118 IF trc_BonProYtd <> 0 THEN
2119 hr_utility.set_location('py_za_tx_01032002.DirCalc',9);
2120 -- Bonus Provision Earnings
2121 trc_BonProErn := trc_BonProYtd + trc_TrvAllErn;
2122 -- Tax Liability
2123 trc_TotLibBP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_BonProErn);
2124 trc_LibFyBP := trc_TotLibBP - least(trc_TotLibBP,trc_TotLibTA);
2125 trc_TotLibBP := greatest(trc_TotLibBP,trc_TotLibTA);
2126 trc_LibFpBP := trc_LibFyBP - bal_TX_ON_BP_YTD;
2127 ELSE
2128 hr_utility.set_location('py_za_tx_01032002.DirCalc',10);
2129 -- Set Cascade Figures and Refund
2130 trc_BonProErn := trc_TrvAllErn;
2131 trc_TotLibBP := trc_TotLibTA;
2132 trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
2133 trc_LibFpBPOvr := TRUE;
2134 END IF;
2135
2136 -- Annual Bonus
2137 --
2138 -- Ytd Annual Bonus
2139 trc_AnnBonYtd := bal_AB_NRFI_YTD + bal_AB_RFI_YTD;
2140 -- Skip the calculation if there is No Income
2141 IF trc_AnnBonYtd <> 0 THEN
2142 hr_utility.set_location('py_za_tx_01032002.DirCalc',11);
2143 -- Annual Bonus Earnings
2144 trc_AnnBonErn := trc_AnnBonYtd + trc_TrvAllErn;
2145 -- Tax Liability
2146 trc_TotLibAB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_AnnBonErn);
2147 trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
2148 trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
2149 -- Check Bonus Provision
2150 IF trc_BonProYtd <> 0 THEN
2151 hr_utility.set_location('py_za_tx_01032002.DirCalc',12);
2152 -- Check Bonus Provision Frequency
2153 IF dbi_BP_TX_RCV = 'B' OR py_za_tx_utl_01032002.SitePeriod THEN
2154 hr_utility.set_location('py_za_tx_01032002.DirCalc',13);
2155 trc_LibFpAB :=
2156 trc_LibFyAB - (bal_TX_ON_BP_YTD
2157 + trc_LibFpBP
2158 + bal_TX_ON_AB_YTD);
2159 ELSE
2160 hr_utility.set_location('py_za_tx_01032002.DirCalc',14);
2161 trc_LibFpAB := 0;
2162 END IF;
2163 ELSE
2164 hr_utility.set_location('py_za_tx_01032002.DirCalc',15);
2165 trc_LibFpAB := trc_LibFyAB - bal_TX_ON_AB_YTD;
2166 END IF;
2167 ELSE
2168 hr_utility.set_location('py_za_tx_01032002.DirCalc',16);
2169 -- Set Cascade Figures and Refund
2170 trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
2171 trc_LibFpABOvr := TRUE;
2172
2173 IF dbi_BP_TX_RCV = 'A' AND py_za_tx_utl_01032002.SitePeriod THEN
2174 hr_utility.set_location('py_za_tx_01032002.DirCalc',17);
2175 trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
2176 trc_LibFpBPOvr := TRUE;
2177 trc_LibFpAPOvr := TRUE;
2178
2179 trc_AnnBonErn := trc_TrvAllErn;
2180 trc_TotLibAB := trc_TotLibTA;
2181 ELSE
2182 hr_utility.set_location('py_za_tx_01032002.DirCalc',18);
2183 trc_AnnBonErn := trc_BonProErn;
2184 trc_TotLibAB := trc_TotLibBP;
2185 END IF;
2186 END IF;
2187
2188 -- Annual Payments
2189 --
2190 -- Ytd Annual Payments
2191 trc_AnnPymYtd :=
2192 ( bal_AA_PRCHD_RVAL_NRFI_YTD + bal_AA_PRCHD_RVAL_RFI_YTD
2193 + bal_ANN_BUR_AND_SCH_NRFI_YTD + bal_ANN_BUR_AND_SCH_RFI_YTD
2194 + bal_AC_NRFI_YTD + bal_AC_RFI_YTD
2195 + bal_ANU_FRM_RET_FND_NRFI_YTD + bal_ANU_FRM_RET_FND_RFI_YTD
2196 + bal_ARES_TRD_NRFI_YTD + bal_ARES_TRD_RFI_YTD
2197 + bal_PRCH_ANU_TXB_NRFI_YTD + bal_PRCH_ANU_TXB_RFI_YTD
2198 + bal_TXB_AP_NRFI_YTD + bal_TXB_AP_RFI_YTD
2199 );
2200 -- Skip the calculation if there is No Income
2201 IF trc_AnnPymYtd <> 0 THEN
2202 hr_utility.set_location('py_za_tx_01032002.DirCalc',19);
2203 -- Annual Payments Earnings
2204 trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
2205 -- Tax Liability
2206 trc_TotLibAP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_AnnPymErn);
2207 trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
2208 trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
2209 trc_LibFpAP := trc_LibFyAP - bal_TX_ON_AP_YTD;
2210 ElSE
2211 hr_utility.set_location('py_za_tx_01032002.DirCalc',20);
2212 -- Set Cascade Figures and Refund
2213 trc_AnnPymErn := trc_AnnBonErn;
2214 trc_TotLibAP := trc_TotLibAB;
2215 trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
2216 trc_LibFpAPOvr := TRUE;
2217 END IF;
2218
2219 -- Public Office Allowance
2220 --
2221 -- Ytd Public Office Allowance
2222 trc_PblOffYtd := bal_PO_NRFI_YTD + bal_PO_RFI_YTD;
2223 -- Skip the calculation if there is No Income
2224 IF trc_PblOffYtd <> 0 THEN
2225 hr_utility.set_location('py_za_tx_01032002.DirCalc',21);
2226 -- Tax Liability
2227 trc_LibFyPO := trc_PblOffYtd * glb_ZA_PBL_TX_RTE / 100;
2228 trc_LibFpPO := trc_LibFyPO - bal_TX_ON_PO_YTD;
2229 ELSE
2230 hr_utility.set_location('py_za_tx_01032002.DirCalc',22);
2231 -- Set Cascade Figures and Refund
2232 trc_LibFyPO := 0;
2233 trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
2234 trc_LibFpPOOvr := TRUE;
2235 END IF;
2236
2237 -- Net Pay Validation
2238 --
2239 py_za_tx_utl_01032002.ValidateTaxOns(p_Rf => TRUE);
2240
2241 hr_utility.set_location('py_za_tx_01032002.DirCalc',23);
2242
2243 -- Tax Percentage Indicator
2244 --
2245 IF dbi_TX_STA IN ('D','P') THEN
2246 hr_utility.set_location('py_za_tx_01032002.DirCalc',24);
2247 trc_TxPercVal := dbi_TX_DIR_VAL;
2248 ELSIF dbi_TX_STA = 'E' THEN
2249 hr_utility.set_location('py_za_tx_01032002.DirCalc',25);
2250 trc_TxPercVal := glb_ZA_CC_TX_PRC;
2251 ELSIF dbi_TX_STA = 'F' THEN
2252 hr_utility.set_location('py_za_tx_01032002.DirCalc',26);
2253 trc_TxPercVal := glb_ZA_TMP_TX_RTE;
2254 ELSIF dbi_TX_STA = 'J' THEN
2255 hr_utility.set_location('py_za_tx_01032002.DirCalc',27);
2256 trc_TxPercVal := glb_ZA_PER_SERV_COMP_PERC;
2257 ELSIF dbi_TX_STA = 'K' THEN
2258 hr_utility.set_location('py_za_tx_01032002.DirCalc',28);
2259 trc_TxPercVal := glb_ZA_PER_SERV_TRST_PERC;
2260 ELSIF dbi_TX_STA = 'L' THEN
2261 hr_utility.set_location('py_za_tx_01032002.DirCalc',29);
2262 trc_TxPercVal := glb_ZA_LABOUR_BROK_PERC;
2263 ELSE
2264 hr_utility.set_location('py_za_tx_01032002.DirCalc',30);
2265 trc_TxPercVal := 0;
2266 END IF;
2267
2268 hr_utility.set_location('py_za_tx_01032002.DirCalc',31);
2269
2270 -- Base Income
2271 WrtHrTrc('trc_BseErn: '||to_char(trc_BseErn));
2272 WrtHrTrc('trc_TxbBseInc: '||to_char(trc_TxbBseInc));
2273 WrtHrTrc('trc_TotLibBse: '||to_char(trc_TotLibBse));
2274 -- Normal Income
2275 WrtHrTrc('trc_NorIncYtd: '||to_char(trc_NorIncYtd));
2276 WrtHrTrc('trc_NorIncPtd: '||to_char(trc_NorIncPtd));
2277 WrtHrTrc('trc_NorErn: '||to_char(trc_NorErn));
2278 WrtHrTrc('trc_TxbNorInc: '||to_char(trc_TxbNorInc));
2279 WrtHrTrc('trc_TotLibNI: '||to_char(trc_TotLibNI));
2280 WrtHrTrc('trc_LibFyNI: '||to_char(trc_LibFyNI));
2281 WrtHrTrc('trc_LibFpNI: '||to_char(trc_LibFpNI));
2282 -- Fringe Benefits
2283 WrtHrTrc('trc_FrnBenYtd: '||to_char(trc_FrnBenYtd));
2284 WrtHrTrc('trc_FrnBenPtd: '||to_char(trc_FrnBenPtd));
2285 WrtHrTrc('trc_FrnBenErn: '||to_char(trc_FrnBenErn));
2286 WrtHrTrc('trc_TxbFrnInc: '||to_char(trc_TxbFrnInc));
2287 WrtHrTrc('trc_TotLibFB: '||to_char(trc_TotLibFB));
2288 WrtHrTrc('trc_LibFyFB: '||to_char(trc_LibFyFB));
2289 WrtHrTrc('trc_LibFpFB: '||to_char(trc_LibFpFB));
2290 -- Travel Allowance
2291 WrtHrTrc('trc_TrvAllYtd: '||to_char(trc_TrvAllYtd));
2292 WrtHrTrc('trc_TrvAllPtd: '||to_char(trc_TrvAllPtd));
2293 WrtHrTrc('trc_TrvAllErn: '||to_char(trc_TrvAllErn));
2294 WrtHrTrc('trc_TxbTrvInc: '||to_char(trc_TxbTrvInc));
2295 WrtHrTrc('trc_TotLibTA: '||to_char(trc_TotLibTA));
2296 WrtHrTrc('trc_LibFyTA: '||to_char(trc_LibFyTA));
2297 WrtHrTrc('trc_LibFpTA: '||to_char(trc_LibFpTA));
2298 -- Bonus Provision
2299 WrtHrTrc('trc_BonProYtd: '||to_char(trc_BonProYtd));
2300 WrtHrTrc('trc_BonProPtd: '||to_char(trc_BonProPtd));
2301 WrtHrTrc('trc_BonProErn: '||to_char(trc_BonProErn));
2302 WrtHrTrc('trc_TxbBonProInc: '||to_char(trc_TxbBonProInc));
2303 WrtHrTrc('trc_TotLibBP: '||to_char(trc_TotLibBP));
2304 WrtHrTrc('trc_LibFyBP: '||to_char(trc_LibFyBP));
2305 WrtHrTrc('trc_LibFpBP: '||to_char(trc_LibFpBP));
2306 -- Annual Bonus
2307 WrtHrTrc('trc_AnnBonYtd: '||to_char(trc_AnnBonYtd));
2308 WrtHrTrc('trc_AnnBonPtd: '||to_char(trc_AnnBonPtd));
2309 WrtHrTrc('trc_AnnBonErn: '||to_char(trc_AnnBonErn));
2310 WrtHrTrc('trc_TxbAnnBonInc: '||to_char(trc_TxbAnnBonInc));
2311 WrtHrTrc('trc_TotLibAB: '||to_char(trc_TotLibAB));
2312 WrtHrTrc('trc_LibFyAB: '||to_char(trc_LibFyAB));
2313 WrtHrTrc('trc_LibFpAB: '||to_char(trc_LibFpAB));
2314 -- Annual Payments
2315 WrtHrTrc('trc_AnnPymYtd: '||to_char(trc_AnnPymYtd));
2316 WrtHrTrc('trc_AnnPymPtd: '||to_char(trc_AnnPymPtd));
2317 WrtHrTrc('trc_AnnPymErn: '||to_char(trc_AnnPymErn));
2318 WrtHrTrc('trc_TxbAnnPymInc: '||to_char(trc_TxbAnnPymInc));
2319 WrtHrTrc('trc_TotLibAP: '||to_char(trc_TotLibAP));
2320 WrtHrTrc('trc_LibFyAP: '||to_char(trc_LibFyAP));
2321 WrtHrTrc('trc_LibFpAP: '||to_char(trc_LibFpAP));
2322 -- Pubilc Office Allowance
2323 WrtHrTrc('trc_PblOffYtd: '||to_char(trc_PblOffYtd));
2324 WrtHrTrc('trc_PblOffPtd: '||to_char(trc_PblOffPtd));
2325 WrtHrTrc('trc_PblOffErn: '||to_char(trc_PblOffErn));
2326 WrtHrTrc('trc_LibFyPO: '||to_char(trc_LibFyPO));
2327 WrtHrTrc('trc_LibFpPO: '||to_char(trc_LibFpPO));
2328
2329 EXCEPTION
2330 WHEN OTHERS THEN
2331 IF xpt_Msg = 'No Error' THEN
2332 xpt_Msg := 'DirCalc: '||TO_CHAR(SQLCODE);
2333 END IF;
2334 RAISE xpt_E;
2335 END DirCalc;
2336
2337 -------------------------------------------------------------------------------
2338 -- BasCalc --
2339 -- Pre-Earnings Tax Calculation --
2340 -------------------------------------------------------------------------------
2341 PROCEDURE BasCalc AS
2342 -- Variables
2343 --
2344 l_Np BALANCE;
2345 l_65Year DATE;
2346
2347 BEGIN
2348 hr_utility.set_location('py_za_tx_01032002.BasCalc',1);
2349 -- Identify the Calculation
2350 --
2351 trc_CalTyp := 'BasCalc';
2352
2353 -- Rebates
2354 py_za_tx_utl_01032002.SetRebates;
2355
2356 -- Abatements
2357 py_za_tx_utl_01032002.Abatements;
2358
2359 -- Deemed Remuneration
2360 --
2361 -- Run Deemed Remuneration
2362 trc_DmdRmnRun := bal_DIR_DMD_RMN_ITD;
2363
2364 -- Skip the calculation if there is No Income
2365 IF trc_DmdRmnRun <> 0 THEN
2366 hr_utility.set_location('py_za_tx_01032002.BasCalc',2);
2367 -- Taxable Deemed Remuneration
2368 trc_TxbDmdRmn := trc_DmdRmnRun;
2369 -- Threshold Check
2370 IF trc_TxbDmdRmn >= trc_Threshold THEN
2371 hr_utility.set_location('py_za_tx_01032002.BasCalc',3);
2372 -- Tax Liability
2373 trc_TotLibDR := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbDmdRmn);
2374 ELSE
2375 hr_utility.set_location('py_za_tx_01032002.BasCalc',4);
2376 trc_TotLibDR := 0;
2377 END IF;
2378 ELSE
2379 hr_utility.set_location('py_za_tx_01032002.BasCalc',5);
2380 trc_TotLibDR := 0;
2381 END IF;
2382
2383 hr_utility.set_location('py_za_tx_01032002.BasCalc',6);
2384
2385 -- Base Earnings
2386 --
2387 --Base Earnings
2388 trc_BseErn :=
2389 ( bal_AB_NRFI_PTD + bal_AB_RFI_PTD
2390 + bal_AA_PRCHD_RVAL_NRFI_PTD + bal_AA_PRCHD_RVAL_RFI_PTD
2391 + bal_ANN_BUR_AND_SCH_NRFI_PTD + bal_ANN_BUR_AND_SCH_RFI_PTD
2392 + bal_AC_NRFI_PTD + bal_AC_RFI_PTD
2393 + bal_ANU_FRM_RET_FND_NRFI_PTD + bal_ANU_FRM_RET_FND_RFI_PTD
2394 + bal_ARES_TRD_NRFI_PTD + bal_ARES_TRD_RFI_PTD
2395 + bal_PRCH_ANU_TXB_NRFI_PTD + bal_PRCH_ANU_TXB_RFI_PTD
2396 + bal_TXB_AP_NRFI_PTD + bal_TXB_AP_RFI_PTD
2397 );
2398 -- Estimate Base Taxable Income
2399 trc_TxbBseInc := trc_BseErn * dbi_ZA_PAY_PRDS_PER_YR;
2400 -- Threshold Check
2401 IF trc_TxbBseInc >= trc_Threshold THEN
2402 hr_utility.set_location('py_za_tx_01032002.BasCalc',7);
2403 -- Tax Liability
2404 trc_TotLibBse := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbBseInc);
2405 trc_TotLibBse := greatest(trc_TotLibBse,trc_TotLibDR);
2406 ELSE
2407 hr_utility.set_location('py_za_tx_01032002.BasCalc',8);
2408 trc_TotLibBse := trc_TotLibDR;
2409 END IF;
2410
2411 hr_utility.set_location('py_za_tx_01032002.BasCalc',9);
2412
2413 -- Annual Bonus
2414 --
2415 -- Ytd Annual Bonus
2416 trc_AnnBonYtd := bal_AB_NRFI_YTD + bal_AB_RFI_YTD;
2417 -- Skip the calculation if there is No Income
2418 IF trc_AnnBonYtd <> 0 THEN
2419 hr_utility.set_location('py_za_tx_01032002.BasCalc',10);
2420 -- Annual Bonus Earnings
2421 trc_AnnBonErn := trc_AnnBonYtd + trc_TxbBseInc;
2422 -- Taxable Annual Bonus Income
2423 trc_TxbAnnBonInc := trc_AnnBonErn - trc_AnnTotAbm;
2424 -- Threshold Check
2425 IF trc_TxbAnnBonInc >= trc_Threshold THEN
2426 hr_utility.set_location('py_za_tx_01032002.BasCalc',11);
2427 -- Tax Liability
2428 trc_TotLibAB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnBonInc);
2429 trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibBse);
2430 trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibBse);
2431 -- Check Bonus Provision
2432 IF bal_BP_YTD <> 0 THEN
2433 hr_utility.set_location('py_za_tx_01032002.BasCalc',12);
2434 -- Check Bonus Provision Frequency
2435 IF dbi_BP_TX_RCV = 'A' THEN
2436 hr_utility.set_location('py_za_tx_01032002.BasCalc',13);
2437 trc_LibFpAB := 0;
2438 ELSE
2439 hr_utility.set_location('py_za_tx_01032002.BasCalc',14);
2440 trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD
2441 + bal_TX_ON_AB_YTD);
2442 END IF;
2443 ELSE
2444 hr_utility.set_location('py_za_tx_01032002.BasCalc',15);
2445 trc_LibFpAB := trc_LibFyAB - bal_TX_ON_AB_YTD;
2446 END IF;
2447 ELSE
2448 hr_utility.set_location('py_za_tx_01032002.BasCalc',16);
2449 trc_TotLibAB := trc_TotLibBse;
2450 END IF;
2451 ELSE
2452 hr_utility.set_location('py_za_tx_01032002.BasCalc',17);
2453 trc_TotLibAB := trc_TotLibBse;
2454 trc_TxbAnnBonInc := trc_TxbBseInc;
2455 END IF;
2456
2457 hr_utility.set_location('py_za_tx_01032002.BasCalc',18);
2458
2459 -- Annual Payments
2460 --
2461 -- Ytd Annual Payments
2462 trc_AnnPymYtd :=
2463 ( bal_AA_PRCHD_RVAL_NRFI_YTD + bal_AA_PRCHD_RVAL_RFI_YTD
2464 + bal_ANN_BUR_AND_SCH_NRFI_YTD + bal_ANN_BUR_AND_SCH_RFI_YTD
2465 + bal_AC_NRFI_YTD + bal_AC_RFI_YTD
2466 + bal_ANU_FRM_RET_FND_NRFI_YTD + bal_ANU_FRM_RET_FND_RFI_YTD
2467 + bal_ARES_TRD_NRFI_YTD + bal_ARES_TRD_RFI_YTD
2468 + bal_PRCH_ANU_TXB_NRFI_YTD + bal_PRCH_ANU_TXB_RFI_YTD
2469 + bal_TXB_AP_NRFI_YTD + bal_TXB_AP_RFI_YTD
2470 );
2471 -- Skip the calculation if there is No Income
2472 IF trc_AnnPymYtd <> 0 THEN
2473 hr_utility.set_location('py_za_tx_01032002.BasCalc',19);
2474 -- Taxable Annual Payments Income
2475 trc_TxbAnnPymInc := trc_AnnPymYtd + trc_TxbAnnBonInc;
2476 -- Threshold Check
2477 IF trc_TxbAnnPymInc >= trc_Threshold THEN
2478 hr_utility.set_location('py_za_tx_01032002.BasCalc',20);
2479 -- Tax Liability
2480 trc_TotLibAP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnPymInc);
2481 trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
2482 trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
2483 trc_LibFpAP := trc_LibFyAP - bal_TX_ON_AP_YTD;
2484 ELSE
2485 hr_utility.set_location('py_za_tx_01032002.BasCalc',21);
2486 NULL;
2487 END IF;
2488 ELSE
2489 hr_utility.set_location('py_za_tx_01032002.BasCalc',22);
2490 NULL;
2491 END IF;
2492
2493 -- Net Pay Validation
2494 --
2495 py_za_tx_utl_01032002.ValidateTaxOns;
2496
2497 -- Deemed Remuneration
2498 WrtHrTrc('trc_TxbDmdRmn: '||to_char(trc_TxbDmdRmn));
2499 WrtHrTrc('trc_TotLibDR: '||to_char(trc_TotLibDR));
2500 WrtHrTrc('trc_LibFyDR: '||to_char(trc_LibFyDR));
2501 WrtHrTrc('trc_LibFpDR: '||to_char(trc_LibFpDR));
2502 -- Base Income
2503 WrtHrTrc('trc_BseErn: '||to_char(trc_BseErn));
2504 WrtHrTrc('trc_TxbBseInc: '||to_char(trc_TxbBseInc));
2505 WrtHrTrc('trc_TotLibBse: '||to_char(trc_TotLibBse));
2506 -- Normal Income
2507 WrtHrTrc('trc_NorIncYtd: '||to_char(trc_NorIncYtd));
2508 WrtHrTrc('trc_NorIncPtd: '||to_char(trc_NorIncPtd));
2509 WrtHrTrc('trc_NorErn: '||to_char(trc_NorErn));
2510 WrtHrTrc('trc_TxbNorInc: '||to_char(trc_TxbNorInc));
2511 WrtHrTrc('trc_TotLibNI: '||to_char(trc_TotLibNI));
2512 WrtHrTrc('trc_LibFyNI: '||to_char(trc_LibFyNI));
2513 WrtHrTrc('trc_LibFpNI: '||to_char(trc_LibFpNI));
2514 -- Fringe Benefits
2515 WrtHrTrc('trc_FrnBenYtd: '||to_char(trc_FrnBenYtd));
2516 WrtHrTrc('trc_FrnBenPtd: '||to_char(trc_FrnBenPtd));
2517 WrtHrTrc('trc_FrnBenErn: '||to_char(trc_FrnBenErn));
2518 WrtHrTrc('trc_TxbFrnInc: '||to_char(trc_TxbFrnInc));
2519 WrtHrTrc('trc_TotLibFB: '||to_char(trc_TotLibFB));
2520 WrtHrTrc('trc_LibFyFB: '||to_char(trc_LibFyFB));
2521 WrtHrTrc('trc_LibFpFB: '||to_char(trc_LibFpFB));
2522 -- Travel Allowance
2523 WrtHrTrc('trc_TrvAllYtd: '||to_char(trc_TrvAllYtd));
2524 WrtHrTrc('trc_TrvAllPtd: '||to_char(trc_TrvAllPtd));
2525 WrtHrTrc('trc_TrvAllErn: '||to_char(trc_TrvAllErn));
2526 WrtHrTrc('trc_TxbTrvInc: '||to_char(trc_TxbTrvInc));
2527 WrtHrTrc('trc_TotLibTA: '||to_char(trc_TotLibTA));
2528 WrtHrTrc('trc_LibFyTA: '||to_char(trc_LibFyTA));
2529 WrtHrTrc('trc_LibFpTA: '||to_char(trc_LibFpTA));
2530 -- Bonus Provision
2531 WrtHrTrc('trc_BonProYtd: '||to_char(trc_BonProYtd));
2532 WrtHrTrc('trc_BonProPtd: '||to_char(trc_BonProPtd));
2533 WrtHrTrc('trc_BonProErn: '||to_char(trc_BonProErn));
2534 WrtHrTrc('trc_TxbBonProInc: '||to_char(trc_TxbBonProInc));
2535 WrtHrTrc('trc_TotLibBP: '||to_char(trc_TotLibBP));
2536 WrtHrTrc('trc_LibFyBP: '||to_char(trc_LibFyBP));
2537 WrtHrTrc('trc_LibFpBP: '||to_char(trc_LibFpBP));
2538 -- Annual Bonus
2539 WrtHrTrc('trc_AnnBonYtd: '||to_char(trc_AnnBonYtd));
2540 WrtHrTrc('trc_AnnBonPtd: '||to_char(trc_AnnBonPtd));
2541 WrtHrTrc('trc_AnnBonErn: '||to_char(trc_AnnBonErn));
2542 WrtHrTrc('trc_TxbAnnBonInc: '||to_char(trc_TxbAnnBonInc));
2543 WrtHrTrc('trc_TotLibAB: '||to_char(trc_TotLibAB));
2544 WrtHrTrc('trc_LibFyAB: '||to_char(trc_LibFyAB));
2545 WrtHrTrc('trc_LibFpAB: '||to_char(trc_LibFpAB));
2546 -- Annual Payments
2547 WrtHrTrc('trc_AnnPymYtd: '||to_char(trc_AnnPymYtd));
2548 WrtHrTrc('trc_AnnPymPtd: '||to_char(trc_AnnPymPtd));
2549 WrtHrTrc('trc_AnnPymErn: '||to_char(trc_AnnPymErn));
2550 WrtHrTrc('trc_TxbAnnPymInc: '||to_char(trc_TxbAnnPymInc));
2551 WrtHrTrc('trc_TotLibAP: '||to_char(trc_TotLibAP));
2552 WrtHrTrc('trc_LibFyAP: '||to_char(trc_LibFyAP));
2553 WrtHrTrc('trc_LibFpAP: '||to_char(trc_LibFpAP));
2554 -- Pubilc Office Allowance
2555 WrtHrTrc('trc_PblOffYtd: '||to_char(trc_PblOffYtd));
2556 WrtHrTrc('trc_PblOffPtd: '||to_char(trc_PblOffPtd));
2557 WrtHrTrc('trc_PblOffErn: '||to_char(trc_PblOffErn));
2558 WrtHrTrc('trc_LibFyPO: '||to_char(trc_LibFyPO));
2559 WrtHrTrc('trc_LibFpPO: '||to_char(trc_LibFpPO));
2560
2561 EXCEPTION
2562 WHEN OTHERS THEN
2563 IF xpt_Msg = 'No Error' THEN
2564 xpt_Msg := 'BasCalc: '||TO_CHAR(SQLCODE);
2565 END IF;
2566 RAISE xpt_E;
2567 END BasCalc;
2568
2569 -------------------------------------------------------------------------------
2570 -- CalCalc --
2571 -- Pre-Earnings Tax Calculation --
2572 -------------------------------------------------------------------------------
2573 PROCEDURE CalCalc AS
2574 -- Variables
2575 --
2576 l_Np BALANCE;
2577
2578 BEGIN
2579 hr_utility.set_location('py_za_tx_01032002.CalCalc',1);
2580 -- Identify the calculation
2581 --
2582 trc_CalTyp := 'CalCalc';
2583
2584 -- Update Global Balance Values with correct TAXABLE values
2585 --
2586 py_za_tx_utl_01032002.TrvAll;
2587
2588 hr_utility.set_location('py_za_tx_01032002.CalCalc',2);
2589
2590 -- Calendar Ytd Taxable Income
2591 --
2592 trc_TxbIncYtd :=
2593 ( bal_AST_PRCHD_RVAL_NRFI_CYTD + bal_AST_PRCHD_RVAL_RFI_CYTD
2594 + bal_BUR_AND_SCH_NRFI_CYTD + bal_BUR_AND_SCH_RFI_CYTD
2595 + bal_COMM_NRFI_CYTD + bal_COMM_RFI_CYTD
2596 + bal_COMP_ALL_NRFI_CYTD + bal_COMP_ALL_RFI_CYTD
2597 + bal_ENT_ALL_NRFI_CYTD + bal_ENT_ALL_RFI_CYTD
2598 + bal_FREE_ACCOM_NRFI_CYTD + bal_FREE_ACCOM_RFI_CYTD
2599 + bal_FREE_SERV_NRFI_CYTD + bal_FREE_SERV_RFI_CYTD
2600 + bal_LOW_LOANS_NRFI_CYTD + bal_LOW_LOANS_RFI_CYTD
2601 + bal_MLS_AND_VOUCH_NRFI_CYTD + bal_MLS_AND_VOUCH_RFI_CYTD
2602 + bal_MED_PAID_NRFI_CYTD + bal_MED_PAID_RFI_CYTD
2603 + bal_OTHER_TXB_ALL_NRFI_CYTD + bal_OTHER_TXB_ALL_RFI_CYTD
2604 + bal_OVTM_NRFI_CYTD + bal_OVTM_RFI_CYTD
2605 + bal_PYM_DBT_NRFI_CYTD + bal_PYM_DBT_RFI_CYTD
2606 + bal_RES_TRD_NRFI_CYTD + bal_RES_TRD_RFI_CYTD
2607 + bal_RGT_AST_NRFI_CYTD + bal_RGT_AST_RFI_CYTD
2608 + bal_TXB_INC_NRFI_CYTD + bal_TXB_INC_RFI_CYTD
2609 + bal_TXB_PEN_NRFI_CYTD + bal_TXB_PEN_RFI_CYTD
2610 + bal_TEL_ALL_NRFI_CYTD + bal_TEL_ALL_RFI_CYTD
2611 + bal_TOOL_ALL_NRFI_CYTD + bal_TOOL_ALL_RFI_CYTD
2612 + bal_TA_NRFI_CYTD + bal_TA_RFI_CYTD
2613 + bal_USE_VEH_NRFI_CYTD + bal_USE_VEH_RFI_CYTD
2614 );
2615
2616 -- If there is no Income Execute the Base calculation
2617 --
2618 IF trc_TxbIncYtd = 0 THEN
2619 hr_utility.set_location('py_za_tx_01032002.CalCalc',3);
2620 BasCalc;
2621 ELSE -- continue CalCalc
2622 hr_utility.set_location('py_za_tx_01032002.CalCalc',4);
2623 -- Site Factor
2624 --
2625 trc_SitFactor := dbi_ZA_DYS_IN_YR / py_za_tx_utl_01032002.DaysWorked;
2626
2627 -- Rebates
2628 py_za_tx_utl_01032002.SetRebates;
2629
2630 -- Abatements
2631 py_za_tx_utl_01032002.Abatements;
2632
2633 hr_utility.set_location('py_za_tx_01032002.CalCalc',5);
2634
2635 -- Deemed Remuneration
2636 --
2637 -- Run Deemed Remuneration
2638 trc_DmdRmnRun := bal_DIR_DMD_RMN_ITD;
2639
2640 -- Skip the calculation if there is No Income
2641 IF trc_DmdRmnRun <> 0 THEN
2642 hr_utility.set_location('py_za_tx_01032002.CalCalc',6);
2643 -- Taxable Deemed Remuneration
2644 trc_TxbDmdRmn := trc_DmdRmnRun;
2645 -- Threshold Check
2646 IF trc_TxbDmdRmn >= trc_Threshold THEN
2647 hr_utility.set_location('py_za_tx_01032002.CalCalc',7);
2648 -- Tax Liability
2649 trc_TotLibDR := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbDmdRmn);
2650 ELSE
2651 hr_utility.set_location('py_za_tx_01032002.CalCalc',8);
2652 trc_TotLibDR := 0;
2653 END IF;
2654 ELSE
2655 hr_utility.set_location('py_za_tx_01032002.CalCalc',9);
2656 trc_TotLibDR := 0;
2657 END IF;
2658
2659 hr_utility.set_location('py_za_tx_01032002.CalCalc',10);
2660
2661 -- Base Earnings
2662 --
2663 -- Base Earnings
2664 trc_BseErn := trc_TxbIncYtd * trc_SitFactor;
2665 -- Taxable Base Income
2666 trc_TxbBseInc := trc_BseErn - trc_PerTotAbm;
2667 -- Threshold Check
2668 IF trc_TxbBseInc >= trc_Threshold THEN
2669 hr_utility.set_location('py_za_tx_01032002.CalCalc',11);
2670 -- Tax Liability
2671 trc_TotLibBse := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbBseInc);
2672 trc_TotLibBse := greatest(trc_TotLibBse,trc_TotLibDR);
2673 ELSE
2674 hr_utility.set_location('py_za_tx_01032002.CalCalc',12);
2675 trc_TotLibBse := trc_TotLibDR;
2676 END IF;
2677
2678 hr_utility.set_location('py_za_tx_01032002.CalCalc',13);
2679
2680 -- Annual Bonus
2681 --
2682 -- Ytd Annual Bonus
2683 trc_AnnBonYtd := bal_AB_NRFI_YTD + bal_AB_RFI_YTD;
2684 -- Skip the calculation if there is No Income
2685 IF trc_AnnBonYtd <> 0 THEN
2686 hr_utility.set_location('py_za_tx_01032002.CalCalc',14);
2687 -- Annual Bonus Earnings
2688 trc_AnnBonErn := trc_AnnBonYtd + trc_BseErn;
2689 -- Taxable Annual Bonus Income
2690 trc_TxbAnnBonInc := trc_AnnBonErn - trc_AnnTotAbm;
2691 -- Threshold Check
2692 IF trc_TxbAnnBonInc >= trc_Threshold THEN
2693 hr_utility.set_location('py_za_tx_01032002.CalCalc',15);
2694 -- Tax Liability
2695 trc_TotLibAB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnBonInc);
2696 trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibBse);
2697 trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibBse);
2698 -- Check Bonus Provision
2699 IF bal_BP_YTD <> 0 THEN
2700 hr_utility.set_location('py_za_tx_01032002.CalCalc',16);
2701 -- Check Bonus Provision Frequency
2702 IF dbi_BP_TX_RCV = 'A' THEN
2703 hr_utility.set_location('py_za_tx_01032002.CalCalc',17);
2704 trc_LibFpAB := 0;
2705 ELSE
2706 hr_utility.set_location('py_za_tx_01032002.CalCalc',18);
2707 trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD
2708 + bal_TX_ON_AB_YTD);
2709 END IF;
2710 ELSE
2711 hr_utility.set_location('py_za_tx_01032002.CalCalc',19);
2712 trc_LibFpAB := trc_LibFyAB - bal_TX_ON_AB_YTD;
2713 END IF;
2714 ELSE
2715 hr_utility.set_location('py_za_tx_01032002.CalCalc',20);
2716 trc_TotLibAB := trc_TotLibBse;
2717 END IF;
2718 ELSE
2719 hr_utility.set_location('py_za_tx_01032002.CalCalc',21);
2720 trc_AnnBonErn := trc_BseErn;
2721 trc_TxbAnnBonInc := trc_TxbBseInc;
2722 trc_TotLibAB := trc_TotLibBse;
2723 END IF;
2724
2725 hr_utility.set_location('py_za_tx_01032002.CalCalc',22);
2726
2727 -- Annual Payments
2728 --
2729 -- Ytd Annual Payments
2730 trc_AnnPymYtd :=
2731 ( bal_AA_PRCHD_RVAL_NRFI_YTD + bal_AA_PRCHD_RVAL_RFI_YTD
2732 + bal_ANN_BUR_AND_SCH_NRFI_YTD + bal_ANN_BUR_AND_SCH_RFI_YTD
2733 + bal_AC_NRFI_YTD + bal_AC_RFI_YTD
2734 + bal_ANU_FRM_RET_FND_NRFI_YTD + bal_ANU_FRM_RET_FND_RFI_YTD
2735 + bal_ARES_TRD_NRFI_YTD + bal_ARES_TRD_RFI_YTD
2736 + bal_PRCH_ANU_TXB_NRFI_YTD + bal_PRCH_ANU_TXB_RFI_YTD
2737 + bal_TXB_AP_NRFI_YTD + bal_TXB_AP_RFI_YTD
2738 );
2739 -- Skip the calculation if there is No Income
2740 IF trc_AnnPymYtd <> 0 THEN
2741 hr_utility.set_location('py_za_tx_01032002.CalCalc',23);
2742 -- Annual Payments Earnings
2743 trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
2744 -- Taxable Annual Payments Income
2745 trc_TxbAnnPymInc := trc_AnnPymErn - trc_AnnTotAbm;
2746 -- Threshold Check
2747 IF trc_TxbAnnPymInc >= trc_Threshold THEN
2748 hr_utility.set_location('py_za_tx_01032002.CalCalc',24);
2749 -- Tax Liability
2750 trc_TotLibAP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnPymInc);
2751 trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
2752 trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
2753 trc_LibFpAP := trc_LibFyAP - bal_TX_ON_AP_YTD;
2754 ELSE
2755 hr_utility.set_location('py_za_tx_01032002.CalCalc',25);
2756 trc_TotLibAP := trc_TotLibAB;
2757 END IF;
2758 ELSE
2759 hr_utility.set_location('py_za_tx_01032002.CalCalc',26);
2760 trc_AnnPymErn := trc_AnnBonErn;
2761 trc_TxbAnnPymInc := trc_TxbAnnBonInc;
2762 trc_TotLibAP := trc_TotLibAB;
2763 END IF;
2764
2765 -- Net pay Validation
2766 --
2767 py_za_tx_utl_01032002.ValidateTaxOns;
2768
2769 -- Deemed Remuneration
2770 WrtHrTrc('trc_TxbDmdRmn: '||to_char(trc_TxbDmdRmn));
2771 WrtHrTrc('trc_TotLibDR: '||to_char(trc_TotLibDR));
2772 WrtHrTrc('trc_LibFyDR: '||to_char(trc_LibFyDR));
2773 WrtHrTrc('trc_LibFpDR: '||to_char(trc_LibFpDR));
2774 -- Base Income
2775 WrtHrTrc('trc_BseErn: '||to_char(trc_BseErn));
2776 WrtHrTrc('trc_TxbBseInc: '||to_char(trc_TxbBseInc));
2777 WrtHrTrc('trc_TotLibBse: '||to_char(trc_TotLibBse));
2778 -- Normal Income
2779 WrtHrTrc('trc_NorIncYtd: '||to_char(trc_NorIncYtd));
2780 WrtHrTrc('trc_NorIncPtd: '||to_char(trc_NorIncPtd));
2781 WrtHrTrc('trc_NorErn: '||to_char(trc_NorErn));
2782 WrtHrTrc('trc_TxbNorInc: '||to_char(trc_TxbNorInc));
2783 WrtHrTrc('trc_TotLibNI: '||to_char(trc_TotLibNI));
2784 WrtHrTrc('trc_LibFyNI: '||to_char(trc_LibFyNI));
2785 WrtHrTrc('trc_LibFpNI: '||to_char(trc_LibFpNI));
2786 -- Fringe Benefits
2787 WrtHrTrc('trc_FrnBenYtd: '||to_char(trc_FrnBenYtd));
2788 WrtHrTrc('trc_FrnBenPtd: '||to_char(trc_FrnBenPtd));
2789 WrtHrTrc('trc_FrnBenErn: '||to_char(trc_FrnBenErn));
2790 WrtHrTrc('trc_TxbFrnInc: '||to_char(trc_TxbFrnInc));
2791 WrtHrTrc('trc_TotLibFB: '||to_char(trc_TotLibFB));
2792 WrtHrTrc('trc_LibFyFB: '||to_char(trc_LibFyFB));
2793 WrtHrTrc('trc_LibFpFB: '||to_char(trc_LibFpFB));
2794 -- Travel Allowance
2795 WrtHrTrc('trc_TrvAllYtd: '||to_char(trc_TrvAllYtd));
2796 WrtHrTrc('trc_TrvAllPtd: '||to_char(trc_TrvAllPtd));
2797 WrtHrTrc('trc_TrvAllErn: '||to_char(trc_TrvAllErn));
2798 WrtHrTrc('trc_TxbTrvInc: '||to_char(trc_TxbTrvInc));
2799 WrtHrTrc('trc_TotLibTA: '||to_char(trc_TotLibTA));
2800 WrtHrTrc('trc_LibFyTA: '||to_char(trc_LibFyTA));
2801 WrtHrTrc('trc_LibFpTA: '||to_char(trc_LibFpTA));
2802 -- Bonus Provision
2803 WrtHrTrc('trc_BonProYtd: '||to_char(trc_BonProYtd));
2804 WrtHrTrc('trc_BonProPtd: '||to_char(trc_BonProPtd));
2805 WrtHrTrc('trc_BonProErn: '||to_char(trc_BonProErn));
2806 WrtHrTrc('trc_TxbBonProInc: '||to_char(trc_TxbBonProInc));
2807 WrtHrTrc('trc_TotLibBP: '||to_char(trc_TotLibBP));
2808 WrtHrTrc('trc_LibFyBP: '||to_char(trc_LibFyBP));
2809 WrtHrTrc('trc_LibFpBP: '||to_char(trc_LibFpBP));
2810 -- Annual Bonus
2811 WrtHrTrc('trc_AnnBonYtd: '||to_char(trc_AnnBonYtd));
2812 WrtHrTrc('trc_AnnBonPtd: '||to_char(trc_AnnBonPtd));
2813 WrtHrTrc('trc_AnnBonErn: '||to_char(trc_AnnBonErn));
2814 WrtHrTrc('trc_TxbAnnBonInc: '||to_char(trc_TxbAnnBonInc));
2815 WrtHrTrc('trc_TotLibAB: '||to_char(trc_TotLibAB));
2816 WrtHrTrc('trc_LibFyAB: '||to_char(trc_LibFyAB));
2817 WrtHrTrc('trc_LibFpAB: '||to_char(trc_LibFpAB));
2818 -- Annual Payments
2819 WrtHrTrc('trc_AnnPymYtd: '||to_char(trc_AnnPymYtd));
2820 WrtHrTrc('trc_AnnPymPtd: '||to_char(trc_AnnPymPtd));
2821 WrtHrTrc('trc_AnnPymErn: '||to_char(trc_AnnPymErn));
2822 WrtHrTrc('trc_TxbAnnPymInc: '||to_char(trc_TxbAnnPymInc));
2823 WrtHrTrc('trc_TotLibAP: '||to_char(trc_TotLibAP));
2824 WrtHrTrc('trc_LibFyAP: '||to_char(trc_LibFyAP));
2825 WrtHrTrc('trc_LibFpAP: '||to_char(trc_LibFpAP));
2826 -- Pubilc Office Allowance
2827 WrtHrTrc('trc_PblOffYtd: '||to_char(trc_PblOffYtd));
2828 WrtHrTrc('trc_PblOffPtd: '||to_char(trc_PblOffPtd));
2829 WrtHrTrc('trc_PblOffErn: '||to_char(trc_PblOffErn));
2830 WrtHrTrc('trc_LibFyPO: '||to_char(trc_LibFyPO));
2831 WrtHrTrc('trc_LibFpPO: '||to_char(trc_LibFpPO));
2832
2833 END IF;
2834
2835 hr_utility.set_location('py_za_tx_01032002.CalCalc',27);
2836
2837 EXCEPTION
2838 WHEN OTHERS THEN
2839 IF xpt_Msg = 'No Error' THEN
2840 xpt_Msg := 'CalCalc: '||TO_CHAR(SQLCODE);
2841 END IF;
2842 RAISE xpt_E;
2843 END CalCalc;
2844 -------------------------------------------------------------------------------
2845 -- YtdCalc --
2846 -- Pre-Earnings Tax Calculation --
2847 -------------------------------------------------------------------------------
2848 PROCEDURE YtdCalc AS
2849 -- Variables
2850 --
2851 l_Np BALANCE;
2852
2853 BEGIN
2854 hr_utility.set_location('py_za_tx_01032002.YtdCalc',1);
2855 -- Identify the calculation
2856 --
2857 trc_CalTyp := 'YtdCalc';
2858
2859 -- Update Global Balance Values with correct TAXABLE values
2860 py_za_tx_utl_01032002.TrvAll;
2861
2862 hr_utility.set_location('py_za_tx_01032002.YtdCalc',2);
2863
2864 -- Ytd Taxable Income
2865 trc_TxbIncYtd :=
2866 ( bal_AST_PRCHD_RVAL_NRFI_YTD + bal_AST_PRCHD_RVAL_RFI_YTD
2867 + bal_BP_YTD
2868 + bal_BUR_AND_SCH_NRFI_YTD + bal_BUR_AND_SCH_RFI_YTD
2869 + bal_COMM_NRFI_YTD + bal_COMM_RFI_YTD
2870 + bal_COMP_ALL_NRFI_YTD + bal_COMP_ALL_RFI_YTD
2871 + bal_ENT_ALL_NRFI_YTD + bal_ENT_ALL_RFI_YTD
2872 + bal_FREE_ACCOM_NRFI_YTD + bal_FREE_ACCOM_RFI_YTD
2873 + bal_FREE_SERV_NRFI_YTD + bal_FREE_SERV_RFI_YTD
2874 + bal_LOW_LOANS_NRFI_YTD + bal_LOW_LOANS_RFI_YTD
2875 + bal_MLS_AND_VOUCH_NRFI_YTD + bal_MLS_AND_VOUCH_RFI_YTD
2876 + bal_MED_PAID_NRFI_YTD + bal_MED_PAID_RFI_YTD
2877 + bal_OTHER_TXB_ALL_NRFI_YTD + bal_OTHER_TXB_ALL_RFI_YTD
2878 + bal_OVTM_NRFI_YTD + bal_OVTM_RFI_YTD
2879 + bal_PYM_DBT_NRFI_YTD + bal_PYM_DBT_RFI_YTD
2880 + bal_RES_TRD_NRFI_YTD + bal_RES_TRD_RFI_YTD
2881 + bal_RGT_AST_NRFI_YTD + bal_RGT_AST_RFI_YTD
2882 + bal_TXB_INC_NRFI_YTD + bal_TXB_INC_RFI_YTD
2883 + bal_TXB_PEN_NRFI_YTD + bal_TXB_PEN_RFI_YTD
2884 + bal_TEL_ALL_NRFI_YTD + bal_TEL_ALL_RFI_YTD
2885 + bal_TOOL_ALL_NRFI_YTD + bal_TOOL_ALL_RFI_YTD
2886 + bal_TA_NRFI_YTD + bal_TA_RFI_YTD
2887 + bal_USE_VEH_NRFI_YTD + bal_USE_VEH_RFI_YTD
2888 );
2889
2890 -- If the Ytd Taxable Income = 0, execute the CalCalc
2891 IF trc_TxbIncYtd = 0 THEN
2892 hr_utility.set_location('py_za_tx_01032002.YtdCalc',3);
2893 CalCalc;
2894 ELSE --Continue YtdCalc
2895 hr_utility.set_location('py_za_tx_01032002.YtdCalc',4);
2896 -- Site Factor
2897 trc_SitFactor := dbi_ZA_DYS_IN_YR / py_za_tx_utl_01032002.DaysWorked;
2898
2899 -- Rebates
2900 py_za_tx_utl_01032002.SetRebates;
2901
2902 -- Abatements
2903 py_za_tx_utl_01032002.Abatements;
2904
2905 hr_utility.set_location('py_za_tx_01032002.YtdCalc',5);
2906
2907 -- Deemed Remuneration
2908 --
2909 -- Run Deemed Remuneration
2910 trc_DmdRmnRun := bal_DIR_DMD_RMN_ITD;
2911
2912 -- Skip the calculation if there is No Income
2913 IF trc_DmdRmnRun <> 0 THEN
2914 hr_utility.set_location('py_za_tx_01032002.YtdCalc',6);
2915 -- Taxable Deemed Remuneration
2916 trc_TxbDmdRmn := trc_DmdRmnRun;
2917 -- Threshold Check
2918 IF trc_TxbDmdRmn >= trc_Threshold THEN
2919 hr_utility.set_location('py_za_tx_01032002.YtdCalc',7);
2920 -- Tax Liability
2921 trc_TotLibDR := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbDmdRmn);
2922 ELSE
2923 hr_utility.set_location('py_za_tx_01032002.YtdCalc',8);
2924 trc_TotLibDR := 0;
2925 END IF;
2926 ELSE
2927 hr_utility.set_location('py_za_tx_01032002.YtdCalc',9);
2928 trc_TotLibDR := 0;
2929 END IF;
2930
2931 hr_utility.set_location('py_za_tx_01032002.YtdCalc',10);
2932
2933 -- Base Earnings
2934 --
2935 -- Base Earnings
2936 trc_BseErn := trc_TxbIncYtd * trc_SitFactor;
2937 -- Taxable Base Income
2938 trc_TxbBseInc := trc_BseErn - trc_PerTotAbm;
2939 -- Threshold Check
2940 IF trc_TxbBseInc >= trc_Threshold THEN
2941 hr_utility.set_location('py_za_tx_01032002.YtdCalc',11);
2942 -- Tax Liability
2943 trc_TotLibBse := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbBseInc);
2944 trc_TotLibBse := greatest(trc_TotLibBse,trc_TotLibDR);
2945 ELSE
2946 hr_utility.set_location('py_za_tx_01032002.YtdCalc',12);
2947 trc_TotLibBse := trc_TotLibDR;
2948 END IF;
2949
2950 hr_utility.set_location('py_za_tx_01032002.YtdCalc',13);
2951
2952 -- Annual Bonus
2953 --
2954 -- Ytd Annual Bonus
2955 trc_AnnBonYtd := bal_AB_NRFI_YTD + bal_AB_RFI_YTD;
2956 -- Skip the calculation if there is No Income
2957 IF trc_AnnBonYtd <> 0 THEN
2958 hr_utility.set_location('py_za_tx_01032002.YtdCalc',14);
2959 -- Annual Bonus Earnings
2960 trc_AnnBonErn := trc_AnnBonYtd + trc_BseErn;
2961 -- Taxable Annual Bonus Income
2962 trc_TxbAnnBonInc := trc_AnnBonErn - trc_AnnTotAbm;
2963 -- Threshold Check
2964 IF trc_TxbAnnBonInc >= trc_Threshold THEN
2965 hr_utility.set_location('py_za_tx_01032002.YtdCalc',15);
2966 -- Tax Liability
2967 trc_TotLibAB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnBonInc);
2968 trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibBse);
2969 trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibBse);
2970 -- Check Bonus Provision
2971 IF bal_BP_YTD <> 0 THEN
2972 hr_utility.set_location('py_za_tx_01032002.YtdCalc',16);
2973 -- Check Bonus Provision Frequency
2974 IF dbi_BP_TX_RCV = 'A' THEN
2975 hr_utility.set_location('py_za_tx_01032002.YtdCalc',17);
2976 trc_LibFpAB := 0;
2977 ELSE
2978 hr_utility.set_location('py_za_tx_01032002.YtdCalc',18);
2979 trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD
2980 + bal_TX_ON_AB_YTD);
2981 END IF;
2982 ELSE
2983 hr_utility.set_location('py_za_tx_01032002.YtdCalc',19);
2984 trc_LibFpAB := trc_LibFyAB - bal_TX_ON_AB_YTD;
2985 END IF;
2986 ELSE
2987 hr_utility.set_location('py_za_tx_01032002.YtdCalc',20);
2988 trc_TotLibAB := trc_TotLibBse;
2989 END IF;
2990 ELSE
2991 hr_utility.set_location('py_za_tx_01032002.YtdCalc',21);
2992 trc_AnnBonErn := trc_BseErn;
2993 trc_TxbAnnBonInc := trc_TxbBseInc;
2994 trc_TotLibAB := trc_TotLibBse;
2995 END IF;
2996
2997 hr_utility.set_location('py_za_tx_01032002.YtdCalc',22);
2998
2999 -- Annual Payments
3000 --
3001 -- Ytd Annual Payments
3002 trc_AnnPymYtd :=
3003 ( bal_AA_PRCHD_RVAL_NRFI_YTD + bal_AA_PRCHD_RVAL_RFI_YTD
3004 + bal_ANN_BUR_AND_SCH_NRFI_YTD + bal_ANN_BUR_AND_SCH_RFI_YTD
3005 + bal_AC_NRFI_YTD + bal_AC_RFI_YTD
3006 + bal_ANU_FRM_RET_FND_NRFI_YTD + bal_ANU_FRM_RET_FND_RFI_YTD
3007 + bal_ARES_TRD_NRFI_YTD + bal_ARES_TRD_RFI_YTD
3008 + bal_PRCH_ANU_TXB_NRFI_YTD + bal_PRCH_ANU_TXB_RFI_YTD
3009 + bal_TXB_AP_NRFI_YTD + bal_TXB_AP_RFI_YTD
3010 );
3011 -- Skip the calculation if there is No Income
3012 IF trc_AnnPymYtd <> 0 THEN
3013 hr_utility.set_location('py_za_tx_01032002.YtdCalc',23);
3014 -- Annual Payments Earnings
3015 trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
3016 -- Taxable Annual Payments Income
3017 trc_TxbAnnPymInc := trc_AnnPymErn - trc_AnnTotAbm;
3018 -- Threshold Check
3019 IF trc_TxbAnnPymInc >= trc_Threshold THEN
3020 hr_utility.set_location('py_za_tx_01032002.YtdCalc',24);
3021 -- Tax Liability
3022 trc_TotLibAP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnPymInc);
3023 trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
3024 trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
3025 trc_LibFpAP := trc_LibFyAP - bal_TX_ON_AP_YTD;
3026 ELSE
3027 hr_utility.set_location('py_za_tx_01032002.YtdCalc',25);
3028 trc_TotLibAP := trc_TotLibAB;
3029 END IF;
3030 ELSE
3031 hr_utility.set_location('py_za_tx_01032002.YtdCalc',26);
3032 trc_AnnPymErn := trc_AnnBonErn;
3033 trc_TxbAnnPymInc := trc_TxbAnnBonInc;
3034 trc_TotLibAP := trc_TotLibAB;
3035 END IF;
3036
3037 -- Net Pay validation
3038 --
3039 py_za_tx_utl_01032002.ValidateTaxOns;
3040
3041 hr_utility.set_location('py_za_tx_01032002.YtdCalc',27);
3042
3043 -- Deemed Remuneration
3044 WrtHrTrc('trc_TxbDmdRmn: '||to_char(trc_TxbDmdRmn));
3045 WrtHrTrc('trc_TotLibDR: '||to_char(trc_TotLibDR));
3046 WrtHrTrc('trc_LibFyDR: '||to_char(trc_LibFyDR));
3047 WrtHrTrc('trc_LibFpDR: '||to_char(trc_LibFpDR));
3048 -- Base Income
3049 WrtHrTrc('trc_BseErn: '||to_char(trc_BseErn));
3050 WrtHrTrc('trc_TxbBseInc: '||to_char(trc_TxbBseInc));
3051 WrtHrTrc('trc_TotLibBse: '||to_char(trc_TotLibBse));
3052 -- Normal Income
3053 WrtHrTrc('trc_NorIncYtd: '||to_char(trc_NorIncYtd));
3054 WrtHrTrc('trc_NorIncPtd: '||to_char(trc_NorIncPtd));
3055 WrtHrTrc('trc_NorErn: '||to_char(trc_NorErn));
3056 WrtHrTrc('trc_TxbNorInc: '||to_char(trc_TxbNorInc));
3057 WrtHrTrc('trc_TotLibNI: '||to_char(trc_TotLibNI));
3058 WrtHrTrc('trc_LibFyNI: '||to_char(trc_LibFyNI));
3059 WrtHrTrc('trc_LibFpNI: '||to_char(trc_LibFpNI));
3060 -- Fringe Benefits
3061 WrtHrTrc('trc_FrnBenYtd: '||to_char(trc_FrnBenYtd));
3062 WrtHrTrc('trc_FrnBenPtd: '||to_char(trc_FrnBenPtd));
3063 WrtHrTrc('trc_FrnBenErn: '||to_char(trc_FrnBenErn));
3064 WrtHrTrc('trc_TxbFrnInc: '||to_char(trc_TxbFrnInc));
3065 WrtHrTrc('trc_TotLibFB: '||to_char(trc_TotLibFB));
3066 WrtHrTrc('trc_LibFyFB: '||to_char(trc_LibFyFB));
3067 WrtHrTrc('trc_LibFpFB: '||to_char(trc_LibFpFB));
3068 -- Travel Allowance
3069 WrtHrTrc('trc_TrvAllYtd: '||to_char(trc_TrvAllYtd));
3070 WrtHrTrc('trc_TrvAllPtd: '||to_char(trc_TrvAllPtd));
3071 WrtHrTrc('trc_TrvAllErn: '||to_char(trc_TrvAllErn));
3072 WrtHrTrc('trc_TxbTrvInc: '||to_char(trc_TxbTrvInc));
3073 WrtHrTrc('trc_TotLibTA: '||to_char(trc_TotLibTA));
3074 WrtHrTrc('trc_LibFyTA: '||to_char(trc_LibFyTA));
3075 WrtHrTrc('trc_LibFpTA: '||to_char(trc_LibFpTA));
3076 -- Bonus Provision
3077 WrtHrTrc('trc_BonProYtd: '||to_char(trc_BonProYtd));
3078 WrtHrTrc('trc_BonProPtd: '||to_char(trc_BonProPtd));
3079 WrtHrTrc('trc_BonProErn: '||to_char(trc_BonProErn));
3080 WrtHrTrc('trc_TxbBonProInc: '||to_char(trc_TxbBonProInc));
3081 WrtHrTrc('trc_TotLibBP: '||to_char(trc_TotLibBP));
3082 WrtHrTrc('trc_LibFyBP: '||to_char(trc_LibFyBP));
3083 WrtHrTrc('trc_LibFpBP: '||to_char(trc_LibFpBP));
3084 -- Annual Bonus
3085 WrtHrTrc('trc_AnnBonYtd: '||to_char(trc_AnnBonYtd));
3086 WrtHrTrc('trc_AnnBonPtd: '||to_char(trc_AnnBonPtd));
3087 WrtHrTrc('trc_AnnBonErn: '||to_char(trc_AnnBonErn));
3088 WrtHrTrc('trc_TxbAnnBonInc: '||to_char(trc_TxbAnnBonInc));
3089 WrtHrTrc('trc_TotLibAB: '||to_char(trc_TotLibAB));
3090 WrtHrTrc('trc_LibFyAB: '||to_char(trc_LibFyAB));
3091 WrtHrTrc('trc_LibFpAB: '||to_char(trc_LibFpAB));
3092 -- Annual Payments
3093 WrtHrTrc('trc_AnnPymYtd: '||to_char(trc_AnnPymYtd));
3094 WrtHrTrc('trc_AnnPymPtd: '||to_char(trc_AnnPymPtd));
3095 WrtHrTrc('trc_AnnPymErn: '||to_char(trc_AnnPymErn));
3096 WrtHrTrc('trc_TxbAnnPymInc: '||to_char(trc_TxbAnnPymInc));
3097 WrtHrTrc('trc_TotLibAP: '||to_char(trc_TotLibAP));
3098 WrtHrTrc('trc_LibFyAP: '||to_char(trc_LibFyAP));
3099 WrtHrTrc('trc_LibFpAP: '||to_char(trc_LibFpAP));
3100 -- Pubilc Office Allowance
3101 WrtHrTrc('trc_PblOffYtd: '||to_char(trc_PblOffYtd));
3102 WrtHrTrc('trc_PblOffPtd: '||to_char(trc_PblOffPtd));
3103 WrtHrTrc('trc_PblOffErn: '||to_char(trc_PblOffErn));
3104 WrtHrTrc('trc_LibFyPO: '||to_char(trc_LibFyPO));
3105 WrtHrTrc('trc_LibFpPO: '||to_char(trc_LibFpPO));
3106
3107 END IF;
3108
3109 EXCEPTION
3110 WHEN OTHERS THEN
3111 IF xpt_Msg = 'No Error' THEN
3112 xpt_Msg := 'YtdCalc: '||TO_CHAR(SQLCODE);
3113 END IF;
3114 RAISE xpt_E;
3115 END YtdCalc;
3116 -------------------------------------------------------------------------------
3117 -- NorCalc --
3118 -- Main Tax Calculation for Periodic Income --
3119 -------------------------------------------------------------------------------
3120 PROCEDURE NorCalc AS
3121 -- Variables
3122 --
3123 l_Np BALANCE DEFAULT 0;
3124
3125 BEGIN
3126 hr_utility.set_location('py_za_tx_01032002.NorCalc',1);
3127 -- Identify the calculation
3128 --
3129 trc_CalTyp := 'NorCalc';
3130
3131 -- Update Global Balance Values with correct TAXABLE values
3132 --
3133 bal_TA_RFI_PTD := bal_TA_RFI_PTD * glb_ZA_TRV_ALL_TX_PRC / 100;
3134 bal_TA_NRFI_PTD := bal_TA_NRFI_PTD * glb_ZA_TRV_ALL_TX_PRC / 100;
3135
3136 py_za_tx_utl_01032002.TrvAll;
3137
3138 hr_utility.set_location('py_za_tx_01032002.NorCalc',2);
3139
3140 bal_PO_RFI_PTD := bal_PO_RFI_PTD * glb_ZA_PBL_TX_PRC / 100;
3141 bal_PO_NRFI_PTD := bal_PO_NRFI_PTD * glb_ZA_PBL_TX_PRC / 100;
3142 bal_PO_RFI_YTD := bal_PO_RFI_YTD * glb_ZA_PBL_TX_PRC / 100;
3143 bal_PO_NRFI_YTD := bal_PO_NRFI_YTD * glb_ZA_PBL_TX_PRC / 100;
3144
3145
3146
3147 -- PTD Taxable Income
3148 --
3149 trc_TxbIncPtd :=
3150 ( bal_AST_PRCHD_RVAL_NRFI_PTD + bal_AST_PRCHD_RVAL_RFI_PTD
3151 + bal_BP_PTD
3152 + bal_BUR_AND_SCH_NRFI_PTD + bal_BUR_AND_SCH_RFI_PTD
3153 + bal_COMM_NRFI_PTD + bal_COMM_RFI_PTD
3154 + bal_COMP_ALL_NRFI_PTD + bal_COMP_ALL_RFI_PTD
3155 + bal_ENT_ALL_NRFI_PTD + bal_ENT_ALL_RFI_PTD
3156 + bal_FREE_ACCOM_NRFI_PTD + bal_FREE_ACCOM_RFI_PTD
3157 + bal_FREE_SERV_NRFI_PTD + bal_FREE_SERV_RFI_PTD
3158 + bal_LOW_LOANS_NRFI_PTD + bal_LOW_LOANS_RFI_PTD
3159 + bal_MLS_AND_VOUCH_NRFI_PTD + bal_MLS_AND_VOUCH_RFI_PTD
3160 + bal_MED_PAID_NRFI_PTD + bal_MED_PAID_RFI_PTD
3161 + bal_OTHER_TXB_ALL_NRFI_PTD + bal_OTHER_TXB_ALL_RFI_PTD
3162 + bal_OVTM_NRFI_PTD + bal_OVTM_RFI_PTD
3163 + bal_PYM_DBT_NRFI_PTD + bal_PYM_DBT_RFI_PTD
3164 + bal_RES_TRD_NRFI_PTD + bal_RES_TRD_RFI_PTD
3165 + bal_RGT_AST_NRFI_PTD + bal_RGT_AST_RFI_PTD
3166 + bal_TXB_INC_NRFI_PTD + bal_TXB_INC_RFI_PTD
3167 + bal_TXB_PEN_NRFI_PTD + bal_TXB_PEN_RFI_PTD
3168 + bal_TEL_ALL_NRFI_PTD + bal_TEL_ALL_RFI_PTD
3169 + bal_TOOL_ALL_NRFI_PTD + bal_TOOL_ALL_RFI_PTD
3170 + bal_TA_NRFI_PTD + bal_TA_RFI_PTD
3171 + bal_USE_VEH_NRFI_PTD + bal_USE_VEH_RFI_PTD
3172 );
3173
3174 -- Period Factor
3175 py_za_tx_utl_01032002.PeriodFactor;
3176
3177 -- Possible Periods Factor
3178 py_za_tx_utl_01032002.PossiblePeriodsFactor;
3179
3180 -- Rebates
3181 py_za_tx_utl_01032002.SetRebates;
3182
3183 -- Abatements
3184 py_za_tx_utl_01032002.Abatements;
3185
3186 hr_utility.set_location('py_za_tx_01032002.NorCalc',3);
3187
3188 -- Deemed Remuneration
3189 --
3190 -- Run Deemed Remuneration
3191 trc_DmdRmnRun := bal_DIR_DMD_RMN_ITD;
3192 -- Skip the calculation if there is No Income
3193 IF trc_DmdRmnRun <> 0 THEN
3194 hr_utility.set_location('py_za_tx_01032002.NorCalc',4);
3195 -- Taxable Deemed Remuneration
3196 trc_TxbDmdRmn := trc_DmdRmnRun;
3197 -- Threshold Check
3198 IF trc_TxbDmdRmn >= trc_Threshold THEN
3199 hr_utility.set_location('py_za_tx_01032002.NorCalc',5);
3200 -- Tax Liability
3201 trc_TotLibDR := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbDmdRmn);
3202 trc_LibFyDR := trc_TotLibDR - 0;
3203 trc_TotLibDR := greatest(trc_TotLibDR,0);
3204 -- DeAnnualise
3205 trc_LibFpDR := py_za_tx_utl_01032002.DeAnnualise
3206 ( p_Liab => trc_LibFyDR
3207 , p_TxOnYtd => bal_TX_ON_DR_YTD
3208 , p_TxOnPtd => bal_TX_ON_DR_PTD
3209 );
3210 ELSE
3211 hr_utility.set_location('py_za_tx_01032002.NorCalc',6);
3212 -- Set Cascade Figures and Refund
3213 trc_TotLibDR := 0;
3214 trc_LibFpDR := -1 * bal_TX_ON_DR_YTD;
3215 trc_LibFpDROvr := TRUE;
3216 END IF;
3217 ELSE
3218 hr_utility.set_location('py_za_tx_01032002.NorCalc',7);
3219 -- Set Cascade Figures and Refund
3220 trc_TxbDmdRmn := 0;
3221 trc_TotLibDR := 0;
3222 trc_LibFpDR := -1 * bal_TX_ON_DR_YTD;
3223 trc_LibFpDROvr := TRUE;
3224 END IF;
3225
3226 -- Normal Income
3227 --
3228 -- Ytd Normal Income
3229 trc_NorIncYtd :=
3230 ( bal_COMM_NRFI_YTD + bal_COMM_RFI_YTD
3231 + bal_COMP_ALL_NRFI_YTD + bal_COMP_ALL_RFI_YTD
3232 + bal_ENT_ALL_NRFI_YTD + bal_ENT_ALL_RFI_YTD
3233 + bal_OTHER_TXB_ALL_NRFI_YTD + bal_OTHER_TXB_ALL_RFI_YTD
3234 + bal_OVTM_NRFI_YTD + bal_OVTM_RFI_YTD
3235 + bal_RES_TRD_NRFI_YTD + bal_RES_TRD_RFI_YTD
3236 + bal_TXB_INC_NRFI_YTD + bal_TXB_INC_RFI_YTD
3237 + bal_TXB_PEN_NRFI_YTD + bal_TXB_PEN_RFI_YTD
3238 + bal_TEL_ALL_NRFI_YTD + bal_TEL_ALL_RFI_YTD
3239 + bal_TOOL_ALL_NRFI_YTD + bal_TOOL_ALL_RFI_YTD
3240 );
3241
3242 -- Skip the calculation if there is No Income
3243 IF trc_NorIncYtd <> 0 THEN
3244 hr_utility.set_location('py_za_tx_01032002.NorCalc',8);
3245
3246 -- Annualise Normal Income
3247 trc_NorErn := py_za_tx_utl_01032002.Annualise
3248 (p_YtdInc => trc_NorIncYtd
3249 ,p_PtdInc => trc_NorIncPtd
3250 );
3251
3252 -- Taxable Normal Income
3253 trc_TxbNorInc := trc_NorErn - trc_PerTotAbm;
3254
3255 -- Threshold Check
3256 IF trc_TxbNorInc >= trc_Threshold THEN
3257 hr_utility.set_location('py_za_tx_01032002.NorCalc',9);
3258 -- Tax Liability
3259 trc_TotLibNI := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbNorInc);
3260 trc_LibFyNI := trc_TotLibNI - least(trc_TotLibNI,trc_TotLibDR);
3261 trc_TotLibNI := greatest(trc_TotLibNI,trc_TotLibDR);
3262 -- DeAnnualise
3263 trc_LibFpNI := py_za_tx_utl_01032002.DeAnnualise
3264 ( p_Liab => trc_LibFyNI
3265 , p_TxOnYtd => bal_TX_ON_NI_YTD
3266 , p_TxOnPtd => bal_TX_ON_NI_PTD
3267 );
3268 ELSE
3269 hr_utility.set_location('py_za_tx_01032002.NorCalc',10);
3270 -- Set Cascade Figures and Refund
3271 trc_TotLibNI := trc_TotLibDR;
3272 trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
3273 trc_LibFpNIOvr := TRUE;
3274 END IF;
3275 ELSE
3276 hr_utility.set_location('py_za_tx_01032002.NorCalc',11);
3277 -- Set Cascade Figures and Refund
3278 trc_NorErn := 0;
3279 trc_TxbNorInc := 0;
3280 trc_TotLibNI := trc_TotLibDR;
3281 trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
3282 trc_LibFpNIOvr := TRUE;
3283 END IF;
3284
3285 -- Fringe Benefits
3286 --
3287 -- Ytd Fringe Benefits
3288 trc_FrnBenYtd :=
3289 ( bal_AST_PRCHD_RVAL_NRFI_YTD + bal_AST_PRCHD_RVAL_RFI_YTD
3290 + bal_BUR_AND_SCH_NRFI_YTD + bal_BUR_AND_SCH_RFI_YTD
3291 + bal_FREE_ACCOM_NRFI_YTD + bal_FREE_ACCOM_RFI_YTD
3292 + bal_FREE_SERV_NRFI_YTD + bal_FREE_SERV_RFI_YTD
3293 + bal_LOW_LOANS_NRFI_YTD + bal_LOW_LOANS_RFI_YTD
3294 + bal_MLS_AND_VOUCH_NRFI_YTD + bal_MLS_AND_VOUCH_RFI_YTD
3295 + bal_MED_PAID_NRFI_YTD + bal_MED_PAID_RFI_YTD
3296 + bal_PYM_DBT_NRFI_YTD + bal_PYM_DBT_RFI_YTD
3297 + bal_RGT_AST_NRFI_YTD + bal_RGT_AST_RFI_YTD
3298 + bal_USE_VEH_NRFI_YTD + bal_USE_VEH_RFI_YTD
3299 );
3300
3301 -- Skip the calculation if there is No Income
3302 IF trc_FrnBenYtd <> 0 THEN
3303 hr_utility.set_location('py_za_tx_01032002.NorCalc',12);
3304
3305 -- Annualise Fringe Benefits
3306 trc_FrnBenErn := py_za_tx_utl_01032002.Annualise
3307 ( p_YtdInc => trc_FrnBenYtd
3308 , p_PtdInc => trc_FrnBenPtd
3309 ) + trc_NorErn;
3310 -- Taxable Fringe Income
3311 trc_TxbFrnInc := trc_FrnBenErn - trc_PerTotAbm;
3312 -- Threshold Check
3313 IF trc_TxbFrnInc >= trc_Threshold THEN
3314 hr_utility.set_location('py_za_tx_01032002.NorCalc',13);
3315 -- Tax Liability
3316 trc_TotLibFB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbFrnInc);
3317 trc_LibFyFB := trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI);
3318 trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
3319 -- DeAnnualise
3320 trc_LibFpFB := py_za_tx_utl_01032002.DeAnnualise
3321 ( trc_LibFyFB
3322 , bal_TX_ON_FB_YTD
3323 , bal_TX_ON_FB_PTD
3324 );
3325 ELSE
3326 hr_utility.set_location('py_za_tx_01032002.NorCalc',14);
3327 -- Set Cascade Figures and Refund
3328 trc_TotLibFB := trc_TotLibNI;
3329 trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
3330 trc_LibFpFBOvr := TRUE;
3331 END IF;
3332 ELSE
3333 hr_utility.set_location('py_za_tx_01032002.NorCalc',15);
3334 -- Set Cascade Figures and Refund
3335 trc_FrnBenErn := trc_NorErn;
3336 trc_TxbFrnInc := trc_TxbNorInc;
3337 trc_TotLibFB := trc_TotLibNI;
3338 trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
3339 trc_LibFpFBOvr := TRUE;
3340 END IF;
3341
3342 -- Travel Allowance
3343 --
3344 -- Ytd Travel Allowance
3345 trc_TrvAllYtd := bal_TA_NRFI_YTD + bal_TA_RFI_YTD;
3346 -- Skip the calculation if there is No Income
3347 IF trc_TrvAllYtd <> 0 THEN
3348 hr_utility.set_location('py_za_tx_01032002.NorCalc',16);
3349 -- Ptd Travel Allowance
3350 trc_TrvAllPtd := bal_TA_NRFI_PTD + bal_TA_RFI_PTD;
3351 -- Annualise Travel Allowance
3352 trc_TrvAllErn := py_za_tx_utl_01032002.Annualise
3353 ( p_YtdInc => trc_TrvAllYtd
3354 , p_PtdInc => trc_TrvAllPtd
3355 ) + trc_FrnBenErn;
3356 -- Taxable Travel Income
3357 trc_TxbTrvInc := trc_TrvAllErn - trc_PerTotAbm;
3358 -- Threshold Check
3359 IF trc_TxbTrvInc >= trc_Threshold THEN
3360 hr_utility.set_location('py_za_tx_01032002.NorCalc',17);
3361 -- Tax Liability
3362 trc_TotLibTA := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbTrvInc);
3363 trc_LibFyTA := trc_TotLibTA - least(trc_TotLibTA,trc_TotLibFB);
3364 trc_TotLibTA := greatest(trc_TotLibTA,trc_TotLibFB);
3365 -- DeAnnualise
3366 trc_LibFpTA := py_za_tx_utl_01032002.DeAnnualise
3367 ( trc_LibFyTA
3368 , bal_TX_ON_TA_YTD
3369 , bal_TX_ON_TA_PTD
3370 );
3371 ELSE
3372 hr_utility.set_location('py_za_tx_01032002.NorCalc',18);
3373 -- Set Cascade Figures and Refund
3374 trc_TotLibTA := trc_TotLibFB;
3375 trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
3376 trc_LibFpTAOvr := TRUE;
3377 END IF;
3378 ELSE
3379 hr_utility.set_location('py_za_tx_01032002.NorCalc',19);
3380 -- Set Cascade Figures and Refund
3381 trc_TrvAllErn := trc_FrnBenErn;
3382 trc_TxbTrvInc := trc_TxbFrnInc;
3383 trc_TotLibTA := trc_TotLibFB;
3384 trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
3385 trc_LibFpTAOvr := TRUE;
3386 END IF;
3387
3388 -- Bonus Provision
3389 --
3390 -- Ytd Bonus Prvision
3391 trc_BonProYtd := bal_BP_YTD;
3392 -- Skip the calculation if there is No Income
3393 IF trc_BonProYtd <> 0 THEN
3394 hr_utility.set_location('py_za_tx_01032002.NorCalc',20);
3395 -- Annualise Bonus Provision
3396 trc_BonProErn := py_za_tx_utl_01032002.Annualise
3397 ( p_YtdInc => trc_BonProYtd
3398 , p_PtdInc => trc_BonProPtd
3399 ) + trc_TrvAllErn;
3400 -- Taxable Bonus Provision Income
3401 trc_TxbBonProInc := trc_BonProErn - trc_PerTotAbm;
3402 -- Threshold Check
3403 IF trc_TxbBonProInc >= trc_Threshold THEN
3404 hr_utility.set_location('py_za_tx_01032002.NorCalc',21);
3405 -- Tax Liability
3406 trc_TotLibBP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbBonProInc);
3407 trc_LibFyBP := trc_TotLibBP - least(trc_TotLibBP,trc_TotLibTA);
3408 trc_TotLibBP := greatest(trc_TotLibBP,trc_TotLibTA);
3409 -- DeAnnualise
3410 trc_LibFpBP := py_za_tx_utl_01032002.DeAnnualise
3411 ( trc_LibFyBP
3412 , bal_TX_ON_BP_YTD
3413 , bal_TX_ON_BP_PTD
3414 );
3415 ELSE
3416 hr_utility.set_location('py_za_tx_01032002.NorCalc',22);
3417 -- Set Cascade Figures and Refund
3418 trc_TotLibBP := trc_TotLibTA;
3419 trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
3420 trc_LibFpBPOvr := TRUE;
3421 END IF;
3422 ELSE
3423 hr_utility.set_location('py_za_tx_01032002.NorCalc',23);
3424 -- Set Cascade Figures and Refund
3425 trc_BonProErn := trc_TrvAllErn;
3426 trc_TxbBonProInc := trc_TxbTrvInc;
3427 trc_TotLibBP := trc_TotLibTA;
3428 trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
3429 trc_LibFpBPOvr := TRUE;
3430 END IF;
3431
3432 -- Annual Bonus
3433 --
3434 -- Ytd Annual Bonus
3435 trc_AnnBonYtd := bal_AB_NRFI_YTD + bal_AB_RFI_YTD;
3436 -- Skip the calculation if there is No Income
3437 IF trc_AnnBonYtd <> 0 THEN
3438 hr_utility.set_location('py_za_tx_01032002.NorCalc',24);
3439 -- Annual Bonus Earnings
3440 trc_AnnBonErn := trc_AnnBonYtd + trc_TrvAllErn;
3441 -- Taxable Annual Bonus Income
3442 trc_TxbAnnBonInc := trc_AnnBonErn - trc_AnnTotAbm;
3443 -- Threshold Check
3444 IF trc_TxbAnnBonInc >= trc_Threshold THEN
3445 hr_utility.set_location('py_za_tx_01032002.NorCalc',25);
3446 -- Tax Liability
3447 trc_TotLibAB := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnBonInc);
3448 trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
3449 trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
3450 -- Check Bonus Provision
3451 IF trc_BonProYtd <> 0 THEN
3452 hr_utility.set_location('py_za_tx_01032002.NorCalc',26);
3453 -- Check Bonus Provision Frequency
3454 IF dbi_BP_TX_RCV = 'A' THEN
3455 hr_utility.set_location('py_za_tx_01032002.NorCalc',27);
3456 trc_LibFpAB := 0;
3457 ELSE
3458 hr_utility.set_location('py_za_tx_01032002.NorCalc',28);
3459 trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD
3460 + trc_LibFpBP
3461 + bal_TX_ON_AB_YTD);
3462 END IF;
3463 ELSE
3464 hr_utility.set_location('py_za_tx_01032002.NorCalc',29);
3465 trc_LibFpAB := trc_LibFyAB - bal_TX_ON_AB_YTD;
3466 END IF;
3467 ELSE
3468 hr_utility.set_location('py_za_tx_01032002.NorCalc',30);
3469 -- Set Cascade Figures and Refund
3470 trc_TotLibAB := trc_TotLibTA;
3471 trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
3472 trc_LibFpABOvr := TRUE;
3473 END IF;
3474 ELSE
3475 hr_utility.set_location('py_za_tx_01032002.NorCalc',31);
3476 -- Set Cascade Figures and Refund
3477 trc_AnnBonErn := trc_BonProErn;
3478 trc_TxbAnnBonInc := trc_TxbBonProInc;
3479 trc_TotLibAB := trc_TotLibBP;
3480 trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
3481 trc_LibFpABOvr := TRUE;
3482 END IF;
3483
3484 -- Annual Payments
3485 --
3486 -- Ytd Annual Payments
3487 trc_AnnPymYtd :=
3488 ( bal_AA_PRCHD_RVAL_NRFI_YTD + bal_AA_PRCHD_RVAL_RFI_YTD
3489 + bal_ANN_BUR_AND_SCH_NRFI_YTD + bal_ANN_BUR_AND_SCH_RFI_YTD
3490 + bal_AC_NRFI_YTD + bal_AC_RFI_YTD
3491 + bal_ANU_FRM_RET_FND_NRFI_YTD + bal_ANU_FRM_RET_FND_RFI_YTD
3492 + bal_ARES_TRD_NRFI_YTD + bal_ARES_TRD_RFI_YTD
3493 + bal_PRCH_ANU_TXB_NRFI_YTD + bal_PRCH_ANU_TXB_RFI_YTD
3494 + bal_TXB_AP_NRFI_YTD + bal_TXB_AP_RFI_YTD
3495 );
3496 -- Skip the calculation if there is No Income
3497 IF trc_AnnPymYtd <> 0 THEN
3498 hr_utility.set_location('py_za_tx_01032002.NorCalc',32);
3499 -- Annual Payments Earnings
3500 trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
3501 -- Taxable Annual Payments Income
3502 trc_TxbAnnPymInc := trc_AnnPymErn - trc_AnnTotAbm;
3503 -- Threshold Check
3504 IF trc_TxbAnnPymInc >= trc_Threshold THEN
3505 hr_utility.set_location('py_za_tx_01032002.NorCalc',33);
3506 -- Tax Liability
3507 trc_TotLibAP := py_za_tx_utl_01032002.TaxLiability(p_Amt => trc_TxbAnnPymInc);
3508 trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
3509 trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
3510 hr_utility.set_location('py_za_tx_01032002.NorCalc',34);
3511 trc_LibFpAP := trc_LibFyAP - bal_TX_ON_AP_YTD;
3512 ELSE
3513 hr_utility.set_location('py_za_tx_01032002.NorCalc',35);
3514 -- Set Cascade Figures and Refund
3515 trc_TotLibAP := trc_TotLibAB;
3516 trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
3517 trc_LibFpAPOvr := TRUE;
3518 END IF;
3519 ELSE
3520 hr_utility.set_location('py_za_tx_01032002.NorCalc',36);
3521 -- Set Cascade Figures and Refund
3522 trc_AnnPymErn := trc_AnnBonErn;
3523 trc_TxbAnnPymInc := trc_TxbAnnBonInc;
3524 trc_TotLibAP := trc_TotLibAB;
3525 trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
3526 trc_LibFpAPOvr := TRUE;
3527 END IF;
3528
3529 -- Public Office Allowance
3530 --
3531 -- Ytd Public Office Allowance
3532 trc_PblOffYtd := bal_PO_NRFI_YTD + bal_PO_RFI_YTD;
3533 -- Skip the calculation if there is No Income
3534 IF trc_PblOffYtd <> 0 THEN
3535 hr_utility.set_location('py_za_tx_01032002.NorCalc',37);
3536 -- Ptd Public Office Allowance
3537 trc_PblOffPtd :=bal_PO_NRFI_PTD + bal_PO_RFI_PTD;
3538 -- Annualise Public Office Allowance
3539 trc_PblOffErn := py_za_tx_utl_01032002.Annualise
3540 ( p_YtdInc => trc_PblOffYtd
3541 , p_PtdInc => trc_PblOffPtd
3542 );
3543 -- Tax Liability
3544 trc_LibFyPO := trc_PblOffErn * glb_ZA_PBL_TX_RTE / 100;
3545 trc_LibFpPO := py_za_tx_utl_01032002.DeAnnualise
3546 ( trc_LibFyPO
3547 , bal_TX_ON_PO_YTD
3548 , bal_TX_ON_PO_PTD
3549 );
3550 ELSE
3551 hr_utility.set_location('py_za_tx_01032002.NorCalc',38);
3552 -- Set Cascade Figures and Refund
3553 trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
3554 trc_LibFpPOOvr := TRUE;
3555 END IF;
3556
3557 -- Net Pay Validation
3558 --
3559 py_za_tx_utl_01032002.ValidateTaxOns;
3560
3561 hr_utility.set_location('py_za_tx_01032002.NorCalc',39);
3562
3563 -- Deemed Remuneration
3564 WrtHrTrc('trc_TxbDmdRmn: '||to_char(trc_TxbDmdRmn));
3565 WrtHrTrc('trc_TotLibDR: '||to_char(trc_TotLibDR ));
3566 WrtHrTrc('trc_LibFyDR: '||to_char(trc_LibFyDR ));
3567 WrtHrTrc('trc_LibFpDR: '||to_char(trc_LibFpDR ));
3568 -- Base Income
3569 WrtHrTrc('trc_BseErn: '||to_char(trc_BseErn ));
3570 WrtHrTrc('trc_TxbBseInc: '||to_char(trc_TxbBseInc));
3571 WrtHrTrc('trc_TotLibBse: '||to_char(trc_TotLibBse));
3572 -- Normal Income
3573 WrtHrTrc('trc_NorIncYtd: '||to_char(trc_NorIncYtd));
3574 WrtHrTrc('trc_NorIncPtd: '||to_char(trc_NorIncPtd));
3575 WrtHrTrc('trc_NorErn: '||to_char(trc_NorErn ));
3576 WrtHrTrc('trc_TxbNorInc: '||to_char(trc_TxbNorInc));
3577 WrtHrTrc('trc_TotLibNI: '||to_char(trc_TotLibNI ));
3578 WrtHrTrc('trc_LibFyNI: '||to_char(trc_LibFyNI ));
3579 WrtHrTrc('trc_LibFpNI: '||to_char(trc_LibFpNI ));
3580 -- Fringe Benefits
3581 WrtHrTrc('trc_FrnBenYtd: '||to_char(trc_FrnBenYtd));
3582 WrtHrTrc('trc_FrnBenPtd: '||to_char(trc_FrnBenPtd));
3583 WrtHrTrc('trc_FrnBenErn: '||to_char(trc_FrnBenErn));
3584 WrtHrTrc('trc_TxbFrnInc: '||to_char(trc_TxbFrnInc));
3585 WrtHrTrc('trc_TotLibFB: '||to_char(trc_TotLibFB ));
3586 WrtHrTrc('trc_LibFyFB: '||to_char(trc_LibFyFB ));
3587 WrtHrTrc('trc_LibFpFB: '||to_char(trc_LibFpFB ));
3588 -- Travel Allowance
3589 WrtHrTrc('trc_TrvAllYtd: '||to_char(trc_TrvAllYtd));
3590 WrtHrTrc('trc_TrvAllPtd: '||to_char(trc_TrvAllPtd));
3591 WrtHrTrc('trc_TrvAllErn: '||to_char(trc_TrvAllErn));
3592 WrtHrTrc('trc_TxbTrvInc: '||to_char(trc_TxbTrvInc));
3593 WrtHrTrc('trc_TotLibTA: '||to_char(trc_TotLibTA ));
3594 WrtHrTrc('trc_LibFyTA: '||to_char(trc_LibFyTA ));
3595 WrtHrTrc('trc_LibFpTA: '||to_char(trc_LibFpTA ));
3596 -- Bonus Provision
3597 WrtHrTrc('trc_BonProYtd: '||to_char(trc_BonProYtd));
3598 WrtHrTrc('trc_BonProPtd: '||to_char(trc_BonProPtd));
3599 WrtHrTrc('trc_BonProErn: '||to_char(trc_BonProErn));
3600 WrtHrTrc('trc_TxbBonProInc: '||to_char(trc_TxbBonProInc));
3601 WrtHrTrc('trc_TotLibBP: '||to_char(trc_TotLibBP ));
3602 WrtHrTrc('trc_LibFyBP: '||to_char(trc_LibFyBP ));
3603 WrtHrTrc('trc_LibFpBP: '||to_char(trc_LibFpBP ));
3604 -- Annual Bonus
3605 WrtHrTrc('trc_AnnBonYtd: '||to_char(trc_AnnBonYtd));
3606 WrtHrTrc('trc_AnnBonPtd: '||to_char(trc_AnnBonPtd));
3607 WrtHrTrc('trc_AnnBonErn: '||to_char(trc_AnnBonErn));
3608 WrtHrTrc('trc_TxbAnnBonInc: '||to_char(trc_TxbAnnBonInc));
3609 WrtHrTrc('trc_TotLibAB: '||to_char(trc_TotLibAB ));
3610 WrtHrTrc('trc_LibFyAB: '||to_char(trc_LibFyAB ));
3611 WrtHrTrc('trc_LibFpAB: '||to_char(trc_LibFpAB ));
3612 -- Annual Payments
3613 WrtHrTrc('trc_AnnPymYtd: '||to_char(trc_AnnPymYtd));
3614 WrtHrTrc('trc_AnnPymPtd: '||to_char(trc_AnnPymPtd));
3615 WrtHrTrc('trc_AnnPymErn: '||to_char(trc_AnnPymErn));
3616 WrtHrTrc('trc_TxbAnnPymInc: '||to_char(trc_TxbAnnPymInc));
3617 WrtHrTrc('trc_TotLibAP: '||to_char(trc_TotLibAP ));
3618 WrtHrTrc('trc_LibFyAP: '||to_char(trc_LibFyAP ));
3619 WrtHrTrc('trc_LibFpAP: '||to_char(trc_LibFpAP ));
3620 -- Pubilc Office Allowance
3621 WrtHrTrc('trc_PblOffYtd: '||to_char(trc_PblOffYtd));
3622 WrtHrTrc('trc_PblOffPtd: '||to_char(trc_PblOffPtd));
3623 WrtHrTrc('trc_PblOffErn: '||to_char(trc_PblOffErn));
3624 WrtHrTrc('trc_LibFyPO: '||to_char(trc_LibFyPO ));
3625 WrtHrTrc('trc_LibFpPO: '||to_char(trc_LibFpPO ));
3626
3627 EXCEPTION
3628 WHEN OTHERS THEN
3629 IF xpt_Msg = 'No Error' THEN
3630 xpt_Msg := 'NorCalc: '||TO_CHAR(SQLCODE);
3631 END IF;
3632 RAISE xpt_E;
3633 END NorCalc;
3634 -------------------------------------------------------------------------------
3635 -- ZaTxGlb_01032002 --
3636 -- Tax module supporting function --
3637 -------------------------------------------------------------------------------
3638 FUNCTION ZaTxGlb_01032002(
3639 -- Global Values
3640 p_ZA_ADL_TX_RBT IN NUMBER DEFAULT 0
3641 ,p_ZA_ARR_PF_AN_MX_ABT IN NUMBER DEFAULT 0
3642 ,p_ZA_ARR_RA_AN_MX_ABT IN NUMBER DEFAULT 0
3643 ,p_ZA_TRV_ALL_TX_PRC IN NUMBER DEFAULT 0
3644 ,p_ZA_CC_TX_PRC IN NUMBER DEFAULT 0
3645 ,p_ZA_LABOUR_BROK_PERC IN NUMBER DEFAULT 0
3646 ,p_ZA_PF_AN_MX_ABT IN NUMBER DEFAULT 0
3647 ,p_ZA_PF_MX_PRC IN NUMBER DEFAULT 0
3648 ,p_ZA_PER_SERV_COMP_PERC IN NUMBER DEFAULT 0
3649 ,p_ZA_PER_SERV_TRST_PERC IN NUMBER DEFAULT 0
3650 ,p_ZA_PRI_TX_RBT IN NUMBER DEFAULT 0
3651 ,p_ZA_PRI_TX_THRSHLD IN NUMBER DEFAULT 0
3652 ,p_ZA_PBL_TX_PRC IN NUMBER DEFAULT 0
3653 ,p_ZA_PBL_TX_RTE IN NUMBER DEFAULT 0
3654 ,p_ZA_RA_AN_MX_ABT IN NUMBER DEFAULT 0
3655 ,p_ZA_RA_MX_PRC IN NUMBER DEFAULT 0
3656 ,p_ZA_SC_TX_THRSHLD IN NUMBER DEFAULT 0
3657 ,p_ZA_SIT_LIM IN NUMBER DEFAULT 0
3658 ,p_ZA_TMP_TX_RTE IN NUMBER DEFAULT 0
3659 ,p_ZA_WRK_DYS_PR_YR IN NUMBER DEFAULT 0
3660 ) RETURN NUMBER
3661 AS
3662 l_Dum NUMBER := 1;
3663 --id VARCHAR2(30);
3664
3665 BEGIN
3666 --id := dbms_debug.initialize('JLTX');
3667 --dbms_debug.debug_on;
3668
3669 -- Initialise Package Globals
3670 -- Global Values
3671 glb_ZA_ADL_TX_RBT := p_ZA_ADL_TX_RBT;
3672 glb_ZA_ARR_PF_AN_MX_ABT := p_ZA_ARR_PF_AN_MX_ABT;
3673 glb_ZA_ARR_RA_AN_MX_ABT := p_ZA_ARR_RA_AN_MX_ABT;
3674 glb_ZA_TRV_ALL_TX_PRC := p_ZA_TRV_ALL_TX_PRC;
3675 glb_ZA_CC_TX_PRC := p_ZA_CC_TX_PRC;
3676 glb_ZA_LABOUR_BROK_PERC := p_ZA_LABOUR_BROK_PERC;
3677 glb_ZA_PF_AN_MX_ABT := p_ZA_PF_AN_MX_ABT;
3678 glb_ZA_PF_MX_PRC := p_ZA_PF_MX_PRC;
3679 glb_ZA_PER_SERV_COMP_PERC := p_ZA_PER_SERV_COMP_PERC;
3680 glb_ZA_PER_SERV_TRST_PERC := p_ZA_PER_SERV_TRST_PERC;
3681 glb_ZA_PRI_TX_RBT := p_ZA_PRI_TX_RBT;
3682 glb_ZA_PRI_TX_THRSHLD := p_ZA_PRI_TX_THRSHLD;
3683 glb_ZA_PBL_TX_PRC := p_ZA_PBL_TX_PRC;
3684 glb_ZA_PBL_TX_RTE := p_ZA_PBL_TX_RTE;
3685 glb_ZA_RA_AN_MX_ABT := p_ZA_RA_AN_MX_ABT;
3686 glb_ZA_RA_MX_PRC := p_ZA_RA_MX_PRC;
3687 glb_ZA_SC_TX_THRSHLD := p_ZA_SC_TX_THRSHLD;
3688 glb_ZA_SIT_LIM := p_ZA_SIT_LIM;
3689 glb_ZA_TMP_TX_RTE := p_ZA_TMP_TX_RTE;
3690 glb_ZA_WRK_DYS_PR_YR := p_ZA_WRK_DYS_PR_YR;
3691
3692 RETURN l_Dum;
3693 EXCEPTION
3694 WHEN OTHERS THEN
3695 hr_utility.set_message(801, 'ZaTxGlb_01032002: '||TO_CHAR(SQLCODE));
3696 hr_utility.raise_error;
3697 END ZaTxGlb_01032002;
3698 -------------------------------------------------------------------------------
3699 -- ZaTxDbi_01032002 --
3700 -- Tax module supporting function --
3701 -------------------------------------------------------------------------------
3702 FUNCTION ZaTxDbi_01032002(
3703 -- Database Items
3704 p_BP_TX_RCV IN VARCHAR2 DEFAULT 'B'
3705 ,p_PAY_PROC_PRD_DTE_PD IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3706 ,p_PER_AGE IN NUMBER DEFAULT 0
3707 ,p_PER_DTE_OF_BRTH IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3708 ,p_SEA_WRK_DYS_WRK IN NUMBER DEFAULT 0
3709 ,p_SES_DTE IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3710 ,p_TX_DIR_NUM IN VARCHAR2 DEFAULT 'NULL'
3711 ,p_TX_DIR_VAL IN NUMBER DEFAULT 0
3712 ,p_TX_STA IN VARCHAR2 DEFAULT 'X'
3713 ,p_ZA_ACT_END_DTE IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3714 ,p_ZA_ACT_STRT_DTE IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3715 ,p_ZA_ASG_TX_RTR_PRD IN VARCHAR2 DEFAULT 'N'
3716 ,p_ZA_ASG_TX_YR IN NUMBER DEFAULT 4712
3717 ,p_ZA_ASG_TX_YR_END IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3718 ,p_ZA_ASG_TX_YR_STRT IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3719 ,p_ZA_CUR_PRD_END_DTE IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3720 ,p_ZA_CUR_PRD_STRT_DTE IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3721 ,p_ZA_DYS_IN_YR IN NUMBER DEFAULT 0
3722 ,p_ZA_PAY_PRDS_LFT IN NUMBER DEFAULT 0
3723 ,p_ZA_PAY_PRDS_PER_YR IN NUMBER DEFAULT 0
3724 ,p_ZA_TX_YR_END IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3725 ,p_ZA_TX_YR_STRT IN DATE DEFAULT to_date('31-12-4712','DD-MM-YYYY')
3726 ) RETURN NUMBER
3727 AS
3728 l_Dum NUMBER := 1;
3729
3730 BEGIN
3731 -- Initialise Package Globals
3732 -- Database Items
3733 dbi_BP_TX_RCV := p_BP_TX_RCV;
3734 dbi_PAY_PROC_PRD_DTE_PD := p_PAY_PROC_PRD_DTE_PD;
3735 dbi_PER_AGE := p_PER_AGE;
3736 dbi_PER_DTE_OF_BRTH := p_PER_DTE_OF_BRTH;
3737 dbi_SEA_WRK_DYS_WRK := p_SEA_WRK_DYS_WRK;
3738 dbi_SES_DTE := p_SES_DTE;
3739 dbi_TX_DIR_NUM := p_TX_DIR_NUM;
3740 dbi_TX_DIR_VAL := p_TX_DIR_VAL;
3741 dbi_TX_STA := p_TX_STA;
3742 dbi_ZA_ACT_END_DTE := p_ZA_ACT_END_DTE;
3743 dbi_ZA_ACT_STRT_DTE := p_ZA_ACT_STRT_DTE;
3744 dbi_ZA_ASG_TX_RTR_PRD := p_ZA_ASG_TX_RTR_PRD;
3745 dbi_ZA_ASG_TX_YR := p_ZA_ASG_TX_YR;
3746 dbi_ZA_ASG_TX_YR_END := p_ZA_ASG_TX_YR_END;
3747 dbi_ZA_ASG_TX_YR_STRT := p_ZA_ASG_TX_YR_STRT;
3748 dbi_ZA_CUR_PRD_END_DTE := p_ZA_CUR_PRD_END_DTE;
3749 dbi_ZA_CUR_PRD_STRT_DTE := p_ZA_CUR_PRD_STRT_DTE;
3750 dbi_ZA_DYS_IN_YR := p_ZA_DYS_IN_YR;
3751 dbi_ZA_PAY_PRDS_LFT := p_ZA_PAY_PRDS_LFT;
3752 dbi_ZA_PAY_PRDS_PER_YR := p_ZA_PAY_PRDS_PER_YR;
3753 dbi_ZA_TX_YR_END := p_ZA_TX_YR_END;
3754 dbi_ZA_TX_YR_STRT := p_ZA_TX_YR_STRT;
3755
3756 RETURN l_Dum;
3757 EXCEPTION
3758 WHEN OTHERS THEN
3759 hr_utility.set_message(801, 'ZaTxDbi_01032002: '||TO_CHAR(SQLCODE));
3760 hr_utility.raise_error;
3761 END ZaTxDbi_01032002;
3762 -------------------------------------------------------------------------------
3763 -- ZaTxBal1_01032002 --
3764 -- Tax module supporting function --
3765 -------------------------------------------------------------------------------
3766 FUNCTION ZaTxBal1_01032002(
3767 -- Balances
3768 p_ANN_ARR_PF_CMTD IN NUMBER DEFAULT 0
3769 , p_ANN_ARR_PF_CYTD IN NUMBER DEFAULT 0
3770 , p_ANN_ARR_PF_RUN IN NUMBER DEFAULT 0
3771 , p_ANN_ARR_PF_PTD IN NUMBER DEFAULT 0
3772 , p_ANN_ARR_PF_YTD IN NUMBER DEFAULT 0
3773 , p_ANN_ARR_RA_CMTD IN NUMBER DEFAULT 0
3774 , p_ANN_ARR_RA_CYTD IN NUMBER DEFAULT 0
3775 , p_ANN_ARR_RA_RUN IN NUMBER DEFAULT 0
3776 , p_ANN_ARR_RA_PTD IN NUMBER DEFAULT 0
3777 , p_ANN_ARR_RA_YTD IN NUMBER DEFAULT 0
3778 , p_AA_PRCHD_RVAL_NRFI_CMTD IN NUMBER DEFAULT 0
3779 , p_AA_PRCHD_RVAL_NRFI_RUN IN NUMBER DEFAULT 0
3780 , p_AA_PRCHD_RVAL_NRFI_PTD IN NUMBER DEFAULT 0
3781 , p_AA_PRCHD_RVAL_NRFI_YTD IN NUMBER DEFAULT 0
3782 , p_AA_PRCHD_RVAL_RFI_CMTD IN NUMBER DEFAULT 0
3783 , p_AA_PRCHD_RVAL_RFI_RUN IN NUMBER DEFAULT 0
3784 , p_AA_PRCHD_RVAL_RFI_PTD IN NUMBER DEFAULT 0
3785 , p_AA_PRCHD_RVAL_RFI_YTD IN NUMBER DEFAULT 0
3786 , p_AB_NRFI_CMTD IN NUMBER DEFAULT 0
3787 , p_AB_NRFI_RUN IN NUMBER DEFAULT 0
3788 , p_AB_NRFI_PTD IN NUMBER DEFAULT 0
3789 , p_AB_NRFI_YTD IN NUMBER DEFAULT 0
3790 , p_AB_RFI_CMTD IN NUMBER DEFAULT 0
3791 , p_AB_RFI_RUN IN NUMBER DEFAULT 0
3792 , p_AB_RFI_PTD IN NUMBER DEFAULT 0
3793 , p_AB_RFI_YTD IN NUMBER DEFAULT 0
3794 , p_ANN_BUR_AND_SCH_NRFI_CMTD IN NUMBER DEFAULT 0
3795 , p_ANN_BUR_AND_SCH_NRFI_RUN IN NUMBER DEFAULT 0
3796 , p_ANN_BUR_AND_SCH_NRFI_PTD IN NUMBER DEFAULT 0
3797 , p_ANN_BUR_AND_SCH_NRFI_YTD IN NUMBER DEFAULT 0
3798 , p_ANN_BUR_AND_SCH_RFI_CMTD IN NUMBER DEFAULT 0
3799 , p_ANN_BUR_AND_SCH_RFI_RUN IN NUMBER DEFAULT 0
3800 , p_ANN_BUR_AND_SCH_RFI_PTD IN NUMBER DEFAULT 0
3801 , p_ANN_BUR_AND_SCH_RFI_YTD IN NUMBER DEFAULT 0
3802 , p_AC_NRFI_CMTD IN NUMBER DEFAULT 0
3803 , p_AC_NRFI_RUN IN NUMBER DEFAULT 0
3804 , p_AC_NRFI_PTD IN NUMBER DEFAULT 0
3805 , p_AC_NRFI_YTD IN NUMBER DEFAULT 0
3806 , p_AC_RFI_CMTD IN NUMBER DEFAULT 0
3807 , p_AC_RFI_RUN IN NUMBER DEFAULT 0
3808 , p_AC_RFI_PTD IN NUMBER DEFAULT 0
3809 , p_AC_RFI_YTD IN NUMBER DEFAULT 0
3810 , p_ANN_PF_CMTD IN NUMBER DEFAULT 0
3811 , p_ANN_PF_CYTD IN NUMBER DEFAULT 0
3812 , p_ANN_PF_RUN IN NUMBER DEFAULT 0
3813 , p_ANN_PF_PTD IN NUMBER DEFAULT 0
3814 , p_ANN_PF_YTD IN NUMBER DEFAULT 0
3815 , p_ARES_TRD_NRFI_CMTD IN NUMBER DEFAULT 0
3816 , p_ARES_TRD_NRFI_RUN IN NUMBER DEFAULT 0
3817 , p_ARES_TRD_NRFI_PTD IN NUMBER DEFAULT 0
3818 , p_ARES_TRD_NRFI_YTD IN NUMBER DEFAULT 0
3819 , p_ARES_TRD_RFI_CMTD IN NUMBER DEFAULT 0
3820 , p_ARES_TRD_RFI_RUN IN NUMBER DEFAULT 0
3821 , p_ARES_TRD_RFI_PTD IN NUMBER DEFAULT 0
3822 , p_ARES_TRD_RFI_YTD IN NUMBER DEFAULT 0
3823 , p_ANN_RA_CMTD IN NUMBER DEFAULT 0
3824 , p_ANN_RA_CYTD IN NUMBER DEFAULT 0
3825 , p_ANN_RA_RUN IN NUMBER DEFAULT 0
3826 , p_ANN_RA_PTD IN NUMBER DEFAULT 0
3827 , p_ANN_RA_YTD IN NUMBER DEFAULT 0
3828 , p_ANU_FRM_RET_FND_NRFI_CMTD IN NUMBER DEFAULT 0
3829 , p_ANU_FRM_RET_FND_NRFI_RUN IN NUMBER DEFAULT 0
3830 , p_ANU_FRM_RET_FND_NRFI_PTD IN NUMBER DEFAULT 0
3831 , p_ANU_FRM_RET_FND_NRFI_YTD IN NUMBER DEFAULT 0
3832 , p_ANU_FRM_RET_FND_RFI_CMTD IN NUMBER DEFAULT 0
3833 , p_ANU_FRM_RET_FND_RFI_RUN IN NUMBER DEFAULT 0
3834 , p_ANU_FRM_RET_FND_RFI_PTD IN NUMBER DEFAULT 0
3835 , p_ANU_FRM_RET_FND_RFI_YTD IN NUMBER DEFAULT 0
3836 , p_ARR_PF_CMTD IN NUMBER DEFAULT 0
3837 , p_ARR_PF_CYTD IN NUMBER DEFAULT 0
3838 , p_ARR_PF_PTD IN NUMBER DEFAULT 0
3839 , p_ARR_PF_YTD IN NUMBER DEFAULT 0
3840 , p_ARR_RA_CMTD IN NUMBER DEFAULT 0
3841 , p_ARR_RA_CYTD IN NUMBER DEFAULT 0
3842 , p_ARR_RA_PTD IN NUMBER DEFAULT 0
3843 , p_ARR_RA_YTD IN NUMBER DEFAULT 0
3844 , p_AST_PRCHD_RVAL_NRFI_CMTD IN NUMBER DEFAULT 0
3845 , p_AST_PRCHD_RVAL_NRFI_CYTD IN NUMBER DEFAULT 0
3846 , p_AST_PRCHD_RVAL_NRFI_RUN IN NUMBER DEFAULT 0
3847 , p_AST_PRCHD_RVAL_NRFI_PTD IN NUMBER DEFAULT 0
3848 , p_AST_PRCHD_RVAL_NRFI_YTD IN NUMBER DEFAULT 0
3849 , p_AST_PRCHD_RVAL_RFI_CMTD IN NUMBER DEFAULT 0
3850 , p_AST_PRCHD_RVAL_RFI_CYTD IN NUMBER DEFAULT 0
3851 , p_AST_PRCHD_RVAL_RFI_RUN IN NUMBER DEFAULT 0
3852 , p_AST_PRCHD_RVAL_RFI_PTD IN NUMBER DEFAULT 0
3853 , p_AST_PRCHD_RVAL_RFI_YTD IN NUMBER DEFAULT 0
3854 ) RETURN NUMBER
3855 AS
3856 l_Dum NUMBER := 1;
3857
3858 BEGIN
3859 -- Balances
3860 bal_ANN_ARR_PF_CMTD := p_ANN_ARR_PF_CMTD;
3861 bal_ANN_ARR_PF_CYTD := p_ANN_ARR_PF_CYTD;
3862 bal_ANN_ARR_PF_RUN := p_ANN_ARR_PF_RUN;
3863 bal_ANN_ARR_PF_PTD := p_ANN_ARR_PF_PTD;
3864 bal_ANN_ARR_PF_YTD := p_ANN_ARR_PF_YTD;
3865 bal_ANN_ARR_RA_CMTD := p_ANN_ARR_RA_CMTD;
3866 bal_ANN_ARR_RA_CYTD := p_ANN_ARR_RA_CYTD;
3867 bal_ANN_ARR_RA_RUN := p_ANN_ARR_RA_RUN;
3868 bal_ANN_ARR_RA_PTD := p_ANN_ARR_RA_PTD;
3869 bal_ANN_ARR_RA_YTD := p_ANN_ARR_RA_YTD;
3870 bal_AA_PRCHD_RVAL_NRFI_CMTD := p_AA_PRCHD_RVAL_NRFI_CMTD;
3871 bal_AA_PRCHD_RVAL_NRFI_RUN := p_AA_PRCHD_RVAL_NRFI_RUN;
3872 bal_AA_PRCHD_RVAL_NRFI_PTD := p_AA_PRCHD_RVAL_NRFI_PTD;
3873 bal_AA_PRCHD_RVAL_NRFI_YTD := p_AA_PRCHD_RVAL_NRFI_YTD;
3874 bal_AA_PRCHD_RVAL_RFI_CMTD := p_AA_PRCHD_RVAL_RFI_CMTD;
3875 bal_AA_PRCHD_RVAL_RFI_RUN := p_AA_PRCHD_RVAL_RFI_RUN;
3876 bal_AA_PRCHD_RVAL_RFI_PTD := p_AA_PRCHD_RVAL_RFI_PTD;
3877 bal_AA_PRCHD_RVAL_RFI_YTD := p_AA_PRCHD_RVAL_RFI_YTD;
3878 bal_AB_NRFI_CMTD := p_AB_NRFI_CMTD;
3879 bal_AB_NRFI_RUN := p_AB_NRFI_RUN;
3880 bal_AB_NRFI_PTD := p_AB_NRFI_PTD;
3881 bal_AB_NRFI_YTD := p_AB_NRFI_YTD;
3882 bal_AB_RFI_CMTD := p_AB_RFI_CMTD;
3883 bal_AB_RFI_RUN := p_AB_RFI_RUN;
3884 bal_AB_RFI_PTD := p_AB_RFI_PTD;
3885 bal_AB_RFI_YTD := p_AB_RFI_YTD;
3886 bal_ANN_BUR_AND_SCH_NRFI_CMTD := p_ANN_BUR_AND_SCH_NRFI_CMTD;
3887 bal_ANN_BUR_AND_SCH_NRFI_RUN := p_ANN_BUR_AND_SCH_NRFI_RUN;
3888 bal_ANN_BUR_AND_SCH_NRFI_PTD := p_ANN_BUR_AND_SCH_NRFI_PTD;
3889 bal_ANN_BUR_AND_SCH_NRFI_YTD := p_ANN_BUR_AND_SCH_NRFI_YTD;
3890 bal_ANN_BUR_AND_SCH_RFI_CMTD := p_ANN_BUR_AND_SCH_RFI_CMTD;
3891 bal_ANN_BUR_AND_SCH_RFI_RUN := p_ANN_BUR_AND_SCH_RFI_RUN;
3892 bal_ANN_BUR_AND_SCH_RFI_PTD := p_ANN_BUR_AND_SCH_RFI_PTD;
3893 bal_ANN_BUR_AND_SCH_RFI_YTD := p_ANN_BUR_AND_SCH_RFI_YTD;
3894 bal_AC_NRFI_CMTD := p_AC_NRFI_CMTD;
3895 bal_AC_NRFI_RUN := p_AC_NRFI_RUN;
3896 bal_AC_NRFI_PTD := p_AC_NRFI_PTD;
3897 bal_AC_NRFI_YTD := p_AC_NRFI_YTD;
3898 bal_AC_RFI_CMTD := p_AC_RFI_CMTD;
3899 bal_AC_RFI_RUN := p_AC_RFI_RUN;
3900 bal_AC_RFI_PTD := p_AC_RFI_PTD;
3901 bal_AC_RFI_YTD := p_AC_RFI_YTD;
3902 bal_ANN_PF_CMTD := p_ANN_PF_CMTD;
3903 bal_ANN_PF_CYTD := p_ANN_PF_CYTD;
3904 bal_ANN_PF_RUN := p_ANN_PF_RUN;
3905 bal_ANN_PF_PTD := p_ANN_PF_PTD;
3906 bal_ANN_PF_YTD := p_ANN_PF_YTD;
3907 bal_ARES_TRD_NRFI_CMTD := p_ARES_TRD_NRFI_CMTD;
3908 bal_ARES_TRD_NRFI_RUN := p_ARES_TRD_NRFI_RUN;
3909 bal_ARES_TRD_NRFI_PTD := p_ARES_TRD_NRFI_PTD;
3910 bal_ARES_TRD_NRFI_YTD := p_ARES_TRD_NRFI_YTD;
3911 bal_ARES_TRD_RFI_CMTD := p_ARES_TRD_RFI_CMTD;
3912 bal_ARES_TRD_RFI_RUN := p_ARES_TRD_RFI_RUN;
3913 bal_ARES_TRD_RFI_PTD := p_ARES_TRD_RFI_PTD;
3914 bal_ARES_TRD_RFI_YTD := p_ARES_TRD_RFI_YTD;
3915 bal_ANN_RA_CMTD := p_ANN_RA_CMTD;
3916 bal_ANN_RA_CYTD := p_ANN_RA_CYTD;
3917 bal_ANN_RA_RUN := p_ANN_RA_RUN;
3918 bal_ANN_RA_PTD := p_ANN_RA_PTD;
3919 bal_ANN_RA_YTD := p_ANN_RA_YTD;
3920 bal_ANU_FRM_RET_FND_NRFI_CMTD := p_ANU_FRM_RET_FND_NRFI_CMTD;
3921 bal_ANU_FRM_RET_FND_NRFI_RUN := p_ANU_FRM_RET_FND_NRFI_RUN;
3922 bal_ANU_FRM_RET_FND_NRFI_PTD := p_ANU_FRM_RET_FND_NRFI_PTD;
3923 bal_ANU_FRM_RET_FND_NRFI_YTD := p_ANU_FRM_RET_FND_NRFI_YTD;
3924 bal_ANU_FRM_RET_FND_RFI_CMTD := p_ANU_FRM_RET_FND_RFI_CMTD;
3925 bal_ANU_FRM_RET_FND_RFI_RUN := p_ANU_FRM_RET_FND_RFI_RUN;
3926 bal_ANU_FRM_RET_FND_RFI_PTD := p_ANU_FRM_RET_FND_RFI_PTD;
3927 bal_ANU_FRM_RET_FND_RFI_YTD := p_ANU_FRM_RET_FND_RFI_YTD;
3928 bal_ARR_PF_CMTD := p_ARR_PF_CMTD;
3929 bal_ARR_PF_CYTD := p_ARR_PF_CYTD;
3930 bal_ARR_PF_PTD := p_ARR_PF_PTD;
3931 bal_ARR_PF_YTD := p_ARR_PF_YTD;
3932 bal_ARR_RA_CMTD := p_ARR_RA_CMTD;
3933 bal_ARR_RA_CYTD := p_ARR_RA_CYTD;
3934 bal_ARR_RA_PTD := p_ARR_RA_PTD;
3935 bal_ARR_RA_YTD := p_ARR_RA_YTD;
3936 bal_AST_PRCHD_RVAL_NRFI_CMTD := p_AST_PRCHD_RVAL_NRFI_CMTD;
3937 bal_AST_PRCHD_RVAL_NRFI_CYTD := p_AST_PRCHD_RVAL_NRFI_CYTD;
3938 bal_AST_PRCHD_RVAL_NRFI_RUN := p_AST_PRCHD_RVAL_NRFI_RUN;
3939 bal_AST_PRCHD_RVAL_NRFI_PTD := p_AST_PRCHD_RVAL_NRFI_PTD;
3940 bal_AST_PRCHD_RVAL_NRFI_YTD := p_AST_PRCHD_RVAL_NRFI_YTD;
3941 bal_AST_PRCHD_RVAL_RFI_CMTD := p_AST_PRCHD_RVAL_RFI_CMTD;
3942 bal_AST_PRCHD_RVAL_RFI_CYTD := p_AST_PRCHD_RVAL_RFI_CYTD;
3943 bal_AST_PRCHD_RVAL_RFI_RUN := p_AST_PRCHD_RVAL_RFI_RUN;
3944 bal_AST_PRCHD_RVAL_RFI_PTD := p_AST_PRCHD_RVAL_RFI_PTD;
3945 bal_AST_PRCHD_RVAL_RFI_YTD := p_AST_PRCHD_RVAL_RFI_YTD;
3946
3947 RETURN l_Dum;
3948 EXCEPTION
3949 WHEN OTHERS THEN
3950 hr_utility.set_message(801, 'ZaTxBal1_01032002: '||TO_CHAR(SQLCODE));
3951 hr_utility.raise_error;
3952 END ZaTxBal1_01032002;
3953 -------------------------------------------------------------------------------
3954 -- ZaTxBal2_01032002 --
3955 -- Tax module supporting function --
3956 -------------------------------------------------------------------------------
3957 FUNCTION ZaTxBal2_01032002(
3958 -- Balances
3959 p_BP_CMTD IN NUMBER DEFAULT 0
3960 , p_BP_PTD IN NUMBER DEFAULT 0
3961 , p_BP_YTD IN NUMBER DEFAULT 0
3962 , p_BUR_AND_SCH_NRFI_CMTD IN NUMBER DEFAULT 0
3963 , p_BUR_AND_SCH_NRFI_CYTD IN NUMBER DEFAULT 0
3964 , p_BUR_AND_SCH_NRFI_RUN IN NUMBER DEFAULT 0
3965 , p_BUR_AND_SCH_NRFI_PTD IN NUMBER DEFAULT 0
3966 , p_BUR_AND_SCH_NRFI_YTD IN NUMBER DEFAULT 0
3967 , p_BUR_AND_SCH_RFI_CMTD IN NUMBER DEFAULT 0
3968 , p_BUR_AND_SCH_RFI_CYTD IN NUMBER DEFAULT 0
3969 , p_BUR_AND_SCH_RFI_RUN IN NUMBER DEFAULT 0
3970 , p_BUR_AND_SCH_RFI_PTD IN NUMBER DEFAULT 0
3971 , p_BUR_AND_SCH_RFI_YTD IN NUMBER DEFAULT 0
3972 , p_COMM_NRFI_CMTD IN NUMBER DEFAULT 0
3973 , p_COMM_NRFI_CYTD IN NUMBER DEFAULT 0
3974 , p_COMM_NRFI_RUN IN NUMBER DEFAULT 0
3975 , p_COMM_NRFI_PTD IN NUMBER DEFAULT 0
3976 , p_COMM_NRFI_YTD IN NUMBER DEFAULT 0
3977 , p_COMM_RFI_CMTD IN NUMBER DEFAULT 0
3978 , p_COMM_RFI_CYTD IN NUMBER DEFAULT 0
3979 , p_COMM_RFI_RUN IN NUMBER DEFAULT 0
3980 , p_COMM_RFI_PTD IN NUMBER DEFAULT 0
3981 , p_COMM_RFI_YTD IN NUMBER DEFAULT 0
3982 , p_COMP_ALL_NRFI_CMTD IN NUMBER DEFAULT 0
3983 , p_COMP_ALL_NRFI_CYTD IN NUMBER DEFAULT 0
3984 , p_COMP_ALL_NRFI_RUN IN NUMBER DEFAULT 0
3985 , p_COMP_ALL_NRFI_PTD IN NUMBER DEFAULT 0
3986 , p_COMP_ALL_NRFI_YTD IN NUMBER DEFAULT 0
3987 , p_COMP_ALL_RFI_CMTD IN NUMBER DEFAULT 0
3988 , p_COMP_ALL_RFI_CYTD IN NUMBER DEFAULT 0
3989 , p_COMP_ALL_RFI_RUN IN NUMBER DEFAULT 0
3990 , p_COMP_ALL_RFI_PTD IN NUMBER DEFAULT 0
3991 , p_COMP_ALL_RFI_YTD IN NUMBER DEFAULT 0
3992 , p_CUR_PF_CMTD IN NUMBER DEFAULT 0
3993 , p_CUR_PF_CYTD IN NUMBER DEFAULT 0
3994 , p_CUR_PF_RUN IN NUMBER DEFAULT 0
3995 , p_CUR_PF_PTD IN NUMBER DEFAULT 0
3996 , p_CUR_PF_YTD IN NUMBER DEFAULT 0
3997 , p_CUR_RA_CMTD IN NUMBER DEFAULT 0
3998 , p_CUR_RA_CYTD IN NUMBER DEFAULT 0
3999 , p_CUR_RA_RUN IN NUMBER DEFAULT 0
4000 , p_CUR_RA_PTD IN NUMBER DEFAULT 0
4001 , p_CUR_RA_YTD IN NUMBER DEFAULT 0
4002 , p_DIR_DMD_RMN_ITD IN NUMBER DEFAULT 0
4003 , p_ENT_ALL_NRFI_CMTD IN NUMBER DEFAULT 0
4004 , p_ENT_ALL_NRFI_CYTD IN NUMBER DEFAULT 0
4005 , p_ENT_ALL_NRFI_RUN IN NUMBER DEFAULT 0
4006 , p_ENT_ALL_NRFI_PTD IN NUMBER DEFAULT 0
4007 , p_ENT_ALL_NRFI_YTD IN NUMBER DEFAULT 0
4008 , p_ENT_ALL_RFI_CMTD IN NUMBER DEFAULT 0
4009 , p_ENT_ALL_RFI_CYTD IN NUMBER DEFAULT 0
4010 , p_ENT_ALL_RFI_RUN IN NUMBER DEFAULT 0
4011 , p_ENT_ALL_RFI_PTD IN NUMBER DEFAULT 0
4012 , p_ENT_ALL_RFI_YTD IN NUMBER DEFAULT 0
4013 , p_EXC_ARR_PEN_ITD IN NUMBER DEFAULT 0
4014 , p_EXC_ARR_PEN_PTD IN NUMBER DEFAULT 0
4015 , p_EXC_ARR_PEN_YTD IN NUMBER DEFAULT 0
4016 , p_EXC_ARR_RA_ITD IN NUMBER DEFAULT 0
4017 , p_EXC_ARR_RA_PTD IN NUMBER DEFAULT 0
4018 , p_EXC_ARR_RA_YTD IN NUMBER DEFAULT 0
4019 , p_FREE_ACCOM_NRFI_CMTD IN NUMBER DEFAULT 0
4020 , p_FREE_ACCOM_NRFI_CYTD IN NUMBER DEFAULT 0
4021 , p_FREE_ACCOM_NRFI_RUN IN NUMBER DEFAULT 0
4022 , p_FREE_ACCOM_NRFI_PTD IN NUMBER DEFAULT 0
4023 , p_FREE_ACCOM_NRFI_YTD IN NUMBER DEFAULT 0
4024 , p_FREE_ACCOM_RFI_CMTD IN NUMBER DEFAULT 0
4025 , p_FREE_ACCOM_RFI_CYTD IN NUMBER DEFAULT 0
4026 , p_FREE_ACCOM_RFI_RUN IN NUMBER DEFAULT 0
4027 , p_FREE_ACCOM_RFI_PTD IN NUMBER DEFAULT 0
4028 , p_FREE_ACCOM_RFI_YTD IN NUMBER DEFAULT 0
4029 , p_FREE_SERV_NRFI_CMTD IN NUMBER DEFAULT 0
4030 , p_FREE_SERV_NRFI_CYTD IN NUMBER DEFAULT 0
4031 , p_FREE_SERV_NRFI_RUN IN NUMBER DEFAULT 0
4032 , p_FREE_SERV_NRFI_PTD IN NUMBER DEFAULT 0
4033 , p_FREE_SERV_NRFI_YTD IN NUMBER DEFAULT 0
4034 , p_FREE_SERV_RFI_CMTD IN NUMBER DEFAULT 0
4035 , p_FREE_SERV_RFI_CYTD IN NUMBER DEFAULT 0
4036 , p_FREE_SERV_RFI_RUN IN NUMBER DEFAULT 0
4037 , p_FREE_SERV_RFI_PTD IN NUMBER DEFAULT 0
4038 , p_FREE_SERV_RFI_YTD IN NUMBER DEFAULT 0
4039 ) RETURN NUMBER
4040 AS
4041 l_Dum NUMBER := 1;
4042
4043 BEGIN
4044 -- Balances
4045 bal_BP_CMTD := p_BP_CMTD;
4046 bal_BP_PTD := p_BP_PTD;
4047 bal_BP_YTD := p_BP_YTD;
4048 bal_BUR_AND_SCH_NRFI_CMTD := p_BUR_AND_SCH_NRFI_CMTD;
4049 bal_BUR_AND_SCH_NRFI_CYTD := p_BUR_AND_SCH_NRFI_CYTD;
4050 bal_BUR_AND_SCH_NRFI_RUN := p_BUR_AND_SCH_NRFI_RUN;
4051 bal_BUR_AND_SCH_NRFI_PTD := p_BUR_AND_SCH_NRFI_PTD;
4052 bal_BUR_AND_SCH_NRFI_YTD := p_BUR_AND_SCH_NRFI_YTD;
4053 bal_BUR_AND_SCH_RFI_CMTD := p_BUR_AND_SCH_RFI_CMTD;
4054 bal_BUR_AND_SCH_RFI_CYTD := p_BUR_AND_SCH_RFI_CYTD;
4055 bal_BUR_AND_SCH_RFI_RUN := p_BUR_AND_SCH_RFI_RUN;
4056 bal_BUR_AND_SCH_RFI_PTD := p_BUR_AND_SCH_RFI_PTD;
4057 bal_BUR_AND_SCH_RFI_YTD := p_BUR_AND_SCH_RFI_YTD;
4058 bal_COMM_NRFI_CMTD := p_COMM_NRFI_CMTD;
4059 bal_COMM_NRFI_CYTD := p_COMM_NRFI_CYTD;
4060 bal_COMM_NRFI_RUN := p_COMM_NRFI_RUN;
4061 bal_COMM_NRFI_PTD := p_COMM_NRFI_PTD;
4062 bal_COMM_NRFI_YTD := p_COMM_NRFI_YTD;
4063 bal_COMM_RFI_CMTD := p_COMM_RFI_CMTD;
4064 bal_COMM_RFI_CYTD := p_COMM_RFI_CYTD;
4065 bal_COMM_RFI_RUN := p_COMM_RFI_RUN;
4066 bal_COMM_RFI_PTD := p_COMM_RFI_PTD;
4067 bal_COMM_RFI_YTD := p_COMM_RFI_YTD;
4068 bal_COMP_ALL_NRFI_CMTD := p_COMP_ALL_NRFI_CMTD;
4069 bal_COMP_ALL_NRFI_CYTD := p_COMP_ALL_NRFI_CYTD;
4070 bal_COMP_ALL_NRFI_RUN := p_COMP_ALL_NRFI_RUN;
4071 bal_COMP_ALL_NRFI_PTD := p_COMP_ALL_NRFI_PTD;
4072 bal_COMP_ALL_NRFI_YTD := p_COMP_ALL_NRFI_YTD;
4073 bal_COMP_ALL_RFI_CMTD := p_COMP_ALL_RFI_CMTD;
4074 bal_COMP_ALL_RFI_CYTD := p_COMP_ALL_RFI_CYTD;
4075 bal_COMP_ALL_RFI_RUN := p_COMP_ALL_RFI_RUN;
4076 bal_COMP_ALL_RFI_PTD := p_COMP_ALL_RFI_PTD;
4077 bal_COMP_ALL_RFI_YTD := p_COMP_ALL_RFI_YTD;
4078 bal_PF_CMTD := p_CUR_PF_CMTD;
4079 bal_PF_CYTD := p_CUR_PF_CYTD;
4080 bal_PF_RUN := p_CUR_PF_RUN;
4081 bal_PF_PTD := p_CUR_PF_PTD;
4082 bal_PF_YTD := p_CUR_PF_YTD;
4083 bal_RA_CMTD := p_CUR_RA_CMTD;
4084 bal_RA_CYTD := p_CUR_RA_CYTD;
4085 bal_RA_RUN := p_CUR_RA_RUN;
4086 bal_RA_PTD := p_CUR_RA_PTD;
4087 bal_RA_YTD := p_CUR_RA_YTD;
4088 bal_DIR_DMD_RMN_ITD := p_DIR_DMD_RMN_ITD;
4089 bal_ENT_ALL_NRFI_CMTD := p_ENT_ALL_NRFI_CMTD;
4090 bal_ENT_ALL_NRFI_CYTD := p_ENT_ALL_NRFI_CYTD;
4091 bal_ENT_ALL_NRFI_RUN := p_ENT_ALL_NRFI_RUN;
4092 bal_ENT_ALL_NRFI_PTD := p_ENT_ALL_NRFI_PTD;
4093 bal_ENT_ALL_NRFI_YTD := p_ENT_ALL_NRFI_YTD;
4094 bal_ENT_ALL_RFI_CMTD := p_ENT_ALL_RFI_CMTD;
4095 bal_ENT_ALL_RFI_CYTD := p_ENT_ALL_RFI_CYTD;
4096 bal_ENT_ALL_RFI_RUN := p_ENT_ALL_RFI_RUN;
4097 bal_ENT_ALL_RFI_PTD := p_ENT_ALL_RFI_PTD;
4098 bal_ENT_ALL_RFI_YTD := p_ENT_ALL_RFI_YTD;
4099 bal_EXC_ARR_PEN_ITD := p_EXC_ARR_PEN_ITD;
4100 bal_EXC_ARR_PEN_PTD := p_EXC_ARR_PEN_PTD;
4101 bal_EXC_ARR_PEN_YTD := p_EXC_ARR_PEN_YTD;
4102 bal_EXC_ARR_RA_ITD := p_EXC_ARR_RA_ITD;
4103 bal_EXC_ARR_RA_PTD := p_EXC_ARR_RA_PTD;
4104 bal_EXC_ARR_RA_YTD := p_EXC_ARR_RA_YTD;
4105 bal_FREE_ACCOM_NRFI_CMTD := p_FREE_ACCOM_NRFI_CMTD;
4106 bal_FREE_ACCOM_NRFI_CYTD := p_FREE_ACCOM_NRFI_CYTD;
4107 bal_FREE_ACCOM_NRFI_RUN := p_FREE_ACCOM_NRFI_RUN;
4108 bal_FREE_ACCOM_NRFI_PTD := p_FREE_ACCOM_NRFI_PTD;
4109 bal_FREE_ACCOM_NRFI_YTD := p_FREE_ACCOM_NRFI_YTD;
4110 bal_FREE_ACCOM_RFI_CMTD := p_FREE_ACCOM_RFI_CMTD;
4111 bal_FREE_ACCOM_RFI_CYTD := p_FREE_ACCOM_RFI_CYTD;
4112 bal_FREE_ACCOM_RFI_RUN := p_FREE_ACCOM_RFI_RUN;
4113 bal_FREE_ACCOM_RFI_PTD := p_FREE_ACCOM_RFI_PTD;
4114 bal_FREE_ACCOM_RFI_YTD := p_FREE_ACCOM_RFI_YTD;
4115 bal_FREE_SERV_NRFI_CMTD := p_FREE_SERV_NRFI_CMTD;
4116 bal_FREE_SERV_NRFI_CYTD := p_FREE_SERV_NRFI_CYTD;
4117 bal_FREE_SERV_NRFI_RUN := p_FREE_SERV_NRFI_RUN;
4118 bal_FREE_SERV_NRFI_PTD := p_FREE_SERV_NRFI_PTD;
4119 bal_FREE_SERV_NRFI_YTD := p_FREE_SERV_NRFI_YTD;
4120 bal_FREE_SERV_RFI_CMTD := p_FREE_SERV_RFI_CMTD;
4121 bal_FREE_SERV_RFI_CYTD := p_FREE_SERV_RFI_CYTD;
4122 bal_FREE_SERV_RFI_RUN := p_FREE_SERV_RFI_RUN;
4123 bal_FREE_SERV_RFI_PTD := p_FREE_SERV_RFI_PTD;
4124 bal_FREE_SERV_RFI_YTD := p_FREE_SERV_RFI_YTD;
4125
4126 RETURN l_Dum;
4127 EXCEPTION
4128 WHEN OTHERS THEN
4129 hr_utility.set_message(801, 'ZaTxBal2_01032002: '||TO_CHAR(SQLCODE));
4130 hr_utility.raise_error;
4131 END ZaTxBal2_01032002;
4132 -------------------------------------------------------------------------------
4133 -- ZaTxBal3_01032002 --
4134 -- Tax module supporting function --
4135 -------------------------------------------------------------------------------
4136 FUNCTION ZaTxBal3_01032002(
4137 -- Balances
4138 p_LOW_LOANS_NRFI_CMTD IN NUMBER DEFAULT 0
4139 , p_LOW_LOANS_NRFI_CYTD IN NUMBER DEFAULT 0
4140 , p_LOW_LOANS_NRFI_RUN IN NUMBER DEFAULT 0
4141 , p_LOW_LOANS_NRFI_PTD IN NUMBER DEFAULT 0
4142 , p_LOW_LOANS_NRFI_YTD IN NUMBER DEFAULT 0
4143 , p_LOW_LOANS_RFI_CMTD IN NUMBER DEFAULT 0
4144 , p_LOW_LOANS_RFI_CYTD IN NUMBER DEFAULT 0
4145 , p_LOW_LOANS_RFI_RUN IN NUMBER DEFAULT 0
4146 , p_LOW_LOANS_RFI_PTD IN NUMBER DEFAULT 0
4147 , p_LOW_LOANS_RFI_YTD IN NUMBER DEFAULT 0
4148 , p_MLS_AND_VOUCH_NRFI_CMTD IN NUMBER DEFAULT 0
4149 , p_MLS_AND_VOUCH_NRFI_CYTD IN NUMBER DEFAULT 0
4150 , p_MLS_AND_VOUCH_NRFI_RUN IN NUMBER DEFAULT 0
4151 , p_MLS_AND_VOUCH_NRFI_PTD IN NUMBER DEFAULT 0
4152 , p_MLS_AND_VOUCH_NRFI_YTD IN NUMBER DEFAULT 0
4153 , p_MLS_AND_VOUCH_RFI_CMTD IN NUMBER DEFAULT 0
4154 , p_MLS_AND_VOUCH_RFI_CYTD IN NUMBER DEFAULT 0
4155 , p_MLS_AND_VOUCH_RFI_RUN IN NUMBER DEFAULT 0
4156 , p_MLS_AND_VOUCH_RFI_PTD IN NUMBER DEFAULT 0
4157 , p_MLS_AND_VOUCH_RFI_YTD IN NUMBER DEFAULT 0
4158 , p_MED_CONTR_CMTD IN NUMBER DEFAULT 0
4159 , p_MED_CONTR_CYTD IN NUMBER DEFAULT 0
4160 , p_MED_CONTR_RUN IN NUMBER DEFAULT 0
4161 , p_MED_CONTR_PTD IN NUMBER DEFAULT 0
4162 , p_MED_CONTR_YTD IN NUMBER DEFAULT 0
4163 , p_MED_PAID_NRFI_CMTD IN NUMBER DEFAULT 0
4164 , p_MED_PAID_NRFI_CYTD IN NUMBER DEFAULT 0
4165 , p_MED_PAID_NRFI_RUN IN NUMBER DEFAULT 0
4166 , p_MED_PAID_NRFI_PTD IN NUMBER DEFAULT 0
4167 , p_MED_PAID_NRFI_YTD IN NUMBER DEFAULT 0
4168 , p_MED_PAID_RFI_CMTD IN NUMBER DEFAULT 0
4169 , p_MED_PAID_RFI_CYTD IN NUMBER DEFAULT 0
4170 , p_MED_PAID_RFI_RUN IN NUMBER DEFAULT 0
4171 , p_MED_PAID_RFI_PTD IN NUMBER DEFAULT 0
4172 , p_MED_PAID_RFI_YTD IN NUMBER DEFAULT 0
4173 , p_NET_PAY_RUN IN NUMBER DEFAULT 0
4174 , p_NET_TXB_INC_CMTD IN NUMBER DEFAULT 0
4175 , p_OTHER_TXB_ALL_NRFI_CMTD IN NUMBER DEFAULT 0
4176 , p_OTHER_TXB_ALL_NRFI_CYTD IN NUMBER DEFAULT 0
4177 , p_OTHER_TXB_ALL_NRFI_RUN IN NUMBER DEFAULT 0
4178 , p_OTHER_TXB_ALL_NRFI_PTD IN NUMBER DEFAULT 0
4179 , p_OTHER_TXB_ALL_NRFI_YTD IN NUMBER DEFAULT 0
4180 , p_OTHER_TXB_ALL_RFI_CMTD IN NUMBER DEFAULT 0
4181 , p_OTHER_TXB_ALL_RFI_CYTD IN NUMBER DEFAULT 0
4182 , p_OTHER_TXB_ALL_RFI_RUN IN NUMBER DEFAULT 0
4183 , p_OTHER_TXB_ALL_RFI_PTD IN NUMBER DEFAULT 0
4184 , p_OTHER_TXB_ALL_RFI_YTD IN NUMBER DEFAULT 0
4185 , p_OVTM_NRFI_CMTD IN NUMBER DEFAULT 0
4186 , p_OVTM_NRFI_CYTD IN NUMBER DEFAULT 0
4187 , p_OVTM_NRFI_RUN IN NUMBER DEFAULT 0
4188 , p_OVTM_NRFI_PTD IN NUMBER DEFAULT 0
4189 , p_OVTM_NRFI_YTD IN NUMBER DEFAULT 0
4190 , p_OVTM_RFI_CMTD IN NUMBER DEFAULT 0
4191 , p_OVTM_RFI_CYTD IN NUMBER DEFAULT 0
4192 , p_OVTM_RFI_RUN IN NUMBER DEFAULT 0
4193 , p_OVTM_RFI_PTD IN NUMBER DEFAULT 0
4194 , p_OVTM_RFI_YTD IN NUMBER DEFAULT 0
4195 , p_PAYE_YTD IN NUMBER DEFAULT 0
4196 , p_PYM_DBT_NRFI_CMTD IN NUMBER DEFAULT 0
4197 , p_PYM_DBT_NRFI_CYTD IN NUMBER DEFAULT 0
4198 , p_PYM_DBT_NRFI_RUN IN NUMBER DEFAULT 0
4199 , p_PYM_DBT_NRFI_PTD IN NUMBER DEFAULT 0
4200 , p_PYM_DBT_NRFI_YTD IN NUMBER DEFAULT 0
4201 , p_PYM_DBT_RFI_CMTD IN NUMBER DEFAULT 0
4202 , p_PYM_DBT_RFI_CYTD IN NUMBER DEFAULT 0
4203 , p_PYM_DBT_RFI_RUN IN NUMBER DEFAULT 0
4204 , p_PYM_DBT_RFI_PTD IN NUMBER DEFAULT 0
4205 , p_PYM_DBT_RFI_YTD IN NUMBER DEFAULT 0
4206 ) RETURN NUMBER
4207 AS
4208 l_Dum NUMBER := 1;
4209
4210 BEGIN
4211 -- Balances
4212 bal_LOW_LOANS_NRFI_CMTD := p_LOW_LOANS_NRFI_CMTD;
4213 bal_LOW_LOANS_NRFI_CYTD := p_LOW_LOANS_NRFI_CYTD;
4214 bal_LOW_LOANS_NRFI_RUN := p_LOW_LOANS_NRFI_RUN;
4215 bal_LOW_LOANS_NRFI_PTD := p_LOW_LOANS_NRFI_PTD;
4216 bal_LOW_LOANS_NRFI_YTD := p_LOW_LOANS_NRFI_YTD;
4217 bal_LOW_LOANS_RFI_CMTD := p_LOW_LOANS_RFI_CMTD;
4218 bal_LOW_LOANS_RFI_CYTD := p_LOW_LOANS_RFI_CYTD;
4219 bal_LOW_LOANS_RFI_RUN := p_LOW_LOANS_RFI_RUN;
4220 bal_LOW_LOANS_RFI_PTD := p_LOW_LOANS_RFI_PTD;
4221 bal_LOW_LOANS_RFI_YTD := p_LOW_LOANS_RFI_YTD;
4222 bal_MLS_AND_VOUCH_NRFI_CMTD := p_MLS_AND_VOUCH_NRFI_CMTD;
4223 bal_MLS_AND_VOUCH_NRFI_CYTD := p_MLS_AND_VOUCH_NRFI_CYTD;
4224 bal_MLS_AND_VOUCH_NRFI_RUN := p_MLS_AND_VOUCH_NRFI_RUN;
4225 bal_MLS_AND_VOUCH_NRFI_PTD := p_MLS_AND_VOUCH_NRFI_PTD;
4226 bal_MLS_AND_VOUCH_NRFI_YTD := p_MLS_AND_VOUCH_NRFI_YTD;
4227 bal_MLS_AND_VOUCH_RFI_CMTD := p_MLS_AND_VOUCH_RFI_CMTD;
4228 bal_MLS_AND_VOUCH_RFI_CYTD := p_MLS_AND_VOUCH_RFI_CYTD;
4229 bal_MLS_AND_VOUCH_RFI_RUN := p_MLS_AND_VOUCH_RFI_RUN;
4230 bal_MLS_AND_VOUCH_RFI_PTD := p_MLS_AND_VOUCH_RFI_PTD;
4231 bal_MLS_AND_VOUCH_RFI_YTD := p_MLS_AND_VOUCH_RFI_YTD;
4232 bal_MED_CONTR_CMTD := p_MED_CONTR_CMTD;
4233 bal_MED_CONTR_CYTD := p_MED_CONTR_CYTD;
4234 bal_MED_CONTR_RUN := p_MED_CONTR_RUN;
4235 bal_MED_CONTR_PTD := p_MED_CONTR_PTD;
4236 bal_MED_CONTR_YTD := p_MED_CONTR_YTD;
4237 bal_MED_PAID_NRFI_CMTD := p_MED_PAID_NRFI_CMTD;
4238 bal_MED_PAID_NRFI_CYTD := p_MED_PAID_NRFI_CYTD;
4239 bal_MED_PAID_NRFI_RUN := p_MED_PAID_NRFI_RUN;
4240 bal_MED_PAID_NRFI_PTD := p_MED_PAID_NRFI_PTD;
4241 bal_MED_PAID_NRFI_YTD := p_MED_PAID_NRFI_YTD;
4242 bal_MED_PAID_RFI_CMTD := p_MED_PAID_RFI_CMTD;
4243 bal_MED_PAID_RFI_CYTD := p_MED_PAID_RFI_CYTD;
4244 bal_MED_PAID_RFI_RUN := p_MED_PAID_RFI_RUN;
4245 bal_MED_PAID_RFI_PTD := p_MED_PAID_RFI_PTD;
4246 bal_MED_PAID_RFI_YTD := p_MED_PAID_RFI_YTD;
4247 bal_NET_PAY_RUN := p_NET_PAY_RUN;
4248 bal_NET_TXB_INC_CMTD := p_NET_TXB_INC_CMTD;
4249 bal_OTHER_TXB_ALL_NRFI_CMTD := p_OTHER_TXB_ALL_NRFI_CMTD;
4250 bal_OTHER_TXB_ALL_NRFI_CYTD := p_OTHER_TXB_ALL_NRFI_CYTD;
4251 bal_OTHER_TXB_ALL_NRFI_RUN := p_OTHER_TXB_ALL_NRFI_RUN;
4252 bal_OTHER_TXB_ALL_NRFI_PTD := p_OTHER_TXB_ALL_NRFI_PTD;
4253 bal_OTHER_TXB_ALL_NRFI_YTD := p_OTHER_TXB_ALL_NRFI_YTD;
4254 bal_OTHER_TXB_ALL_RFI_CMTD := p_OTHER_TXB_ALL_RFI_CMTD;
4255 bal_OTHER_TXB_ALL_RFI_CYTD := p_OTHER_TXB_ALL_RFI_CYTD;
4256 bal_OTHER_TXB_ALL_RFI_RUN := p_OTHER_TXB_ALL_RFI_RUN;
4257 bal_OTHER_TXB_ALL_RFI_PTD := p_OTHER_TXB_ALL_RFI_PTD;
4258 bal_OTHER_TXB_ALL_RFI_YTD := p_OTHER_TXB_ALL_RFI_YTD;
4259 bal_OVTM_NRFI_CMTD := p_OVTM_NRFI_CMTD;
4260 bal_OVTM_NRFI_CYTD := p_OVTM_NRFI_CYTD;
4261 bal_OVTM_NRFI_RUN := p_OVTM_NRFI_RUN;
4262 bal_OVTM_NRFI_PTD := p_OVTM_NRFI_PTD;
4263 bal_OVTM_NRFI_YTD := p_OVTM_NRFI_YTD;
4264 bal_OVTM_RFI_CMTD := p_OVTM_RFI_CMTD;
4265 bal_OVTM_RFI_CYTD := p_OVTM_RFI_CYTD;
4266 bal_OVTM_RFI_RUN := p_OVTM_RFI_RUN;
4267 bal_OVTM_RFI_PTD := p_OVTM_RFI_PTD;
4268 bal_OVTM_RFI_YTD := p_OVTM_RFI_YTD;
4269 bal_PAYE_YTD := p_PAYE_YTD;
4270 bal_PYM_DBT_NRFI_CMTD := p_PYM_DBT_NRFI_CMTD;
4271 bal_PYM_DBT_NRFI_CYTD := p_PYM_DBT_NRFI_CYTD;
4272 bal_PYM_DBT_NRFI_RUN := p_PYM_DBT_NRFI_RUN;
4273 bal_PYM_DBT_NRFI_PTD := p_PYM_DBT_NRFI_PTD;
4274 bal_PYM_DBT_NRFI_YTD := p_PYM_DBT_NRFI_YTD;
4275 bal_PYM_DBT_RFI_CMTD := p_PYM_DBT_RFI_CMTD;
4276 bal_PYM_DBT_RFI_CYTD := p_PYM_DBT_RFI_CYTD;
4277 bal_PYM_DBT_RFI_RUN := p_PYM_DBT_RFI_RUN;
4278 bal_PYM_DBT_RFI_PTD := p_PYM_DBT_RFI_PTD;
4279 bal_PYM_DBT_RFI_YTD := p_PYM_DBT_RFI_YTD;
4280
4281 RETURN l_Dum;
4282 EXCEPTION
4283 WHEN OTHERS THEN
4284 hr_utility.set_message(801, 'ZaTxBal3_01032002: '||TO_CHAR(SQLCODE));
4285 hr_utility.raise_error;
4286 END ZaTxBal3_01032002;
4287 -------------------------------------------------------------------------------
4288 -- ZaTxBal4_01032002 --
4289 -- Tax module supporting function --
4290 -------------------------------------------------------------------------------
4291 FUNCTION ZaTxBal4_01032002(
4292 -- Balances
4293 p_PO_NRFI_CMTD IN NUMBER DEFAULT 0
4294 , p_PO_NRFI_RUN IN NUMBER DEFAULT 0
4295 , p_PO_NRFI_PTD IN NUMBER DEFAULT 0
4296 , p_PO_NRFI_YTD IN NUMBER DEFAULT 0
4297 , p_PO_RFI_CMTD IN NUMBER DEFAULT 0
4298 , p_PO_RFI_RUN IN NUMBER DEFAULT 0
4299 , p_PO_RFI_PTD IN NUMBER DEFAULT 0
4300 , p_PO_RFI_YTD IN NUMBER DEFAULT 0
4301 , p_PRCH_ANU_TXB_NRFI_CMTD IN NUMBER DEFAULT 0
4302 , p_PRCH_ANU_TXB_NRFI_RUN IN NUMBER DEFAULT 0
4303 , p_PRCH_ANU_TXB_NRFI_PTD IN NUMBER DEFAULT 0
4304 , p_PRCH_ANU_TXB_NRFI_YTD IN NUMBER DEFAULT 0
4305 , p_PRCH_ANU_TXB_RFI_CMTD IN NUMBER DEFAULT 0
4306 , p_PRCH_ANU_TXB_RFI_RUN IN NUMBER DEFAULT 0
4307 , p_PRCH_ANU_TXB_RFI_PTD IN NUMBER DEFAULT 0
4308 , p_PRCH_ANU_TXB_RFI_YTD IN NUMBER DEFAULT 0
4309 , p_RES_TRD_NRFI_CMTD IN NUMBER DEFAULT 0
4310 , p_RES_TRD_NRFI_CYTD IN NUMBER DEFAULT 0
4311 , p_RES_TRD_NRFI_RUN IN NUMBER DEFAULT 0
4312 , p_RES_TRD_NRFI_PTD IN NUMBER DEFAULT 0
4313 , p_RES_TRD_NRFI_YTD IN NUMBER DEFAULT 0
4314 , p_RES_TRD_RFI_CMTD IN NUMBER DEFAULT 0
4315 , p_RES_TRD_RFI_CYTD IN NUMBER DEFAULT 0
4316 , p_RES_TRD_RFI_RUN IN NUMBER DEFAULT 0
4317 , p_RES_TRD_RFI_PTD IN NUMBER DEFAULT 0
4318 , p_RES_TRD_RFI_YTD IN NUMBER DEFAULT 0
4319 , p_RGT_AST_NRFI_CMTD IN NUMBER DEFAULT 0
4320 , p_RGT_AST_NRFI_CYTD IN NUMBER DEFAULT 0
4321 , p_RGT_AST_NRFI_RUN IN NUMBER DEFAULT 0
4322 , p_RGT_AST_NRFI_PTD IN NUMBER DEFAULT 0
4323 , p_RGT_AST_NRFI_YTD IN NUMBER DEFAULT 0
4324 , p_RGT_AST_RFI_CMTD IN NUMBER DEFAULT 0
4325 , p_RGT_AST_RFI_CYTD IN NUMBER DEFAULT 0
4326 , p_RGT_AST_RFI_RUN IN NUMBER DEFAULT 0
4327 , p_RGT_AST_RFI_PTD IN NUMBER DEFAULT 0
4328 , p_RGT_AST_RFI_YTD IN NUMBER DEFAULT 0
4329 , p_SITE_YTD IN NUMBER DEFAULT 0
4330 , p_TAX_YTD IN NUMBER DEFAULT 0
4331 , p_TX_ON_AB_PTD IN NUMBER DEFAULT 0
4332 , p_TX_ON_AB_YTD IN NUMBER DEFAULT 0
4333 , p_TX_ON_AP_RUN IN NUMBER DEFAULT 0
4334 , p_TX_ON_AP_PTD IN NUMBER DEFAULT 0
4335 , p_TX_ON_AP_YTD IN NUMBER DEFAULT 0
4336 , p_TX_ON_BP_PTD IN NUMBER DEFAULT 0
4337 , p_TX_ON_BP_YTD IN NUMBER DEFAULT 0
4338 , p_TX_ON_TA_PTD IN NUMBER DEFAULT 0
4339 , p_TX_ON_TA_YTD IN NUMBER DEFAULT 0
4340 , p_TX_ON_DR_PTD IN NUMBER DEFAULT 0
4341 , p_TX_ON_DR_YTD IN NUMBER DEFAULT 0
4342 , p_TX_ON_FB_PTD IN NUMBER DEFAULT 0
4343 , p_TX_ON_FB_YTD IN NUMBER DEFAULT 0
4344 , p_TX_ON_NI_PTD IN NUMBER DEFAULT 0
4345 , p_TX_ON_NI_YTD IN NUMBER DEFAULT 0
4346 , p_TX_ON_PO_PTD IN NUMBER DEFAULT 0
4347 , p_TX_ON_PO_YTD IN NUMBER DEFAULT 0
4348 , p_TXB_AP_NRFI_CMTD IN NUMBER DEFAULT 0
4349 , p_TXB_AP_NRFI_RUN IN NUMBER DEFAULT 0
4350 , p_TXB_AP_NRFI_PTD IN NUMBER DEFAULT 0
4351 , p_TXB_AP_NRFI_YTD IN NUMBER DEFAULT 0
4352 , p_TXB_AP_RFI_CMTD IN NUMBER DEFAULT 0
4353 , p_TXB_AP_RFI_RUN IN NUMBER DEFAULT 0
4354 , p_TXB_AP_RFI_PTD IN NUMBER DEFAULT 0
4355 , p_TXB_AP_RFI_YTD IN NUMBER DEFAULT 0
4356 , p_TXB_INC_NRFI_CMTD IN NUMBER DEFAULT 0
4357 , p_TXB_INC_NRFI_CYTD IN NUMBER DEFAULT 0
4358 , p_TXB_INC_NRFI_RUN IN NUMBER DEFAULT 0
4359 , p_TXB_INC_NRFI_PTD IN NUMBER DEFAULT 0
4360 , p_TXB_INC_NRFI_YTD IN NUMBER DEFAULT 0
4361 , p_TXB_INC_RFI_CMTD IN NUMBER DEFAULT 0
4362 , p_TXB_INC_RFI_CYTD IN NUMBER DEFAULT 0
4363 , p_TXB_INC_RFI_RUN IN NUMBER DEFAULT 0
4364 , p_TXB_INC_RFI_PTD IN NUMBER DEFAULT 0
4365 , p_TXB_INC_RFI_YTD IN NUMBER DEFAULT 0
4366 ) RETURN NUMBER
4367 AS
4368 l_Dum NUMBER := 1;
4369
4370 BEGIN
4371 -- Balances
4372 bal_PO_NRFI_CMTD := p_PO_NRFI_CMTD;
4373 bal_PO_NRFI_RUN := p_PO_NRFI_RUN;
4374 bal_PO_NRFI_PTD := p_PO_NRFI_PTD;
4375 bal_PO_NRFI_YTD := p_PO_NRFI_YTD;
4376 bal_PO_RFI_CMTD := p_PO_RFI_CMTD;
4377 bal_PO_RFI_RUN := p_PO_RFI_RUN;
4378 bal_PO_RFI_PTD := p_PO_RFI_PTD;
4379 bal_PO_RFI_YTD := p_PO_RFI_YTD;
4380 bal_PRCH_ANU_TXB_NRFI_CMTD := p_PRCH_ANU_TXB_NRFI_CMTD;
4381 bal_PRCH_ANU_TXB_NRFI_RUN := p_PRCH_ANU_TXB_NRFI_RUN;
4382 bal_PRCH_ANU_TXB_NRFI_PTD := p_PRCH_ANU_TXB_NRFI_PTD;
4383 bal_PRCH_ANU_TXB_NRFI_YTD := p_PRCH_ANU_TXB_NRFI_YTD;
4384 bal_PRCH_ANU_TXB_RFI_CMTD := p_PRCH_ANU_TXB_RFI_CMTD;
4385 bal_PRCH_ANU_TXB_RFI_RUN := p_PRCH_ANU_TXB_RFI_RUN;
4386 bal_PRCH_ANU_TXB_RFI_PTD := p_PRCH_ANU_TXB_RFI_PTD;
4387 bal_PRCH_ANU_TXB_RFI_YTD := p_PRCH_ANU_TXB_RFI_YTD;
4388 bal_RES_TRD_NRFI_CMTD := p_RES_TRD_NRFI_CMTD;
4389 bal_RES_TRD_NRFI_CYTD := p_RES_TRD_NRFI_CYTD;
4390 bal_RES_TRD_NRFI_RUN := p_RES_TRD_NRFI_RUN;
4391 bal_RES_TRD_NRFI_PTD := p_RES_TRD_NRFI_PTD;
4392 bal_RES_TRD_NRFI_YTD := p_RES_TRD_NRFI_YTD;
4393 bal_RES_TRD_RFI_CMTD := p_RES_TRD_RFI_CMTD;
4394 bal_RES_TRD_RFI_CYTD := p_RES_TRD_RFI_CYTD;
4395 bal_RES_TRD_RFI_RUN := p_RES_TRD_RFI_RUN;
4396 bal_RES_TRD_RFI_PTD := p_RES_TRD_RFI_PTD;
4397 bal_RES_TRD_RFI_YTD := p_RES_TRD_RFI_YTD;
4398 bal_RGT_AST_NRFI_CMTD := p_RGT_AST_NRFI_CMTD;
4399 bal_RGT_AST_NRFI_CYTD := p_RGT_AST_NRFI_CYTD;
4400 bal_RGT_AST_NRFI_RUN := p_RGT_AST_NRFI_RUN;
4401 bal_RGT_AST_NRFI_PTD := p_RGT_AST_NRFI_PTD;
4402 bal_RGT_AST_NRFI_YTD := p_RGT_AST_NRFI_YTD;
4403 bal_RGT_AST_RFI_CMTD := p_RGT_AST_RFI_CMTD;
4404 bal_RGT_AST_RFI_CYTD := p_RGT_AST_RFI_CYTD;
4405 bal_RGT_AST_RFI_RUN := p_RGT_AST_RFI_RUN;
4406 bal_RGT_AST_RFI_PTD := p_RGT_AST_RFI_PTD;
4407 bal_RGT_AST_RFI_YTD := p_RGT_AST_RFI_YTD;
4408 bal_SITE_YTD := p_SITE_YTD;
4409 bal_TAX_YTD := p_TAX_YTD;
4410 bal_TX_ON_AB_PTD := p_TX_ON_AB_PTD;
4411 bal_TX_ON_AB_YTD := p_TX_ON_AB_YTD;
4412 bal_TX_ON_AP_RUN := p_TX_ON_AP_RUN;
4413 bal_TX_ON_AP_PTD := p_TX_ON_AP_PTD;
4414 bal_TX_ON_AP_YTD := p_TX_ON_AP_YTD;
4415 bal_TX_ON_BP_PTD := p_TX_ON_BP_PTD;
4416 bal_TX_ON_BP_YTD := p_TX_ON_BP_YTD;
4417 bal_TX_ON_TA_PTD := p_TX_ON_TA_PTD;
4418 bal_TX_ON_TA_YTD := p_TX_ON_TA_YTD;
4419 bal_TX_ON_DR_PTD := p_TX_ON_DR_PTD;
4420 bal_TX_ON_DR_YTD := p_TX_ON_DR_YTD;
4421 bal_TX_ON_FB_PTD := p_TX_ON_FB_PTD;
4422 bal_TX_ON_FB_YTD := p_TX_ON_FB_YTD;
4423 bal_TX_ON_NI_PTD := p_TX_ON_NI_PTD;
4424 bal_TX_ON_NI_YTD := p_TX_ON_NI_YTD;
4425 bal_TX_ON_PO_PTD := p_TX_ON_PO_PTD;
4426 bal_TX_ON_PO_YTD := p_TX_ON_PO_YTD;
4427 bal_TXB_AP_NRFI_CMTD := p_TXB_AP_NRFI_CMTD;
4428 bal_TXB_AP_NRFI_RUN := p_TXB_AP_NRFI_RUN;
4429 bal_TXB_AP_NRFI_PTD := p_TXB_AP_NRFI_PTD;
4430 bal_TXB_AP_NRFI_YTD := p_TXB_AP_NRFI_YTD;
4431 bal_TXB_AP_RFI_CMTD := p_TXB_AP_RFI_CMTD;
4432 bal_TXB_AP_RFI_RUN := p_TXB_AP_RFI_RUN;
4433 bal_TXB_AP_RFI_PTD := p_TXB_AP_RFI_PTD;
4434 bal_TXB_AP_RFI_YTD := p_TXB_AP_RFI_YTD;
4435 bal_TXB_INC_NRFI_CMTD := p_TXB_INC_NRFI_CMTD;
4436 bal_TXB_INC_NRFI_CYTD := p_TXB_INC_NRFI_CYTD;
4437 bal_TXB_INC_NRFI_RUN := p_TXB_INC_NRFI_RUN;
4438 bal_TXB_INC_NRFI_PTD := p_TXB_INC_NRFI_PTD;
4439 bal_TXB_INC_NRFI_YTD := p_TXB_INC_NRFI_YTD;
4440 bal_TXB_INC_RFI_CMTD := p_TXB_INC_RFI_CMTD;
4441 bal_TXB_INC_RFI_CYTD := p_TXB_INC_RFI_CYTD;
4442 bal_TXB_INC_RFI_RUN := p_TXB_INC_RFI_RUN;
4443 bal_TXB_INC_RFI_PTD := p_TXB_INC_RFI_PTD;
4444 bal_TXB_INC_RFI_YTD := p_TXB_INC_RFI_YTD;
4445
4446 RETURN l_Dum;
4447 EXCEPTION
4448 WHEN OTHERS THEN
4449 hr_utility.set_message(801, 'ZaTxBal4_01032002: '||TO_CHAR(SQLCODE));
4450 hr_utility.raise_error;
4451 END ZaTxBal4_01032002;
4452 -------------------------------------------------------------------------------
4453 -- ZaTxBal5_01032002 --
4454 -- Tax module supporting function --
4455 -------------------------------------------------------------------------------
4456 FUNCTION ZaTxBal5_01032002(
4457 -- Balances
4458 p_TXB_PEN_NRFI_CMTD IN NUMBER DEFAULT 0
4459 , p_TXB_PEN_NRFI_CYTD IN NUMBER DEFAULT 0
4460 , p_TXB_PEN_NRFI_RUN IN NUMBER DEFAULT 0
4461 , p_TXB_PEN_NRFI_PTD IN NUMBER DEFAULT 0
4462 , p_TXB_PEN_NRFI_YTD IN NUMBER DEFAULT 0
4463 , p_TXB_PEN_RFI_CMTD IN NUMBER DEFAULT 0
4464 , p_TXB_PEN_RFI_CYTD IN NUMBER DEFAULT 0
4465 , p_TXB_PEN_RFI_RUN IN NUMBER DEFAULT 0
4466 , p_TXB_PEN_RFI_PTD IN NUMBER DEFAULT 0
4467 , p_TXB_PEN_RFI_YTD IN NUMBER DEFAULT 0
4468 , p_TEL_ALL_NRFI_CMTD IN NUMBER DEFAULT 0
4469 , p_TEL_ALL_NRFI_CYTD IN NUMBER DEFAULT 0
4470 , p_TEL_ALL_NRFI_RUN IN NUMBER DEFAULT 0
4471 , p_TEL_ALL_NRFI_PTD IN NUMBER DEFAULT 0
4472 , p_TEL_ALL_NRFI_YTD IN NUMBER DEFAULT 0
4473 , p_TEL_ALL_RFI_CMTD IN NUMBER DEFAULT 0
4474 , p_TEL_ALL_RFI_CYTD IN NUMBER DEFAULT 0
4475 , p_TEL_ALL_RFI_RUN IN NUMBER DEFAULT 0
4476 , p_TEL_ALL_RFI_PTD IN NUMBER DEFAULT 0
4477 , p_TEL_ALL_RFI_YTD IN NUMBER DEFAULT 0
4478 , p_TOOL_ALL_NRFI_CMTD IN NUMBER DEFAULT 0
4479 , p_TOOL_ALL_NRFI_CYTD IN NUMBER DEFAULT 0
4480 , p_TOOL_ALL_NRFI_RUN IN NUMBER DEFAULT 0
4481 , p_TOOL_ALL_NRFI_PTD IN NUMBER DEFAULT 0
4482 , p_TOOL_ALL_NRFI_YTD IN NUMBER DEFAULT 0
4483 , p_TOOL_ALL_RFI_CMTD IN NUMBER DEFAULT 0
4484 , p_TOOL_ALL_RFI_CYTD IN NUMBER DEFAULT 0
4485 , p_TOOL_ALL_RFI_RUN IN NUMBER DEFAULT 0
4486 , p_TOOL_ALL_RFI_PTD IN NUMBER DEFAULT 0
4487 , p_TOOL_ALL_RFI_YTD IN NUMBER DEFAULT 0
4488 , p_TOT_INC_PTD IN NUMBER DEFAULT 0
4489 , p_TOT_INC_YTD IN NUMBER DEFAULT 0
4490 , p_TOT_NRFI_AN_INC_CMTD IN NUMBER DEFAULT 0
4491 , p_TOT_NRFI_AN_INC_CYTD IN NUMBER DEFAULT 0
4492 , p_TOT_NRFI_AN_INC_RUN IN NUMBER DEFAULT 0
4493 , p_TOT_NRFI_AN_INC_PTD IN NUMBER DEFAULT 0
4494 , p_TOT_NRFI_AN_INC_YTD IN NUMBER DEFAULT 0
4495 , p_TOT_NRFI_INC_CMTD IN NUMBER DEFAULT 0
4496 , p_TOT_NRFI_INC_CYTD IN NUMBER DEFAULT 0
4497 , p_TOT_NRFI_INC_RUN IN NUMBER DEFAULT 0
4498 , p_TOT_NRFI_INC_PTD IN NUMBER DEFAULT 0
4499 , p_TOT_NRFI_INC_YTD IN NUMBER DEFAULT 0
4500 , p_TOT_RFI_AN_INC_CMTD IN NUMBER DEFAULT 0
4501 , p_TOT_RFI_AN_INC_CYTD IN NUMBER DEFAULT 0
4502 , p_TOT_RFI_AN_INC_RUN IN NUMBER DEFAULT 0
4503 , p_TOT_RFI_AN_INC_PTD IN NUMBER DEFAULT 0
4504 , p_TOT_RFI_AN_INC_YTD IN NUMBER DEFAULT 0
4505 , p_TOT_RFI_INC_CMTD IN NUMBER DEFAULT 0
4506 , p_TOT_RFI_INC_CYTD IN NUMBER DEFAULT 0
4507 , p_TOT_RFI_INC_RUN IN NUMBER DEFAULT 0
4508 , p_TOT_RFI_INC_PTD IN NUMBER DEFAULT 0
4509 , p_TOT_RFI_INC_YTD IN NUMBER DEFAULT 0
4510 , p_TOT_SEA_WRK_DYS_WRK_YTD IN NUMBER DEFAULT 0
4511 , p_TOT_TXB_INC_ITD IN NUMBER DEFAULT 0
4512 , p_TA_NRFI_CMTD IN NUMBER DEFAULT 0
4513 , p_TA_NRFI_CYTD IN NUMBER DEFAULT 0
4514 , p_TA_NRFI_PTD IN NUMBER DEFAULT 0
4515 , p_TA_NRFI_YTD IN NUMBER DEFAULT 0
4516 , p_TA_RFI_CMTD IN NUMBER DEFAULT 0
4517 , p_TA_RFI_CYTD IN NUMBER DEFAULT 0
4518 , p_TA_RFI_PTD IN NUMBER DEFAULT 0
4519 , p_TA_RFI_YTD IN NUMBER DEFAULT 0
4520 , p_USE_VEH_NRFI_CMTD IN NUMBER DEFAULT 0
4521 , p_USE_VEH_NRFI_CYTD IN NUMBER DEFAULT 0
4522 , p_USE_VEH_NRFI_RUN IN NUMBER DEFAULT 0
4523 , p_USE_VEH_NRFI_PTD IN NUMBER DEFAULT 0
4524 , p_USE_VEH_NRFI_YTD IN NUMBER DEFAULT 0
4525 , p_USE_VEH_RFI_CMTD IN NUMBER DEFAULT 0
4526 , p_USE_VEH_RFI_CYTD IN NUMBER DEFAULT 0
4527 , p_USE_VEH_RFI_RUN IN NUMBER DEFAULT 0
4528 , p_USE_VEH_RFI_PTD IN NUMBER DEFAULT 0
4529 , p_USE_VEH_RFI_YTD IN NUMBER DEFAULT 0
4530 ) RETURN NUMBER
4531 AS
4532 l_Dum NUMBER := 1;
4533
4534 BEGIN
4535 -- Balances
4536 bal_TXB_PEN_NRFI_CMTD := p_TXB_PEN_NRFI_CMTD;
4537 bal_TXB_PEN_NRFI_CYTD := p_TXB_PEN_NRFI_CYTD;
4538 bal_TXB_PEN_NRFI_RUN := p_TXB_PEN_NRFI_RUN;
4539 bal_TXB_PEN_NRFI_PTD := p_TXB_PEN_NRFI_PTD;
4540 bal_TXB_PEN_NRFI_YTD := p_TXB_PEN_NRFI_YTD;
4541 bal_TXB_PEN_RFI_CMTD := p_TXB_PEN_RFI_CMTD;
4542 bal_TXB_PEN_RFI_CYTD := p_TXB_PEN_RFI_CYTD;
4543 bal_TXB_PEN_RFI_RUN := p_TXB_PEN_RFI_RUN;
4544 bal_TXB_PEN_RFI_PTD := p_TXB_PEN_RFI_PTD;
4545 bal_TXB_PEN_RFI_YTD := p_TXB_PEN_RFI_YTD;
4546 bal_TEL_ALL_NRFI_CMTD := p_TEL_ALL_NRFI_CMTD;
4547 bal_TEL_ALL_NRFI_CYTD := p_TEL_ALL_NRFI_CYTD;
4548 bal_TEL_ALL_NRFI_RUN := p_TEL_ALL_NRFI_RUN;
4549 bal_TEL_ALL_NRFI_PTD := p_TEL_ALL_NRFI_PTD;
4550 bal_TEL_ALL_NRFI_YTD := p_TEL_ALL_NRFI_YTD;
4551 bal_TEL_ALL_RFI_CMTD := p_TEL_ALL_RFI_CMTD;
4552 bal_TEL_ALL_RFI_CYTD := p_TEL_ALL_RFI_CYTD;
4553 bal_TEL_ALL_RFI_RUN := p_TEL_ALL_RFI_RUN;
4554 bal_TEL_ALL_RFI_PTD := p_TEL_ALL_RFI_PTD;
4555 bal_TEL_ALL_RFI_YTD := p_TEL_ALL_RFI_YTD;
4556 bal_TOOL_ALL_NRFI_CMTD := p_TOOL_ALL_NRFI_CMTD;
4557 bal_TOOL_ALL_NRFI_CYTD := p_TOOL_ALL_NRFI_CYTD;
4558 bal_TOOL_ALL_NRFI_RUN := p_TOOL_ALL_NRFI_RUN;
4559 bal_TOOL_ALL_NRFI_PTD := p_TOOL_ALL_NRFI_PTD;
4560 bal_TOOL_ALL_NRFI_YTD := p_TOOL_ALL_NRFI_YTD;
4561 bal_TOOL_ALL_RFI_CMTD := p_TOOL_ALL_RFI_CMTD;
4562 bal_TOOL_ALL_RFI_CYTD := p_TOOL_ALL_RFI_CYTD;
4563 bal_TOOL_ALL_RFI_RUN := p_TOOL_ALL_RFI_RUN;
4564 bal_TOOL_ALL_RFI_PTD := p_TOOL_ALL_RFI_PTD;
4565 bal_TOOL_ALL_RFI_YTD := p_TOOL_ALL_RFI_YTD;
4566 bal_TOT_INC_PTD := p_TOT_INC_PTD;
4567 bal_TOT_INC_YTD := p_TOT_INC_YTD;
4568 bal_TOT_NRFI_AN_INC_CMTD := p_TOT_NRFI_AN_INC_CMTD;
4569 bal_TOT_NRFI_AN_INC_CYTD := p_TOT_NRFI_AN_INC_CYTD;
4570 bal_TOT_NRFI_AN_INC_RUN := p_TOT_NRFI_AN_INC_RUN;
4571 bal_TOT_NRFI_AN_INC_PTD := p_TOT_NRFI_AN_INC_PTD;
4572 bal_TOT_NRFI_AN_INC_YTD := p_TOT_NRFI_AN_INC_YTD;
4573 bal_TOT_NRFI_INC_CMTD := p_TOT_NRFI_INC_CMTD;
4574 bal_TOT_NRFI_INC_CYTD := p_TOT_NRFI_INC_CYTD;
4575 bal_TOT_NRFI_INC_RUN := p_TOT_NRFI_INC_RUN;
4576 bal_TOT_NRFI_INC_PTD := p_TOT_NRFI_INC_PTD;
4577 bal_TOT_NRFI_INC_YTD := p_TOT_NRFI_INC_YTD;
4578 bal_TOT_RFI_AN_INC_CMTD := p_TOT_RFI_AN_INC_CMTD;
4579 bal_TOT_RFI_AN_INC_CYTD := p_TOT_RFI_AN_INC_CYTD;
4580 bal_TOT_RFI_AN_INC_RUN := p_TOT_RFI_AN_INC_RUN;
4581 bal_TOT_RFI_AN_INC_PTD := p_TOT_RFI_AN_INC_PTD;
4582 bal_TOT_RFI_AN_INC_YTD := p_TOT_RFI_AN_INC_YTD;
4583 bal_TOT_RFI_INC_CMTD := p_TOT_RFI_INC_CMTD;
4584 bal_TOT_RFI_INC_CYTD := p_TOT_RFI_INC_CYTD;
4585 bal_TOT_RFI_INC_RUN := p_TOT_RFI_INC_RUN;
4586 bal_TOT_RFI_INC_PTD := p_TOT_RFI_INC_PTD;
4587 bal_TOT_RFI_INC_YTD := p_TOT_RFI_INC_YTD;
4588 bal_TOT_SEA_WRK_DYS_WRK_YTD := p_TOT_SEA_WRK_DYS_WRK_YTD;
4589 bal_TOT_TXB_INC_ITD := p_TOT_TXB_INC_ITD;
4590 bal_TA_NRFI_CMTD := p_TA_NRFI_CMTD;
4591 bal_TA_NRFI_CYTD := p_TA_NRFI_CYTD;
4592 bal_TA_NRFI_PTD := p_TA_NRFI_PTD;
4593 bal_TA_NRFI_YTD := p_TA_NRFI_YTD;
4594 bal_TA_RFI_CMTD := p_TA_RFI_CMTD;
4595 bal_TA_RFI_CYTD := p_TA_RFI_CYTD;
4596 bal_TA_RFI_PTD := p_TA_RFI_PTD;
4597 bal_TA_RFI_YTD := p_TA_RFI_YTD;
4598 bal_USE_VEH_NRFI_CMTD := p_USE_VEH_NRFI_CMTD;
4599 bal_USE_VEH_NRFI_CYTD := p_USE_VEH_NRFI_CYTD;
4600 bal_USE_VEH_NRFI_RUN := p_USE_VEH_NRFI_RUN;
4601 bal_USE_VEH_NRFI_PTD := p_USE_VEH_NRFI_PTD;
4602 bal_USE_VEH_NRFI_YTD := p_USE_VEH_NRFI_YTD;
4603 bal_USE_VEH_RFI_CMTD := p_USE_VEH_RFI_CMTD;
4604 bal_USE_VEH_RFI_CYTD := p_USE_VEH_RFI_CYTD;
4605 bal_USE_VEH_RFI_RUN := p_USE_VEH_RFI_RUN;
4606 bal_USE_VEH_RFI_PTD := p_USE_VEH_RFI_PTD;
4607 bal_USE_VEH_RFI_YTD := p_USE_VEH_RFI_YTD;
4608
4609 RETURN l_Dum;
4610 EXCEPTION
4611 WHEN OTHERS THEN
4612 hr_utility.set_message(801, 'ZaTxBal4_01032002: '||TO_CHAR(SQLCODE));
4613 hr_utility.raise_error;
4614 END ZaTxBal5_01032002;
4615 -------------------------------------------------------------------------------
4616 -- ZaTx_01032002 --
4617 -- Main Tax module function --
4618 -------------------------------------------------------------------------------
4619 FUNCTION ZaTx_01032002(
4620 /* PARAMETERS */
4621 -- Contexts
4622 ASSIGNMENT_ACTION_ID IN NUMBER
4623 , ASSIGNMENT_ID IN NUMBER
4624 , PAYROLL_ACTION_ID IN NUMBER
4625 , PAYROLL_ID IN NUMBER
4626 -- Out Parameters
4627 , p_LibWrn OUT NOCOPY VARCHAR2
4628 , p_LibFpDR OUT NOCOPY NUMBER
4629 , p_LibFpNI OUT NOCOPY NUMBER
4630 , p_LibFpFB OUT NOCOPY NUMBER
4631 , p_LibFpTA OUT NOCOPY NUMBER
4632 , p_LibFpBP OUT NOCOPY NUMBER
4633 , p_LibFpAB OUT NOCOPY NUMBER
4634 , p_LibFpAP OUT NOCOPY NUMBER
4635 , p_LibFpPO OUT NOCOPY NUMBER
4636 , p_PayValSD OUT NOCOPY NUMBER
4637 , p_PayValEC OUT NOCOPY NUMBER
4638 , p_PayeVal OUT NOCOPY NUMBER
4639 , p_SiteVal OUT NOCOPY NUMBER
4640 , p_It3Ind OUT NOCOPY NUMBER
4641 , p_PfUpdFig OUT NOCOPY NUMBER
4642 , p_RaUpdFig OUT NOCOPY NUMBER
4643 , p_OUpdFig OUT NOCOPY NUMBER
4644 , p_NtiUpdFig OUT NOCOPY NUMBER
4645 , p_OvrWrn OUT NOCOPY VARCHAR2
4646 )RETURN NUMBER
4647 AS
4648 -- Variables
4649 --
4650 l_Dum NUMBER := 1;
4651
4652 -------------------------------------------------------------------------------
4653 BEGIN-- MAIN --
4654 -------------------------------------------------------------------------------
4655 -- Set hr_utility globals if debugging
4656 --
4657 -- py_za_tx_utl_01032002.g_HrTraceEnabled := TRUE;
4658 -- py_za_tx_utl_01032002.g_HrTracePipeName := 'ZATAX';
4659
4660 -- Call hr_utility start procedure
4661 py_za_tx_utl_01032002.StartHrTrace;
4662
4663 -- Setup Trace Header Info
4664 WrtHrTrc(' ');
4665 WrtHrTrc(' ');
4666 WrtHrTrc(' ');
4667 WrtHrTrc('------------------------------------------------------------');
4668 WrtHrTrc('-- Start of Tax Trace File');
4669 WrtHrTrc('------------------------------------------------------------');
4670 WrtHrTrc(' ');
4671 WrtHrTrc('Processing Assignment ID : '||to_char(ASSIGNMENT_ID ));
4672 WrtHrTrc('Assignment Action ID : '||to_char(ASSIGNMENT_ACTION_ID));
4673 WrtHrTrc('Payroll Action ID : '||to_char(PAYROLL_ACTION_ID ));
4674 WrtHrTrc('Payroll ID : '||to_char(PAYROLL_ID ));
4675 WrtHrTrc(' ');
4676 WrtHrTrc('------------------------------------------------------------');
4677 WrtHrTrc(' ');
4678 WrtHrTrc('-------------------------------------------------------------------------------');
4679 WrtHrTrc('-- Application Global Values');
4680 WrtHrTrc('-------------------------------------------------------------------------------');
4681 WrtHrTrc(' glb_ZA_ADL_TX_RBT: '||to_char(glb_ZA_ADL_TX_RBT ));
4682 WrtHrTrc(' glb_ZA_ARR_PF_AN_MX_ABT: '||to_char(glb_ZA_ARR_PF_AN_MX_ABT ));
4683 WrtHrTrc(' glb_ZA_ARR_RA_AN_MX_ABT: '||to_char(glb_ZA_ARR_RA_AN_MX_ABT ));
4684 WrtHrTrc(' glb_ZA_TRV_ALL_TX_PRC: '||to_char(glb_ZA_TRV_ALL_TX_PRC ));
4685 WrtHrTrc(' glb_ZA_CC_TX_PRC: '||to_char(glb_ZA_CC_TX_PRC ));
4686 WrtHrTrc(' glb_ZA_LABOUR_BROK_PERC: '||to_char(glb_ZA_LABOUR_BROK_PERC ));
4687 WrtHrTrc(' glb_ZA_PF_AN_MX_ABT: '||to_char(glb_ZA_PF_AN_MX_ABT ));
4688 WrtHrTrc(' glb_ZA_PF_MX_PRC: '||to_char(glb_ZA_PF_MX_PRC ));
4689 WrtHrTrc(' glb_ZA_PER_SERV_COMP_PERC: '||to_char(glb_ZA_PER_SERV_COMP_PERC));
4690 WrtHrTrc(' glb_ZA_PER_SERV_TRST_PERC: '||to_char(glb_ZA_PER_SERV_TRST_PERC));
4691 WrtHrTrc(' glb_ZA_PRI_TX_RBT: '||to_char(glb_ZA_PRI_TX_RBT ));
4692 WrtHrTrc(' glb_ZA_PRI_TX_THRSHLD: '||to_char(glb_ZA_PRI_TX_THRSHLD ));
4693 WrtHrTrc(' glb_ZA_PBL_TX_PRC: '||to_char(glb_ZA_PBL_TX_PRC ));
4694 WrtHrTrc(' glb_ZA_PBL_TX_RTE: '||to_char(glb_ZA_PBL_TX_RTE ));
4695 WrtHrTrc(' glb_ZA_RA_AN_MX_ABT: '||to_char(glb_ZA_RA_AN_MX_ABT ));
4696 WrtHrTrc(' glb_ZA_RA_MX_PRC: '||to_char(glb_ZA_RA_MX_PRC ));
4697 WrtHrTrc(' glb_ZA_SC_TX_THRSHLD: '||to_char(glb_ZA_SC_TX_THRSHLD ));
4698 WrtHrTrc(' glb_ZA_SIT_LIM: '||to_char(glb_ZA_SIT_LIM ));
4699 WrtHrTrc(' glb_ZA_TMP_TX_RTE: '||to_char(glb_ZA_TMP_TX_RTE ));
4700 WrtHrTrc(' glb_ZA_WRK_DYS_PR_YR: '||to_char(glb_ZA_WRK_DYS_PR_YR ));
4701 WrtHrTrc('-------------------------------------------------------------------------------');
4702 WrtHrTrc('-- Application Database Items');
4703 WrtHrTrc('-------------------------------------------------------------------------------');
4704 WrtHrTrc(' dbi_BP_TX_RCV: '|| dbi_BP_TX_RCV );
4705 WrtHrTrc(' dbi_PAY_PROC_PRD_DTE_PD: '||to_char(dbi_PAY_PROC_PRD_DTE_PD,'DD/MM/YYYY'));
4706 WrtHrTrc(' dbi_PER_AGE: '||to_char(dbi_PER_AGE ));
4707 WrtHrTrc(' dbi_PER_DTE_OF_BRTH: '||to_char(dbi_PER_DTE_OF_BRTH ,'DD/MM/YYYY'));
4708 WrtHrTrc(' dbi_SEA_WRK_DYS_WRK: '||to_char(dbi_SEA_WRK_DYS_WRK ));
4709 WrtHrTrc(' dbi_SES_DTE: '||to_char(dbi_SES_DTE ,'DD/MM/YYYY'));
4710 WrtHrTrc(' dbi_TX_DIR_NUM: '|| dbi_TX_DIR_NUM );
4711 WrtHrTrc(' dbi_TX_DIR_VAL: '||to_char(dbi_TX_DIR_VAL ));
4712 WrtHrTrc(' dbi_TX_STA: '|| dbi_TX_STA );
4713 WrtHrTrc(' dbi_ZA_ACT_END_DTE: '||to_char(dbi_ZA_ACT_END_DTE ,'DD/MM/YYYY'));
4714 WrtHrTrc(' dbi_ZA_ACT_STRT_DTE: '||to_char(dbi_ZA_ACT_STRT_DTE ,'DD/MM/YYYY'));
4715 WrtHrTrc(' dbi_ZA_ASG_TX_RTR_PRD: '|| dbi_ZA_ASG_TX_RTR_PRD );
4716 WrtHrTrc(' dbi_ZA_ASG_TX_YR: '||to_char(dbi_ZA_ASG_TX_YR ));
4717 WrtHrTrc(' dbi_ZA_ASG_TX_YR_END: '||to_char(dbi_ZA_ASG_TX_YR_END ,'DD/MM/YYYY'));
4718 WrtHrTrc(' dbi_ZA_ASG_TX_YR_STRT: '||to_char(dbi_ZA_ASG_TX_YR_STRT ,'DD/MM/YYYY'));
4719 WrtHrTrc(' dbi_ZA_CUR_PRD_END_DTE: '||to_char(dbi_ZA_CUR_PRD_END_DTE ,'DD/MM/YYYY'));
4720 WrtHrTrc(' dbi_ZA_CUR_PRD_STRT_DTE: '||to_char(dbi_ZA_CUR_PRD_STRT_DTE,'DD/MM/YYYY'));
4721 WrtHrTrc(' dbi_ZA_DYS_IN_YR: '||to_char(dbi_ZA_DYS_IN_YR ));
4722 WrtHrTrc(' dbi_ZA_PAY_PRDS_LFT: '||to_char(dbi_ZA_PAY_PRDS_LFT ));
4723 WrtHrTrc(' dbi_ZA_PAY_PRDS_PER_YR: '||to_char(dbi_ZA_PAY_PRDS_PER_YR ));
4724 WrtHrTrc(' dbi_ZA_TX_YR_END: '||to_char(dbi_ZA_TX_YR_END ,'DD/MM/YYYY'));
4725 WrtHrTrc(' dbi_ZA_TX_YR_STRT: '||to_char(dbi_ZA_TX_YR_STRT ,'DD/MM/YYYY'));
4726 WrtHrTrc('-------------------------------------------------------------------------------');
4727 WrtHrTrc('-- Balances');
4728 WrtHrTrc('-------------------------------------------------------------------------------');
4729 WrtHrTrc(' bal_ANN_ARR_PF_CMTD: '||to_char(bal_ANN_ARR_PF_CMTD ));
4730 WrtHrTrc(' bal_ANN_ARR_PF_CYTD: '||to_char(bal_ANN_ARR_PF_CYTD ));
4731 WrtHrTrc(' bal_ANN_ARR_PF_RUN: '||to_char(bal_ANN_ARR_PF_RUN ));
4732 WrtHrTrc(' bal_ANN_ARR_PF_PTD: '||to_char(bal_ANN_ARR_PF_PTD ));
4733 WrtHrTrc(' bal_ANN_ARR_PF_YTD: '||to_char(bal_ANN_ARR_PF_YTD ));
4734 WrtHrTrc(' bal_ANN_ARR_RA_CMTD: '||to_char(bal_ANN_ARR_RA_CMTD ));
4735 WrtHrTrc(' bal_ANN_ARR_RA_CYTD: '||to_char(bal_ANN_ARR_RA_CYTD ));
4736 WrtHrTrc(' bal_ANN_ARR_RA_RUN: '||to_char(bal_ANN_ARR_RA_RUN ));
4737 WrtHrTrc(' bal_ANN_ARR_RA_PTD: '||to_char(bal_ANN_ARR_RA_PTD ));
4738 WrtHrTrc(' bal_ANN_ARR_RA_YTD: '||to_char(bal_ANN_ARR_RA_YTD ));
4739 WrtHrTrc(' bal_AA_PRCHD_RVAL_NRFI_CMTD: '||to_char(bal_AA_PRCHD_RVAL_NRFI_CMTD ));
4740 WrtHrTrc(' bal_AA_PRCHD_RVAL_NRFI_RUN: '||to_char(bal_AA_PRCHD_RVAL_NRFI_RUN ));
4741 WrtHrTrc(' bal_AA_PRCHD_RVAL_NRFI_PTD: '||to_char(bal_AA_PRCHD_RVAL_NRFI_PTD ));
4742 WrtHrTrc(' bal_AA_PRCHD_RVAL_NRFI_YTD: '||to_char(bal_AA_PRCHD_RVAL_NRFI_YTD ));
4743 WrtHrTrc(' bal_AA_PRCHD_RVAL_RFI_CMTD: '||to_char(bal_AA_PRCHD_RVAL_RFI_CMTD ));
4744 WrtHrTrc(' bal_AA_PRCHD_RVAL_RFI_RUN: '||to_char(bal_AA_PRCHD_RVAL_RFI_RUN ));
4745 WrtHrTrc(' bal_AA_PRCHD_RVAL_RFI_PTD: '||to_char(bal_AA_PRCHD_RVAL_RFI_PTD ));
4746 WrtHrTrc(' bal_AA_PRCHD_RVAL_RFI_YTD: '||to_char(bal_AA_PRCHD_RVAL_RFI_YTD ));
4747 WrtHrTrc(' bal_AB_NRFI_CMTD: '||to_char(bal_AB_NRFI_CMTD ));
4748 WrtHrTrc(' bal_AB_NRFI_RUN: '||to_char(bal_AB_NRFI_RUN ));
4749 WrtHrTrc(' bal_AB_NRFI_PTD: '||to_char(bal_AB_NRFI_PTD ));
4750 WrtHrTrc(' bal_AB_NRFI_YTD: '||to_char(bal_AB_NRFI_YTD ));
4751 WrtHrTrc(' bal_AB_RFI_CMTD: '||to_char(bal_AB_RFI_CMTD ));
4752 WrtHrTrc(' bal_AB_RFI_RUN: '||to_char(bal_AB_RFI_RUN ));
4753 WrtHrTrc(' bal_AB_RFI_PTD: '||to_char(bal_AB_RFI_PTD ));
4754 WrtHrTrc(' bal_AB_RFI_YTD: '||to_char(bal_AB_RFI_YTD ));
4755 WrtHrTrc(' bal_ANN_BUR_AND_SCH_NRFI_CMTD '||to_char(bal_ANN_BUR_AND_SCH_NRFI_CMTD));
4756 WrtHrTrc(' bal_ANN_BUR_AND_SCH_NRFI_RUN '||to_char(bal_ANN_BUR_AND_SCH_NRFI_RUN ));
4757 WrtHrTrc(' bal_ANN_BUR_AND_SCH_NRFI_PTD '||to_char(bal_ANN_BUR_AND_SCH_NRFI_PTD ));
4758 WrtHrTrc(' bal_ANN_BUR_AND_SCH_NRFI_YTD '||to_char(bal_ANN_BUR_AND_SCH_NRFI_YTD ));
4759 WrtHrTrc(' bal_ANN_BUR_AND_SCH_RFI_CMTD '||to_char(bal_ANN_BUR_AND_SCH_RFI_CMTD ));
4760 WrtHrTrc(' bal_ANN_BUR_AND_SCH_RFI_RUN '||to_char(bal_ANN_BUR_AND_SCH_RFI_RUN ));
4761 WrtHrTrc(' bal_ANN_BUR_AND_SCH_RFI_PTD '||to_char(bal_ANN_BUR_AND_SCH_RFI_PTD ));
4762 WrtHrTrc(' bal_ANN_BUR_AND_SCH_RFI_YTD '||to_char(bal_ANN_BUR_AND_SCH_RFI_YTD ));
4763 WrtHrTrc(' bal_AC_NRFI_CMTD: '||to_char(bal_AC_NRFI_CMTD ));
4764 WrtHrTrc(' bal_AC_NRFI_RUN: '||to_char(bal_AC_NRFI_RUN ));
4765 WrtHrTrc(' bal_AC_NRFI_PTD: '||to_char(bal_AC_NRFI_PTD ));
4766 WrtHrTrc(' bal_AC_NRFI_YTD: '||to_char(bal_AC_NRFI_YTD ));
4767 WrtHrTrc(' bal_AC_RFI_CMTD: '||to_char(bal_AC_RFI_CMTD ));
4768 WrtHrTrc(' bal_AC_RFI_RUN: '||to_char(bal_AC_RFI_RUN ));
4769 WrtHrTrc(' bal_AC_RFI_PTD: '||to_char(bal_AC_RFI_PTD ));
4770 WrtHrTrc(' bal_AC_RFI_YTD: '||to_char(bal_AC_RFI_YTD ));
4771 WrtHrTrc(' bal_ANN_PF_CMTD: '||to_char(bal_ANN_PF_CMTD ));
4772 WrtHrTrc(' bal_ANN_PF_RUN: '||to_char(bal_ANN_PF_RUN ));
4773 WrtHrTrc(' bal_ANN_PF_PTD: '||to_char(bal_ANN_PF_PTD ));
4774 WrtHrTrc(' bal_ANN_PF_YTD: '||to_char(bal_ANN_PF_YTD ));
4775 WrtHrTrc(' bal_ARES_TRD_NRFI_CMTD: '||to_char(bal_ARES_TRD_NRFI_CMTD ));
4776 WrtHrTrc(' bal_ARES_TRD_NRFI_RUN: '||to_char(bal_ARES_TRD_NRFI_RUN ));
4777 WrtHrTrc(' bal_ARES_TRD_NRFI_PTD: '||to_char(bal_ARES_TRD_NRFI_PTD ));
4778 WrtHrTrc(' bal_ARES_TRD_NRFI_YTD: '||to_char(bal_ARES_TRD_NRFI_YTD ));
4779 WrtHrTrc(' bal_ARES_TRD_RFI_CMTD: '||to_char(bal_ARES_TRD_RFI_CMTD ));
4780 WrtHrTrc(' bal_ARES_TRD_RFI_RUN: '||to_char(bal_ARES_TRD_RFI_RUN ));
4781 WrtHrTrc(' bal_ARES_TRD_RFI_PTD: '||to_char(bal_ARES_TRD_RFI_PTD ));
4782 WrtHrTrc(' bal_ARES_TRD_RFI_YTD: '||to_char(bal_ARES_TRD_RFI_YTD ));
4783 WrtHrTrc(' bal_ANN_RA_CMTD: '||to_char(bal_ANN_RA_CMTD ));
4784 WrtHrTrc(' bal_ANN_RA_CYTD: '||to_char(bal_ANN_RA_CYTD ));
4785 WrtHrTrc(' bal_ANN_RA_RUN: '||to_char(bal_ANN_RA_RUN ));
4786 WrtHrTrc(' bal_ANN_RA_PTD: '||to_char(bal_ANN_RA_PTD ));
4787 WrtHrTrc(' bal_ANN_RA_YTD: '||to_char(bal_ANN_RA_YTD ));
4788 WrtHrTrc(' bal_ANU_FRM_RET_FND_NRFI_CMTD: '||to_char(bal_ANU_FRM_RET_FND_NRFI_CMTD));
4789 WrtHrTrc(' bal_ANU_FRM_RET_FND_NRFI_RUN: '||to_char(bal_ANU_FRM_RET_FND_NRFI_RUN ));
4790 WrtHrTrc(' bal_ANU_FRM_RET_FND_NRFI_PTD: '||to_char(bal_ANU_FRM_RET_FND_NRFI_PTD ));
4791 WrtHrTrc(' bal_ANU_FRM_RET_FND_NRFI_YTD: '||to_char(bal_ANU_FRM_RET_FND_NRFI_YTD ));
4792 WrtHrTrc(' bal_ANU_FRM_RET_FND_RFI_CMTD: '||to_char(bal_ANU_FRM_RET_FND_RFI_CMTD ));
4793 WrtHrTrc(' bal_ANU_FRM_RET_FND_RFI_RUN: '||to_char(bal_ANU_FRM_RET_FND_RFI_RUN ));
4794 WrtHrTrc(' bal_ANU_FRM_RET_FND_RFI_PTD: '||to_char(bal_ANU_FRM_RET_FND_RFI_PTD ));
4795 WrtHrTrc(' bal_ANU_FRM_RET_FND_RFI_YTD: '||to_char(bal_ANU_FRM_RET_FND_RFI_YTD ));
4796 WrtHrTrc(' bal_ARR_PF_CMTD: '||to_char(bal_ARR_PF_CMTD ));
4797 WrtHrTrc(' bal_ARR_PF_CYTD: '||to_char(bal_ARR_PF_CYTD ));
4798 WrtHrTrc(' bal_ARR_PF_PTD: '||to_char(bal_ARR_PF_PTD ));
4799 WrtHrTrc(' bal_ARR_PF_YTD: '||to_char(bal_ARR_PF_YTD ));
4800 WrtHrTrc(' bal_ARR_RA_CMTD: '||to_char(bal_ARR_RA_CMTD ));
4801 WrtHrTrc(' bal_ARR_RA_CYTD: '||to_char(bal_ARR_RA_CYTD ));
4802 WrtHrTrc(' bal_ARR_RA_PTD: '||to_char(bal_ARR_RA_PTD ));
4803 WrtHrTrc(' bal_ARR_RA_YTD: '||to_char(bal_ARR_RA_YTD ));
4804 WrtHrTrc(' bal_AST_PRCHD_RVAL_NRFI_CMTD: '||to_char(bal_AST_PRCHD_RVAL_NRFI_CMTD ));
4805 WrtHrTrc(' bal_AST_PRCHD_RVAL_NRFI_CYTD: '||to_char(bal_AST_PRCHD_RVAL_NRFI_CYTD ));
4806 WrtHrTrc(' bal_AST_PRCHD_RVAL_NRFI_RUN: '||to_char(bal_AST_PRCHD_RVAL_NRFI_RUN ));
4807 WrtHrTrc(' bal_AST_PRCHD_RVAL_NRFI_PTD: '||to_char(bal_AST_PRCHD_RVAL_NRFI_PTD ));
4808 WrtHrTrc(' bal_AST_PRCHD_RVAL_NRFI_YTD: '||to_char(bal_AST_PRCHD_RVAL_NRFI_YTD ));
4809 WrtHrTrc(' bal_AST_PRCHD_RVAL_RFI_CMTD: '||to_char(bal_AST_PRCHD_RVAL_RFI_CMTD ));
4810 WrtHrTrc(' bal_AST_PRCHD_RVAL_RFI_CYTD: '||to_char(bal_AST_PRCHD_RVAL_RFI_CYTD ));
4811 WrtHrTrc(' bal_AST_PRCHD_RVAL_RFI_RUN: '||to_char(bal_AST_PRCHD_RVAL_RFI_RUN ));
4812 WrtHrTrc(' bal_AST_PRCHD_RVAL_RFI_PTD: '||to_char(bal_AST_PRCHD_RVAL_RFI_PTD ));
4813 WrtHrTrc(' bal_AST_PRCHD_RVAL_RFI_YTD: '||to_char(bal_AST_PRCHD_RVAL_RFI_YTD ));
4814 WrtHrTrc(' bal_BP_CMTD: '||to_char(bal_BP_CMTD ));
4815 WrtHrTrc(' bal_BP_PTD: '||to_char(bal_BP_PTD ));
4816 WrtHrTrc(' bal_BP_YTD: '||to_char(bal_BP_YTD ));
4817 WrtHrTrc(' bal_BUR_AND_SCH_NRFI_CMTD: '||to_char(bal_BUR_AND_SCH_NRFI_CMTD ));
4818 WrtHrTrc(' bal_BUR_AND_SCH_NRFI_CYTD: '||to_char(bal_BUR_AND_SCH_NRFI_CYTD ));
4819 WrtHrTrc(' bal_BUR_AND_SCH_NRFI_RUN: '||to_char(bal_BUR_AND_SCH_NRFI_RUN ));
4820 WrtHrTrc(' bal_BUR_AND_SCH_NRFI_PTD: '||to_char(bal_BUR_AND_SCH_NRFI_PTD ));
4821 WrtHrTrc(' bal_BUR_AND_SCH_NRFI_YTD: '||to_char(bal_BUR_AND_SCH_NRFI_YTD ));
4822 WrtHrTrc(' bal_BUR_AND_SCH_RFI_CMTD: '||to_char(bal_BUR_AND_SCH_RFI_CMTD ));
4823 WrtHrTrc(' bal_BUR_AND_SCH_RFI_CYTD: '||to_char(bal_BUR_AND_SCH_RFI_CYTD ));
4824 WrtHrTrc(' bal_BUR_AND_SCH_RFI_RUN: '||to_char(bal_BUR_AND_SCH_RFI_RUN ));
4825 WrtHrTrc(' bal_BUR_AND_SCH_RFI_PTD: '||to_char(bal_BUR_AND_SCH_RFI_PTD ));
4826 WrtHrTrc(' bal_BUR_AND_SCH_RFI_YTD: '||to_char(bal_BUR_AND_SCH_RFI_YTD ));
4827 WrtHrTrc(' bal_COMM_NRFI_CMTD: '||to_char(bal_COMM_NRFI_CMTD ));
4828 WrtHrTrc(' bal_COMM_NRFI_CYTD: '||to_char(bal_COMM_NRFI_CYTD ));
4829 WrtHrTrc(' bal_COMM_NRFI_RUN: '||to_char(bal_COMM_NRFI_RUN ));
4830 WrtHrTrc(' bal_COMM_NRFI_PTD: '||to_char(bal_COMM_NRFI_PTD ));
4831 WrtHrTrc(' bal_COMM_NRFI_YTD: '||to_char(bal_COMM_NRFI_YTD ));
4832 WrtHrTrc(' bal_COMM_RFI_CMTD: '||to_char(bal_COMM_RFI_CMTD ));
4833 WrtHrTrc(' bal_COMM_RFI_CYTD: '||to_char(bal_COMM_RFI_CYTD ));
4834 WrtHrTrc(' bal_COMM_RFI_RUN: '||to_char(bal_COMM_RFI_RUN ));
4835 WrtHrTrc(' bal_COMM_RFI_PTD: '||to_char(bal_COMM_RFI_PTD ));
4836 WrtHrTrc(' bal_COMM_RFI_YTD: '||to_char(bal_COMM_RFI_YTD ));
4837 WrtHrTrc(' bal_COMP_ALL_NRFI_CMTD: '||to_char(bal_COMP_ALL_NRFI_CMTD ));
4838 WrtHrTrc(' bal_COMP_ALL_NRFI_CYTD: '||to_char(bal_COMP_ALL_NRFI_CYTD ));
4839 WrtHrTrc(' bal_COMP_ALL_NRFI_RUN: '||to_char(bal_COMP_ALL_NRFI_RUN ));
4840 WrtHrTrc(' bal_COMP_ALL_NRFI_PTD: '||to_char(bal_COMP_ALL_NRFI_PTD ));
4841 WrtHrTrc(' bal_COMP_ALL_NRFI_YTD: '||to_char(bal_COMP_ALL_NRFI_YTD ));
4842 WrtHrTrc(' bal_COMP_ALL_RFI_CMTD: '||to_char(bal_COMP_ALL_RFI_CMTD ));
4843 WrtHrTrc(' bal_COMP_ALL_RFI_CYTD: '||to_char(bal_COMP_ALL_RFI_CYTD ));
4844 WrtHrTrc(' bal_COMP_ALL_RFI_RUN: '||to_char(bal_COMP_ALL_RFI_RUN ));
4845 WrtHrTrc(' bal_COMP_ALL_RFI_PTD: '||to_char(bal_COMP_ALL_RFI_PTD ));
4846 WrtHrTrc(' bal_COMP_ALL_RFI_YTD: '||to_char(bal_COMP_ALL_RFI_YTD ));
4847 WrtHrTrc(' bal_PF_CMTD: '||to_char(bal_PF_CMTD ));
4848 WrtHrTrc(' bal_PF_CYTD: '||to_char(bal_PF_CYTD ));
4849 WrtHrTrc(' bal_PF_RUN: '||to_char(bal_PF_RUN ));
4850 WrtHrTrc(' bal_PF_PTD: '||to_char(bal_PF_PTD ));
4851 WrtHrTrc(' bal_PF_YTD: '||to_char(bal_PF_YTD ));
4852 WrtHrTrc(' bal_RA_CMTD: '||to_char(bal_RA_CMTD ));
4853 WrtHrTrc(' bal_RA_CYTD: '||to_char(bal_RA_CYTD ));
4854 WrtHrTrc(' bal_RA_RUN: '||to_char(bal_RA_RUN ));
4855 WrtHrTrc(' bal_RA_PTD: '||to_char(bal_RA_PTD ));
4856 WrtHrTrc(' bal_RA_YTD: '||to_char(bal_RA_YTD ));
4857 WrtHrTrc(' bal_DIR_DMD_RMN_ITD '||to_char(bal_DIR_DMD_RMN_ITD ));
4858 WrtHrTrc(' bal_ENT_ALL_NRFI_CMTD: '||to_char(bal_ENT_ALL_NRFI_CMTD ));
4859 WrtHrTrc(' bal_ENT_ALL_NRFI_CYTD: '||to_char(bal_ENT_ALL_NRFI_CYTD ));
4860 WrtHrTrc(' bal_ENT_ALL_NRFI_RUN: '||to_char(bal_ENT_ALL_NRFI_RUN ));
4861 WrtHrTrc(' bal_ENT_ALL_NRFI_PTD: '||to_char(bal_ENT_ALL_NRFI_PTD ));
4862 WrtHrTrc(' bal_ENT_ALL_NRFI_YTD: '||to_char(bal_ENT_ALL_NRFI_YTD ));
4863 WrtHrTrc(' bal_ENT_ALL_RFI_CMTD: '||to_char(bal_ENT_ALL_RFI_CMTD ));
4864 WrtHrTrc(' bal_ENT_ALL_RFI_CYTD: '||to_char(bal_ENT_ALL_RFI_CYTD ));
4865 WrtHrTrc(' bal_ENT_ALL_RFI_RUN: '||to_char(bal_ENT_ALL_RFI_RUN ));
4866 WrtHrTrc(' bal_ENT_ALL_RFI_PTD: '||to_char(bal_ENT_ALL_RFI_PTD ));
4867 WrtHrTrc(' bal_ENT_ALL_RFI_YTD: '||to_char(bal_ENT_ALL_RFI_YTD ));
4868 WrtHrTrc(' bal_EXC_ARR_PEN_ITD: '||to_char(bal_EXC_ARR_PEN_ITD ));
4869 WrtHrTrc(' bal_EXC_ARR_PEN_PTD: '||to_char(bal_EXC_ARR_PEN_PTD ));
4870 WrtHrTrc(' bal_EXC_ARR_PEN_YTD: '||to_char(bal_EXC_ARR_PEN_YTD ));
4871 WrtHrTrc(' bal_EXC_ARR_RA_ITD: '||to_char(bal_EXC_ARR_RA_ITD ));
4872 WrtHrTrc(' bal_EXC_ARR_RA_PTD: '||to_char(bal_EXC_ARR_RA_PTD ));
4873 WrtHrTrc(' bal_EXC_ARR_RA_YTD: '||to_char(bal_EXC_ARR_RA_YTD ));
4874 WrtHrTrc(' bal_FREE_ACCOM_NRFI_CMTD: '||to_char(bal_FREE_ACCOM_NRFI_CMTD ));
4875 WrtHrTrc(' bal_FREE_ACCOM_NRFI_CYTD: '||to_char(bal_FREE_ACCOM_NRFI_CYTD ));
4876 WrtHrTrc(' bal_FREE_ACCOM_NRFI_RUN: '||to_char(bal_FREE_ACCOM_NRFI_RUN ));
4877 WrtHrTrc(' bal_FREE_ACCOM_NRFI_PTD: '||to_char(bal_FREE_ACCOM_NRFI_PTD ));
4878 WrtHrTrc(' bal_FREE_ACCOM_NRFI_YTD: '||to_char(bal_FREE_ACCOM_NRFI_YTD ));
4879 WrtHrTrc(' bal_FREE_ACCOM_RFI_CMTD: '||to_char(bal_FREE_ACCOM_RFI_CMTD ));
4880 WrtHrTrc(' bal_FREE_ACCOM_RFI_CYTD: '||to_char(bal_FREE_ACCOM_RFI_CYTD ));
4881 WrtHrTrc(' bal_FREE_ACCOM_RFI_RUN: '||to_char(bal_FREE_ACCOM_RFI_RUN ));
4882 WrtHrTrc(' bal_FREE_ACCOM_RFI_PTD: '||to_char(bal_FREE_ACCOM_RFI_PTD ));
4883 WrtHrTrc(' bal_FREE_ACCOM_RFI_YTD: '||to_char(bal_FREE_ACCOM_RFI_YTD ));
4884 WrtHrTrc(' bal_FREE_SERV_NRFI_CMTD: '||to_char(bal_FREE_SERV_NRFI_CMTD ));
4885 WrtHrTrc(' bal_FREE_SERV_NRFI_CYTD: '||to_char(bal_FREE_SERV_NRFI_CYTD ));
4886 WrtHrTrc(' bal_FREE_SERV_NRFI_RUN: '||to_char(bal_FREE_SERV_NRFI_RUN ));
4887 WrtHrTrc(' bal_FREE_SERV_NRFI_PTD: '||to_char(bal_FREE_SERV_NRFI_PTD ));
4888 WrtHrTrc(' bal_FREE_SERV_NRFI_YTD: '||to_char(bal_FREE_SERV_NRFI_YTD ));
4889 WrtHrTrc(' bal_FREE_SERV_RFI_CMTD: '||to_char(bal_FREE_SERV_RFI_CMTD ));
4890 WrtHrTrc(' bal_FREE_SERV_RFI_CYTD: '||to_char(bal_FREE_SERV_RFI_CYTD ));
4891 WrtHrTrc(' bal_FREE_SERV_RFI_RUN: '||to_char(bal_FREE_SERV_RFI_RUN ));
4892 WrtHrTrc(' bal_FREE_SERV_RFI_PTD: '||to_char(bal_FREE_SERV_RFI_PTD ));
4893 WrtHrTrc(' bal_FREE_SERV_RFI_YTD: '||to_char(bal_FREE_SERV_RFI_YTD ));
4894 WrtHrTrc(' bal_LOW_LOANS_NRFI_CMTD: '||to_char(bal_LOW_LOANS_NRFI_CMTD ));
4895 WrtHrTrc(' bal_LOW_LOANS_NRFI_CYTD: '||to_char(bal_LOW_LOANS_NRFI_CYTD ));
4896 WrtHrTrc(' bal_LOW_LOANS_NRFI_RUN: '||to_char(bal_LOW_LOANS_NRFI_RUN ));
4897 WrtHrTrc(' bal_LOW_LOANS_NRFI_PTD: '||to_char(bal_LOW_LOANS_NRFI_PTD ));
4898 WrtHrTrc(' bal_LOW_LOANS_NRFI_YTD: '||to_char(bal_LOW_LOANS_NRFI_YTD ));
4899 WrtHrTrc(' bal_LOW_LOANS_RFI_CMTD: '||to_char(bal_LOW_LOANS_RFI_CMTD ));
4900 WrtHrTrc(' bal_LOW_LOANS_RFI_CYTD: '||to_char(bal_LOW_LOANS_RFI_CYTD ));
4901 WrtHrTrc(' bal_LOW_LOANS_RFI_RUN: '||to_char(bal_LOW_LOANS_RFI_RUN ));
4902 WrtHrTrc(' bal_LOW_LOANS_RFI_PTD: '||to_char(bal_LOW_LOANS_RFI_PTD ));
4903 WrtHrTrc(' bal_LOW_LOANS_RFI_YTD: '||to_char(bal_LOW_LOANS_RFI_YTD ));
4904 WrtHrTrc(' bal_MLS_AND_VOUCH_NRFI_CMTD: '||to_char(bal_MLS_AND_VOUCH_NRFI_CMTD ));
4905 WrtHrTrc(' bal_MLS_AND_VOUCH_NRFI_CYTD: '||to_char(bal_MLS_AND_VOUCH_NRFI_CYTD ));
4906 WrtHrTrc(' bal_MLS_AND_VOUCH_NRFI_RUN: '||to_char(bal_MLS_AND_VOUCH_NRFI_RUN ));
4907 WrtHrTrc(' bal_MLS_AND_VOUCH_NRFI_PTD: '||to_char(bal_MLS_AND_VOUCH_NRFI_PTD ));
4908 WrtHrTrc(' bal_MLS_AND_VOUCH_NRFI_YTD: '||to_char(bal_MLS_AND_VOUCH_NRFI_YTD ));
4909 WrtHrTrc(' bal_MLS_AND_VOUCH_RFI_CMTD: '||to_char(bal_MLS_AND_VOUCH_RFI_CMTD ));
4910 WrtHrTrc(' bal_MLS_AND_VOUCH_RFI_CYTD: '||to_char(bal_MLS_AND_VOUCH_RFI_CYTD ));
4911 WrtHrTrc(' bal_MLS_AND_VOUCH_RFI_RUN: '||to_char(bal_MLS_AND_VOUCH_RFI_RUN ));
4912 WrtHrTrc(' bal_MLS_AND_VOUCH_RFI_PTD: '||to_char(bal_MLS_AND_VOUCH_RFI_PTD ));
4913 WrtHrTrc(' bal_MLS_AND_VOUCH_RFI_YTD: '||to_char(bal_MLS_AND_VOUCH_RFI_YTD ));
4914 WrtHrTrc(' bal_MED_CONTR_CMTD: '||to_char(bal_MED_CONTR_CMTD ));
4915 WrtHrTrc(' bal_MED_CONTR_CYTD: '||to_char(bal_MED_CONTR_CYTD ));
4916 WrtHrTrc(' bal_MED_CONTR_RUN: '||to_char(bal_MED_CONTR_RUN ));
4917 WrtHrTrc(' bal_MED_CONTR_PTD: '||to_char(bal_MED_CONTR_PTD ));
4918 WrtHrTrc(' bal_MED_CONTR_YTD: '||to_char(bal_MED_CONTR_YTD ));
4919 WrtHrTrc(' bal_MED_PAID_NRFI_CMTD: '||to_char(bal_MED_PAID_NRFI_CMTD ));
4920 WrtHrTrc(' bal_MED_PAID_NRFI_CYTD: '||to_char(bal_MED_PAID_NRFI_CYTD ));
4921 WrtHrTrc(' bal_MED_PAID_NRFI_RUN: '||to_char(bal_MED_PAID_NRFI_RUN ));
4922 WrtHrTrc(' bal_MED_PAID_NRFI_PTD: '||to_char(bal_MED_PAID_NRFI_PTD ));
4923 WrtHrTrc(' bal_MED_PAID_NRFI_YTD: '||to_char(bal_MED_PAID_NRFI_YTD ));
4924 WrtHrTrc(' bal_MED_PAID_RFI_CMTD: '||to_char(bal_MED_PAID_RFI_CMTD ));
4925 WrtHrTrc(' bal_MED_PAID_RFI_CYTD: '||to_char(bal_MED_PAID_RFI_CYTD ));
4926 WrtHrTrc(' bal_MED_PAID_RFI_RUN: '||to_char(bal_MED_PAID_RFI_RUN ));
4927 WrtHrTrc(' bal_MED_PAID_RFI_PTD: '||to_char(bal_MED_PAID_RFI_PTD ));
4928 WrtHrTrc(' bal_MED_PAID_RFI_YTD: '||to_char(bal_MED_PAID_RFI_YTD ));
4929 WrtHrTrc(' bal_NET_PAY_RUN: '||to_char(bal_NET_PAY_RUN ));
4930 WrtHrTrc(' bal_NET_TXB_INC_CMTD: '||to_char(bal_NET_TXB_INC_CMTD ));
4931 WrtHrTrc(' bal_OTHER_TXB_ALL_NRFI_CMTD: '||to_char(bal_OTHER_TXB_ALL_NRFI_CMTD ));
4932 WrtHrTrc(' bal_OTHER_TXB_ALL_NRFI_CYTD: '||to_char(bal_OTHER_TXB_ALL_NRFI_CYTD ));
4933 WrtHrTrc(' bal_OTHER_TXB_ALL_NRFI_RUN: '||to_char(bal_OTHER_TXB_ALL_NRFI_RUN ));
4934 WrtHrTrc(' bal_OTHER_TXB_ALL_NRFI_PTD: '||to_char(bal_OTHER_TXB_ALL_NRFI_PTD ));
4935 WrtHrTrc(' bal_OTHER_TXB_ALL_NRFI_YTD: '||to_char(bal_OTHER_TXB_ALL_NRFI_YTD ));
4936 WrtHrTrc(' bal_OTHER_TXB_ALL_RFI_CMTD: '||to_char(bal_OTHER_TXB_ALL_RFI_CMTD ));
4937 WrtHrTrc(' bal_OTHER_TXB_ALL_RFI_CYTD: '||to_char(bal_OTHER_TXB_ALL_RFI_CYTD ));
4938 WrtHrTrc(' bal_OTHER_TXB_ALL_RFI_RUN: '||to_char(bal_OTHER_TXB_ALL_RFI_RUN ));
4939 WrtHrTrc(' bal_OTHER_TXB_ALL_RFI_PTD: '||to_char(bal_OTHER_TXB_ALL_RFI_PTD ));
4940 WrtHrTrc(' bal_OTHER_TXB_ALL_RFI_YTD: '||to_char(bal_OTHER_TXB_ALL_RFI_YTD ));
4941 WrtHrTrc(' bal_OVTM_NRFI_CMTD: '||to_char(bal_OVTM_NRFI_CMTD ));
4942 WrtHrTrc(' bal_OVTM_NRFI_CYTD: '||to_char(bal_OVTM_NRFI_CYTD ));
4943 WrtHrTrc(' bal_OVTM_NRFI_RUN: '||to_char(bal_OVTM_NRFI_RUN ));
4944 WrtHrTrc(' bal_OVTM_NRFI_PTD: '||to_char(bal_OVTM_NRFI_PTD ));
4945 WrtHrTrc(' bal_OVTM_NRFI_YTD: '||to_char(bal_OVTM_NRFI_YTD ));
4946 WrtHrTrc(' bal_OVTM_RFI_CMTD: '||to_char(bal_OVTM_RFI_CMTD ));
4947 WrtHrTrc(' bal_OVTM_RFI_CYTD: '||to_char(bal_OVTM_RFI_CYTD ));
4948 WrtHrTrc(' bal_OVTM_RFI_RUN: '||to_char(bal_OVTM_RFI_RUN ));
4949 WrtHrTrc(' bal_OVTM_RFI_PTD: '||to_char(bal_OVTM_RFI_PTD ));
4950 WrtHrTrc(' bal_OVTM_RFI_YTD: '||to_char(bal_OVTM_RFI_YTD ));
4951 WrtHrTrc(' bal_PAYE_YTD: '||to_char(bal_PAYE_YTD ));
4952 WrtHrTrc(' bal_PYM_DBT_NRFI_CMTD: '||to_char(bal_PYM_DBT_NRFI_CMTD ));
4953 WrtHrTrc(' bal_PYM_DBT_NRFI_CYTD: '||to_char(bal_PYM_DBT_NRFI_CYTD ));
4954 WrtHrTrc(' bal_PYM_DBT_NRFI_RUN: '||to_char(bal_PYM_DBT_NRFI_RUN ));
4955 WrtHrTrc(' bal_PYM_DBT_NRFI_PTD: '||to_char(bal_PYM_DBT_NRFI_PTD ));
4956 WrtHrTrc(' bal_PYM_DBT_NRFI_YTD: '||to_char(bal_PYM_DBT_NRFI_YTD ));
4957 WrtHrTrc(' bal_PYM_DBT_RFI_CMTD: '||to_char(bal_PYM_DBT_RFI_CMTD ));
4958 WrtHrTrc(' bal_PYM_DBT_RFI_CYTD: '||to_char(bal_PYM_DBT_RFI_CYTD ));
4959 WrtHrTrc(' bal_PYM_DBT_RFI_RUN: '||to_char(bal_PYM_DBT_RFI_RUN ));
4960 WrtHrTrc(' bal_PYM_DBT_RFI_PTD: '||to_char(bal_PYM_DBT_RFI_PTD ));
4961 WrtHrTrc(' bal_PYM_DBT_RFI_YTD: '||to_char(bal_PYM_DBT_RFI_YTD ));
4962 WrtHrTrc(' bal_PO_NRFI_CMTD: '||to_char(bal_PO_NRFI_CMTD ));
4963 WrtHrTrc(' bal_PO_NRFI_RUN: '||to_char(bal_PO_NRFI_RUN ));
4964 WrtHrTrc(' bal_PO_NRFI_PTD: '||to_char(bal_PO_NRFI_PTD ));
4965 WrtHrTrc(' bal_PO_NRFI_YTD: '||to_char(bal_PO_NRFI_YTD ));
4966 WrtHrTrc(' bal_PO_RFI_CMTD: '||to_char(bal_PO_RFI_CMTD ));
4967 WrtHrTrc(' bal_PO_RFI_RUN: '||to_char(bal_PO_RFI_RUN ));
4968 WrtHrTrc(' bal_PO_RFI_PTD: '||to_char(bal_PO_RFI_PTD ));
4969 WrtHrTrc(' bal_PO_RFI_YTD: '||to_char(bal_PO_RFI_YTD ));
4970 WrtHrTrc(' bal_PRCH_ANU_TXB_NRFI_CMTD: '||to_char(bal_PRCH_ANU_TXB_NRFI_CMTD ));
4971 WrtHrTrc(' bal_PRCH_ANU_TXB_NRFI_RUN: '||to_char(bal_PRCH_ANU_TXB_NRFI_RUN ));
4972 WrtHrTrc(' bal_PRCH_ANU_TXB_NRFI_PTD: '||to_char(bal_PRCH_ANU_TXB_NRFI_PTD ));
4973 WrtHrTrc(' bal_PRCH_ANU_TXB_NRFI_YTD: '||to_char(bal_PRCH_ANU_TXB_NRFI_YTD ));
4974 WrtHrTrc(' bal_PRCH_ANU_TXB_RFI_CMTD: '||to_char(bal_PRCH_ANU_TXB_RFI_CMTD ));
4975 WrtHrTrc(' bal_PRCH_ANU_TXB_RFI_RUN: '||to_char(bal_PRCH_ANU_TXB_RFI_RUN ));
4976 WrtHrTrc(' bal_PRCH_ANU_TXB_RFI_PTD: '||to_char(bal_PRCH_ANU_TXB_RFI_PTD ));
4977 WrtHrTrc(' bal_PRCH_ANU_TXB_RFI_YTD: '||to_char(bal_PRCH_ANU_TXB_RFI_YTD ));
4978 WrtHrTrc(' bal_RES_TRD_NRFI_CMTD: '||to_char(bal_RES_TRD_NRFI_CMTD ));
4979 WrtHrTrc(' bal_RES_TRD_NRFI_CYTD: '||to_char(bal_RES_TRD_NRFI_CYTD ));
4980 WrtHrTrc(' bal_RES_TRD_NRFI_RUN: '||to_char(bal_RES_TRD_NRFI_RUN ));
4981 WrtHrTrc(' bal_RES_TRD_NRFI_PTD: '||to_char(bal_RES_TRD_NRFI_PTD ));
4982 WrtHrTrc(' bal_RES_TRD_NRFI_YTD: '||to_char(bal_RES_TRD_NRFI_YTD ));
4983 WrtHrTrc(' bal_RES_TRD_RFI_CMTD: '||to_char(bal_RES_TRD_RFI_CMTD ));
4984 WrtHrTrc(' bal_RES_TRD_RFI_CYTD: '||to_char(bal_RES_TRD_RFI_CYTD ));
4985 WrtHrTrc(' bal_RES_TRD_RFI_RUN: '||to_char(bal_RES_TRD_RFI_RUN ));
4986 WrtHrTrc(' bal_RES_TRD_RFI_PTD: '||to_char(bal_RES_TRD_RFI_PTD ));
4987 WrtHrTrc(' bal_RES_TRD_RFI_YTD: '||to_char(bal_RES_TRD_RFI_YTD ));
4988 WrtHrTrc(' bal_RGT_AST_NRFI_CMTD: '||to_char(bal_RGT_AST_NRFI_CMTD ));
4989 WrtHrTrc(' bal_RGT_AST_NRFI_CYTD: '||to_char(bal_RGT_AST_NRFI_CYTD ));
4990 WrtHrTrc(' bal_RGT_AST_NRFI_RUN: '||to_char(bal_RGT_AST_NRFI_RUN ));
4991 WrtHrTrc(' bal_RGT_AST_NRFI_PTD: '||to_char(bal_RGT_AST_NRFI_PTD ));
4992 WrtHrTrc(' bal_RGT_AST_NRFI_YTD: '||to_char(bal_RGT_AST_NRFI_YTD ));
4993 WrtHrTrc(' bal_RGT_AST_RFI_CMTD: '||to_char(bal_RGT_AST_RFI_CMTD ));
4994 WrtHrTrc(' bal_RGT_AST_RFI_CYTD: '||to_char(bal_RGT_AST_RFI_CYTD ));
4995 WrtHrTrc(' bal_RGT_AST_RFI_RUN: '||to_char(bal_RGT_AST_RFI_RUN ));
4996 WrtHrTrc(' bal_RGT_AST_RFI_PTD: '||to_char(bal_RGT_AST_RFI_PTD ));
4997 WrtHrTrc(' bal_RGT_AST_RFI_YTD: '||to_char(bal_RGT_AST_RFI_YTD ));
4998 WrtHrTrc(' bal_SITE_YTD: '||to_char(bal_SITE_YTD ));
4999 WrtHrTrc(' bal_TAX_YTD: '||to_char(bal_TAX_YTD ));
5000 WrtHrTrc(' bal_TX_ON_AB_PTD: '||to_char(bal_TX_ON_AB_PTD ));
5001 WrtHrTrc(' bal_TX_ON_AB_YTD: '||to_char(bal_TX_ON_AB_YTD ));
5002 WrtHrTrc(' bal_TX_ON_AP_RUN: '||to_char(bal_TX_ON_AP_RUN ));
5003 WrtHrTrc(' bal_TX_ON_AP_PTD: '||to_char(bal_TX_ON_AP_PTD ));
5004 WrtHrTrc(' bal_TX_ON_AP_YTD: '||to_char(bal_TX_ON_AP_YTD ));
5005 WrtHrTrc(' bal_TX_ON_BP_PTD: '||to_char(bal_TX_ON_BP_PTD ));
5006 WrtHrTrc(' bal_TX_ON_BP_YTD: '||to_char(bal_TX_ON_BP_YTD ));
5007 WrtHrTrc(' bal_TX_ON_TA_PTD: '||to_char(bal_TX_ON_TA_PTD ));
5008 WrtHrTrc(' bal_TX_ON_TA_YTD: '||to_char(bal_TX_ON_TA_YTD ));
5009 WrtHrTrc(' bal_TX_ON_DR_PTD: '||to_char(bal_TX_ON_DR_PTD ));
5010 WrtHrTrc(' bal_TX_ON_DR_YTD: '||to_char(bal_TX_ON_DR_YTD ));
5011 WrtHrTrc(' bal_TX_ON_FB_PTD: '||to_char(bal_TX_ON_FB_PTD ));
5012 WrtHrTrc(' bal_TX_ON_FB_YTD: '||to_char(bal_TX_ON_FB_YTD ));
5013 WrtHrTrc(' bal_TX_ON_NI_PTD: '||to_char(bal_TX_ON_NI_PTD ));
5014 WrtHrTrc(' bal_TX_ON_NI_YTD: '||to_char(bal_TX_ON_NI_YTD ));
5015 WrtHrTrc(' bal_TX_ON_PO_PTD: '||to_char(bal_TX_ON_PO_PTD ));
5016 WrtHrTrc(' bal_TX_ON_PO_YTD: '||to_char(bal_TX_ON_PO_YTD ));
5017 WrtHrTrc(' bal_TXB_AP_NRFI_CMTD: '||to_char(bal_TXB_AP_NRFI_CMTD ));
5018 WrtHrTrc(' bal_TXB_AP_NRFI_RUN: '||to_char(bal_TXB_AP_NRFI_RUN ));
5019 WrtHrTrc(' bal_TXB_AP_NRFI_PTD: '||to_char(bal_TXB_AP_NRFI_PTD ));
5020 WrtHrTrc(' bal_TXB_AP_NRFI_YTD: '||to_char(bal_TXB_AP_NRFI_YTD ));
5021 WrtHrTrc(' bal_TXB_AP_RFI_CMTD: '||to_char(bal_TXB_AP_RFI_CMTD ));
5022 WrtHrTrc(' bal_TXB_AP_RFI_RUN: '||to_char(bal_TXB_AP_RFI_RUN ));
5023 WrtHrTrc(' bal_TXB_AP_RFI_PTD: '||to_char(bal_TXB_AP_RFI_PTD ));
5024 WrtHrTrc(' bal_TXB_AP_RFI_YTD: '||to_char(bal_TXB_AP_RFI_YTD ));
5025 WrtHrTrc(' bal_TXB_INC_NRFI_CMTD: '||to_char(bal_TXB_INC_NRFI_CMTD ));
5026 WrtHrTrc(' bal_TXB_INC_NRFI_CYTD: '||to_char(bal_TXB_INC_NRFI_CYTD ));
5027 WrtHrTrc(' bal_TXB_INC_NRFI_RUN: '||to_char(bal_TXB_INC_NRFI_RUN ));
5028 WrtHrTrc(' bal_TXB_INC_NRFI_PTD: '||to_char(bal_TXB_INC_NRFI_PTD ));
5029 WrtHrTrc(' bal_TXB_INC_NRFI_YTD: '||to_char(bal_TXB_INC_NRFI_YTD ));
5030 WrtHrTrc(' bal_TXB_INC_RFI_CMTD: '||to_char(bal_TXB_INC_RFI_CMTD ));
5031 WrtHrTrc(' bal_TXB_INC_RFI_CYTD: '||to_char(bal_TXB_INC_RFI_CYTD ));
5032 WrtHrTrc(' bal_TXB_INC_RFI_RUN: '||to_char(bal_TXB_INC_RFI_RUN ));
5033 WrtHrTrc(' bal_TXB_INC_RFI_PTD: '||to_char(bal_TXB_INC_RFI_PTD ));
5034 WrtHrTrc(' bal_TXB_INC_RFI_YTD: '||to_char(bal_TXB_INC_RFI_YTD ));
5035 WrtHrTrc(' bal_TXB_PEN_NRFI_CMTD: '||to_char(bal_TXB_PEN_NRFI_CMTD ));
5036 WrtHrTrc(' bal_TXB_PEN_NRFI_CYTD: '||to_char(bal_TXB_PEN_NRFI_CYTD ));
5037 WrtHrTrc(' bal_TXB_PEN_NRFI_RUN: '||to_char(bal_TXB_PEN_NRFI_RUN ));
5038 WrtHrTrc(' bal_TXB_PEN_NRFI_PTD: '||to_char(bal_TXB_PEN_NRFI_PTD ));
5039 WrtHrTrc(' bal_TXB_PEN_NRFI_YTD: '||to_char(bal_TXB_PEN_NRFI_YTD ));
5040 WrtHrTrc(' bal_TXB_PEN_RFI_CMTD: '||to_char(bal_TXB_PEN_RFI_CMTD ));
5041 WrtHrTrc(' bal_TXB_PEN_RFI_CYTD: '||to_char(bal_TXB_PEN_RFI_CYTD ));
5042 WrtHrTrc(' bal_TXB_PEN_RFI_RUN: '||to_char(bal_TXB_PEN_RFI_RUN ));
5043 WrtHrTrc(' bal_TXB_PEN_RFI_PTD: '||to_char(bal_TXB_PEN_RFI_PTD ));
5044 WrtHrTrc(' bal_TXB_PEN_RFI_YTD: '||to_char(bal_TXB_PEN_RFI_YTD ));
5045 WrtHrTrc(' bal_TEL_ALL_NRFI_CMTD: '||to_char(bal_TEL_ALL_NRFI_CMTD ));
5046 WrtHrTrc(' bal_TEL_ALL_NRFI_CYTD: '||to_char(bal_TEL_ALL_NRFI_CYTD ));
5047 WrtHrTrc(' bal_TEL_ALL_NRFI_RUN: '||to_char(bal_TEL_ALL_NRFI_RUN ));
5048 WrtHrTrc(' bal_TEL_ALL_NRFI_PTD: '||to_char(bal_TEL_ALL_NRFI_PTD ));
5049 WrtHrTrc(' bal_TEL_ALL_NRFI_YTD: '||to_char(bal_TEL_ALL_NRFI_YTD ));
5050 WrtHrTrc(' bal_TEL_ALL_RFI_CMTD: '||to_char(bal_TEL_ALL_RFI_CMTD ));
5051 WrtHrTrc(' bal_TEL_ALL_RFI_CYTD: '||to_char(bal_TEL_ALL_RFI_CYTD ));
5052 WrtHrTrc(' bal_TEL_ALL_RFI_RUN: '||to_char(bal_TEL_ALL_RFI_RUN ));
5053 WrtHrTrc(' bal_TEL_ALL_RFI_PTD: '||to_char(bal_TEL_ALL_RFI_PTD ));
5054 WrtHrTrc(' bal_TEL_ALL_RFI_YTD: '||to_char(bal_TEL_ALL_RFI_YTD ));
5055 WrtHrTrc(' bal_TOOL_ALL_NRFI_CMTD: '||to_char(bal_TOOL_ALL_NRFI_CMTD ));
5056 WrtHrTrc(' bal_TOOL_ALL_NRFI_CYTD: '||to_char(bal_TOOL_ALL_NRFI_CYTD ));
5057 WrtHrTrc(' bal_TOOL_ALL_NRFI_RUN: '||to_char(bal_TOOL_ALL_NRFI_RUN ));
5058 WrtHrTrc(' bal_TOOL_ALL_NRFI_PTD: '||to_char(bal_TOOL_ALL_NRFI_PTD ));
5059 WrtHrTrc(' bal_TOOL_ALL_NRFI_YTD: '||to_char(bal_TOOL_ALL_NRFI_YTD ));
5060 WrtHrTrc(' bal_TOOL_ALL_RFI_CMTD: '||to_char(bal_TOOL_ALL_RFI_CMTD ));
5061 WrtHrTrc(' bal_TOOL_ALL_RFI_CYTD: '||to_char(bal_TOOL_ALL_RFI_CYTD ));
5062 WrtHrTrc(' bal_TOOL_ALL_RFI_RUN: '||to_char(bal_TOOL_ALL_RFI_RUN ));
5063 WrtHrTrc(' bal_TOOL_ALL_RFI_PTD: '||to_char(bal_TOOL_ALL_RFI_PTD ));
5064 WrtHrTrc(' bal_TOOL_ALL_RFI_YTD: '||to_char(bal_TOOL_ALL_RFI_YTD ));
5065 WrtHrTrc(' bal_TOT_INC_PTD: '||to_char(bal_TOT_INC_PTD ));
5066 WrtHrTrc(' bal_TOT_INC_YTD: '||to_char(bal_TOT_INC_YTD ));
5067 WrtHrTrc(' bal_TOT_NRFI_AN_INC_CMTD: '||to_char(bal_TOT_NRFI_AN_INC_CMTD ));
5068 WrtHrTrc(' bal_TOT_NRFI_AN_INC_CYTD: '||to_char(bal_TOT_NRFI_AN_INC_CYTD ));
5069 WrtHrTrc(' bal_TOT_NRFI_AN_INC_RUN: '||to_char(bal_TOT_NRFI_AN_INC_RUN ));
5070 WrtHrTrc(' bal_TOT_NRFI_AN_INC_PTD: '||to_char(bal_TOT_NRFI_AN_INC_PTD ));
5071 WrtHrTrc(' bal_TOT_NRFI_AN_INC_YTD: '||to_char(bal_TOT_NRFI_AN_INC_YTD ));
5072 WrtHrTrc(' bal_TOT_NRFI_INC_CMTD: '||to_char(bal_TOT_NRFI_INC_CMTD ));
5073 WrtHrTrc(' bal_TOT_NRFI_INC_CYTD: '||to_char(bal_TOT_NRFI_INC_CYTD ));
5074 WrtHrTrc(' bal_TOT_NRFI_INC_RUN: '||to_char(bal_TOT_NRFI_INC_RUN ));
5075 WrtHrTrc(' bal_TOT_NRFI_INC_PTD: '||to_char(bal_TOT_NRFI_INC_PTD ));
5076 WrtHrTrc(' bal_TOT_NRFI_INC_YTD: '||to_char(bal_TOT_NRFI_INC_YTD ));
5077 WrtHrTrc(' bal_TOT_RFI_AN_INC_CMTD: '||to_char(bal_TOT_RFI_AN_INC_CMTD ));
5078 WrtHrTrc(' bal_TOT_RFI_AN_INC_CYTD: '||to_char(bal_TOT_RFI_AN_INC_CYTD ));
5079 WrtHrTrc(' bal_TOT_RFI_AN_INC_RUN: '||to_char(bal_TOT_RFI_AN_INC_RUN ));
5080 WrtHrTrc(' bal_TOT_RFI_AN_INC_PTD: '||to_char(bal_TOT_RFI_AN_INC_PTD ));
5081 WrtHrTrc(' bal_TOT_RFI_AN_INC_YTD: '||to_char(bal_TOT_RFI_AN_INC_YTD ));
5082 WrtHrTrc(' bal_TOT_RFI_INC_CMTD: '||to_char(bal_TOT_RFI_INC_CMTD ));
5083 WrtHrTrc(' bal_TOT_RFI_INC_CYTD: '||to_char(bal_TOT_RFI_INC_CYTD ));
5084 WrtHrTrc(' bal_TOT_RFI_INC_RUN: '||to_char(bal_TOT_RFI_INC_RUN ));
5085 WrtHrTrc(' bal_TOT_RFI_INC_PTD: '||to_char(bal_TOT_RFI_INC_PTD ));
5086 WrtHrTrc(' bal_TOT_RFI_INC_YTD: '||to_char(bal_TOT_RFI_INC_YTD ));
5087 WrtHrTrc(' bal_TOT_SEA_WRK_DYS_WRK_YTD: '||to_char(bal_TOT_SEA_WRK_DYS_WRK_YTD ));
5088 WrtHrTrc(' bal_TOT_TXB_INC_ITD: '||to_char(bal_TOT_TXB_INC_ITD ));
5089 WrtHrTrc(' bal_TA_NRFI_CMTD: '||to_char(bal_TA_NRFI_CMTD ));
5090 WrtHrTrc(' bal_TA_NRFI_CYTD: '||to_char(bal_TA_NRFI_CYTD ));
5091 WrtHrTrc(' bal_TA_NRFI_PTD: '||to_char(bal_TA_NRFI_PTD ));
5092 WrtHrTrc(' bal_TA_NRFI_YTD: '||to_char(bal_TA_NRFI_YTD ));
5093 WrtHrTrc(' bal_TA_RFI_CMTD: '||to_char(bal_TA_RFI_CMTD ));
5094 WrtHrTrc(' bal_TA_RFI_CYTD: '||to_char(bal_TA_RFI_CYTD ));
5095 WrtHrTrc(' bal_TA_RFI_PTD: '||to_char(bal_TA_RFI_PTD ));
5096 WrtHrTrc(' bal_TA_RFI_YTD: '||to_char(bal_TA_RFI_YTD ));
5097 WrtHrTrc(' bal_USE_VEH_NRFI_CMTD: '||to_char(bal_USE_VEH_NRFI_CMTD ));
5098 WrtHrTrc(' bal_USE_VEH_NRFI_CYTD: '||to_char(bal_USE_VEH_NRFI_CYTD ));
5099 WrtHrTrc(' bal_USE_VEH_NRFI_RUN: '||to_char(bal_USE_VEH_NRFI_RUN ));
5100 WrtHrTrc(' bal_USE_VEH_NRFI_PTD: '||to_char(bal_USE_VEH_NRFI_PTD ));
5101 WrtHrTrc(' bal_USE_VEH_NRFI_YTD: '||to_char(bal_USE_VEH_NRFI_YTD ));
5102 WrtHrTrc(' bal_USE_VEH_RFI_CMTD: '||to_char(bal_USE_VEH_RFI_CMTD ));
5103 WrtHrTrc(' bal_USE_VEH_RFI_CYTD: '||to_char(bal_USE_VEH_RFI_CYTD ));
5104 WrtHrTrc(' bal_USE_VEH_RFI_RUN: '||to_char(bal_USE_VEH_RFI_RUN ));
5105 WrtHrTrc(' bal_USE_VEH_RFI_PTD: '||to_char(bal_USE_VEH_RFI_PTD ));
5106 WrtHrTrc(' bal_USE_VEH_RFI_YTD: '||to_char(bal_USE_VEH_RFI_YTD ));
5107
5108 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',1);
5109
5110 -- Initialise Package Globals
5111 -- Contexts
5112 con_ASG_ACT_ID := ASSIGNMENT_ACTION_ID;
5113 con_ASG_ID := ASSIGNMENT_ID;
5114 con_PRL_ACT_ID := PAYROLL_ACTION_ID;
5115 con_PRL_ID := PAYROLL_ID;
5116
5117 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',2);
5118
5119 -- Date Effective Tax Status Validation
5120 --
5121 /* IF dbi_TX_STA IN ('J','K','L') THEN
5122 IF xpt_Msg = 'No Error' THEN
5123 xpt_Msg := 'PY_ZA_TX_STATE_AUG';
5124 END IF;
5125 RAISE xpt_E;
5126 END IF;
5127 */
5128 -- Tax Override Validation
5129 --
5130 /*
5131 V = Amount
5132 P = Percentage
5133 S = Force Site Calculation
5134 */
5135
5136 -- Tax Status Validation
5137 --
5138 /*
5139 A = Normal
5140 B = Provisional
5141 C = Directive Amount
5142 D = Directive Percentage
5143 E = Close Corporation
5144 F = Temporary Worker/Student
5145 G = Seasonal Worker
5146 H = Zero Tax
5147 J = Personal Service Company
5148 K = Personal Service Trust
5149 L = Labour Broker
5150 M = Private Director
5151 N = Private Director with Directive Amount
5152 P = Private Director with Directive Percentage
5153 Q = Private Director Zero Tax
5154 */
5155 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',3);
5156
5157 -- C = Directive Amount
5158 -- N = Private Director with Directive Amount
5159 --
5160 IF dbi_TX_STA IN ('C','N') THEN
5161 IF trc_OvrTxCalc AND (trc_OvrTyp = 'S' OR trc_OvrTyp = 'P') THEN
5162 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',4);
5163 IF xpt_Msg = 'No Error' THEN
5164 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',5);
5165 xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_C';
5166 END IF;
5167 RAISE xpt_E;
5168 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',6);
5169 ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
5170 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',7);
5171 trc_CalTyp := 'OvrCalc';
5172 trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
5173 -- Check Directive Number First
5174 ELSIF dbi_TX_DIR_NUM = 'NULL' THEN
5175 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',8);
5176 IF xpt_Msg = 'No Error' THEN
5177 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',9);
5178 xpt_Msg := 'PY_ZA_TX_DIR_NUM';
5179 END IF;
5180 RAISE xpt_E;
5181 -- Check that directive value is filled in
5182 ELSIF dbi_TX_DIR_VAL = -1 THEN
5183 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',10);
5184 IF xpt_Msg = 'No Error' THEN
5185 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',11);
5186 xpt_Msg := 'PY_ZA_TX_DIR_MONT';
5187 END IF;
5188 RAISE xpt_E;
5189 ELSE
5190 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',12);
5191 trc_CalTyp := 'NoCalc';
5192 -- Liability = entered value
5193 trc_LibFpNI := dbi_TX_DIR_VAL;
5194 -- Standard NetPay Validation
5195 py_za_tx_utl_01032002.ValidateTaxOns;
5196 END IF;
5197 -- D = Directive Percentage
5198 -- P = Private Director wth Directive Percentage
5199 --
5200 ELSIF dbi_TX_STA IN ('D','P') THEN
5201 IF trc_OvrTxCalc AND trc_OvrTyp = 'S' THEN
5202 IF xpt_Msg = 'No Error' THEN
5203 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',13);
5204 xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_DEF';
5205 END IF;
5206 RAISE xpt_E;
5207 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',14);
5208 ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
5209 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',15);
5210 trc_CalTyp := 'OvrCalc';
5211 trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
5212 ELSE
5213 IF trc_OvrTxCalc AND trc_OvrTyp = 'P' THEN
5214 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',16);
5215 trc_OvrWrn := 'WARNING: Tax Override - '||to_char(trc_OvrPrc)||' Percent';
5216 -- Percentage taken into account in py_za_tx_utl_01032002.TaxLiability
5217 END IF;
5218 -- Check Directive Number First
5219 IF dbi_TX_DIR_NUM = 'NULL' THEN
5220 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',17);
5221 IF xpt_Msg = 'No Error' THEN
5222 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',18);
5223 xpt_Msg := 'PY_ZA_TX_DIR_NUM';
5224 END IF;
5225 RAISE xpt_E;
5226 -- Check that directive value is filled in
5227 ELSIF dbi_TX_DIR_VAL = -1 THEN
5228 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',19);
5229 IF xpt_Msg = 'No Error' THEN
5230 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',20);
5231 xpt_Msg := 'PY_ZA_TX_DIR_PERC';
5232 END IF;
5233 RAISE xpt_E;
5234 ELSE
5235 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',21);
5236 DirCalc;
5237 END IF;
5238 END IF;
5239 -- E = Close Corporation
5240 -- F = Temporary Worker/Student
5241 -- J = Personal Service Company
5242 -- K = Personal Service Trust
5243 -- L = Labour Broker
5244 --
5245 ELSIF dbi_TX_STA IN ('E','F','J','K','L') THEN
5246 IF trc_OvrTxCalc AND trc_OvrTyp = 'S' THEN
5247 IF xpt_Msg = 'No Error' THEN
5248 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',22);
5249 xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_DEF';
5250 END IF;
5251 RAISE xpt_E;
5252 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',23);
5253 ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
5254 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',24);
5255 trc_CalTyp := 'OvrCalc';
5256 trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
5257 ELSE
5258 IF trc_OvrTxCalc AND trc_OvrTyp = 'P' THEN
5259 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',25);
5260 trc_OvrWrn := 'WARNING: Tax Override - '||to_char(trc_OvrPrc)||' Percent';
5261 -- Percentage taken into account in py_za_tx_utl_01032002.TaxLiability
5262 END IF;
5263 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',26);
5264 -- Simply Execute the Directive Calculation
5265 DirCalc;
5266 END IF;
5267 -- G = Seasonal Worker
5268 --
5269 ELSIF dbi_TX_STA = 'G' THEN
5270 IF trc_OvrTxCalc AND (trc_OvrTyp = 'S' OR trc_OvrTyp = 'P') THEN
5271 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',27);
5272 IF xpt_Msg = 'No Error' THEN
5273 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',28);
5274 xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_G';
5275 END IF;
5276 RAISE xpt_E;
5277 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',29);
5278 -- Check that seasonal worker days worked is filled in
5279 ELSIF dbi_SEA_WRK_DYS_WRK = 0 THEN
5280 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',30);
5281 IF xpt_Msg = 'No Error' THEN
5282 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',31);
5283 xpt_Msg := 'PY_ZA_TX_SEA_WRK_DYS';
5284 END IF;
5285 RAISE xpt_E;
5286 ELSE
5287 IF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
5288 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',32);
5289 trc_CalTyp := 'OvrCalc';
5290 trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
5291 py_za_tx_utl_01032002.SetRebates;
5292 ELSE
5293 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',33);
5294 SeaCalc;
5295 END IF;
5296 END IF;
5297 -- A = Normal
5298 -- B = Provisional
5299 -- M = Private Director
5300 --
5301 ELSIF dbi_TX_STA IN ('A','B','M') THEN
5302 IF dbi_TX_STA <> 'M' THEN
5303 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',34);
5304 -- Deemed Remuneration only applicable to 'M'
5305 bal_DIR_DMD_RMN_ITD := 0;
5306 END IF;
5307
5308 IF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
5309 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',35);
5310 trc_CalTyp := 'OvrCalc';
5311 trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
5312 py_za_tx_utl_01032002.SetRebates;
5313 trc_SitFactor := dbi_ZA_DYS_IN_YR / py_za_tx_utl_01032002.DaysWorked;
5314 ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'S' THEN
5315 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',36);
5316 trc_CalTyp := 'OvrCalc';
5317 trc_OvrWrn := 'WARNING: Tax Override - Forced Site Calculation';
5318 -- Force the Site Calculation
5319 SitCalc;
5320 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',37);
5321 ELSE
5322 IF trc_OvrTxCalc AND trc_OvrTyp = 'P' THEN
5323 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',38);
5324 trc_OvrWrn := 'WARNING: Tax Override - '||to_char(trc_OvrPrc)||' Percent';
5325 -- Percentage taken into account in py_za_tx_utl_01032002.TaxLiability
5326 END IF;
5327
5328 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',39);
5329 IF py_za_tx_utl_01032002.LatePayPeriod THEN
5330 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',40);
5331 LteCalc;
5332 -- Is this a SITE Period?
5333 ELSIF py_za_tx_utl_01032002.EmpTermPrePeriod THEN
5334 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',41);
5335 SitCalc;
5336 ELSIF py_za_tx_utl_01032002.LstPeriod OR py_za_tx_utl_01032002.EmpTermInPeriod THEN
5337 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',42);
5338 IF py_za_tx_utl_01032002.PreErnPeriod THEN
5339 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',43);
5340 YtdCalc;
5341 ELSE
5342 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',44);
5343 SitCalc;
5344 END IF;
5345 ElSE
5346 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',45);
5347 -- The employee has NOT been terminated!
5348 IF py_za_tx_utl_01032002.PreErnPeriod THEN
5349 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',46);
5350 YtdCalc;
5351 ELSIF dbi_ZA_ASG_TX_RTR_PRD = 'Y' THEN
5352 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',47);
5353 SitCalc;
5354 ELSIF py_za_tx_utl_01032002.NegPtd THEN
5355 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',48);
5356 SitCalc;
5357 ELSE
5358 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',49);
5359 NorCalc;
5360 END IF;
5361 END IF;
5362 END IF;
5363 -- H = Zero Tax
5364 -- Q = Private Director Zero Tax
5365 --
5366 ELSIF dbi_TX_STA IN ('H','Q') THEN
5367 IF trc_OvrTxCalc THEN
5368 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',50);
5369 IF xpt_Msg = 'No Error' THEN
5370 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',51);
5371 xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_H';
5372 END IF;
5373 RAISE xpt_E;
5374 ELSE
5375 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',52);
5376 trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
5377 trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
5378 trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
5379 trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
5380 trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
5381 trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
5382 trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
5383 END IF;
5384 ELSE
5385 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',53);
5386 hr_utility.set_message(801, 'ERROR: Invalid Tax Status');
5387 hr_utility.raise_error;
5388 END IF;
5389
5390 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',54);
5391
5392 -- Post Calculation Steps
5393 --
5394 py_za_tx_utl_01032002.SitPaySplit;
5395
5396 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',55);
5397
5398 -- Execute the Arrear Processing
5399 --
5400 IF py_za_tx_utl_01032002.SitePeriod THEN
5401 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',56);
5402 py_za_tx_utl_01032002.ArrearExcess;
5403 END IF;
5404
5405 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',57);
5406
5407 -- Calculate Net Taxable Income
5408 --
5409 NetTxbIncCalc;
5410
5411 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',58);
5412
5413 -- Setup the Out Parameters
5414 --
5415 -- Messages
5416 p_LibWrn := trc_LibWrn; -- Liability Warning
5417 p_OvrWrn := trc_OvrWrn; -- Override Warning
5418
5419 -- Pay Values
5420 trc_PayValSD := ( trc_LibFpNI
5421 + trc_LibFpFB
5422 + trc_LibFpTA
5423 + trc_LibFpBP
5424 + trc_LibFpAB
5425 + trc_LibFpAP
5426 + trc_LibFpPO
5427 );
5428 trc_PayValEC := trc_LibFpDR;
5429
5430 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',59);
5431
5432 -- Tax On's
5433 p_LibFpDR := trc_LibFpDR;
5434 p_LibFpNI := trc_LibFpNI;
5435 p_LibFpFB := trc_LibFpFB;
5436 p_LibFpTA := trc_LibFpTA;
5437 p_LibFpBP := trc_LibFpBP;
5438 p_LibFpAB := trc_LibFpAB;
5439 p_LibFpAP := trc_LibFpAP;
5440 p_LibFpPO := trc_LibFpPO;
5441 p_PayValSD := trc_PayValSD;
5442 p_PayValEC := trc_PayValEC;
5443
5444 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',60);
5445
5446 -- Indicators, Splits and Updates
5447 p_PayeVal := trc_PayeVal;
5448 p_SiteVal := trc_SiteVal;
5449 p_It3Ind := trc_It3Ind;
5450 p_PfUpdFig := trc_PfUpdFig;
5451 p_RaUpdFig := trc_RaUpdFig;
5452 p_OUpdFig := trc_OUpdFig;
5453 p_NtiUpdFig := trc_NtiUpdFig;
5454
5455 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',61);
5456
5457 -- Execute The Tax Trace
5458 --
5459 py_za_tx_utl_01032002.Trace;
5460
5461 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',62);
5462
5463 -- Clear Globals
5464 --
5465 py_za_tx_utl_01032002.ClearGlobals;
5466
5467 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',63);
5468
5469 -- End off Trace File
5470 WrtHrTrc('------------------------------------------------------------');
5471 WrtHrTrc('-- End of Tax Trace File --');
5472 WrtHrTrc('------------------------------------------------------------');
5473 WrtHrTrc(' -- ');
5474
5475 -- Call hr_utility stop procedure
5476 py_za_tx_utl_01032002.StopHrTrace;
5477
5478 --dbms_debug.debug_off;
5479
5480 RETURN l_Dum;
5481
5482 EXCEPTION
5483 WHEN xpt_E THEN
5484 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',64);
5485 WrtHrTrc('xpt_Msg: '||xpt_Msg);
5486 py_za_tx_utl_01032002.StopHrTrace;
5487 hr_utility.set_message(801, xpt_Msg);
5488 py_za_tx_utl_01032002.ClearGlobals;
5489 hr_utility.raise_error;
5490 WHEN OTHERS THEN
5491 hr_utility.set_location('py_za_tx_01032002.ZaTx_01032002',65);
5492 WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
5493 WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
5494 py_za_tx_utl_01032002.StopHrTrace;
5495 hr_utility.set_message(801, 'ZaTx_01032002: '||TO_CHAR(SQLCODE));
5496 py_za_tx_utl_01032002.ClearGlobals;
5497 hr_utility.raise_error;
5498 END ZaTx_01032002;
5499
5500 END py_za_tx_01032002;
5501