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