1 PACKAGE py_za_tx_01032006 AS
2 /* $Header: pyzat007.pkh 120.0.12000000.2 2007/06/29 06:37:08 rpahune noship $ */
3 /* Copyright (c) Oracle Corporation 2005. All rights reserved. */
4 /*
5 PRODUCT
6 Oracle Payroll - ZA Localisation Tax Module
7 NAME
8 py_za_tx_01032006.pkh
9
10 DESCRIPTION
11 This is the main tax package as used in the ZA Localisation Tax Module.
12 The public functions in this package are not for client use and is
13 only referenced by the tax formulae in the Application.
14
15 PUBLIC FUNCTIONS
16 ZaTxGlb_01032006
17 This function is called from Oracle Applications Fast Formula.
18 It passes all necessary global values to the main tax package.
19 ZaTxDbi_01032006
20 This function is called from Oracle Applications Fast Formula.
21 It passes all necessary Application Database Items to the
22 main tax package.
23 ZaTxBal1_01032006
24 This function is called from Oracle Applications Fast Formula.
25 It passes the first group of balances to the main tax package.
26 ZaTxBal2_01032006
27 This function is called from Oracle Applications Fast Formula.
28 It passes the second group of balances to the main tax package.
29 ZaTxBal3_01032006
30 This function is called from Oracle Applications Fast Formula.
31 It passes the third group of balances to the main tax package.
32 ZaTx_01032006
33 This function is called from Oracle Applications Fast Formula.
34 This is the main tax function from where all necessary
35 validation and calculations are done. The function will
36 calculate the tax liabilities of the employee assignment
37 and pass it back to the calling formula.
38
39 PRIVATE FUNCTIONS
40 <none>
41 NOTES
42 .
43
44 MODIFICATION HISTORY
45 Person Date Version Bug Comments
46 ---------- ---------- -------------- ------- --------------------------------
47 J.N. Louw 20/04/2007 115.3 5965050 TX_ON_LS_PTD
48 R V Pahune 28/02/2006 115.2 5059281 for public off allw taxation
49 according to tax table.
50 J.N. Louw 06/12/2005 115.1 4861242 For detail history see
51 py_za_tx_utl_01032005
52 */
53 -------------------------------------------------------------------------------
54 -- PACKAGE GLOBAL AREA --
55 -------------------------------------------------------------------------------
56 -- Types
57 -------------------------------------------------------------------------------
58 SUBTYPE BALANCE IS py_za_tx_utl_01032006.t_balance;
59 -------------------------------------------------------------------------------
60 -- Application Contexts
61 -------------------------------------------------------------------------------
62 con_ASG_ACT_ID NUMBER;
63 con_ASG_ID NUMBER;
64 con_PRL_ACT_ID NUMBER;
65 con_PRL_ID NUMBER;
66 -------------------------------------------------------------------------------
67 -- Application Global Values
68 -------------------------------------------------------------------------------
69 glb_ZA_ADL_TX_RBT NUMBER;
70 glb_ZA_ARR_PF_AN_MX_ABT NUMBER;
71 glb_ZA_ARR_RA_AN_MX_ABT NUMBER;
72 glb_ZA_TRV_ALL_TX_PRC NUMBER;
73 glb_ZA_CC_TX_PRC NUMBER;
74 glb_ZA_PF_AN_MX_ABT NUMBER;
75 glb_ZA_PF_MX_PRC NUMBER;
76 glb_ZA_PER_SERV_COMP_PERC NUMBER;
77 glb_ZA_PER_SERV_TRST_PERC NUMBER;
78 glb_ZA_PRI_TX_RBT NUMBER;
79 glb_ZA_PRI_TX_THRSHLD NUMBER;
80 glb_ZA_PBL_TX_PRC NUMBER;
81 glb_ZA_PBL_TX_RTE NUMBER;
82 glb_ZA_RA_AN_MX_ABT NUMBER;
83 glb_ZA_RA_MX_PRC NUMBER;
84 glb_ZA_SC_TX_THRSHLD NUMBER;
85 glb_ZA_SIT_LIM NUMBER;
86 glb_ZA_TMP_TX_RTE NUMBER;
87 glb_ZA_WRK_DYS_PR_YR NUMBER;
88 -------------------------------------------------------------------------------
89 -- Application Database Items
90 -------------------------------------------------------------------------------
91 dbi_BP_TX_RCV VARCHAR2(1);
92 dbi_PAY_PROC_PRD_DTE_PD DATE;
93 dbi_PER_AGE NUMBER;
94 dbi_PER_DTE_OF_BRTH DATE;
95 dbi_SEA_WRK_DYS_WRK NUMBER;
96 dbi_SES_DTE DATE;
97 dbi_TX_DIR_NUM VARCHAR2(60);
98 dbi_TX_DIR_VAL NUMBER DEFAULT 25;
99 dbi_TX_STA VARCHAR2(1);
100 dbi_ZA_ACT_END_DTE DATE;
101 dbi_ZA_ACT_STRT_DTE DATE;
102 dbi_ZA_ASG_TX_RTR_PRD VARCHAR2(1);
103 dbi_ZA_ASG_TAX_RTR_RSLTS VARCHAR2(1);
104 dbi_ZA_ASG_TX_YR NUMBER(4);
105 dbi_ZA_ASG_TX_YR_END DATE;
106 dbi_ZA_ASG_TX_YR_STRT DATE;
107 dbi_ZA_CUR_PRD_END_DTE DATE;
108 dbi_ZA_CUR_PRD_STRT_DTE DATE;
109 dbi_ZA_DYS_IN_YR NUMBER;
110 dbi_ZA_PAY_PRDS_LFT NUMBER;
111 dbi_ZA_PAY_PRDS_PER_YR NUMBER;
112 dbi_ZA_TX_YR_END DATE;
113 dbi_ZA_TX_YR_STRT DATE;
114 dbi_ZA_LS_DIR_NUM VARCHAR2(13);
115 dbi_ZA_LS_DIR_VAL NUMBER;
116 -------------------------------------------------------------------------------
117 -- Balances
118 -------------------------------------------------------------------------------
119 bal_ANN_ARR_PF_CMTD BALANCE;
120 bal_ANN_ARR_PF_CYTD BALANCE;
121 bal_ANN_ARR_PF_RUN BALANCE;
122 bal_ANN_ARR_PF_PTD BALANCE;
123 bal_ANN_ARR_PF_YTD BALANCE;
124 bal_ANN_ARR_RA_CMTD BALANCE;
125 bal_ANN_ARR_RA_CYTD BALANCE;
126 bal_ANN_ARR_RA_RUN BALANCE;
127 bal_ANN_ARR_RA_PTD BALANCE;
128 bal_ANN_ARR_RA_YTD BALANCE;
129 bal_ANN_EE_INC_PRO_POL_CMTD BALANCE;
130 bal_ANN_EE_INC_PRO_POL_CYTD BALANCE;
131 bal_ANN_EE_INC_PRO_POL_RUN BALANCE;
132 bal_ANN_EE_INC_PRO_POL_PTD BALANCE;
133 bal_ANN_EE_INC_PRO_POL_YTD BALANCE;
134 bal_ANN_MED_CNTRB_ABM_CMTD BALANCE;
135 bal_ANN_MED_CNTRB_ABM_CYTD BALANCE;
136 bal_ANN_MED_CNTRB_ABM_RUN BALANCE;
137 bal_ANN_MED_CNTRB_ABM_PTD BALANCE;
138 bal_ANN_MED_CNTRB_ABM_YTD BALANCE;
139 bal_ANN_PF_CMTD BALANCE;
140 bal_ANN_PF_CYTD BALANCE;
141 bal_ANN_PF_RUN BALANCE;
142 bal_ANN_PF_PTD BALANCE;
143 bal_ANN_PF_YTD BALANCE;
144 bal_ANN_RA_CMTD BALANCE;
145 bal_ANN_RA_CYTD BALANCE;
146 bal_ANN_RA_RUN BALANCE;
147 bal_ANN_RA_PTD BALANCE;
148 bal_ANN_RA_YTD BALANCE;
149 bal_ARR_PF_CMTD BALANCE;
150 bal_ARR_PF_CYTD BALANCE;
151 bal_ARR_PF_PTD BALANCE;
152 bal_ARR_PF_YTD BALANCE;
153 bal_ARR_RA_CMTD BALANCE;
154 bal_ARR_RA_CYTD BALANCE;
155 bal_ARR_RA_PTD BALANCE;
156 bal_ARR_RA_YTD BALANCE;
157 bal_BP_CMTD BALANCE;
158 bal_BP_PTD BALANCE;
159 bal_BP_YTD BALANCE;
160 bal_CUR_PF_CMTD BALANCE;
161 bal_CUR_PF_CYTD BALANCE;
162 bal_CUR_PF_RUN BALANCE;
163 bal_CUR_PF_PTD BALANCE;
164 bal_CUR_PF_YTD BALANCE;
165 bal_CUR_RA_CMTD BALANCE;
166 bal_CUR_RA_CYTD BALANCE;
167 bal_CUR_RA_RUN BALANCE;
168 bal_CUR_RA_PTD BALANCE;
169 bal_CUR_RA_YTD BALANCE;
170 bal_DIR_DMD_RMN_ITD BALANCE;
171 bal_EE_INC_PRO_POL_CMTD BALANCE;
172 bal_EE_INC_PRO_POL_CYTD BALANCE;
173 bal_EE_INC_PRO_POL_RUN BALANCE;
174 bal_EE_INC_PRO_POL_PTD BALANCE;
175 bal_EE_INC_PRO_POL_YTD BALANCE;
176 bal_EXC_ARR_PEN_ITD BALANCE;
177 bal_EXC_ARR_PEN_PTD BALANCE;
178 bal_EXC_ARR_PEN_YTD BALANCE;
179 bal_EXC_ARR_RA_ITD BALANCE;
180 bal_EXC_ARR_RA_PTD BALANCE;
181 bal_EXC_ARR_RA_YTD BALANCE;
182 bal_MED_CONTR_CMTD BALANCE;
183 bal_MED_CONTR_CYTD BALANCE;
184 bal_MED_CONTR_RUN BALANCE;
185 bal_MED_CONTR_PTD BALANCE;
186 bal_MED_CONTR_YTD BALANCE;
187 bal_MED_CNTRB_ABM_CMTD BALANCE;
188 bal_MED_CNTRB_ABM_CYTD BALANCE;
189 bal_MED_CNTRB_ABM_RUN BALANCE;
190 bal_MED_CNTRB_ABM_PTD BALANCE;
191 bal_MED_CNTRB_ABM_YTD BALANCE;
192 bal_NET_PAY_RUN BALANCE;
193 bal_NET_TXB_INC_CMTD BALANCE;
194 bal_PAYE_YTD BALANCE;
195 bal_SITE_YTD BALANCE;
196 bal_TAX_YTD BALANCE;
197 bal_TX_ON_AB_PTD BALANCE;
198 bal_TX_ON_AB_YTD BALANCE;
199 bal_TX_ON_AP_PTD BALANCE;
200 bal_TX_ON_AP_YTD BALANCE;
201 bal_TX_ON_BP_PTD BALANCE;
202 bal_TX_ON_BP_YTD BALANCE;
203 bal_TX_ON_TA_PTD BALANCE;
204 bal_TX_ON_TA_YTD BALANCE;
205 bal_TX_ON_DR_PTD BALANCE;
206 bal_TX_ON_DR_YTD BALANCE;
207 bal_TX_ON_FB_PTD BALANCE;
208 bal_TX_ON_FB_YTD BALANCE;
209 bal_TX_ON_NI_PTD BALANCE;
210 bal_TX_ON_NI_YTD BALANCE;
211 bal_TX_ON_PO_PTD BALANCE;
212 bal_TX_ON_PO_YTD BALANCE;
213 bal_TX_ON_LS_PTD BALANCE;
214 bal_TOT_INC_PTD BALANCE;
215 bal_TOT_INC_YTD BALANCE;
216 bal_TOT_NRFI_AN_INC_CMTD BALANCE;
217 bal_TOT_NRFI_AN_INC_CYTD BALANCE;
218 bal_TOT_NRFI_AN_INC_RUN BALANCE;
219 bal_TOT_NRFI_AN_INC_PTD BALANCE;
220 bal_TOT_NRFI_AN_INC_YTD BALANCE;
221 bal_TOT_NRFI_INC_CMTD BALANCE;
222 bal_TOT_NRFI_INC_CYTD BALANCE;
223 bal_TOT_NRFI_INC_RUN BALANCE;
224 bal_TOT_NRFI_INC_PTD BALANCE;
225 bal_TOT_NRFI_INC_YTD BALANCE;
226 bal_TOT_RFI_AN_INC_CMTD BALANCE;
227 bal_TOT_RFI_AN_INC_CYTD BALANCE;
228 bal_TOT_RFI_AN_INC_RUN BALANCE;
229 bal_TOT_RFI_AN_INC_PTD BALANCE;
230 bal_TOT_RFI_AN_INC_YTD BALANCE;
231 bal_TOT_RFI_INC_CMTD BALANCE;
232 bal_TOT_RFI_INC_CYTD BALANCE;
233 bal_TOT_RFI_INC_RUN BALANCE;
234 bal_TOT_RFI_INC_PTD BALANCE;
235 bal_TOT_RFI_INC_YTD BALANCE;
236 bal_TOT_SEA_WRK_DYS_WRK_YTD BALANCE;
237 bal_TOT_SKL_ANN_INC_CMTD BALANCE;
238 bal_TOT_SKL_INC_CMTD BALANCE;
239 bal_TOT_TXB_INC_ITD BALANCE;
240 bal_TOT_TXB_AB_CMTD BALANCE;
241 bal_TOT_TXB_AB_RUN BALANCE;
242 bal_TOT_TXB_AB_PTD BALANCE;
243 bal_TOT_TXB_AB_YTD BALANCE;
244 bal_TOT_TXB_AP_CMTD BALANCE;
245 bal_TOT_TXB_AP_RUN BALANCE;
246 bal_TOT_TXB_AP_PTD BALANCE;
247 bal_TOT_TXB_AP_YTD BALANCE;
248 bal_TOT_TXB_FB_CMTD BALANCE;
249 bal_TOT_TXB_FB_CYTD BALANCE;
250 bal_TOT_TXB_FB_RUN BALANCE;
251 bal_TOT_TXB_FB_PTD BALANCE;
252 bal_TOT_TXB_FB_YTD BALANCE;
253 bal_TOT_TXB_NI_CMTD BALANCE;
254 bal_TOT_TXB_NI_CYTD BALANCE;
255 bal_TOT_TXB_NI_RUN BALANCE;
256 bal_TOT_TXB_NI_PTD BALANCE;
257 bal_TOT_TXB_NI_YTD BALANCE;
258 bal_TOT_TXB_PO_CMTD BALANCE;
259 bal_TOT_TXB_PO_PTD BALANCE;
260 bal_TOT_TXB_PO_YTD BALANCE;
261 bal_TOT_TXB_TA_CMTD BALANCE;
262 bal_TOT_TXB_TA_CYTD BALANCE;
263 bal_TOT_TXB_TA_PTD BALANCE;
264 bal_TOT_TXB_TA_YTD BALANCE;
265
266 -------------------------------------------------------------------------------
267 -- Trace Globals
268 -------------------------------------------------------------------------------
269
270 -- These are set within the procedures and function calls!!
271 -- Values can be output by the main function call from formula
272 --
273 -- Calculation Type
274 trc_CalTyp VARCHAR2(7) DEFAULT 'Unknown';
275 -- Factors
276 trc_TxbIncPtd BALANCE DEFAULT 0;
277 trc_PrdFactor NUMBER DEFAULT 0;
278 trc_PosFactor NUMBER DEFAULT 0;
279 trc_SitFactor NUMBER DEFAULT 1;
280 -- Deemed Remuneration
281 trc_DmdRmnRun BALANCE DEFAULT 0;
282 trc_TxbDmdRmn BALANCE DEFAULT 0;
283 trc_TotLibDR BALANCE DEFAULT 0;
284 trc_LibFyDR BALANCE DEFAULT 0;
285 trc_LibFpDR BALANCE DEFAULT 0;
286 -- Base Income
287 trc_BseErn BALANCE DEFAULT 0;
288 trc_TxbBseInc BALANCE DEFAULT 0;
289 trc_TotLibBse BALANCE DEFAULT 0;
290 -- Period Pension Fund
291 trc_TxbIncYtd BALANCE DEFAULT 0;
292 trc_PerTxbInc BALANCE DEFAULT 0;
293 trc_PerPenFnd BALANCE DEFAULT 0;
294 trc_PerRfiCon BALANCE DEFAULT 0;
295 trc_PerRfiTxb BALANCE DEFAULT 0;
296 trc_PerPenFndMax BALANCE DEFAULT 0;
297 trc_PerPenFndAbm BALANCE DEFAULT 0;
298 -- Annual Pension Fund
299 trc_AnnTxbInc BALANCE DEFAULT 0;
300 trc_AnnPenFnd BALANCE DEFAULT 0;
301 trc_AnnRfiCon BALANCE DEFAULT 0;
302 trc_AnnRfiTxb BALANCE DEFAULT 0;
303 trc_AnnPenFndMax BALANCE DEFAULT 0;
304 trc_AnnPenFndAbm BALANCE DEFAULT 0;
305 -- Period Arrear Pension
306 trc_PerArrPenFnd BALANCE DEFAULT 0;
307 trc_PerArrPenFndAbm BALANCE DEFAULT 0;
308 -- Annual Arrear Pension
309 trc_AnnArrPenFnd BALANCE DEFAULT 0;
310 trc_AnnArrPenFndAbm BALANCE DEFAULT 0;
311 -- Arrear Excess Update Value
312 trc_PfUpdFig BALANCE DEFAULT 0;
313 -- Period Retirement Annuity
314 trc_PerRetAnu BALANCE DEFAULT 0;
315 trc_PerNrfiCon BALANCE DEFAULT 0;
316 trc_PerRetAnuMax BALANCE DEFAULT 0;
317 trc_PerRetAnuAbm BALANCE DEFAULT 0;
318 -- Annual Retirement Annuity
319 trc_AnnRetAnu BALANCE DEFAULT 0;
320 trc_AnnNrfiCon BALANCE DEFAULT 0;
321 trc_AnnRetAnuMax BALANCE DEFAULT 0;
322 trc_AnnRetAnuAbm BALANCE DEFAULT 0;
323 -- Period Arrear Retirement Annuity
324 trc_PerArrRetAnu BALANCE DEFAULT 0;
325 trc_PerArrRetAnuAbm BALANCE DEFAULT 0;
326 -- Annual Arrear Retirement Annuity
327 trc_AnnArrRetAnu BALANCE DEFAULT 0;
328 trc_AnnArrRetAnuAbm BALANCE DEFAULT 0;
329 -- Arrear Excess Update Value
330 trc_RaUpdFig BALANCE DEFAULT 0;
331 -- Medical Aid Abatement
332 trc_PerMedAidAbm BALANCE DEFAULT 0;
333 trc_AnnMedAidAbm BALANCE DEFAULT 0;
334 -- Rebates Thresholds
335 trc_Rebate BALANCE DEFAULT 0;
336 trc_Threshold BALANCE DEFAULT 0;
337 -- Income Protection Policy
338 trc_PerIncProPolAbm BALANCE DEFAULT 0;
339 trc_AnnIncProPolAbm BALANCE DEFAULT 0;
340 -- Abatement Totals
341 trc_PerTotAbm BALANCE DEFAULT 0;
342 trc_AnnTotAbm BALANCE DEFAULT 0;
343 -- Normal Income
344 trc_NorIncYtd BALANCE DEFAULT 0;
345 trc_NorIncPtd BALANCE DEFAULT 0;
346 trc_NorErn BALANCE DEFAULT 0;
347 trc_TxbNorInc BALANCE DEFAULT 0;
348 trc_TotLibNI BALANCE DEFAULT 0;
349 trc_LibFyNI BALANCE DEFAULT 0;
350 trc_LibFpNI BALANCE DEFAULT 0;
351 -- Fringe Benefits
352 trc_FrnBenYtd BALANCE DEFAULT 0;
353 trc_FrnBenPtd BALANCE DEFAULT 0;
354 trc_FrnBenErn BALANCE DEFAULT 0;
355 trc_TxbFrnInc BALANCE DEFAULT 0;
356 trc_TotLibFB BALANCE DEFAULT 0;
357 trc_LibFyFB BALANCE DEFAULT 0;
358 trc_LibFpFB BALANCE DEFAULT 0;
359 -- Travel Allowance
360 trc_TrvAllYtd BALANCE DEFAULT 0;
361 trc_TrvAllPtd BALANCE DEFAULT 0;
362 trc_TrvAllErn BALANCE DEFAULT 0;
363 trc_TxbTrvInc BALANCE DEFAULT 0;
364 trc_TotLibTA BALANCE DEFAULT 0;
365 trc_LibFyTA BALANCE DEFAULT 0;
366 trc_LibFpTA BALANCE DEFAULT 0;
367 -- Bonus Provision
368 trc_BonProYtd BALANCE DEFAULT 0;
369 trc_BonProPtd BALANCE DEFAULT 0;
370 trc_BonProErn BALANCE DEFAULT 0;
371 trc_TxbBonProInc BALANCE DEFAULT 0;
372 trc_TotLibBP BALANCE DEFAULT 0;
373 trc_LibFyBP BALANCE DEFAULT 0;
374 trc_LibFpBP BALANCE DEFAULT 0;
375 -- Annual Bonus
376 trc_AnnBonYtd BALANCE DEFAULT 0;
377 trc_AnnBonPtd BALANCE DEFAULT 0;
378 trc_AnnBonErn BALANCE DEFAULT 0;
379 trc_TxbAnnBonInc BALANCE DEFAULT 0;
380 trc_TotLibAB BALANCE DEFAULT 0;
381 trc_LibFyAB BALANCE DEFAULT 0;
382 trc_LibFpAB BALANCE DEFAULT 0;
383 -- Annual Payments
384 trc_AnnPymYtd BALANCE DEFAULT 0;
385 trc_AnnPymPtd BALANCE DEFAULT 0;
386 trc_AnnPymErn BALANCE DEFAULT 0;
387 trc_TxbAnnPymInc BALANCE DEFAULT 0;
388 trc_TotLibAP BALANCE DEFAULT 0;
389 trc_LibFyAP BALANCE DEFAULT 0;
390 trc_LibFpAP BALANCE DEFAULT 0;
391 -- Pubilc Office Allowance
392 trc_PblOffYtd BALANCE DEFAULT 0;
393 trc_PblOffPtd BALANCE DEFAULT 0;
394 trc_PblOffErn BALANCE DEFAULT 0;
395 trc_TxbPblOffInc BALANCE DEFAULT 0;
396 trc_TotLibPO BALANCE DEFAULT 0;
397 trc_LibFyPO BALANCE DEFAULT 0;
398 trc_LibFpPO BALANCE DEFAULT 0;
399
400
401
402 -- Messages
403 trc_LibWrn VARCHAR2(100) DEFAULT ' ';
404
405 -- Statutory Deduction Value
406 trc_PayValSD BALANCE DEFAULT 0;
407 -- Employer Contribution Value
408 trc_PayValEC BALANCE DEFAULT 0;
409 -- PAYE and SITE Values
410 trc_PayeVal BALANCE DEFAULT 0;
411 trc_SiteVal BALANCE DEFAULT 0;
412 -- IT3A Threshold Indicator
413 trc_It3Ind NUMBER DEFAULT 0;
414 -- Tax Percentage Value On trace
415 trc_TxPercVal NUMBER DEFAULT 0;
416 -- Total Taxable Income Update Figure
417 trc_OUpdFig BALANCE DEFAULT 0;
418 -- Net Taxable Income Update Figure
419 trc_NtiUpdFig BALANCE DEFAULT 0;
420
421 -- ValidateTaxOns Override Globals
422 trc_LibFpDROvr BOOLEAN DEFAULT FALSE;
423 trc_LibFpNIOvr BOOLEAN DEFAULT FALSE;
424 trc_LibFpFBOvr BOOLEAN DEFAULT FALSE;
425 trc_LibFpTAOvr BOOLEAN DEFAULT FALSE;
426 trc_LibFpBPOvr BOOLEAN DEFAULT FALSE;
427 trc_LibFpABOvr BOOLEAN DEFAULT FALSE;
428 trc_LibFpAPOvr BOOLEAN DEFAULT FALSE;
429 trc_LibFpPOOvr BOOLEAN DEFAULT FALSE;
430
431 -- Global Exception Message
432 xpt_Msg VARCHAR2(100) DEFAULT 'No Error';
433 -- Global Exception
434 xpt_E EXCEPTION;
435
436 -- Override Globals
437 trc_OvrTxCalc BOOLEAN DEFAULT FALSE;
438 trc_OvrTyp VARCHAR2(1) DEFAULT 'V';
439 trc_OvrPrc NUMBER(3) DEFAULT 0;
440 trc_OvrWrn VARCHAR2(150) DEFAULT ' ';
441
442 -- Negative Ptd Global
443 trc_NegPtd BOOLEAN DEFAULT FALSE;
444
445 -- Function to Override Tax Calculation
446 --
447 FUNCTION ZaTxOvr_01032006(
448 p_OvrTyp IN VARCHAR2
449 ,p_TxOnNI IN NUMBER
450 ,p_TxOnAP IN NUMBER
451 ,p_TxPrc IN NUMBER
452 )RETURN NUMBER;
453
454
455 -- Function to Initialise Globals
456 --
457 FUNCTION ZaTxGlb_01032006(
458 -- Global Values
459 p_ZA_ADL_TX_RBT IN NUMBER
460 ,p_ZA_ARR_PF_AN_MX_ABT IN NUMBER
461 ,p_ZA_ARR_RA_AN_MX_ABT IN NUMBER
462 ,p_ZA_TRV_ALL_TX_PRC IN NUMBER
463 ,p_ZA_CC_TX_PRC IN NUMBER
464 ,p_ZA_PF_AN_MX_ABT IN NUMBER
465 ,p_ZA_PF_MX_PRC IN NUMBER
466 ,p_ZA_PER_SERV_COMP_PERC IN NUMBER
467 ,p_ZA_PER_SERV_TRST_PERC IN NUMBER
468 ,p_ZA_PRI_TX_RBT IN NUMBER
469 ,p_ZA_PRI_TX_THRSHLD IN NUMBER
470 ,p_ZA_PBL_TX_PRC IN NUMBER
471 ,p_ZA_PBL_TX_RTE IN NUMBER
472 ,p_ZA_RA_AN_MX_ABT IN NUMBER
473 ,p_ZA_RA_MX_PRC IN NUMBER
474 ,p_ZA_SC_TX_THRSHLD IN NUMBER
475 ,p_ZA_SIT_LIM IN NUMBER
476 ,p_ZA_TMP_TX_RTE IN NUMBER
477 ,p_ZA_WRK_DYS_PR_YR IN NUMBER
478 ) RETURN NUMBER;
479
480 -- Function to Initialise Globals - Database Item Values
481 --
482 FUNCTION ZaTxDbi_01032006(
483 -- Database Items
484 p_PAY_PROC_PRD_DTE_PD IN DATE
485 ,p_PER_AGE IN NUMBER
486 ,p_PER_DTE_OF_BRTH IN DATE
487 ,p_SES_DTE IN DATE
488 ,p_ZA_ACT_END_DTE IN DATE
489 ,p_ZA_ACT_STRT_DTE IN DATE
490 ,p_ZA_ASG_TX_RTR_PRD IN VARCHAR2
491 ,p_ZA_ASG_TAX_RTR_RSLTS IN VARCHAR2
492 ,p_ZA_ASG_TX_YR IN NUMBER
493 ,p_ZA_ASG_TX_YR_END IN DATE
494 ,p_ZA_ASG_TX_YR_STRT IN DATE
495 ,p_ZA_CUR_PRD_END_DTE IN DATE
496 ,p_ZA_CUR_PRD_STRT_DTE IN DATE
497 ,p_ZA_DYS_IN_YR IN NUMBER
498 ,p_ZA_PAY_PRDS_LFT IN NUMBER
499 ,p_ZA_PAY_PRDS_PER_YR IN NUMBER
500 ,p_ZA_TX_YR_END IN DATE
501 ,p_ZA_TX_YR_STRT IN DATE
502 ,p_BP_TX_RCV IN VARCHAR2
503 ,p_SEA_WRK_DYS_WRK IN NUMBER
504 ,p_TX_DIR_NUM IN VARCHAR2
505 ,p_TX_DIR_VAL IN NUMBER
506 ,p_TX_STA IN VARCHAR2
507 ,p_ZA_LS_DIR_NUM IN VARCHAR2
508 ,p_ZA_LS_DIR_VAL IN NUMBER
509 ) RETURN NUMBER;
510
511
512 -- Function to Initialise Globals - Balance Values
513 -- First Section
514 FUNCTION ZaTxBal1_01032006(
515 -- Balances
516 p_ANN_ARR_PF_CMTD IN NUMBER
520 ,p_ANN_ARR_PF_YTD IN NUMBER
517 ,p_ANN_ARR_PF_CYTD IN NUMBER
518 ,p_ANN_ARR_PF_RUN IN NUMBER
519 ,p_ANN_ARR_PF_PTD IN NUMBER
521 ,p_ANN_ARR_RA_CMTD IN NUMBER
522 ,p_ANN_ARR_RA_CYTD IN NUMBER
523 ,p_ANN_ARR_RA_RUN IN NUMBER
524 ,p_ANN_ARR_RA_PTD IN NUMBER
525 ,p_ANN_ARR_RA_YTD IN NUMBER
526 ,p_ANN_EE_INC_PRO_POL_CMTD IN NUMBER
527 ,p_ANN_EE_INC_PRO_POL_CYTD IN NUMBER
531 ,p_ANN_MED_CNTRB_ABM_CMTD IN NUMBER
528 ,p_ANN_EE_INC_PRO_POL_RUN IN NUMBER
529 ,p_ANN_EE_INC_PRO_POL_PTD IN NUMBER
530 ,p_ANN_EE_INC_PRO_POL_YTD IN NUMBER
532 ,p_ANN_MED_CNTRB_ABM_CYTD IN NUMBER
533 ,p_ANN_MED_CNTRB_ABM_RUN IN NUMBER
534 ,p_ANN_MED_CNTRB_ABM_PTD IN NUMBER
535 ,p_ANN_MED_CNTRB_ABM_YTD IN NUMBER
536 ,p_ANN_PF_CMTD IN NUMBER
537 ,p_ANN_PF_CYTD IN NUMBER
538 ,p_ANN_PF_RUN IN NUMBER
539 ,p_ANN_PF_PTD IN NUMBER
540 ,p_ANN_PF_YTD IN NUMBER
541 ,p_ANN_RA_CMTD IN NUMBER
542 ,p_ANN_RA_CYTD IN NUMBER
543 ,p_ANN_RA_RUN IN NUMBER
544 ,p_ANN_RA_PTD IN NUMBER
545 ,p_ANN_RA_YTD IN NUMBER
546 ) RETURN NUMBER;
547
548 -- Function to Initialise Globals - Balance Values
549 -- Second Section
550 FUNCTION ZaTxBal2_01032006(
551 -- Balances
552 p_ARR_PF_CMTD IN NUMBER
553 ,p_ARR_PF_CYTD IN NUMBER
554 ,p_ARR_PF_PTD IN NUMBER
555 ,p_ARR_PF_YTD IN NUMBER
556 ,p_ARR_RA_CMTD IN NUMBER
557 ,p_ARR_RA_CYTD IN NUMBER
558 ,p_ARR_RA_PTD IN NUMBER
559 ,p_ARR_RA_YTD IN NUMBER
560 ,p_BP_CMTD IN NUMBER
561 ,p_BP_PTD IN NUMBER
562 ,p_BP_YTD IN NUMBER
563 ,p_CUR_PF_CMTD IN NUMBER
564 ,p_CUR_PF_CYTD IN NUMBER
565 ,p_CUR_PF_RUN IN NUMBER
566 ,p_CUR_PF_PTD IN NUMBER
567 ,p_CUR_PF_YTD IN NUMBER
568 ,p_CUR_RA_CMTD IN NUMBER
569 ,p_CUR_RA_CYTD IN NUMBER
570 ,p_CUR_RA_RUN IN NUMBER
571 ,p_CUR_RA_PTD IN NUMBER
572 ,p_CUR_RA_YTD IN NUMBER
573 ,p_DIR_DMD_RMN_ITD IN NUMBER
574 ) RETURN NUMBER;
575
576 -- Function to Initialise Globals - Balance Values
577 -- Third Section
578 FUNCTION ZaTxBal3_01032006(
579 -- Balances
580 p_EE_INC_PRO_POL_CMTD IN NUMBER
581 ,p_EE_INC_PRO_POL_CYTD IN NUMBER
582 ,p_EE_INC_PRO_POL_RUN IN NUMBER
583 ,p_EE_INC_PRO_POL_PTD IN NUMBER
584 ,p_EE_INC_PRO_POL_YTD IN NUMBER
585 ,p_EXC_ARR_PEN_ITD IN NUMBER
586 ,p_EXC_ARR_PEN_PTD IN NUMBER
587 ,p_EXC_ARR_PEN_YTD IN NUMBER
588 ,p_EXC_ARR_RA_ITD IN NUMBER
589 ,p_EXC_ARR_RA_PTD IN NUMBER
590 ,p_EXC_ARR_RA_YTD IN NUMBER
591 ,p_MED_CONTR_CMTD IN NUMBER
592 ,p_MED_CONTR_CYTD IN NUMBER
593 ,p_MED_CONTR_RUN IN NUMBER
594 ,p_MED_CONTR_PTD IN NUMBER
595 ,p_MED_CONTR_YTD IN NUMBER
596 ,p_MED_CNTRB_ABM_CMTD IN NUMBER
597 ,p_MED_CNTRB_ABM_CYTD IN NUMBER
598 ,p_MED_CNTRB_ABM_RUN IN NUMBER
599 ,p_MED_CNTRB_ABM_PTD IN NUMBER
600 ,p_MED_CNTRB_ABM_YTD IN NUMBER
601 ,p_NET_PAY_RUN IN NUMBER
602 ,p_NET_TXB_INC_CMTD IN NUMBER
603 ) RETURN NUMBER;
604
605 -- Function to Initialise Globals - Balance Values
606 -- Fourth Section
607 FUNCTION ZaTxBal4_01032006(
608 -- Balances
609 p_PAYE_YTD IN NUMBER
610 ,p_SITE_YTD IN NUMBER
611 ,p_TAX_YTD IN NUMBER
612 ,p_TX_ON_AB_PTD IN NUMBER
613 ,p_TX_ON_AB_YTD IN NUMBER
617 ,p_TX_ON_BP_YTD IN NUMBER
614 ,p_TX_ON_AP_PTD IN NUMBER
615 ,p_TX_ON_AP_YTD IN NUMBER
616 ,p_TX_ON_BP_PTD IN NUMBER
618 ,p_TX_ON_TA_PTD IN NUMBER
619 ,p_TX_ON_TA_YTD IN NUMBER
620 ,p_TX_ON_DR_PTD IN NUMBER
621 ,p_TX_ON_DR_YTD IN NUMBER
622 ,p_TX_ON_FB_PTD IN NUMBER
626 ,p_TX_ON_PO_PTD IN NUMBER
623 ,p_TX_ON_FB_YTD IN NUMBER
624 ,p_TX_ON_NI_PTD IN NUMBER
625 ,p_TX_ON_NI_YTD IN NUMBER
627 ,p_TX_ON_PO_YTD IN NUMBER
628 ,p_TX_ON_LS_PTD IN NUMBER
629 ) RETURN NUMBER;
630
631 FUNCTION ZaTxBal5_01032006(
632 -- Balances
633 p_TOT_INC_PTD IN NUMBER
634 ,p_TOT_INC_YTD IN NUMBER
635 ,p_TOT_NRFI_AN_INC_CMTD IN NUMBER
636 ,p_TOT_NRFI_AN_INC_CYTD IN NUMBER
637 ,p_TOT_NRFI_AN_INC_RUN IN NUMBER
638 ,p_TOT_NRFI_AN_INC_PTD IN NUMBER
639 ,p_TOT_NRFI_AN_INC_YTD IN NUMBER
640 ,p_TOT_NRFI_INC_CMTD IN NUMBER
641 ,p_TOT_NRFI_INC_CYTD IN NUMBER
642 ,p_TOT_NRFI_INC_RUN IN NUMBER
643 ,p_TOT_NRFI_INC_PTD IN NUMBER
644 ,p_TOT_NRFI_INC_YTD IN NUMBER
645 ,p_TOT_RFI_AN_INC_CMTD IN NUMBER
646 ,p_TOT_RFI_AN_INC_CYTD IN NUMBER
647 ,p_TOT_RFI_AN_INC_RUN IN NUMBER
648 ,p_TOT_RFI_AN_INC_PTD IN NUMBER
649 ,p_TOT_RFI_AN_INC_YTD IN NUMBER
650 ,p_TOT_RFI_INC_CMTD IN NUMBER
651 ,p_TOT_RFI_INC_CYTD IN NUMBER
652 ,p_TOT_RFI_INC_RUN IN NUMBER
653 ,p_TOT_RFI_INC_PTD IN NUMBER
654 ,p_TOT_RFI_INC_YTD IN NUMBER
655 ,p_TOT_SEA_WRK_DYS_WRK_YTD IN NUMBER
656 ,p_TOT_SKL_ANN_INC_CMTD IN NUMBER
657 ,p_TOT_SKL_INC_CMTD IN NUMBER
658 ,p_TOT_TXB_INC_ITD IN NUMBER
659 ) RETURN NUMBER;
660
661 FUNCTION ZaTxBal6_01032006(
662 -- Balances
663 p_TOT_TXB_AB_CMTD IN NUMBER
664 ,p_TOT_TXB_AB_RUN IN NUMBER
665 ,p_TOT_TXB_AB_PTD IN NUMBER
666 ,p_TOT_TXB_AB_YTD IN NUMBER
667 ,p_TOT_TXB_AP_CMTD IN NUMBER
668 ,p_TOT_TXB_AP_RUN IN NUMBER
669 ,p_TOT_TXB_AP_PTD IN NUMBER
670 ,p_TOT_TXB_AP_YTD IN NUMBER
671 ,p_TOT_TXB_FB_CMTD IN NUMBER
672 ,p_TOT_TXB_FB_CYTD IN NUMBER
676 ,p_TOT_TXB_NI_CMTD IN NUMBER
673 ,p_TOT_TXB_FB_RUN IN NUMBER
674 ,p_TOT_TXB_FB_PTD IN NUMBER
675 ,p_TOT_TXB_FB_YTD IN NUMBER
677 ,p_TOT_TXB_NI_CYTD IN NUMBER
678 ,p_TOT_TXB_NI_RUN IN NUMBER
679 ,p_TOT_TXB_NI_PTD IN NUMBER
680 ,p_TOT_TXB_NI_YTD IN NUMBER
681 ,p_TOT_TXB_PO_CMTD IN NUMBER
682 ,p_TOT_TXB_PO_PTD IN NUMBER
683 ,p_TOT_TXB_PO_YTD IN NUMBER
684 ,p_TOT_TXB_TA_CMTD IN NUMBER
685 ,p_TOT_TXB_TA_CYTD IN NUMBER
686 ,p_TOT_TXB_TA_PTD IN NUMBER
687 ,p_TOT_TXB_TA_YTD IN NUMBER
688 ) RETURN NUMBER;
689
690 -- Main Tax Function
691 -- Called from Fast Formula
692 FUNCTION ZaTx_01032006(
693 /* PARAMETERS */
694 -- Contexts
695 ASSIGNMENT_ACTION_ID IN NUMBER
696 ,ASSIGNMENT_ID IN NUMBER
697 ,PAYROLL_ACTION_ID IN NUMBER
698 ,PAYROLL_ID IN NUMBER
699 -- Out Parameters
700 , p_LibWrn OUT NOCOPY VARCHAR2
701 , p_LibFpDR OUT NOCOPY NUMBER
702 , p_LibFpNI OUT NOCOPY NUMBER
703 , p_LibFpFB OUT NOCOPY NUMBER
704 , p_LibFpTA OUT NOCOPY NUMBER
705 , p_LibFpBP OUT NOCOPY NUMBER
706 , p_LibFpAB OUT NOCOPY NUMBER
707 , p_LibFpAP OUT NOCOPY NUMBER
708 , p_LibFpPO OUT NOCOPY NUMBER
709 , p_PayValSD OUT NOCOPY NUMBER
710 , p_PayValEC OUT NOCOPY NUMBER
711 , p_PayeVal OUT NOCOPY NUMBER
712 , p_SiteVal OUT NOCOPY NUMBER
713 , p_It3Ind OUT NOCOPY NUMBER
714 , p_PfUpdFig OUT NOCOPY NUMBER
715 , p_RaUpdFig OUT NOCOPY NUMBER
716 , p_OUpdFig OUT NOCOPY NUMBER
717 , p_NtiUpdFig OUT NOCOPY NUMBER
718 , p_OvrWrn OUT NOCOPY VARCHAR2
719 , p_LSDirNum OUT NOCOPY VARCHAR2
720 , p_LSDirVal OUT NOCOPY NUMBER
721 )RETURN NUMBER;
722
723
724 END py_za_tx_01032006;
725