181: nti_AnnTypNTGErn2 BALANCE default 0 ;
182:
183: BEGIN
184:
185: hr_utility.set_location('py_za_tx_01032012.NetPayeTxbIncCalc',1);
186: nti_PerTypInc2 := bal_GROSS_REMUNERATION_CMTD - bal_ANN_PAYMENTS_CMTD ;
187:
188: -- Annualise by the Site Factor the Period Type Income
189: --
188: -- Annualise by the Site Factor the Period Type Income
189: --
190: nti_PerTypErn2 := nti_PerTypInc2 * nti_SitFactor;
191:
192: hr_utility.set_location('py_za_tx_01032012.NetPayeTxbIncCalc',2);
193:
194: -- Sum Annual Type Income Calendar Month to Date Balances
195: --
196: nti_AnnTypErn2 := nti_PerTypErn2 + bal_ANN_PAYMENTS_CMTD - bal_TOT_TXB_EE_DBT_NTG_CMTD;
194: -- Sum Annual Type Income Calendar Month to Date Balances
195: --
196: nti_AnnTypErn2 := nti_PerTypErn2 + bal_ANN_PAYMENTS_CMTD - bal_TOT_TXB_EE_DBT_NTG_CMTD;
197:
198: hr_utility.set_location('py_za_tx_01032012.NetPayeTxbIncCalc',3);
199:
200: -- Sum Annual Type NTG Income Calendar Month to Date Balances
201: --
202: nti_AnnTypNTGErn2 := nti_AnnTypErn2 + bal_TOT_TXB_EE_DBT_NTG_CMTD;
200: -- Sum Annual Type NTG Income Calendar Month to Date Balances
201: --
202: nti_AnnTypNTGErn2 := nti_AnnTypErn2 + bal_TOT_TXB_EE_DBT_NTG_CMTD;
203:
204: hr_utility.set_location('py_za_tx_01032012.NetPayeTxbIncCalc',4);
205:
206:
207: -- Calculate New O Figures
208: --
210: nti_TxbAnnTypInc2 := nti_AnnTypErn2 - nti_AnnTotAbm;
211: nti_TxbAnnTypNTGInc2 := nti_AnnTypNTGErn2 - nti_AnnTotNTGAbm;
212:
213:
214: hr_utility.set_location('py_za_tx_01032012.NetPayeTxbIncCalc',5);
215: -- Deannualise Period O Figure
216: --
217: nti_NetPerTxbInc2 := nti_TxbPerTypInc2 / nti_SitFactor;
218:
218:
219: -- Calculate the Net Taxable Annual Type Income
220: --
221: nti_NetAnnTxbInc2 := nti_TxbAnnTypInc2 - nti_TxbPerTypInc2;
222: hr_utility.set_location('py_za_tx_01032012.NetPayeTxbIncCalc',6);
223:
224: -- Calculate the Net Taxable NTG Annual Type Income
225: --
226: nti_NetAnnTxbNTGInc2 := nti_TxbAnnTypNTGInc2 - (nti_NetAnnTxbInc2 + nti_TxbPerTypInc2);
223:
224: -- Calculate the Net Taxable NTG Annual Type Income
225: --
226: nti_NetAnnTxbNTGInc2 := nti_TxbAnnTypNTGInc2 - (nti_NetAnnTxbInc2 + nti_TxbPerTypInc2);
227: hr_utility.set_location('py_za_tx_01032012.NetPayeTxbIncCalc',7);
228:
229: -- Calculate New Net Taxable Income Balance
230: --
231: trc_NPtiUpdFig := (nti_NetPerTxbInc2 + nti_NetAnnTxbInc2 + nti_NetAnnTxbNTGInc2) - bal_NET_PAYE_TXB_INC_CMTD;
400: BEGIN
401:
402: trc_LScount := 0;
403:
404: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',1);
405:
406: -- Bug 14376752
407: -- to delete from both table
408: trc_LSDirMTDTab.delete;
412: --
413: SELECT trunc(dbi_SES_DTE,'Month')
414: INTO nti_CurMthStrtDte
415: FROM dual;
416: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',2);
417:
418: -- Calculate the Current Effective Calendar Month to Date End Date
419: --
420: SELECT last_day(dbi_SES_DTE)
419: --
420: SELECT last_day(dbi_SES_DTE)
421: INTO nti_CurMthEndDte
422: FROM dual;
423: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',3);
424:
425: -- Calculate Site Factor
426: --
427: -- Based on the number of days in the calendar year over days in the calendar month
426: --
427: -- Based on the number of days in the calendar year over days in the calendar month
428: nti_SitFactor := dbi_ZA_DYS_IN_YR / (nti_CurMthEndDte - nti_CurMthStrtDte + 1);
429:
430: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',4);
431:
432: WrtHrTrc('nti_CurMthEndDte: '||to_char(nti_CurMthEndDte,'DD/MM/YYYY'));
433: WrtHrTrc('nti_CurMthStrtDte: '||to_char(nti_CurMthStrtDte,'DD/MM/YYYY'));
434:
461: -- the Skills Levyable Annual Income in a table
462:
463: FOR LSDirMTD in csr_get_tax_dir_info(ASSIGNMENT_ACTION_ID)
464: LOOP
465: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',40);
466: hr_utility.set_location('Processing Directive Number: '|| LSDirMTD.dirnum,40);
467:
468: pay_balance_pkg.set_context('SOURCE_TEXT',LSDirMTD.dirnum);
469:
462:
463: FOR LSDirMTD in csr_get_tax_dir_info(ASSIGNMENT_ACTION_ID)
464: LOOP
465: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',40);
466: hr_utility.set_location('Processing Directive Number: '|| LSDirMTD.dirnum,40);
467:
468: pay_balance_pkg.set_context('SOURCE_TEXT',LSDirMTD.dirnum);
469:
470: l_SKL_INC_LMP_TAX_MTD := nvl(pay_balance_pkg.get_value(get_def_bal_id('Total Skills Levyable Income','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
467:
468: pay_balance_pkg.set_context('SOURCE_TEXT',LSDirMTD.dirnum);
469:
470: l_SKL_INC_LMP_TAX_MTD := nvl(pay_balance_pkg.get_value(get_def_bal_id('Total Skills Levyable Income','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
471: hr_utility.set_location('l_SKL_INC_LMP_TAX_MTD: '|| l_SKL_INC_LMP_TAX_MTD,40);
472: IF l_SKL_INC_LMP_TAX_MTD = 0 THEN
473: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',41);
474: l_SKL_ANN_INC_LMP_TAX_MTD := nvl(pay_balance_pkg.get_value(get_def_bal_id('Total Skills Levyable Annual Income','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
475: trc_LSDirMTDTab(LSDirMTD.dirnum).inc_typ := 'A';
469:
470: l_SKL_INC_LMP_TAX_MTD := nvl(pay_balance_pkg.get_value(get_def_bal_id('Total Skills Levyable Income','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
471: hr_utility.set_location('l_SKL_INC_LMP_TAX_MTD: '|| l_SKL_INC_LMP_TAX_MTD,40);
472: IF l_SKL_INC_LMP_TAX_MTD = 0 THEN
473: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',41);
474: l_SKL_ANN_INC_LMP_TAX_MTD := nvl(pay_balance_pkg.get_value(get_def_bal_id('Total Skills Levyable Annual Income','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
475: trc_LSDirMTDTab(LSDirMTD.dirnum).inc_typ := 'A';
476: trc_LSDirMTDTab(LSDirMTD.dirnum).dir_value := l_SKL_ANN_INC_LMP_TAX_MTD;
477:
476: trc_LSDirMTDTab(LSDirMTD.dirnum).dir_value := l_SKL_ANN_INC_LMP_TAX_MTD;
477:
478: nti_AnnLSTypIncTot := nti_AnnLSTypIncTot + l_SKL_ANN_INC_LMP_TAX_MTD;
479:
480: hr_utility.set_location('l_SKL_ANN_INC_LMP_TAX_MTD: '|| l_SKL_ANN_INC_LMP_TAX_MTD,40);
481: ELSE
482: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',42);
483: trc_LSDirMTDTab(LSDirMTD.dirnum).inc_typ := 'P';
484: trc_LSDirMTDTab(LSDirMTD.dirnum).dir_value := l_SKL_INC_LMP_TAX_MTD;
478: nti_AnnLSTypIncTot := nti_AnnLSTypIncTot + l_SKL_ANN_INC_LMP_TAX_MTD;
479:
480: hr_utility.set_location('l_SKL_ANN_INC_LMP_TAX_MTD: '|| l_SKL_ANN_INC_LMP_TAX_MTD,40);
481: ELSE
482: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',42);
483: trc_LSDirMTDTab(LSDirMTD.dirnum).inc_typ := 'P';
484: trc_LSDirMTDTab(LSDirMTD.dirnum).dir_value := l_SKL_INC_LMP_TAX_MTD;
485:
486: nti_PerLSTypIncTot := nti_PerLSTypIncTot + l_SKL_INC_LMP_TAX_MTD;
486: nti_PerLSTypIncTot := nti_PerLSTypIncTot + l_SKL_INC_LMP_TAX_MTD;
487: END IF;
488:
489: END LOOP;
490: hr_utility.set_location('nti_AnnLSTypIncTot: '|| nti_AnnLSTypIncTot,40);
491: hr_utility.set_location('nti_PerLSTypIncTot: '|| nti_PerLSTypIncTot,40);
492:
493: -- Bug 14376752
494:
487: END IF;
488:
489: END LOOP;
490: hr_utility.set_location('nti_AnnLSTypIncTot: '|| nti_AnnLSTypIncTot,40);
491: hr_utility.set_location('nti_PerLSTypIncTot: '|| nti_PerLSTypIncTot,40);
492:
493: -- Bug 14376752
494:
495: nti_PerTypInc := bal_TOT_SKL_INC_CMTD - nti_PerLSTypIncTot;
535:
536: --------------------------------
537: -- Arrear Pension Fund Abatement
538: --------------------------------
539: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',19);
540: -------------
541: -- Excess ITD
542: -------------
543: nti_PerArrPenFnd := bal_EXC_ARR_PEN_ITD;
553:
554: -------------------------------
555: -- Retirement Annuity Abatement
556: -------------------------------
557: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',20);
558: -------------
559: -- Current RA
560: -------------
561: -- Calculate RA Contribution
563: ---------------------
564: -- Current NRFI Contr
565: ---------------------
566: IF bal_CUR_PF_CMTD + bal_ANN_PF_CMTD = 0 THEN
567: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',21);
568: nti_PerNrfiCon := (
569: bal_TOT_RFI_INC_CMTD + bal_TOT_NRFI_INC_CMTD
570: )
571: * nti_SitFactor;
569: bal_TOT_RFI_INC_CMTD + bal_TOT_NRFI_INC_CMTD
570: )
571: * nti_SitFactor;
572: ELSE
573: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',22);
574: nti_PerNrfiCon := bal_TOT_NRFI_INC_CMTD * nti_SitFactor;
575: END IF;
576: ------------
577: -- Annual RA
578: ------------
579: nti_AnnRetAnu := nti_PerRetAnu + bal_ANN_RA_CMTD;
580:
581: IF bal_CUR_PF_CMTD + bal_ANN_PF_CMTD = 0 THEN
582: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',23);
583:
584: nti_AnnNrfiCon := nti_PerNrfiCon
585: + bal_TOT_NRFI_AN_INC_CMTD
586: + bal_TOT_RFI_AN_INC_CMTD;
584: nti_AnnNrfiCon := nti_PerNrfiCon
585: + bal_TOT_NRFI_AN_INC_CMTD
586: + bal_TOT_RFI_AN_INC_CMTD;
587: ELSE
588: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',24);
589: nti_AnnNrfiCon := nti_PerNrfiCon + bal_TOT_NRFI_AN_INC_CMTD;
590: END IF;
591:
592: ------------------------------
592: ------------------------------
593: --Annual NRFI NTG Contribution
594: ------------------------------
595: IF bal_CUR_PF_CMTD + bal_ANN_PF_CMTD = 0 THEN
596: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',23);
597:
598: nti_AnnNrfiEEDbtNTGCon := nti_AnnNrfiCon
599: + bal_TOT_NRFI_EE_DBT_NTG_CMTD
600: + bal_TOT_RFI_EE_DBT_NTG_CMTD;
598: nti_AnnNrfiEEDbtNTGCon := nti_AnnNrfiCon
599: + bal_TOT_NRFI_EE_DBT_NTG_CMTD
600: + bal_TOT_RFI_EE_DBT_NTG_CMTD;
601: ELSE
602: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',24);
603: nti_AnnNrfiEEDbtNTGCon := nti_AnnNrfiCon + bal_TOT_NRFI_EE_DBT_NTG_CMTD;
604: END IF;
605:
606: --------------------------------------
605:
606: --------------------------------------
607: -- Arrear Retirement Annuity Abatement
608: --------------------------------------
609: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',25);
610: -------------
611: -- Excess ITD
612: -------------
613: nti_PerArrRetAnu := bal_EXC_ARR_RA_ITD;
668: ---------------------
669: -- Annualise Income Protection Policy Contributions
670: nti_PerIncProPolAbm := bal_EE_INC_PRO_POL_CMTD * nti_SitFactor;
671:
672: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',26);
673:
674: ---------------------
675: -- Annual Calculation
676: ---------------------
688: ---------------------
689: -- Annualise Donation Amount
690: nti_PerDonAmt := bal_DONAT_MD_EE_CMTD * nti_SitFactor;
691:
692: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',27);
693:
694: ---------------------
695: -- Annual Calculation
696: ---------------------
842: -- Annual Calculation
843: ---------------------
844: nti_AnnArrRetAnuAbm := LEAST(nti_AnnArrRetAnu, glb_ZA_ARR_RA_AN_MX_ABT);
845:
846: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',27);
847:
848: -------------------
849: -- Total Abatements
850: -------------------
855: + nti_PerArrRetAnuAbm
856: + nti_PerMedAidAbm
857: + nti_PerIncProPolAbm
858: );
859: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',28);
860: -- Annual Total Abatements
861: nti_AnnTotAbm := ( nti_AnnPenFndAbm
862: + nti_AnnArrPenFndAbm
863: + nti_AnnRetAnuAbm
864: + nti_AnnArrRetAnuAbm
865: + nti_AnnMedAidAbm
866: + nti_AnnIncProPolAbm
867: );
868: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',29);
869: -- Annual NTG Total Abatements
870: nti_AnnTotNTGAbm := ( nti_AnnPenFndNTGAbm
871: + nti_AnnArrPenFndAbm
872: + nti_AnnRetAnuNTGAbm
909: -- Bug 14376752
910: nti_LSNetPerTypErnTot := nti_PerTypErn ;
911: nti_LSNetPerTxbIncTot := nti_NetPerTxbInc;
912: nti_LSTxbPerTypIncTot := nti_TxbPerTypInc;
913: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',37);
914: IF trc_LSDirMTDTab.COUNT > 0 THEN
915: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',38);
916: hr_utility.set_location('COUNT: '|| trc_LSDirMTDTab.COUNT,38);
917:
911: nti_LSNetPerTxbIncTot := nti_NetPerTxbInc;
912: nti_LSTxbPerTypIncTot := nti_TxbPerTypInc;
913: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',37);
914: IF trc_LSDirMTDTab.COUNT > 0 THEN
915: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',38);
916: hr_utility.set_location('COUNT: '|| trc_LSDirMTDTab.COUNT,38);
917:
918: ls_num := trc_LSDirMTDTab.first;
919: while(ls_num is not null)
912: nti_LSTxbPerTypIncTot := nti_TxbPerTypInc;
913: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',37);
914: IF trc_LSDirMTDTab.COUNT > 0 THEN
915: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',38);
916: hr_utility.set_location('COUNT: '|| trc_LSDirMTDTab.COUNT,38);
917:
918: ls_num := trc_LSDirMTDTab.first;
919: while(ls_num is not null)
920: loop
917:
918: ls_num := trc_LSDirMTDTab.first;
919: while(ls_num is not null)
920: loop
921: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',39);
922: IF trc_LSDirMTDTab(ls_num).inc_typ = 'P' THEN
923: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',40);
924: nti_LSTxbPerTypIncWoDon := (trc_LSDirMTDTab(ls_num).dir_value * nti_SitFactor) + nti_LSNetPerTypErnTot - nti_PerTotAbm;
925: nti_LSTxbPerTypInc := nti_LSTxbPerTypIncWoDon - least(glb_ZA_ALLOW_DONATION_PERC*nti_LSTxbPerTypIncWoDon/100,nti_PerDonAmt);
919: while(ls_num is not null)
920: loop
921: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',39);
922: IF trc_LSDirMTDTab(ls_num).inc_typ = 'P' THEN
923: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',40);
924: nti_LSTxbPerTypIncWoDon := (trc_LSDirMTDTab(ls_num).dir_value * nti_SitFactor) + nti_LSNetPerTypErnTot - nti_PerTotAbm;
925: nti_LSTxbPerTypInc := nti_LSTxbPerTypIncWoDon - least(glb_ZA_ALLOW_DONATION_PERC*nti_LSTxbPerTypIncWoDon/100,nti_PerDonAmt);
926: nti_LSNetPerTxbInc := (nti_LSTxbPerTypInc/nti_SitFactor) - nti_LSNetPerTxbIncTot;
927:
927:
928: trc_LSNetTxbIncTab(ls_num).LSTxbIncMTD := nti_LSNetPerTxbInc;
929: pay_balance_pkg.set_context('SOURCE_TEXT', ls_num);
930: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Net Taxable Income LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
931: hr_utility.set_location('ls_num '|| ls_num,38);
932: hr_utility.set_location('Net Taxable Income LS '|| LSNtiUpdFig,38);
933:
934: trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig := nti_LSNetPerTxbInc - LSNtiUpdFig;
935:
928: trc_LSNetTxbIncTab(ls_num).LSTxbIncMTD := nti_LSNetPerTxbInc;
929: pay_balance_pkg.set_context('SOURCE_TEXT', ls_num);
930: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Net Taxable Income LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
931: hr_utility.set_location('ls_num '|| ls_num,38);
932: hr_utility.set_location('Net Taxable Income LS '|| LSNtiUpdFig,38);
933:
934: trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig := nti_LSNetPerTxbInc - LSNtiUpdFig;
935:
936: hr_utility.set_location('Net Taxable Income LS UPD '|| trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig,38);
932: hr_utility.set_location('Net Taxable Income LS '|| LSNtiUpdFig,38);
933:
934: trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig := nti_LSNetPerTxbInc - LSNtiUpdFig;
935:
936: hr_utility.set_location('Net Taxable Income LS UPD '|| trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig,38);
937:
938: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Skills Levy LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
939: hr_utility.set_location('ls_num '|| ls_num,38);
940: hr_utility.set_location('Skills Levy '|| LSNtiUpdFig,38);
935:
936: hr_utility.set_location('Net Taxable Income LS UPD '|| trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig,38);
937:
938: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Skills Levy LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
939: hr_utility.set_location('ls_num '|| ls_num,38);
940: hr_utility.set_location('Skills Levy '|| LSNtiUpdFig,38);
941: trc_LSNetTxbIncTab(ls_num).LSSkl := LSNtiUpdFig;
942: hr_utility.set_location('Skills Levy LS '|| trc_LSNetTxbIncTab(ls_num).LSSkl,38);
943:
936: hr_utility.set_location('Net Taxable Income LS UPD '|| trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig,38);
937:
938: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Skills Levy LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
939: hr_utility.set_location('ls_num '|| ls_num,38);
940: hr_utility.set_location('Skills Levy '|| LSNtiUpdFig,38);
941: trc_LSNetTxbIncTab(ls_num).LSSkl := LSNtiUpdFig;
942: hr_utility.set_location('Skills Levy LS '|| trc_LSNetTxbIncTab(ls_num).LSSkl,38);
943:
944:
938: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Skills Levy LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
939: hr_utility.set_location('ls_num '|| ls_num,38);
940: hr_utility.set_location('Skills Levy '|| LSNtiUpdFig,38);
941: trc_LSNetTxbIncTab(ls_num).LSSkl := LSNtiUpdFig;
942: hr_utility.set_location('Skills Levy LS '|| trc_LSNetTxbIncTab(ls_num).LSSkl,38);
943:
944:
945: nti_LSNetPerTypErnTot := nti_LSNetPerTypErnTot + (trc_LSDirMTDTab(ls_num).dir_value * nti_SitFactor);
946: nti_LSNetPerTxbIncTot := nti_LSNetPerTxbIncTot + nti_LSNetPerTxbInc;
946: nti_LSNetPerTxbIncTot := nti_LSNetPerTxbIncTot + nti_LSNetPerTxbInc;
947:
948: nti_LSTxbPerTypIncTot := nti_LSTxbPerTypInc;
949:
950: hr_utility.set_location('nti_LSNetPerTxbInc: '|| nti_LSNetPerTxbInc,40);
951: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',41);
952: END IF;
953: if ls_num <> trc_LSDirMTDTab.last then
954: ls_num := trc_LSDirMTDTab.next(ls_num);
947:
948: nti_LSTxbPerTypIncTot := nti_LSTxbPerTypInc;
949:
950: hr_utility.set_location('nti_LSNetPerTxbInc: '|| nti_LSNetPerTxbInc,40);
951: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',41);
952: END IF;
953: if ls_num <> trc_LSDirMTDTab.last then
954: ls_num := trc_LSDirMTDTab.next(ls_num);
955: else
956: ls_num := null;
957: end if;
958: end loop;
959:
960: hr_utility.set_location('nti_LSNetPerTypErnTot: '|| nti_LSNetPerTypErnTot,42);
961: hr_utility.set_location('nti_LSNetPerTxbIncTot: '|| nti_LSNetPerTxbIncTot,43);
962: hr_utility.set_location('nti_LSTxbPerTypIncTot: '|| nti_LSTxbPerTypIncTot,44);
963:
964: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',45);
957: end if;
958: end loop;
959:
960: hr_utility.set_location('nti_LSNetPerTypErnTot: '|| nti_LSNetPerTypErnTot,42);
961: hr_utility.set_location('nti_LSNetPerTxbIncTot: '|| nti_LSNetPerTxbIncTot,43);
962: hr_utility.set_location('nti_LSTxbPerTypIncTot: '|| nti_LSTxbPerTypIncTot,44);
963:
964: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',45);
965: nti_LSNetAnnTypErnTot := nti_AnnTypErn + (nti_PerLSTypIncTot * nti_SitFactor) ;
958: end loop;
959:
960: hr_utility.set_location('nti_LSNetPerTypErnTot: '|| nti_LSNetPerTypErnTot,42);
961: hr_utility.set_location('nti_LSNetPerTxbIncTot: '|| nti_LSNetPerTxbIncTot,43);
962: hr_utility.set_location('nti_LSTxbPerTypIncTot: '|| nti_LSTxbPerTypIncTot,44);
963:
964: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',45);
965: nti_LSNetAnnTypErnTot := nti_AnnTypErn + (nti_PerLSTypIncTot * nti_SitFactor) ;
966: nti_LSNetAnnTxbIncTot := nti_NetAnnTxbInc + nti_LSTxbPerTypIncTot;
960: hr_utility.set_location('nti_LSNetPerTypErnTot: '|| nti_LSNetPerTypErnTot,42);
961: hr_utility.set_location('nti_LSNetPerTxbIncTot: '|| nti_LSNetPerTxbIncTot,43);
962: hr_utility.set_location('nti_LSTxbPerTypIncTot: '|| nti_LSTxbPerTypIncTot,44);
963:
964: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',45);
965: nti_LSNetAnnTypErnTot := nti_AnnTypErn + (nti_PerLSTypIncTot * nti_SitFactor) ;
966: nti_LSNetAnnTxbIncTot := nti_NetAnnTxbInc + nti_LSTxbPerTypIncTot;
967:
968: ls_num := trc_LSDirMTDTab.first;
967:
968: ls_num := trc_LSDirMTDTab.first;
969: while( ls_num is not null)
970: loop
971: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',46);
972: IF trc_LSDirMTDTab(ls_num).inc_typ = 'A' THEN
973: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',47);
974: nti_LSTxbAnnTypIncWoDon := trc_LSDirMTDTab(ls_num).dir_value + nti_LSNetAnnTypErnTot - nti_AnnTotAbm;
975: nti_LSTxbAnnTypInc := nti_LSTxbAnnTypIncWoDon - least(glb_ZA_ALLOW_DONATION_PERC*nti_LSTxbAnnTypIncWoDon/100,nti_AnnDonAmt);
969: while( ls_num is not null)
970: loop
971: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',46);
972: IF trc_LSDirMTDTab(ls_num).inc_typ = 'A' THEN
973: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',47);
974: nti_LSTxbAnnTypIncWoDon := trc_LSDirMTDTab(ls_num).dir_value + nti_LSNetAnnTypErnTot - nti_AnnTotAbm;
975: nti_LSTxbAnnTypInc := nti_LSTxbAnnTypIncWoDon - least(glb_ZA_ALLOW_DONATION_PERC*nti_LSTxbAnnTypIncWoDon/100,nti_AnnDonAmt);
976: nti_LSNetAnnTxbInc := nti_LSTxbAnnTypInc - nti_LSNetAnnTxbIncTot;
977:
977:
978: trc_LSNetTxbIncTab(ls_num).LSTxbIncMTD := nti_LSNetAnnTxbInc;
979: pay_balance_pkg.set_context('SOURCE_TEXT', ls_num);
980: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Net Taxable Income LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
981: hr_utility.set_location('ls_num '|| ls_num,47);
982: hr_utility.set_location('Net Taxable Income LS '|| LSNtiUpdFig,47);
983:
984: trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig := nti_LSNetAnnTxbInc - LSNtiUpdFig;
985: hr_utility.set_location('Net Taxable Income LS UPD '|| trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig,47);
978: trc_LSNetTxbIncTab(ls_num).LSTxbIncMTD := nti_LSNetAnnTxbInc;
979: pay_balance_pkg.set_context('SOURCE_TEXT', ls_num);
980: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Net Taxable Income LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
981: hr_utility.set_location('ls_num '|| ls_num,47);
982: hr_utility.set_location('Net Taxable Income LS '|| LSNtiUpdFig,47);
983:
984: trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig := nti_LSNetAnnTxbInc - LSNtiUpdFig;
985: hr_utility.set_location('Net Taxable Income LS UPD '|| trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig,47);
986:
981: hr_utility.set_location('ls_num '|| ls_num,47);
982: hr_utility.set_location('Net Taxable Income LS '|| LSNtiUpdFig,47);
983:
984: trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig := nti_LSNetAnnTxbInc - LSNtiUpdFig;
985: hr_utility.set_location('Net Taxable Income LS UPD '|| trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig,47);
986:
987: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Skills Levy LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
988: hr_utility.set_location('ls_num '|| ls_num,47);
989: hr_utility.set_location('Skills Levy '|| LSNtiUpdFig,47);
984: trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig := nti_LSNetAnnTxbInc - LSNtiUpdFig;
985: hr_utility.set_location('Net Taxable Income LS UPD '|| trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig,47);
986:
987: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Skills Levy LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
988: hr_utility.set_location('ls_num '|| ls_num,47);
989: hr_utility.set_location('Skills Levy '|| LSNtiUpdFig,47);
990: trc_LSNetTxbIncTab(ls_num).LSSkl := LSNtiUpdFig;
991: hr_utility.set_location('Skills Levy LS '|| trc_LSNetTxbIncTab(ls_num).LSSkl,47);
992:
985: hr_utility.set_location('Net Taxable Income LS UPD '|| trc_LSNetTxbIncTab(ls_num).LSNtiUpdFig,47);
986:
987: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Skills Levy LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
988: hr_utility.set_location('ls_num '|| ls_num,47);
989: hr_utility.set_location('Skills Levy '|| LSNtiUpdFig,47);
990: trc_LSNetTxbIncTab(ls_num).LSSkl := LSNtiUpdFig;
991: hr_utility.set_location('Skills Levy LS '|| trc_LSNetTxbIncTab(ls_num).LSSkl,47);
992:
993: nti_LSNetAnnTypErnTot := nti_LSNetAnnTypErnTot + trc_LSDirMTDTab(ls_num).dir_value;
987: LSNtiUpdFig := nvl(pay_balance_pkg.get_value(get_def_bal_id('Skills Levy LS','_ASG_LMPSM_TAX_MTD'),ASSIGNMENT_ACTION_ID),0);
988: hr_utility.set_location('ls_num '|| ls_num,47);
989: hr_utility.set_location('Skills Levy '|| LSNtiUpdFig,47);
990: trc_LSNetTxbIncTab(ls_num).LSSkl := LSNtiUpdFig;
991: hr_utility.set_location('Skills Levy LS '|| trc_LSNetTxbIncTab(ls_num).LSSkl,47);
992:
993: nti_LSNetAnnTypErnTot := nti_LSNetAnnTypErnTot + trc_LSDirMTDTab(ls_num).dir_value;
994: nti_LSNetAnnTxbIncTot := nti_LSNetAnnTxbIncTot + nti_LSNetAnnTxbInc;
995:
992:
993: nti_LSNetAnnTypErnTot := nti_LSNetAnnTypErnTot + trc_LSDirMTDTab(ls_num).dir_value;
994: nti_LSNetAnnTxbIncTot := nti_LSNetAnnTxbIncTot + nti_LSNetAnnTxbInc;
995:
996: hr_utility.set_location('nti_LSNetAnnTxbInc: '|| nti_LSNetAnnTxbInc,48);
997: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',48);
998: END IF;
999: if ls_num <> trc_LSDirMTDTab.last then
1000: ls_num := trc_LSDirMTDTab.next(ls_num);
993: nti_LSNetAnnTypErnTot := nti_LSNetAnnTypErnTot + trc_LSDirMTDTab(ls_num).dir_value;
994: nti_LSNetAnnTxbIncTot := nti_LSNetAnnTxbIncTot + nti_LSNetAnnTxbInc;
995:
996: hr_utility.set_location('nti_LSNetAnnTxbInc: '|| nti_LSNetAnnTxbInc,48);
997: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',48);
998: END IF;
999: if ls_num <> trc_LSDirMTDTab.last then
1000: ls_num := trc_LSDirMTDTab.next(ls_num);
1001: else
1002: ls_num := null;
1003: end if;
1004: end loop;
1005:
1006: hr_utility.set_location('nti_LSNetAnnTypErnTot: '|| nti_LSNetAnnTypErnTot,49);
1007: hr_utility.set_location('nti_LSNetAnnTxbIncTot: '|| nti_LSNetAnnTxbIncTot,49);
1008:
1009: END IF;
1010: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',50);
1003: end if;
1004: end loop;
1005:
1006: hr_utility.set_location('nti_LSNetAnnTypErnTot: '|| nti_LSNetAnnTypErnTot,49);
1007: hr_utility.set_location('nti_LSNetAnnTxbIncTot: '|| nti_LSNetAnnTxbIncTot,49);
1008:
1009: END IF;
1010: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',50);
1011:
1006: hr_utility.set_location('nti_LSNetAnnTypErnTot: '|| nti_LSNetAnnTypErnTot,49);
1007: hr_utility.set_location('nti_LSNetAnnTxbIncTot: '|| nti_LSNetAnnTxbIncTot,49);
1008:
1009: END IF;
1010: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',50);
1011:
1012: -- Loop to store 'To Be Advised' as default in a table
1013:
1014: FOR k in 1 .. 30
1014: FOR k in 1 .. 30
1015: LOOP
1016: trc_LSSklDirNumTab(k):= 'To Be Advised';
1017: END LOOP;
1018: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',55);
1019: trc_LScount := trc_LSDirMTDTab.count;
1020: hr_utility.set_location('trc_LScount ' || trc_LScount,55);
1021:
1022: -- Loop to store the Tax Directive Number in the table wherver it exits.
1016: trc_LSSklDirNumTab(k):= 'To Be Advised';
1017: END LOOP;
1018: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',55);
1019: trc_LScount := trc_LSDirMTDTab.count;
1020: hr_utility.set_location('trc_LScount ' || trc_LScount,55);
1021:
1022: -- Loop to store the Tax Directive Number in the table wherver it exits.
1023: FOR j in 1 .. trc_LScount
1024: LOOP
1021:
1022: -- Loop to store the Tax Directive Number in the table wherver it exits.
1023: FOR j in 1 .. trc_LScount
1024: LOOP
1025: hr_utility.set_location('j: ' || j,56);
1026: if j=1 then
1027: trc_LSSklDirNumTab(m) := trc_LSDirMTDTab.first;
1028: hr_utility.set_location('Value:' || trc_LSSklDirNumTab(m) ,57);
1029: else
1024: LOOP
1025: hr_utility.set_location('j: ' || j,56);
1026: if j=1 then
1027: trc_LSSklDirNumTab(m) := trc_LSDirMTDTab.first;
1028: hr_utility.set_location('Value:' || trc_LSSklDirNumTab(m) ,57);
1029: else
1030: trc_LSSklDirNumTab(m) := trc_LSDirMTDTab.Next(trc_LSSklDirNumTab(m-1));
1031: hr_utility.set_location('Value:' || trc_LSSklDirNumTab(m) ,58);
1032: end if;
1027: trc_LSSklDirNumTab(m) := trc_LSDirMTDTab.first;
1028: hr_utility.set_location('Value:' || trc_LSSklDirNumTab(m) ,57);
1029: else
1030: trc_LSSklDirNumTab(m) := trc_LSDirMTDTab.Next(trc_LSSklDirNumTab(m-1));
1031: hr_utility.set_location('Value:' || trc_LSSklDirNumTab(m) ,58);
1032: end if;
1033: m := m+1;
1034: END LOOP;
1035: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',59);
1031: hr_utility.set_location('Value:' || trc_LSSklDirNumTab(m) ,58);
1032: end if;
1033: m := m+1;
1034: END LOOP;
1035: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',59);
1036: -- Bug 14376752
1037: -- Calculate New Net Taxable Income Balance
1038: --
1039: trc_NtiUpdFig := (nti_NetPerTxbInc + nti_NetAnnTxbInc + nti_NetAnnTxbNTGInc) - bal_NET_TXB_INC_CMTD;
1036: -- Bug 14376752
1037: -- Calculate New Net Taxable Income Balance
1038: --
1039: trc_NtiUpdFig := (nti_NetPerTxbInc + nti_NetAnnTxbInc + nti_NetAnnTxbNTGInc) - bal_NET_TXB_INC_CMTD;
1040: hr_utility.set_location('trc_NtiUpdFig:' || trc_NtiUpdFig,57);
1041: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',57);
1042:
1043: WrtHrTrc('nti_SitFactor: '||to_char(nti_SitFactor));
1044: WrtHrTrc('nti_PerTypErn: '||to_char(nti_PerTypErn));
1037: -- Calculate New Net Taxable Income Balance
1038: --
1039: trc_NtiUpdFig := (nti_NetPerTxbInc + nti_NetAnnTxbInc + nti_NetAnnTxbNTGInc) - bal_NET_TXB_INC_CMTD;
1040: hr_utility.set_location('trc_NtiUpdFig:' || trc_NtiUpdFig,57);
1041: hr_utility.set_location('py_za_tx_01032012.NetTxbIncCalc',57);
1042:
1043: WrtHrTrc('nti_SitFactor: '||to_char(nti_SitFactor));
1044: WrtHrTrc('nti_PerTypErn: '||to_char(nti_PerTypErn));
1045: WrtHrTrc('nti_AnnTypErn: '||to_char(nti_AnnTypErn));
1165: WHEN OTHERS THEN
1166: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
1167: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
1168: py_za_tx_utl_01032012.StopHrTrace;
1169: hr_utility.raise_error;
1170: END NetTxbSklDirNum;
1171:
1172: FUNCTION LSNetTxbInc(
1173: p_Dir_Num IN VARCHAR2
1186: WHEN OTHERS THEN
1187: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
1188: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
1189: py_za_tx_utl_01032012.StopHrTrace;
1190: hr_utility.raise_error;
1191: END LSNetTxbInc;
1192:
1193: FUNCTION LSNetTxbIncUpd(
1194: p_Dir_Num IN VARCHAR2
1206: WHEN OTHERS THEN
1207: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
1208: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
1209: py_za_tx_utl_01032012.StopHrTrace;
1210: hr_utility.raise_error;
1211: END LSNetTxbIncUpd;
1212:
1213:
1214:
1228: WHEN OTHERS THEN
1229: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
1230: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
1231: py_za_tx_utl_01032012.StopHrTrace;
1232: hr_utility.raise_error;
1233: END LSSkillsLevy;
1234:
1235: FUNCTION LSDirCount RETURN NUMBER
1236: AS
1246: WHEN OTHERS THEN
1247: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
1248: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
1249: py_za_tx_utl_01032012.StopHrTrace;
1250: hr_utility.raise_error;
1251: END LSDirCount;
1252:
1253: FUNCTION LSDirNetTxbInc(
1254: p_Dir_Num IN VARCHAR2
1257: AS
1258:
1259: BEGIN
1260:
1261: hr_utility.set_location('py_za_tx_01032012.LSDirNetTxbInc',1);
1262: hr_utility.set_location('Processing Directive Number: '|| p_Dir_Num,1);
1263:
1264: p_LSNetTxbInc := trc_LSNetTxbIncTab(p_Dir_Num).LSTxbIncMTD;
1265:
1258:
1259: BEGIN
1260:
1261: hr_utility.set_location('py_za_tx_01032012.LSDirNetTxbInc',1);
1262: hr_utility.set_location('Processing Directive Number: '|| p_Dir_Num,1);
1263:
1264: p_LSNetTxbInc := trc_LSNetTxbIncTab(p_Dir_Num).LSTxbIncMTD;
1265:
1266: hr_utility.set_location('p_LSNetTxbInc: '|| p_LSNetTxbInc,1);
1262: hr_utility.set_location('Processing Directive Number: '|| p_Dir_Num,1);
1263:
1264: p_LSNetTxbInc := trc_LSNetTxbIncTab(p_Dir_Num).LSTxbIncMTD;
1265:
1266: hr_utility.set_location('p_LSNetTxbInc: '|| p_LSNetTxbInc,1);
1267:
1268: RETURN 1;
1269:
1270: EXCEPTION
1271: WHEN OTHERS THEN
1272: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
1273: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
1274: py_za_tx_utl_01032012.StopHrTrace;
1275: hr_utility.raise_error;
1276: END LSDirNetTxbInc;
1277:
1278: -- Bug 14376752
1279: -------------------------------------------------------------------------------
1303: RETURN l_Dum;
1304:
1305: EXCEPTION
1306: WHEN OTHERS THEN
1307: hr_utility.set_message(801, 'ZaTxOvr_01032012: '||TO_CHAR(SQLCODE));
1308: hr_utility.raise_error;
1309: END ZaTxOvr_01032012;
1310:
1311: -------------------------------------------------------------------------------
1304:
1305: EXCEPTION
1306: WHEN OTHERS THEN
1307: hr_utility.set_message(801, 'ZaTxOvr_01032012: '||TO_CHAR(SQLCODE));
1308: hr_utility.raise_error;
1309: END ZaTxOvr_01032012;
1310:
1311: -------------------------------------------------------------------------------
1312: -- Main Tax Calculation Procedures --
1346: l_BalTypId pay_balance_types.balance_type_id%TYPE;
1347: l_dimension pay_balance_dimensions.dimension_name%TYPE ;
1348:
1349: BEGIN
1350: hr_utility.set_location('py_za_tx_01032012.LteCalc',1);
1351: -- Get the Balance Type ID
1352: SELECT pbt.balance_type_id
1353: INTO l_BalTypId
1354: FROM pay_balance_types pbt
1354: FROM pay_balance_types pbt
1355: WHERE pbt.balance_name = p_BalNme
1356: AND pbt.legislation_code = 'ZA';
1357:
1358: hr_utility.set_location('py_za_tx_01032012.LteCalc',2);
1359:
1360: -- Get the Balance Value
1361: l_dimension := '_ASG_TAX_YTD';
1362: l_BalVal := py_za_bal.get_balance_value
1377: l_BalVal BALANCE;
1378: l_BalTypId pay_balance_types.balance_type_id%TYPE;
1379: l_dimension pay_balance_dimensions.dimension_name%TYPE ;
1380: BEGIN
1381: hr_utility.set_location('py_za_tx_01032012.LteCalc',3);
1382: -- Get the Balance Type ID
1383: SELECT pbt.balance_type_id
1384: INTO l_BalTypId
1385: FROM pay_balance_types pbt
1384: INTO l_BalTypId
1385: FROM pay_balance_types pbt
1386: WHERE pbt.balance_name = p_BalNme;
1387:
1388: hr_utility.set_location('py_za_tx_01032012.LteCalc',4);
1389:
1390: -- Get the Balance Value
1391: l_dimension := '_ASG_ITD';
1392: l_BalVal := py_za_bal.get_balance_value
1398: RETURN l_BalVal;
1399: END getBalVal2;
1400:
1401: BEGIN
1402: hr_utility.set_location('py_za_tx_01032012.LteCalc',5);
1403: -- Does the Assignment have an OFigure?
1404: --
1405: IF bal_TOT_TXB_INC_ITD <= 0 THEN
1406: hr_utility.set_location('py_za_tx_01032012.LteCalc',6);
1402: hr_utility.set_location('py_za_tx_01032012.LteCalc',5);
1403: -- Does the Assignment have an OFigure?
1404: --
1405: IF bal_TOT_TXB_INC_ITD <= 0 THEN
1406: hr_utility.set_location('py_za_tx_01032012.LteCalc',6);
1407: -- Calculate the 'O' Figure
1408: -- Set the Global
1409: trc_CalTyp := 'PstCalc';
1410: -- Set the Site Factor to the value of the previous tax year
1409: trc_CalTyp := 'PstCalc';
1410: -- Set the Site Factor to the value of the previous tax year
1411: l_StrtDte := dbi_ZA_ASG_TX_YR_STRT;
1412: l_EndDate := dbi_ZA_ASG_TX_YR_END;
1413: hr_utility.set_location('py_za_tx_01032012.LteCalc',8);
1414:
1415: trc_SitFactor := (l_EndDate - l_StrtDte + 1) / py_za_tx_utl_01032012.DaysWorked;
1416: hr_utility.set_location('py_za_tx_01032012.LteCalc',9);
1417:
1412: l_EndDate := dbi_ZA_ASG_TX_YR_END;
1413: hr_utility.set_location('py_za_tx_01032012.LteCalc',8);
1414:
1415: trc_SitFactor := (l_EndDate - l_StrtDte + 1) / py_za_tx_utl_01032012.DaysWorked;
1416: hr_utility.set_location('py_za_tx_01032012.LteCalc',9);
1417:
1418: -- Populate Local Balance Variables
1419: -- The PTD Globals are used as dummy to store the previous tax year's
1420: -- Balance values
1453: bal_ANN_DONAT_MD_EE_PTD := getBalVal('Annual Donations made by EE and paid by ER',l_EndDate);
1454: bal_DONAT_MD_EE_PTD := getBalVal('Donations made by EE and paid by ER',l_EndDate);
1455:
1456:
1457: hr_utility.set_location('py_za_tx_01032012.LteCalc',10);
1458:
1459: -- Update Globals with Correct Taxable Values
1460: Fix for bug#10372926
1461: --py_za_tx_utl_01032012.TrvAll;
1462:
1463: -- Bug 8691928
1464: -- removed newlines between various operands of the expression
1465: bal_TOT_TXB_PO_PTD := bal_TOT_TXB_PO_PTD * py_za_tx_utl_01032012.GlbVal('ZA_PUBL_TAX_PERC',l_EndDate) / 100;
1466: hr_utility.set_location('py_za_tx_01032012.LteCalc',11);
1467:
1468: -- Rebates
1469: py_za_tx_utl_01032012.SetRebates;
1470: -- Abatements
1469: py_za_tx_utl_01032012.SetRebates;
1470: -- Abatements
1471: py_za_tx_utl_01032012.Abatements;
1472:
1473: hr_utility.set_location('py_za_tx_01032012.LteCalc',12);
1474:
1475: -- Base Earnings
1476: --
1477: trc_BseErn :=
1495: trc_TxbBseInc :=trc_TxbBseIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbBseIncWoDon,trc_AnnDonAmt);
1496:
1497: -- Threshold Check
1498: IF trc_TxbBseInc >= trc_Threshold THEN
1499: hr_utility.set_location('py_za_tx_01032012.LteCalc',13);
1500: -- Tax Liability
1501: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
1502: ELSE
1503: hr_utility.set_location('py_za_tx_01032012.LteCalc',14);
1499: hr_utility.set_location('py_za_tx_01032012.LteCalc',13);
1500: -- Tax Liability
1501: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
1502: ELSE
1503: hr_utility.set_location('py_za_tx_01032012.LteCalc',14);
1504: trc_TotLibBse := 0;
1505: END IF;
1506:
1507: -- Populate the O Figure
1512: WrtHrTrc('trc_TxbBseInc: '||to_char(trc_TxbBseInc));
1513: WrtHrTrc('trc_TotLibBse: '||to_char(trc_TotLibBse));
1514:
1515: ELSE
1516: hr_utility.set_location('py_za_tx_01032012.LteCalc',15);
1517: -- Use the 'O' Figure as Base
1518: -- Set the Global
1519: trc_CalTyp := 'LteCalc';
1520:
1522: -- threshold and rebate figures
1523: -- Employee Tax Year Start and End Dates
1524: l_EndDate := dbi_ZA_ASG_TX_YR_END;
1525:
1526: hr_utility.set_location('py_za_tx_01032012.LteCalc',16);
1527:
1528: -- Global Values
1529: l_ZA_TX_YR_END := l_EndDate;
1530: l_ZA_ADL_TX_RBT := py_za_tx_utl_01032012.GlbVal('ZA_ADDITIONAL_TAX_REBATE',l_EndDate);
1535: -- Calculate the assignments 65 Year Date
1536: l_65Year := add_months(dbi_PER_DTE_OF_BRTH,780);
1537:
1538: IF l_65Year <= l_ZA_TX_YR_END THEN
1539: hr_utility.set_location('py_za_tx_01032012.LteCalc',17);
1540: -- give the extra abatement
1541: trc_Rebate := l_ZA_PRI_TX_RBT + l_ZA_ADL_TX_RBT;
1542: trc_Threshold := l_ZA_SC_TX_THRSHLD;
1543: ELSE
1540: -- give the extra abatement
1541: trc_Rebate := l_ZA_PRI_TX_RBT + l_ZA_ADL_TX_RBT;
1542: trc_Threshold := l_ZA_SC_TX_THRSHLD;
1543: ELSE
1544: hr_utility.set_location('py_za_tx_01032012.LteCalc',18);
1545: -- not eligable for extra abatement
1546: trc_Rebate := l_ZA_PRI_TX_RBT;
1547: trc_Threshold := l_ZA_PRI_TX_THRSHLD;
1548: END IF;
1553: -- Take the OFigure as Taxable Base Income
1554: trc_TxbBseInc := bal_TOT_TXB_INC_ITD;
1555: -- Threshold Check
1556: IF trc_TxbBseInc >= trc_Threshold THEN
1557: hr_utility.set_location('py_za_tx_01032012.LteCalc',19);
1558: -- Tax Liability
1559: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
1560: ELSE
1561: hr_utility.set_location('py_za_tx_01032012.LteCalc',20);
1557: hr_utility.set_location('py_za_tx_01032012.LteCalc',19);
1558: -- Tax Liability
1559: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
1560: ELSE
1561: hr_utility.set_location('py_za_tx_01032012.LteCalc',20);
1562: trc_TotLibBse := 0;
1563: END IF;
1564:
1565: -- Base Income
1572: trc_CalTyp := 'LteCalc';
1573: -- Set the SitFactor back to 1
1574: trc_SitFactor := 1;
1575:
1576: hr_utility.set_location('py_za_tx_01032012.LteCalc',21);
1577:
1578: -- Rebates
1579: py_za_tx_utl_01032012.SetRebates;
1580: -- Abatements
1579: py_za_tx_utl_01032012.SetRebates;
1580: -- Abatements
1581: py_za_tx_utl_01032012.Abatements;
1582:
1583: hr_utility.set_location('py_za_tx_01032012.LteCalc',22);
1584:
1585: -- Update Global Balance Values with correct TAXABLE values
1586: Fix for bug#10372926
1587: --py_za_tx_utl_01032012.TrvAll;
1593: -- Ytd Normal Income
1594: trc_NorIncYtd := bal_TOT_TXB_NI_YTD;
1595: -- Skip the calculation if there is No Income
1596: IF trc_NorIncYtd <> 0 THEN
1597: hr_utility.set_location('py_za_tx_01032012.LteCalc',23);
1598: -- Normal Earnings
1599: trc_NorErn := trc_NorIncYtd + trc_TxbBseInc;
1600: -- Taxable Normal Income
1601: --TYS2010
1604: trc_TxbNorInc :=trc_TxbNorIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbNorIncWoDon,trc_PerDonAmt);
1605:
1606: -- Threshold Check
1607: IF trc_TxbNorInc >= trc_Threshold THEN
1608: hr_utility.set_location('py_za_tx_01032012.LteCalc',24);
1609: -- Tax Liability
1610: trc_TotLibNI := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbNorInc);
1611: trc_LibFyNI := trc_TotLibNI - least(trc_TotLibNI,trc_TotLibBse);
1612: trc_TotLibNI := greatest(trc_TotLibNI,trc_TotLibBse);
1611: trc_LibFyNI := trc_TotLibNI - least(trc_TotLibNI,trc_TotLibBse);
1612: trc_TotLibNI := greatest(trc_TotLibNI,trc_TotLibBse);
1613: trc_LibFpNI := trc_LibFyNI - bal_TX_ON_NI_YTD;
1614: ELSE
1615: hr_utility.set_location('py_za_tx_01032012.LteCalc',25);
1616: -- Set Cascade Figures and Refund
1617: trc_TotLibNI := 0;
1618: trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
1619: trc_LibFpNIOvr := TRUE;
1618: trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
1619: trc_LibFpNIOvr := TRUE;
1620: END IF;
1621: ELSE
1622: hr_utility.set_location('py_za_tx_01032012.LteCalc',26);
1623: -- Set Cascade Figures and Refund
1624: trc_NorErn := trc_TxbBseInc;
1625: trc_TxbNorInc := 0;
1626: trc_TotLibNI := trc_TotLibBse;
1632: --
1633: trc_FrnBenYtd := bal_TOT_TXB_FB_YTD;
1634: -- Skip the calculation if there is No Income
1635: IF trc_FrnBenYtd <> 0 THEN
1636: hr_utility.set_location('py_za_tx_01032012.LteCalc',27);
1637: -- Fringe Benefit Earnings
1638: trc_FrnBenErn := trc_FrnBenYtd + trc_NorErn;
1639: -- Taxable Fringe Income
1640: --TYS2010
1643: trc_TxbFrnInc :=trc_TxbFrnIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbFrnIncWoDon,trc_PerDonAmt);
1644:
1645: -- Threshold Check
1646: IF trc_TxbFrnInc >= trc_Threshold THEN
1647: hr_utility.set_location('py_za_tx_01032012.LteCalc',28);
1648: -- Tax Liability
1649: trc_TotLibFB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbFrnInc);
1650: trc_LibFyFB := trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI);
1651: trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
1650: trc_LibFyFB := trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI);
1651: trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
1652: trc_LibFpFB := trc_LibFyFB - bal_TX_ON_FB_YTD;
1653: ElSE
1654: hr_utility.set_location('py_za_tx_01032012.LteCalc',29);
1655: -- Set Cascade Figures and Refund
1656: trc_TotLibFB := trc_TotLibNI;
1657: trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
1658: trc_LibFpFBOvr := TRUE;
1657: trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
1658: trc_LibFpFBOvr := TRUE;
1659: END IF;
1660: ELSE
1661: hr_utility.set_location('py_za_tx_01032012.LteCalc',30);
1662: -- Set Cascade Figures and Refund
1663: trc_FrnBenErn := trc_NorErn;
1664: trc_TxbFrnInc := trc_TxbNorInc;
1665: trc_TotLibFB := trc_TotLibNI;
1672: -- Ytd Travel Allowance
1673: trc_TrvAllYtd := bal_TOT_TXB_TA_YTD;
1674: -- Skip the calculation if there is No Income
1675: IF trc_TrvAllYtd <> 0 THEN
1676: hr_utility.set_location('py_za_tx_01032012.LteCalc',31);
1677: -- Travel Earnings
1678: trc_TrvAllErn := trc_TrvAllYtd + trc_FrnBenErn;
1679: -- Taxable Travel Income
1680: --TYS2010
1683: trc_TxbTrvInc :=trc_TxbTrvIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbTrvIncWoDon,trc_PerDonAmt);
1684:
1685: -- Threshold Check
1686: IF trc_TxbTrvInc >= trc_Threshold THEN
1687: hr_utility.set_location('py_za_tx_01032012.LteCalc',32);
1688: -- Tax Liability
1689: trc_TotLibTA := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbTrvInc);
1690: trc_LibFyTA := trc_TotLibTA - least(trc_TotLibTA,trc_TotLibFB);
1691: trc_TotLibTA := greatest(trc_TotLibTA,trc_TotLibFB);
1690: trc_LibFyTA := trc_TotLibTA - least(trc_TotLibTA,trc_TotLibFB);
1691: trc_TotLibTA := greatest(trc_TotLibTA,trc_TotLibFB);
1692: trc_LibFpTA := trc_LibFyTA - bal_TX_ON_TA_YTD;
1693: ELSE
1694: hr_utility.set_location('py_za_tx_01032012.LteCalc',33);
1695: -- Set Cascade Figures and Refund
1696: trc_TotLibTA := trc_TotLibFB;
1697: trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
1698: trc_LibFpTAOvr := TRUE;
1697: trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
1698: trc_LibFpTAOvr := TRUE;
1699: END IF;
1700: ELSE
1701: hr_utility.set_location('py_za_tx_01032012.LteCalc',34);
1702: -- Set Cascade Figures and Refund
1703: trc_TrvAllErn := trc_FrnBenErn;
1704: trc_TxbTrvInc := trc_TxbFrnInc;
1705: trc_TotLibTA := trc_TotLibFB;
1712: -- Ytd Annual Bonus
1713: trc_AnnBonYtd := bal_TOT_TXB_AB_YTD;
1714: -- Skip the calculation if there is No Income
1715: IF trc_AnnBonYtd <> 0 THEN
1716: hr_utility.set_location('py_za_tx_01032012.LteCalc',35);
1717: -- Annual Bonus Earnings
1718: trc_AnnBonErn := trc_AnnBonYtd + trc_TrvAllErn;
1719: -- Taxable Annual Bonus Income
1720: --TYS2010
1723: trc_TxbAnnBonInc :=trc_TxbAnnBonIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnBonIncWoDon,trc_AnnDonAmt);
1724:
1725: -- Threshold Check
1726: IF trc_TxbAnnBonInc >= trc_Threshold THEN
1727: hr_utility.set_location('py_za_tx_01032012.LteCalc',36);
1728: -- Tax Liability
1729: trc_TotLibAB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnBonInc);
1730: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
1731: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
1730: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
1731: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
1732: trc_LibFpAB := trc_LibFyAB - bal_TX_ON_AB_YTD;
1733: ELSE
1734: hr_utility.set_location('py_za_tx_01032012.LteCalc',39);
1735: -- Set Cascade Figures and Refund
1736: trc_TotLibAB := trc_TotLibTA;
1737: trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
1738: trc_LibFpABOvr := TRUE;
1737: trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
1738: trc_LibFpABOvr := TRUE;
1739: END IF;
1740: ELSE
1741: hr_utility.set_location('py_za_tx_01032012.LteCalc',40);
1742: -- Set Cascade Figures and Refund
1743: trc_AnnBonErn := trc_TrvAllErn;
1744: trc_TxbAnnBonInc := trc_TxbTrvInc;
1745: trc_TotLibAB := trc_TotLibTA;
1752: -- Ytd Annual Payments
1753: trc_AnnPymYtd := bal_TOT_TXB_AP_YTD;
1754: -- Skip the calculation if there is No Income
1755: IF trc_AnnPymYtd <> 0 THEN
1756: hr_utility.set_location('py_za_tx_01032012.LteCalc',41);
1757: -- Annual Payments Earnings
1758: trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
1759: -- Taxable Annual Payments Income
1760: --TYS2010
1763: trc_TxbAnnPymInc :=trc_TxbAnnPymIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymIncWoDon,trc_AnnDonAmt);
1764:
1765: -- Threshold Check
1766: IF trc_TxbAnnPymInc >= trc_Threshold THEN
1767: hr_utility.set_location('py_za_tx_01032012.LteCalc',42);
1768: -- Tax Liability
1769: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymInc);
1770: trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
1771: trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
1770: trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
1771: trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
1772: trc_LibFpAP := trc_LibFyAP - bal_TX_ON_AP_YTD;
1773: ELSE
1774: hr_utility.set_location('py_za_tx_01032012.LteCalc',45);
1775: -- Set Cascade Figures and Refund
1776: trc_TotLibAP := trc_TotLibAB;
1777: trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
1778: trc_LibFpAPOvr := TRUE;
1777: trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
1778: trc_LibFpAPOvr := TRUE;
1779: END IF;
1780: ELSE
1781: hr_utility.set_location('py_za_tx_01032012.LteCalc',46);
1782: -- Set Cascade Figures and Refund
1783: trc_AnnPymErn := trc_AnnBonErn;
1784: trc_TxbAnnPymInc := trc_TxbAnnBonInc;
1785: trc_TotLibAP := trc_TotLibAB;
1792: -- Ytd Public Office Allowance
1793: trc_PblOffYtd := bal_TOT_TXB_PO_YTD;
1794: -- Skip the calculation if there is No Income
1795: IF trc_PblOffYtd <> 0 THEN
1796: hr_utility.set_location('py_za_tx_01032012.LteCalc',47);
1797: -- Public Office Allowance Earnings
1798: trc_PblOffErn := trc_PblOffYtd + trc_AnnPymErn;
1799: -- Taxable Public Office Allowance
1800: --TYS2010
1803: trc_TxbPblOffInc :=trc_TxbPblOffIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbPblOffIncWoDon,trc_AnnDonAmt);
1804:
1805: -- Threshold Check
1806: IF trc_TxbPblOffInc >= trc_Threshold THEN
1807: hr_utility.set_location('py_za_tx_01032012.LteCalc',48);
1808: -- Tax Liability
1809: trc_TotLibPO := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbPblOffInc);
1810: trc_LibFyPO := trc_TotLibPO - least(trc_TotLibPO,trc_TotLibAP);
1811: trc_TotLibPO := greatest(trc_TotLibPO,trc_TotLibAP);
1810: trc_LibFyPO := trc_TotLibPO - least(trc_TotLibPO,trc_TotLibAP);
1811: trc_TotLibPO := greatest(trc_TotLibPO,trc_TotLibAP);
1812: trc_LibFpPO := trc_LibFyPO - bal_TX_ON_PO_YTD;
1813: ElSE
1814: hr_utility.set_location('py_za_tx_01032012.LteCalc',49);
1815: -- Set Cascade Figures and Refund
1816: trc_TotLibPO := trc_TotLibPO;
1817: trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
1818: trc_LibFpPOOvr := TRUE;
1817: trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
1818: trc_LibFpPOOvr := TRUE;
1819: END IF;
1820: ELSE
1821: hr_utility.set_location('py_za_tx_01032012.LteCalc',50);
1822: -- Set Cascade Figures and Refund
1823: trc_PblOffErn := trc_AnnPymErn;
1824: trc_TxbPblOffInc := trc_TxbAnnPymInc;
1825: trc_TotLibPO := trc_TotLibAP;
1832: -- Net Pay of the Employee
1833: l_Np := bal_NET_PAY_RUN;
1834: -- Site Limit Check
1835: IF trc_TxbAnnPymInc + trc_PblOffErn < glb_ZA_SIT_LIM THEN
1836: hr_utility.set_location('py_za_tx_01032012.LteCalc',51);
1837: l_Sl := TRUE;
1838: ELSE
1839: hr_utility.set_location('py_za_tx_01032012.LteCalc',52);
1840: l_Sl := FALSE;
1835: IF trc_TxbAnnPymInc + trc_PblOffErn < glb_ZA_SIT_LIM THEN
1836: hr_utility.set_location('py_za_tx_01032012.LteCalc',51);
1837: l_Sl := TRUE;
1838: ELSE
1839: hr_utility.set_location('py_za_tx_01032012.LteCalc',52);
1840: l_Sl := FALSE;
1841: END IF;
1842:
1843: py_za_tx_utl_01032012.ValidateTaxOns(p_Rf => l_Sl);
1844:
1845: -- Set IT3A Indicator
1846: --
1847: IF trc_TxbAnnPymInc + trc_PblOffErn >= trc_Threshold THEN
1848: hr_utility.set_location('py_za_tx_01032012.LteCalc',53);
1849: trc_It3Ind := 0; -- Over Lim
1850: ELSE
1851: hr_utility.set_location('py_za_tx_01032012.LteCalc',54);
1852: trc_It3Ind := 1; -- Under Lim
1847: IF trc_TxbAnnPymInc + trc_PblOffErn >= trc_Threshold THEN
1848: hr_utility.set_location('py_za_tx_01032012.LteCalc',53);
1849: trc_It3Ind := 0; -- Over Lim
1850: ELSE
1851: hr_utility.set_location('py_za_tx_01032012.LteCalc',54);
1852: trc_It3Ind := 1; -- Under Lim
1853: END IF;
1854:
1855: -- Normal Income
1923: PROCEDURE LteCalc AS
1924: l_Sl BOOLEAN;
1925: l_Np BALANCE DEFAULT 0;
1926: BEGIN
1927: hr_utility.set_location('py_za_tx_01032012.LteCalc',1);
1928: trc_CalTyp := 'LteCalc';
1929: trc_SitFactor := 1;
1930: trc_LateSitePaye := 0;
1931:
1932: --Fix for bug#10372926
1933: --py_za_tx_utl_01032012.TrvAll;
1934: py_za_tx_utl_01032012.SetRebates;
1935:
1936: hr_utility.set_location('py_za_tx_01032012.LteCalc',2);
1937:
1938: bal_TOT_TXB_PO_YTD := bal_TOT_TXB_PO_YTD * glb_ZA_PBL_TX_PRC / 100;
1939:
1940: -- Normal Income
1942: -- Ytd Normal Income
1943: trc_NorIncYtd := bal_TOT_TXB_NI_YTD;
1944: -- Skip the calculation if there is No Income
1945: IF trc_NorIncYtd <> 0 THEN
1946: hr_utility.set_location('py_za_tx_01032012.LteCalc',3);
1947: -- Normal Earnings
1948: trc_NorErn := trc_NorIncYtd;
1949: -- Tax Liability
1950: trc_TotLibNI := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_NorErn);
1951: trc_LibFyNI := trc_TotLibNI - 0;
1952: trc_TotLibNI := greatest(trc_TotLibNI,0);
1953: trc_LibFpNI := trc_LibFyNI - bal_TX_ON_NI_YTD;
1954: ELSE
1955: hr_utility.set_location('py_za_tx_01032012.LteCalc',4);
1956: -- Set Cascade Figures and Refund
1957: trc_NorErn := 0;
1958: trc_TotLibNI := 0;
1959: trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
1965: -- Ytd Fringe Benefits
1966: trc_FrnBenYtd := bal_TOT_TXB_FB_YTD;
1967: -- Skip the calculation if there is No Income
1968: IF trc_FrnBenYtd <> 0 THEN
1969: hr_utility.set_location('py_za_tx_01032012.LteCalc',5);
1970: -- Fringe Benefit Earnings
1971: trc_FrnBenErn := trc_FrnBenYtd + trc_NorErn;
1972: -- Tax Liability
1973: trc_TotLibFB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_FrnBenErn);
1974: trc_LibFyFB := trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI);
1975: trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
1976: trc_LibFpFB := trc_LibFyFB - bal_TX_ON_FB_YTD;
1977: ELSE
1978: hr_utility.set_location('py_za_tx_01032012.LteCalc',6);
1979: -- Set Cascade Figures and Refund
1980: trc_FrnBenErn := trc_NorErn;
1981: trc_TotLibFB := trc_TotLibNI;
1982: trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
1988: -- Ytd Travel Allowance
1989: trc_TrvAllYtd := bal_TOT_TXB_TA_YTD;
1990: -- Skip the calculation if there is No Income
1991: IF trc_TrvAllYtd <> 0 THEN
1992: hr_utility.set_location('py_za_tx_01032012.LteCalc',7);
1993: -- Travel Allowance Earnings
1994: trc_TrvAllErn := trc_TrvAllYtd + trc_FrnBenErn;
1995: -- Tax Liability
1996: trc_TotLibTA := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TrvAllErn);
1997: trc_LibFyTA := trc_TotLibTA - least(trc_TotLibTA,trc_TotLibFB);
1998: trc_TotLibTA := greatest(trc_TotLibTA,trc_TotLibFB);
1999: trc_LibFpTA := trc_LibFyTA - bal_TX_ON_TA_YTD;
2000: ELSE
2001: hr_utility.set_location('py_za_tx_01032012.LteCalc',8);
2002: -- Set Cascade Figures and Refund
2003: trc_TrvAllErn := trc_FrnBenErn; --Cascade Figure
2004: trc_TotLibTA := trc_TotLibFB;
2005: trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
2011: -- Ytd Annual Bonus
2012: trc_AnnBonYtd := bal_TOT_TXB_AB_YTD;
2013: -- Skip the calculation if there is No Income
2014: IF trc_AnnBonYtd <> 0 THEN
2015: hr_utility.set_location('py_za_tx_01032012.LteCalc',9);
2016: -- Annual Bonus Earnings
2017: trc_AnnBonErn := trc_AnnBonYtd + trc_TrvAllErn;
2018: -- Tax Liability
2019: trc_TotLibAB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_AnnBonErn);
2021: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
2022: -- Check Bonus Provision
2023: trc_LibFpAB := trc_LibFyAB - bal_TX_ON_AB_YTD;
2024: ELSE
2025: hr_utility.set_location('py_za_tx_01032012.LteCalc',10);
2026: trc_AnnBonErn := trc_TrvAllErn;
2027: trc_TotLibAB := trc_TotLibTA;
2028: trc_LibFpAB := -1 * bal_TX_ON_BP_YTD;
2029: trc_LibFpABOvr := TRUE;
2034: -- Ytd Annual Payments
2035: trc_AnnPymYtd := bal_TOT_TXB_AP_YTD;
2036: -- Skip the calculation if there is No Income
2037: IF trc_AnnPymYtd <> 0 THEN
2038: hr_utility.set_location('py_za_tx_01032012.LteCalc',11);
2039: -- Annual Payments Earnings
2040: trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
2041: -- Tax Liability
2042: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_AnnPymErn);
2043: trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
2044: trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
2045: trc_LibFpAP := trc_LibFyAP - bal_TX_ON_AP_YTD;
2046: ElSE
2047: hr_utility.set_location('py_za_tx_01032012.LteCalc',12);
2048: -- Set Cascade Figures and Refund
2049: trc_AnnPymErn := trc_AnnBonErn;
2050: trc_TotLibAP := trc_TotLibAB;
2051: trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
2059: -- Ytd Public Office Allowance
2060: trc_PblOffYtd := bal_TOT_TXB_PO_YTD;
2061: -- Skip the calculation if there is No Income
2062: IF trc_PblOffYtd <> 0 THEN
2063: hr_utility.set_location('py_za_tx_01032012.LteCalc',13);
2064: -- Public Office Allowance Earnings
2065: trc_PblOffErn := trc_PblOffYtd + trc_AnnPymErn;
2066: -- Tax Liability
2067: trc_TotLibPO := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_PblOffErn);
2068: trc_LibFyPO := trc_TotLibPO - least(trc_TotLibPO,trc_TotLibAP);
2069: trc_TotLibPO := greatest(trc_TotLibPO,trc_TotLibAP);
2070: trc_LibFpPO := trc_LibFyPO - bal_TX_ON_PO_YTD;
2071: ELSE
2072: hr_utility.set_location('py_za_tx_01032012.LteCalc',14);
2073: -- Set Cascade Figures and Refund
2074: trc_PblOffErn := trc_AnnPymErn;
2075: trc_TotLibPO := trc_TotLibAP;
2076: trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
2079:
2080: l_Np := bal_NET_PAY_RUN;
2081: -- Site Limit Check
2082: IF trc_PblOffErn < glb_ZA_SIT_LIM THEN
2083: hr_utility.set_location('py_za_tx_01032012.LteCalc',51);
2084: l_Sl := TRUE;
2085: ELSE
2086: hr_utility.set_location('py_za_tx_01032012.LteCalc',52);
2087: l_Sl := FALSE;
2082: IF trc_PblOffErn < glb_ZA_SIT_LIM THEN
2083: hr_utility.set_location('py_za_tx_01032012.LteCalc',51);
2084: l_Sl := TRUE;
2085: ELSE
2086: hr_utility.set_location('py_za_tx_01032012.LteCalc',52);
2087: l_Sl := FALSE;
2088: END IF;
2089:
2090: py_za_tx_utl_01032012.ValidateTaxOns(p_Rf => l_Sl);
2091:
2092: -- Set IT3A Indicator
2093: --
2094: IF trc_PblOffErn >= trc_Threshold THEN
2095: hr_utility.set_location('py_za_tx_01032012.LteCalc',53);
2096: trc_It3Ind := 0; -- Over Lim
2097: ELSE
2098: hr_utility.set_location('py_za_tx_01032012.LteCalc',54);
2099: trc_It3Ind := 1; -- Under Lim
2094: IF trc_PblOffErn >= trc_Threshold THEN
2095: hr_utility.set_location('py_za_tx_01032012.LteCalc',53);
2096: trc_It3Ind := 0; -- Over Lim
2097: ELSE
2098: hr_utility.set_location('py_za_tx_01032012.LteCalc',54);
2099: trc_It3Ind := 1; -- Under Lim
2100: END IF;
2101:
2102: -- Normal Income
2155: l_Np BALANCE DEFAULT 0;
2156: l_65Year DATE;
2157: l_75Year DATE;
2158: BEGIN
2159: hr_utility.set_location('py_za_tx_01032012.SeaCalc',1);
2160: -- Identify the calculation
2161: --
2162: trc_CalTyp := 'SeaCalc';
2163:
2168: + bal_TOT_TXB_FB_RUN
2169: );
2170: -- Check if any Period Income Exists
2171: --
2172: hr_utility.set_location('py_za_tx_01032012.SeaCalc',2);
2173: IF trc_TxbIncPtd = 0 THEN -- Pre-Earnings Calc
2174: hr_utility.set_location('py_za_tx_01032012.SeaCalc',3);
2175: -- Site Factor
2176: --
2170: -- Check if any Period Income Exists
2171: --
2172: hr_utility.set_location('py_za_tx_01032012.SeaCalc',2);
2173: IF trc_TxbIncPtd = 0 THEN -- Pre-Earnings Calc
2174: hr_utility.set_location('py_za_tx_01032012.SeaCalc',3);
2175: -- Site Factor
2176: --
2177: trc_SitFactor := glb_ZA_WRK_DYS_PR_YR / dbi_SEA_WRK_DYS_WRK;
2178:
2182: l_65Year := add_months(dbi_PER_DTE_OF_BRTH,780);
2183: l_75Year := add_months(dbi_PER_DTE_OF_BRTH,900);
2184:
2185: IF l_75Year BETWEEN dbi_ZA_TX_YR_STRT AND dbi_ZA_TX_YR_END THEN
2186: hr_utility.set_location('py_za_tx_01032012.SeaCalc',31);
2187: -- give the extra abatement
2188: trc_Rebate := glb_ZA_PRI_TX_RBT + glb_ZA_ADL_TX_RBT+glb_ZA_TRI_TX_RBT;
2189: trc_Threshold := glb_ZA_TRI_TX_THRSHLD;
2190: ELSIF l_65Year BETWEEN dbi_ZA_TX_YR_STRT AND dbi_ZA_TX_YR_END THEN
2187: -- give the extra abatement
2188: trc_Rebate := glb_ZA_PRI_TX_RBT + glb_ZA_ADL_TX_RBT+glb_ZA_TRI_TX_RBT;
2189: trc_Threshold := glb_ZA_TRI_TX_THRSHLD;
2190: ELSIF l_65Year BETWEEN dbi_ZA_TX_YR_STRT AND dbi_ZA_TX_YR_END THEN
2191: hr_utility.set_location('py_za_tx_01032012.SeaCalc',4);
2192: -- give the extra abatement
2193: trc_Rebate := glb_ZA_PRI_TX_RBT + glb_ZA_ADL_TX_RBT;
2194: trc_Threshold := glb_ZA_SC_TX_THRSHLD;
2195: ELSE
2192: -- give the extra abatement
2193: trc_Rebate := glb_ZA_PRI_TX_RBT + glb_ZA_ADL_TX_RBT;
2194: trc_Threshold := glb_ZA_SC_TX_THRSHLD;
2195: ELSE
2196: hr_utility.set_location('py_za_tx_01032012.SeaCalc',5);
2197: -- not eligable for extra abatement
2198: trc_Rebate := glb_ZA_PRI_TX_RBT;
2199: trc_Threshold := glb_ZA_PRI_TX_THRSHLD;
2200: END IF;
2206: -- Taxable Base Income
2207: trc_TxbBseInc := trc_BseErn * trc_SitFactor;
2208: -- Threshold Check
2209: IF trc_TxbBseInc >= trc_Threshold THEN
2210: hr_utility.set_location('py_za_tx_01032012.SeaCalc',6);
2211: -- Tax Liability
2212: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
2213: ELSE
2214: hr_utility.set_location('py_za_tx_01032012.SeaCalc',7);
2210: hr_utility.set_location('py_za_tx_01032012.SeaCalc',6);
2211: -- Tax Liability
2212: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
2213: ELSE
2214: hr_utility.set_location('py_za_tx_01032012.SeaCalc',7);
2215: trc_TotLibBse := 0;
2216: END IF;
2217:
2218: -- Annual Payments
2220: -- Taxable Annual Payments Income
2221: trc_TxbAnnPymInc := trc_BseErn + trc_TxbBseInc;-- AP was taken as base!
2222: -- Threshold Check
2223: IF trc_TxbAnnPymInc >= trc_Threshold THEN
2224: hr_utility.set_location('py_za_tx_01032012.SeaCalc',8);
2225: -- Tax Liability
2226: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymInc);
2227: trc_LibFpAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibBse);
2228: ElSE
2225: -- Tax Liability
2226: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymInc);
2227: trc_LibFpAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibBse);
2228: ElSE
2229: hr_utility.set_location('py_za_tx_01032012.SeaCalc',9);
2230: trc_LibFpAP := 0;
2231: END IF;
2232:
2233: -- Base Income
2244: WrtHrTrc('trc_LibFpAP: ' ||to_char(trc_LibFpAP));
2245:
2246:
2247: ELSE
2248: hr_utility.set_location('py_za_tx_01032012.SeaCalc',10);
2249: -- Site Factor
2250: --
2251: trc_SitFactor := glb_ZA_WRK_DYS_PR_YR / dbi_SEA_WRK_DYS_WRK;
2252:
2258:
2259:
2260: trc_curMedTxCrEle := greatest(bal_MED_AID_TAX_CR_RUN + bal_ANN_MED_AID_TAX_CR_RUN,0);
2261:
2262: hr_utility.set_location('py_za_tx_01032012.SeaCalc',11);
2263:
2264: -- Normal Income
2265: --
2266: -- Run Normal Income
2266: -- Run Normal Income
2267: trc_NorIncPtd := bal_TOT_TXB_NI_RUN;
2268: -- Skip the calculation if there is No Income
2269: IF trc_NorIncPtd <> 0 THEN
2270: hr_utility.set_location('py_za_tx_01032012.SeaCalc',12);
2271: -- Normal Earnings
2272: trc_NorErn := trc_NorIncPtd * trc_SitFactor;
2273: --TYS2010
2274: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
2277: trc_TxbNorInc :=trc_TxbNorIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbNorIncWoDon,trc_PerDonAmt);
2278:
2279: -- Threshold Check
2280: IF trc_TxbNorInc >= trc_Threshold THEN
2281: hr_utility.set_location('py_za_tx_01032012.SeaCalc',13);
2282: -- Tax Liability
2283: trc_TotLibNI := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbNorInc);
2284: trc_LibFyNI := trc_TotLibNI - 0;
2285: trc_TotLibNI := greatest(trc_TotLibNI,0);
2295: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNI_Upd
2296: );
2297: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
2298: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
2299: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
2300: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
2301: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
2302: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2303: -- End Medical Tax Credit Changes
2296: );
2297: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
2298: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
2299: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
2300: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
2301: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
2302: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2303: -- End Medical Tax Credit Changes
2304:
2297: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
2298: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
2299: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
2300: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
2301: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
2302: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2303: -- End Medical Tax Credit Changes
2304:
2305: ELSE
2298: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
2299: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
2300: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
2301: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
2302: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2303: -- End Medical Tax Credit Changes
2304:
2305: ELSE
2306: hr_utility.set_location('py_za_tx_01032012.SeaCalc',14);
2302: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2303: -- End Medical Tax Credit Changes
2304:
2305: ELSE
2306: hr_utility.set_location('py_za_tx_01032012.SeaCalc',14);
2307: trc_TotLibNI := 0;
2308: END IF;
2309: ELSE
2310: hr_utility.set_location('py_za_tx_01032012.SeaCalc',15);
2306: hr_utility.set_location('py_za_tx_01032012.SeaCalc',14);
2307: trc_TotLibNI := 0;
2308: END IF;
2309: ELSE
2310: hr_utility.set_location('py_za_tx_01032012.SeaCalc',15);
2311: trc_NorErn := 0;
2312: trc_TxbNorInc := 0;
2313: trc_TotLibNI := 0;
2314: END IF;
2318: -- Run Fringe Benefits
2319: trc_FrnBenPtd := bal_TOT_TXB_FB_RUN;
2320: -- Skip the calculation if there is No Income
2321: IF trc_FrnBenPtd <> 0 THEN
2322: hr_utility.set_location('py_za_tx_01032012.SeaCalc',16);
2323: -- Fringe Benefit Earnings
2324: trc_FrnBenErn := trc_FrnBenPtd * trc_SitFactor + trc_NorErn;
2325: --TYS2010
2326: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
2328: trc_TxbFrnIncWoDon := trc_FrnBenErn - trc_PerTotAbm;
2329: trc_TxbFrnInc :=trc_TxbFrnIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbFrnIncWoDon,trc_PerDonAmt);
2330: -- Threshold Check
2331: IF trc_TxbFrnInc >= trc_Threshold THEN
2332: hr_utility.set_location('py_za_tx_01032012.SeaCalc',17);
2333: -- Tax Liability
2334: trc_TotLibFB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbFrnInc);
2335: trc_LibFyFB := trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI);
2336: trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
2346: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedFB_Upd
2347: );
2348: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
2349: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
2350: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
2351: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
2352: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
2353: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2354: -- End Medical Tax Credit Changes
2347: );
2348: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
2349: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
2350: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
2351: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
2352: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
2353: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2354: -- End Medical Tax Credit Changes
2355:
2348: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
2349: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
2350: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
2351: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
2352: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
2353: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2354: -- End Medical Tax Credit Changes
2355:
2356: ELSE
2349: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
2350: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
2351: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
2352: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
2353: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2354: -- End Medical Tax Credit Changes
2355:
2356: ELSE
2357: hr_utility.set_location('py_za_tx_01032012.SeaCalc',18);
2353: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2354: -- End Medical Tax Credit Changes
2355:
2356: ELSE
2357: hr_utility.set_location('py_za_tx_01032012.SeaCalc',18);
2358: trc_TotLibFB := trc_TotLibNI;
2359: END IF;
2360: ELSE
2361: hr_utility.set_location('py_za_tx_01032012.SeaCalc',19);
2357: hr_utility.set_location('py_za_tx_01032012.SeaCalc',18);
2358: trc_TotLibFB := trc_TotLibNI;
2359: END IF;
2360: ELSE
2361: hr_utility.set_location('py_za_tx_01032012.SeaCalc',19);
2362: trc_FrnBenErn := trc_NorErn;
2363: trc_TxbFrnInc := trc_TxbNorInc;
2364: trc_TotLibFB := trc_TotLibNI;
2365: END IF;
2369: -- Run Annual Payments
2370: trc_AnnPymPtd := bal_TOT_TXB_AP_RUN;
2371: -- Skip the calculation if there is No Income
2372: IF trc_AnnPymPtd <> 0 THEN
2373: hr_utility.set_location('py_za_tx_01032012.SeaCalc',20);
2374: -- Annual Payments Earnings
2375: trc_AnnPymErn := trc_AnnPymPtd + trc_FrnBenErn;
2376:
2377: --TYS2010
2381: trc_TxbAnnPymInc :=trc_TxbAnnPymIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymIncWoDon,trc_AnnDonAmt);
2382:
2383: -- Threshold Check
2384: IF trc_TxbAnnPymInc >= trc_Threshold THEN
2385: hr_utility.set_location('py_za_tx_01032012.SeaCalc',21);
2386: -- Tax Liability
2387: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymInc);
2388: trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibFB);
2389: trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibFB);
2399: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAP_Upd
2400: );
2401: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
2402: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
2403: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
2404: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
2405: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
2406: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2407: -- End Medical Tax Credit Changes
2400: );
2401: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
2402: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
2403: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
2404: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
2405: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
2406: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2407: -- End Medical Tax Credit Changes
2408:
2401: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
2402: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
2403: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
2404: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
2405: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
2406: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2407: -- End Medical Tax Credit Changes
2408:
2409: ELSE
2402: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
2403: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
2404: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
2405: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
2406: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2407: -- End Medical Tax Credit Changes
2408:
2409: ELSE
2410: hr_utility.set_location('py_za_tx_01032012.SeaCalc',22);
2406: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2407: -- End Medical Tax Credit Changes
2408:
2409: ELSE
2410: hr_utility.set_location('py_za_tx_01032012.SeaCalc',22);
2411: trc_TotLibAP := trc_TotLibFB;
2412: END IF;
2413: ELSE
2414: hr_utility.set_location('py_za_tx_01032012.SeaCalc',23);
2410: hr_utility.set_location('py_za_tx_01032012.SeaCalc',22);
2411: trc_TotLibAP := trc_TotLibFB;
2412: END IF;
2413: ELSE
2414: hr_utility.set_location('py_za_tx_01032012.SeaCalc',23);
2415: trc_AnnPymErn := trc_FrnBenErn;
2416: trc_TxbAnnPymInc := trc_TxbFrnInc;
2417: trc_TotLibAP := trc_TotLibFB;
2418: END IF;
2424: -- Net Pay Validation
2425: --
2426: py_za_tx_utl_01032012.ValidateTaxOns;
2427:
2428: hr_utility.set_location('py_za_tx_01032012.SeaCalc',24);
2429:
2430: -- Set IT3A Indicator
2431: --
2432: IF trc_TxbAnnPymInc + trc_PblOffErn >= trc_Threshold THEN
2429:
2430: -- Set IT3A Indicator
2431: --
2432: IF trc_TxbAnnPymInc + trc_PblOffErn >= trc_Threshold THEN
2433: hr_utility.set_location('py_za_tx_01032012.SeaCalc',25);
2434: trc_It3Ind := 0; -- Over Lim
2435: ELSE
2436: hr_utility.set_location('py_za_tx_01032012.SeaCalc',26);
2437: trc_It3Ind := 1; -- Under Lim
2432: IF trc_TxbAnnPymInc + trc_PblOffErn >= trc_Threshold THEN
2433: hr_utility.set_location('py_za_tx_01032012.SeaCalc',25);
2434: trc_It3Ind := 0; -- Over Lim
2435: ELSE
2436: hr_utility.set_location('py_za_tx_01032012.SeaCalc',26);
2437: trc_It3Ind := 1; -- Under Lim
2438: END IF;
2439: END IF;
2440:
2485: l_Np BALANCE;
2486:
2487: BEGIN
2488:
2489: hr_utility.set_location('py_za_tx_01032012.SitCalc',1);
2490: -- Identify the calculation
2491: --
2492: trc_CalTyp := 'SitCalc';
2493:
2495: --
2496: --Fix for bug#10372926
2497: --py_za_tx_utl_01032012.TrvAll;
2498:
2499: hr_utility.set_location('py_za_tx_01032012.SitCalc',2);
2500:
2501: bal_TOT_TXB_PO_YTD := bal_TOT_TXB_PO_YTD * glb_ZA_PBL_TX_PRC / 100;
2502:
2503: -- Ytd Taxable Income
2507: + bal_TOT_TXB_FB_YTD
2508: + bal_TOT_TXB_TA_YTD
2509: + bal_BP_YTD
2510: );
2511: hr_utility.set_location('py_za_tx_01032012.SitCalc',3);
2512:
2513: -- Site Factor
2514: --
2515: trc_SitFactor := dbi_ZA_DYS_IN_YR / py_za_tx_utl_01032012.DaysWorked;
2513: -- Site Factor
2514: --
2515: trc_SitFactor := dbi_ZA_DYS_IN_YR / py_za_tx_utl_01032012.DaysWorked;
2516:
2517: hr_utility.set_location('py_za_tx_01032012.SitCalc',4);
2518:
2519: -- Rebates
2520: py_za_tx_utl_01032012.SetRebates;
2521:
2524:
2525:
2526: trc_curMedTxCrEle := greatest(bal_MED_AID_TAX_CR_YTD + bal_ANN_MED_AID_TAX_CR_YTD,0,bal_MED_AID_TAX_CR_USED_YTD + bal_MED_AID_TAX_CR_USED_LS_YTD);
2527:
2528: hr_utility.set_location('py_za_tx_01032012.SitCalc',5);
2529:
2530: -- Deemed Remuneration
2531: --
2532: -- Run Deemed Remuneration
2533: trc_DmdRmnRun := bal_DIR_DMD_RMN_ITD;
2534:
2535: -- Skip the calculation if there is No Income
2536: IF trc_DmdRmnRun <> 0 THEN
2537: hr_utility.set_location('py_za_tx_01032012.SitCalc',6);
2538: -- Taxable Deemed Remuneration
2539: trc_TxbDmdRmn := trc_DmdRmnRun;
2540: -- Threshold Check
2541: IF trc_TxbDmdRmn >= trc_Threshold THEN
2538: -- Taxable Deemed Remuneration
2539: trc_TxbDmdRmn := trc_DmdRmnRun;
2540: -- Threshold Check
2541: IF trc_TxbDmdRmn >= trc_Threshold THEN
2542: hr_utility.set_location('py_za_tx_01032012.SitCalc',7);
2543: -- Tax Liability
2544: trc_TotLibDR := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbDmdRmn);
2545: trc_LibFyDR := (trc_TotLibDR - 0) / trc_SitFactor;
2546: trc_TotLibDR := greatest(trc_TotLibDR,0);
2556: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedDR_Upd
2557: );
2558: trc_LibFpDR_Upd := trc_LibFpDR - trc_MedTxCrUsedDR_Upd;
2559: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedDR,0);
2560: hr_utility.set_location(' trc_MedTxCrUsedDR:'||trc_MedTxCrUsedDR,10);
2561: hr_utility.set_location('trc_MedTxCrUsedDR_Upd:'||trc_MedTxCrUsedDR_Upd,10);
2562: hr_utility.set_location(' trc_LibFpDR_Upd:'||trc_LibFpDR_Upd,10);
2563: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2564: -- End Medical Tax Credit Changes
2557: );
2558: trc_LibFpDR_Upd := trc_LibFpDR - trc_MedTxCrUsedDR_Upd;
2559: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedDR,0);
2560: hr_utility.set_location(' trc_MedTxCrUsedDR:'||trc_MedTxCrUsedDR,10);
2561: hr_utility.set_location('trc_MedTxCrUsedDR_Upd:'||trc_MedTxCrUsedDR_Upd,10);
2562: hr_utility.set_location(' trc_LibFpDR_Upd:'||trc_LibFpDR_Upd,10);
2563: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2564: -- End Medical Tax Credit Changes
2565:
2558: trc_LibFpDR_Upd := trc_LibFpDR - trc_MedTxCrUsedDR_Upd;
2559: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedDR,0);
2560: hr_utility.set_location(' trc_MedTxCrUsedDR:'||trc_MedTxCrUsedDR,10);
2561: hr_utility.set_location('trc_MedTxCrUsedDR_Upd:'||trc_MedTxCrUsedDR_Upd,10);
2562: hr_utility.set_location(' trc_LibFpDR_Upd:'||trc_LibFpDR_Upd,10);
2563: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2564: -- End Medical Tax Credit Changes
2565:
2566: ELSE
2559: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedDR,0);
2560: hr_utility.set_location(' trc_MedTxCrUsedDR:'||trc_MedTxCrUsedDR,10);
2561: hr_utility.set_location('trc_MedTxCrUsedDR_Upd:'||trc_MedTxCrUsedDR_Upd,10);
2562: hr_utility.set_location(' trc_LibFpDR_Upd:'||trc_LibFpDR_Upd,10);
2563: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2564: -- End Medical Tax Credit Changes
2565:
2566: ELSE
2567: hr_utility.set_location('py_za_tx_01032012.SitCalc',8);
2563: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2564: -- End Medical Tax Credit Changes
2565:
2566: ELSE
2567: hr_utility.set_location('py_za_tx_01032012.SitCalc',8);
2568: -- Set Cascade Figures and Refund
2569: trc_TotLibDR := 0;
2570: trc_LibFpDR := -1 * bal_TX_ON_DR_YTD;
2571: trc_MedTxCrUsedDR_Upd := -1 * bal_MED_TAX_CR_USED_DR_YTD;
2572: trc_LibFpDR_Upd := trc_LibFpDR;
2573: trc_LibFpDROvr := TRUE;
2574: END IF;
2575: ELSE
2576: hr_utility.set_location('py_za_tx_01032012.SitCalc',9);
2577: -- Set Cascade Figures and Refund
2578: trc_TxbDmdRmn := 0;
2579: trc_TotLibDR := 0;
2580: trc_LibFpDR := -1 * bal_TX_ON_DR_YTD;
2582: trc_LibFpDR_Upd := trc_LibFpDR;
2583: trc_LibFpDROvr := TRUE;
2584: END IF;
2585:
2586: hr_utility.set_location('py_za_tx_01032012.SitCalc',10);
2587:
2588: -- Normal Income
2589: --
2590: -- Ytd Normal Income
2590: -- Ytd Normal Income
2591: trc_NorIncYtd := bal_TOT_TXB_NI_YTD;
2592: -- Skip the calculation if there is No Income
2593: IF trc_NorIncYtd <> 0 THEN
2594: hr_utility.set_location('py_za_tx_01032012.SitCalc',11);
2595: -- Normal Earnings
2596: trc_NorErn := trc_NorIncYtd * trc_SitFactor;
2597: -- Taxable Normal Income
2598: --TYS2010
2601: trc_TxbNorInc :=trc_TxbNorIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbNorIncWoDon,trc_PerDonAmt);
2602:
2603: -- Threshold Check
2604: IF trc_TxbNorInc >= trc_Threshold THEN
2605: hr_utility.set_location('py_za_tx_01032012.SitCalc',12);
2606: -- Tax Liability
2607: trc_TotLibNI := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbNorInc);
2608: trc_LibFyNI := (trc_TotLibNI - least(trc_TotLibNI,trc_TotLibDR)) / trc_SitFactor;
2609: trc_TotLibNI := greatest(trc_TotLibNI,trc_TotLibDR);
2619: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNI_Upd
2620: );
2621: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
2622: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
2623: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
2624: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
2625: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
2626: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2627: -- End Medical Tax Credit Changes
2620: );
2621: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
2622: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
2623: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
2624: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
2625: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
2626: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2627: -- End Medical Tax Credit Changes
2628:
2621: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
2622: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
2623: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
2624: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
2625: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
2626: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2627: -- End Medical Tax Credit Changes
2628:
2629: ELSE
2622: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
2623: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
2624: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
2625: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
2626: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2627: -- End Medical Tax Credit Changes
2628:
2629: ELSE
2630: hr_utility.set_location('py_za_tx_01032012.SitCalc',13);
2626: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2627: -- End Medical Tax Credit Changes
2628:
2629: ELSE
2630: hr_utility.set_location('py_za_tx_01032012.SitCalc',13);
2631: -- Set Cascade Figures and Refund
2632: trc_TotLibNI := trc_TotLibDR;
2633:
2634: trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
2636: trc_LibFpNI_Upd := trc_LibFpNI;
2637: trc_LibFpNIOvr := TRUE;
2638: END IF;
2639: ELSE
2640: hr_utility.set_location('py_za_tx_01032012.SitCalc',14);
2641: -- Set Cascade Figures and Refund
2642: trc_NorErn := 0;
2643: trc_TxbNorInc := 0;
2644: trc_TotLibNI := trc_TotLibDR;
2653: -- Ytd Fringe Benefits
2654: trc_FrnBenYtd := bal_TOT_TXB_FB_YTD;
2655: -- Skip the calculation if there is No Income
2656: IF trc_FrnBenYtd <> 0 THEN
2657: hr_utility.set_location('py_za_tx_01032012.SitCalc',15);
2658: -- Fringe Benefit Earnings
2659: trc_FrnBenErn := trc_FrnBenYtd * trc_SitFactor + trc_NorErn;
2660: -- Taxable Fringe Income
2661: --TYS2010
2664: trc_TxbFrnInc :=trc_TxbFrnIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbFrnIncWoDon,trc_PerDonAmt);
2665:
2666: -- Threshold Check
2667: IF trc_TxbFrnInc >= trc_Threshold THEN
2668: hr_utility.set_location('py_za_tx_01032012.SitCalc',16);
2669: -- Tax Liability
2670: trc_TotLibFB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbFrnInc);
2671: trc_LibFyFB := (trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI)) / trc_SitFactor;
2672: trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
2682: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedFB_Upd
2683: );
2684: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
2685: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
2686: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
2687: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
2688: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
2689: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2690: -- End Medical Tax Credit Changes
2683: );
2684: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
2685: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
2686: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
2687: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
2688: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
2689: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2690: -- End Medical Tax Credit Changes
2691:
2684: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
2685: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
2686: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
2687: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
2688: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
2689: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2690: -- End Medical Tax Credit Changes
2691:
2692: ElSE
2685: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
2686: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
2687: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
2688: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
2689: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2690: -- End Medical Tax Credit Changes
2691:
2692: ElSE
2693: hr_utility.set_location('py_za_tx_01032012.SitCalc',17);
2689: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2690: -- End Medical Tax Credit Changes
2691:
2692: ElSE
2693: hr_utility.set_location('py_za_tx_01032012.SitCalc',17);
2694: -- Set Cascade Figures and Refund
2695: trc_TotLibFB := trc_TotLibNI;
2696:
2697: trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
2699: trc_LibFpFB_Upd := trc_LibFpFB;
2700: trc_LibFpFBOvr := TRUE;
2701: END IF;
2702: ELSE
2703: hr_utility.set_location('py_za_tx_01032012.SitCalc',18);
2704: -- Set Cascade Figures and Refund
2705: trc_FrnBenErn := trc_NorErn;
2706: trc_TxbFrnInc := trc_TxbNorInc;
2707: trc_TotLibFB := trc_TotLibNI;
2716: -- Ytd Travel Allowance
2717: trc_TrvAllYtd := bal_TOT_TXB_TA_YTD;
2718: -- Skip the calculation if there is No Income
2719: IF trc_TrvAllYtd <> 0 THEN
2720: hr_utility.set_location('py_za_tx_01032012.SitCalc',19);
2721: -- Travel Earnings
2722: trc_TrvAllErn := trc_TrvAllYtd * trc_SitFactor + trc_FrnBenErn;
2723: -- Taxable Travel Income
2724: --TYS2010
2727: trc_TxbTrvInc :=trc_TxbTrvIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbTrvIncWoDon,trc_PerDonAmt);
2728:
2729: -- Threshold Check
2730: IF trc_TxbTrvInc >= trc_Threshold THEN
2731: hr_utility.set_location('py_za_tx_01032012.SitCalc',20);
2732: -- Tax Liability
2733: trc_TotLibTA := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbTrvInc);
2734: trc_LibFyTA := (trc_TotLibTA - least(trc_TotLibTA,trc_TotLibFB)) / trc_SitFactor;
2735: trc_TotLibTA := greatest(trc_TotLibTA,trc_TotLibFB);
2745: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedTA_Upd
2746: );
2747: trc_LibFpTA_Upd := trc_LibFpTA - trc_MedTxCrUsedTA_Upd;
2748: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
2749: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
2750: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
2751: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
2752: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2753: -- End Medical Tax Credit Changes
2746: );
2747: trc_LibFpTA_Upd := trc_LibFpTA - trc_MedTxCrUsedTA_Upd;
2748: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
2749: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
2750: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
2751: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
2752: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2753: -- End Medical Tax Credit Changes
2754:
2747: trc_LibFpTA_Upd := trc_LibFpTA - trc_MedTxCrUsedTA_Upd;
2748: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
2749: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
2750: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
2751: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
2752: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2753: -- End Medical Tax Credit Changes
2754:
2755: ELSE
2748: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
2749: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
2750: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
2751: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
2752: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2753: -- End Medical Tax Credit Changes
2754:
2755: ELSE
2756: hr_utility.set_location('py_za_tx_01032012.SitCalc',21);
2752: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2753: -- End Medical Tax Credit Changes
2754:
2755: ELSE
2756: hr_utility.set_location('py_za_tx_01032012.SitCalc',21);
2757: -- Set Cascade Figures and Refund
2758: trc_TotLibTA := trc_TotLibFB;
2759: trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
2760: trc_MedTxCrUsedTA_Upd := -1 * bal_MED_TAX_CR_USED_TA_YTD;
2761: trc_LibFpTA_Upd := trc_LibFpTA;
2762: trc_LibFpTAOvr := TRUE;
2763: END IF;
2764: ELSE
2765: hr_utility.set_location('py_za_tx_01032012.SitCalc',22);
2766: -- Set Cascade Figures and Refund
2767: trc_TrvAllErn := trc_FrnBenErn;
2768: trc_TxbTrvInc := trc_TxbFrnInc;
2769: trc_TotLibTA := trc_TotLibFB;
2778: -- Ytd Bonus Prvision
2779: trc_BonProYtd := bal_BP_YTD;
2780: -- Skip the calculation if there is No Income
2781: IF trc_BonProYtd <> 0 THEN
2782: hr_utility.set_location('py_za_tx_01032012.SitCalc',23);
2783: -- Bonus Provision Earnings
2784: trc_BonProErn := trc_BonProYtd * trc_SitFactor + trc_TrvAllErn;
2785: -- Taxable Bonus Provision Income
2786: --TYS2010
2789: trc_TxbBonProInc :=trc_TxbBonProIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbBonProIncWoDon,trc_PerDonAmt);
2790:
2791: -- Threshold Check
2792: IF trc_TxbBonProInc >= trc_Threshold THEN
2793: hr_utility.set_location('py_za_tx_01032012.SitCalc',24);
2794: -- Tax Liability
2795: trc_TotLibBP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBonProInc);
2796: trc_LibFyBP := (trc_TotLibBP - least(trc_TotLibBP,trc_TotLibTA)) / trc_SitFactor;
2797: trc_TotLibBP := greatest(trc_TotLibBP,trc_TotLibTA);
2807: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedBP_Upd
2808: );
2809: trc_LibFpBP_Upd := trc_LibFpBP - trc_MedTxCrUsedBP_Upd;
2810: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
2811: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
2812: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
2813: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
2814: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2815: -- End Medical Tax Credit Changes
2808: );
2809: trc_LibFpBP_Upd := trc_LibFpBP - trc_MedTxCrUsedBP_Upd;
2810: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
2811: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
2812: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
2813: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
2814: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2815: -- End Medical Tax Credit Changes
2816:
2809: trc_LibFpBP_Upd := trc_LibFpBP - trc_MedTxCrUsedBP_Upd;
2810: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
2811: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
2812: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
2813: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
2814: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2815: -- End Medical Tax Credit Changes
2816:
2817: ELSE
2810: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
2811: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
2812: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
2813: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
2814: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2815: -- End Medical Tax Credit Changes
2816:
2817: ELSE
2818: hr_utility.set_location('py_za_tx_01032012.SitCalc',25);
2814: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2815: -- End Medical Tax Credit Changes
2816:
2817: ELSE
2818: hr_utility.set_location('py_za_tx_01032012.SitCalc',25);
2819: -- Set Cascade Figures and Refund
2820: trc_TotLibBP := trc_TotLibTA;
2821: trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
2822: trc_MedTxCrUsedBP_Upd := -1 * bal_MED_TAX_CR_USED_BP_YTD;
2823: trc_LibFpBP_Upd := trc_LibFpBP;
2824: trc_LibFpBPOvr := TRUE;
2825: END IF;
2826: ELSE
2827: hr_utility.set_location('py_za_tx_01032012.SitCalc',26);
2828: -- Set Cascade Figures and Refund
2829: trc_BonProErn := trc_TrvAllErn;
2830: trc_TxbBonProInc := trc_TxbTrvInc;
2831: trc_TotLibBP := trc_TotLibTA;
2840: -- Ytd Annual Bonus
2841: trc_AnnBonYtd := bal_TOT_TXB_AB_YTD;
2842: -- Skip the calculation if there is No Income
2843: IF trc_AnnBonYtd <> 0 THEN
2844: hr_utility.set_location('py_za_tx_01032012.SitCalc',27);
2845: -- Annual Bonus Earnings
2846: trc_AnnBonErn := trc_AnnBonYtd + trc_TrvAllErn;
2847: -- Taxable Annual Bonus Income
2848: --TYS2010
2851: trc_TxbAnnBonInc :=trc_TxbAnnBonIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnBonIncWoDon,trc_AnnDonAmt);
2852:
2853: -- Threshold Check
2854: IF trc_TxbAnnBonInc >= trc_Threshold THEN
2855: hr_utility.set_location('py_za_tx_01032012.SitCalc',28);
2856: -- Tax Liability
2857: trc_TotLibAB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnBonInc);
2858: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
2859: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
2856: -- Tax Liability
2857: trc_TotLibAB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnBonInc);
2858: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
2859: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
2860: hr_utility.set_location('py_za_tx_01032012.SitCalc',29);
2861: -- Check Bonus Provision
2862: IF trc_BonProYtd <> 0 THEN
2863: hr_utility.set_location('py_za_tx_01032012.SitCalc',30);
2864: -- Check Bonus Provision Frequency
2859: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
2860: hr_utility.set_location('py_za_tx_01032012.SitCalc',29);
2861: -- Check Bonus Provision
2862: IF trc_BonProYtd <> 0 THEN
2863: hr_utility.set_location('py_za_tx_01032012.SitCalc',30);
2864: -- Check Bonus Provision Frequency
2865: IF dbi_BP_TX_RCV = 'B' OR py_za_tx_utl_01032012.SitePeriod THEN
2866: hr_utility.set_location('py_za_tx_01032012.SitCalc',31);
2867: trc_LibFpAB :=
2862: IF trc_BonProYtd <> 0 THEN
2863: hr_utility.set_location('py_za_tx_01032012.SitCalc',30);
2864: -- Check Bonus Provision Frequency
2865: IF dbi_BP_TX_RCV = 'B' OR py_za_tx_utl_01032012.SitePeriod THEN
2866: hr_utility.set_location('py_za_tx_01032012.SitCalc',31);
2867: trc_LibFpAB :=
2868: trc_LibFyAB - (bal_TX_ON_BP_YTD
2869: + bal_MED_TAX_CR_USED_BP_YTD
2870: + trc_LibFpBP
2881: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
2882: );
2883: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
2884: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
2885: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
2886: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
2887: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
2888: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2889: -- End Medical Tax Credit Changes
2882: );
2883: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
2884: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
2885: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
2886: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
2887: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
2888: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2889: -- End Medical Tax Credit Changes
2890:
2883: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
2884: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
2885: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
2886: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
2887: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
2888: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2889: -- End Medical Tax Credit Changes
2890:
2891: ELSE
2884: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
2885: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
2886: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
2887: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
2888: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2889: -- End Medical Tax Credit Changes
2890:
2891: ELSE
2892: hr_utility.set_location('py_za_tx_01032012.SitCalc',32);
2888: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2889: -- End Medical Tax Credit Changes
2890:
2891: ELSE
2892: hr_utility.set_location('py_za_tx_01032012.SitCalc',32);
2893: trc_LibFpAB := 0;
2894: END IF;
2895: ELSE
2896: hr_utility.set_location('py_za_tx_01032012.SitCalc',33);
2892: hr_utility.set_location('py_za_tx_01032012.SitCalc',32);
2893: trc_LibFpAB := 0;
2894: END IF;
2895: ELSE
2896: hr_utility.set_location('py_za_tx_01032012.SitCalc',33);
2897: trc_LibFpAB := trc_LibFyAB - (bal_TX_ON_AB_YTD + bal_MED_TAX_CR_USED_AB_YTD);
2898:
2899: -- Start Medical Tax Credit Changes
2900: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
2906: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
2907: );
2908: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
2909: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
2910: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
2911: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
2912: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
2913: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2914: -- End Medical Tax Credit Changes
2907: );
2908: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
2909: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
2910: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
2911: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
2912: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
2913: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2914: -- End Medical Tax Credit Changes
2915:
2908: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
2909: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
2910: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
2911: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
2912: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
2913: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2914: -- End Medical Tax Credit Changes
2915:
2916: END IF;
2909: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
2910: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
2911: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
2912: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
2913: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2914: -- End Medical Tax Credit Changes
2915:
2916: END IF;
2917: ELSE
2914: -- End Medical Tax Credit Changes
2915:
2916: END IF;
2917: ELSE
2918: hr_utility.set_location('py_za_tx_01032012.SitCalc',34);
2919: -- Set Cascade Figures and Refund
2920: trc_TotLibAB := trc_TotLibTA;
2921: trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
2922: trc_MedTxCrUsedAB_Upd := -1 * bal_MED_TAX_CR_USED_AB_YTD;
2923: trc_LibFpAB_Upd := trc_LibFpAB ;
2924: trc_LibFpABOvr := TRUE;
2925: END IF;
2926: ELSE
2927: hr_utility.set_location('py_za_tx_01032012.SitCalc',35);
2928: -- Set Cascade Figures and Refund
2929: trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
2930: trc_MedTxCrUsedAB_Upd := -1 * bal_MED_TAX_CR_USED_AB_YTD;
2931: trc_LibFpAB_Upd := trc_LibFpAB ;
2931: trc_LibFpAB_Upd := trc_LibFpAB ;
2932: trc_LibFpABOvr := TRUE;
2933:
2934: IF dbi_BP_TX_RCV = 'A' AND py_za_tx_utl_01032012.SitePeriod THEN
2935: hr_utility.set_location('py_za_tx_01032012.SitCalc',36);
2936: trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
2937: trc_MedTxCrUsedBP_Upd := -1 * bal_MED_TAX_CR_USED_BP_PTD;
2938: trc_LibFpBP_Upd := trc_LibFpBP;
2939: trc_LibFpBPOvr := TRUE;
2942: trc_AnnBonErn := trc_TrvAllErn;
2943: trc_TxbAnnBonInc := trc_TxbTrvInc;
2944: trc_TotLibAB := trc_TotLibTA;
2945: ELSE
2946: hr_utility.set_location('py_za_tx_01032012.SitCalc',37);
2947: trc_AnnBonErn := trc_BonProErn;
2948: trc_TxbAnnBonInc := trc_TxbBonProInc;
2949: trc_TotLibAB := trc_TotLibBP;
2950: END IF;
2955: -- Ytd Annual Payments
2956: trc_AnnPymYtd := bal_TOT_TXB_AP_YTD;
2957: -- Skip the calculation if there is No Income
2958: IF trc_AnnPymYtd <> 0 THEN
2959: hr_utility.set_location('py_za_tx_01032012.SitCalc',38);
2960: -- Annual Payments Earnings
2961: trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
2962: --TYS2010
2963: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
2967: trc_TxbAnnPymInc :=trc_TxbAnnPymIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymIncWoDon,trc_AnnDonAmt);
2968:
2969: -- Threshold Check
2970: IF trc_TxbAnnPymInc >= trc_Threshold THEN
2971: hr_utility.set_location('py_za_tx_01032012.SitCalc',39);
2972: -- Tax Liability
2973: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymInc);
2974: trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
2975: trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
2985: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAP_Upd
2986: );
2987: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
2988: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
2989: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
2990: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
2991: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
2992: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2993: -- End Medical Tax Credit Changes
2986: );
2987: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
2988: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
2989: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
2990: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
2991: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
2992: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2993: -- End Medical Tax Credit Changes
2994:
2987: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
2988: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
2989: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
2990: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
2991: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
2992: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2993: -- End Medical Tax Credit Changes
2994:
2995: ELSE
2988: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
2989: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
2990: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
2991: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
2992: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2993: -- End Medical Tax Credit Changes
2994:
2995: ELSE
2996: hr_utility.set_location('py_za_tx_01032012.SitCalc',40);
2992: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
2993: -- End Medical Tax Credit Changes
2994:
2995: ELSE
2996: hr_utility.set_location('py_za_tx_01032012.SitCalc',40);
2997: -- Set Cascade Figures and Refund
2998: trc_TotLibAP := trc_TotLibAB;
2999: trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
3000: trc_MedTxCrUsedAP_Upd := -1 * bal_MED_TAX_CR_USED_AP_YTD;
3001: trc_LibFpAP_Upd := trc_LibFpAP ;
3002: trc_LibFpAPOvr := TRUE;
3003: END IF;
3004: ELSE
3005: hr_utility.set_location('py_za_tx_01032012.SitCalc',41);
3006: -- Set Cascade Figures and Refund
3007: trc_AnnPymErn := trc_AnnBonErn;
3008: trc_TxbAnnPymInc := trc_TxbAnnBonInc;
3009: trc_TotLibAP := trc_TotLibAB;
3018: -- Ytd Public Office Allowance
3019: trc_PblOffYtd := bal_TOT_TXB_PO_YTD;
3020: -- Skip the calculation if there is No Income
3021: IF trc_PblOffYtd <> 0 THEN
3022: hr_utility.set_location('py_za_tx_01032012.SitCalc',42);
3023: -- Public Office Allowance Earnings
3024: trc_PblOffErn := trc_PblOffYtd * trc_SitFactor + trc_AnnPymErn;
3025: -- Taxable Public Office Allowance
3026: --TYS2010
3030: trc_TxbPblOffInc :=trc_TxbPblOffIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbPblOffIncWoDon,trc_AnnDonAmt);
3031:
3032: -- Threshold Check
3033: IF trc_TxbPblOffInc >= trc_Threshold THEN
3034: hr_utility.set_location('py_za_tx_01032012.SitCalc',43);
3035: -- Tax Liability
3036: trc_TotLibPO := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbPblOffInc);
3037: trc_LibFyPO := (trc_TotLibPO - least(trc_TotLibPO,trc_TotLibAP)) / trc_SitFactor;
3038: trc_TotLibPO := greatest(trc_TotLibPO,trc_TotLibAP);
3048: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedPO_Upd
3049: );
3050: trc_LibFpPO_Upd := trc_LibFpPO - trc_MedTxCrUsedPO_Upd;
3051: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
3052: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
3053: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
3054: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
3055: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3056: -- End Medical Tax Credit Changes
3049: );
3050: trc_LibFpPO_Upd := trc_LibFpPO - trc_MedTxCrUsedPO_Upd;
3051: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
3052: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
3053: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
3054: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
3055: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3056: -- End Medical Tax Credit Changes
3057:
3050: trc_LibFpPO_Upd := trc_LibFpPO - trc_MedTxCrUsedPO_Upd;
3051: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
3052: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
3053: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
3054: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
3055: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3056: -- End Medical Tax Credit Changes
3057:
3058: ElSE
3051: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
3052: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
3053: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
3054: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
3055: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3056: -- End Medical Tax Credit Changes
3057:
3058: ElSE
3059: hr_utility.set_location('py_za_tx_01032012.SitCalc',44);
3055: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3056: -- End Medical Tax Credit Changes
3057:
3058: ElSE
3059: hr_utility.set_location('py_za_tx_01032012.SitCalc',44);
3060: -- Set Cascade Figures and Refund
3061: trc_TotLibPO := trc_TotLibAP;
3062: trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
3063: trc_MedTxCrUsedPO_Upd := -1 * bal_MED_TAX_CR_USED_PO_YTD;
3064: trc_LibFpPO_Upd := trc_LibFpPO;
3065: trc_LibFpPOOvr := TRUE;
3066: END IF;
3067: ELSE
3068: hr_utility.set_location('py_za_tx_01032012.SitCalc',45);
3069: -- Set Cascade Figures and Refund
3070: trc_PblOffErn := trc_AnnPymErn;
3071: trc_TxbPblOffInc := trc_TxbAnnPymInc;
3072: trc_TotLibPO := trc_TotLibAP;
3080: -- Ytd Net to Gross Annual Payments
3081: trc_AnnPymNTGYtd := bal_TOT_TXB_AP_NTG_YTD;
3082: -- Skip the calculation if there is No Income
3083: IF trc_AnnPymNtgYtd <> 0 THEN
3084: hr_utility.set_location('py_za_tx_01032012.SitCalc',46);
3085: -- Annual Payments Net to Gross Earnings
3086: trc_AnnPymNtgErn := trc_AnnPymNtgYtd + trc_PblOffErn;
3087:
3088: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
3091: trc_TxbAnnPymNtgInc :=trc_TxbAnnPymNtgIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymNtgIncWoDon,trc_AnnDonAmt);
3092:
3093: -- Threshold Check
3094: IF trc_TxbAnnPymNtgInc >= trc_Threshold THEN
3095: hr_utility.set_location('py_za_tx_01032012.SitCalc',47);
3096: -- Tax Liability
3097: trc_TotLibNtgAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymNtgInc);
3098: trc_LibFyNtgAP := trc_TotLibNtgAP - least(trc_TotLibNtgAP,trc_TotLibPO);
3099: trc_TotLibNtgAP := greatest(trc_TotLibNtgAP,trc_TotLibPO);
3110: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgAP_Upd
3111: );
3112: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
3113: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
3114: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
3115: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
3116: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
3117: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3118: -- End Medical Tax Credit Changes
3111: );
3112: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
3113: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
3114: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
3115: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
3116: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
3117: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3118: -- End Medical Tax Credit Changes
3119:
3112: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
3113: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
3114: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
3115: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
3116: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
3117: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3118: -- End Medical Tax Credit Changes
3119:
3120: ELSE
3113: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
3114: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
3115: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
3116: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
3117: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3118: -- End Medical Tax Credit Changes
3119:
3120: ELSE
3121: hr_utility.set_location('py_za_tx_01032012.SitCalc',48);
3117: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3118: -- End Medical Tax Credit Changes
3119:
3120: ELSE
3121: hr_utility.set_location('py_za_tx_01032012.SitCalc',48);
3122: -- Set Cascade Figures and Refund
3123: trc_TotLibNtgAP := trc_TotLibPO;
3124: trc_LibFpNtgAP := -1 * bal_TX_ON_AP_NTG_YTD;
3125: trc_MedTxCrUsedNtgAP_Upd := -1 * bal_MED_TAX_CR_USED_NG_YTD;
3126: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP;
3127: trc_LibFpNtgAPOvr := TRUE;
3128: END IF;
3129: ELSE
3130: hr_utility.set_location('py_za_tx_01032012.SitCalc',49);
3131: -- Set Cascade Figures and Refund
3132: trc_AnnPymNtgErn := trc_PblOffErn;
3133: trc_TxbAnnPymNtgInc := trc_TxbPblOffInc;
3134: trc_TotLibNtgAP := trc_TotLibPO;
3141: -- Ytd Net to Gross EE Debt due to Net to Gross Annual Payments
3142: trc_AnnEEDbtNTGYtd := bal_TOT_TXB_EE_DBT_NTG_YTD;
3143: -- Skip the calculation if there is No Income
3144: IF trc_AnnEEDbtNtgYtd <> 0 THEN
3145: hr_utility.set_location('py_za_tx_01032012.SitCalc',50);
3146: -- Annual EE Debt Net to Gross Earnings
3147: trc_AnnEEDbtNtgErn := trc_AnnEEDbtNtgYtd + trc_AnnPymNtgErn;
3148:
3149: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
3151: trc_TxbAnnEEDbtNtgInc :=trc_TxbAnnEEDbtNtgIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnEEDbtNtgIncWoDon,trc_AnnDonAmt);
3152:
3153: -- Threshold Check
3154: IF trc_TxbAnnEEDbtNtgInc >= trc_Threshold THEN
3155: hr_utility.set_location('py_za_tx_01032012.SitCalc',51);
3156: -- Tax Liability
3157: trc_TotLibNtgEEDbt := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnEEDbtNtgInc);
3158: trc_LibFyNtgEEDbt := trc_TotLibNtgEEDbt - least(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
3159: trc_TotLibNtgEEDbt := greatest(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
3169: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgEEDbt_Upd
3170: );
3171: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
3172: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
3173: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
3174: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
3175: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
3176: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3177: -- End Medical Tax Credit Changes
3170: );
3171: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
3172: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
3173: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
3174: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
3175: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
3176: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3177: -- End Medical Tax Credit Changes
3178:
3171: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
3172: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
3173: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
3174: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
3175: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
3176: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3177: -- End Medical Tax Credit Changes
3178:
3179: ELSE
3172: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
3173: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
3174: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
3175: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
3176: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3177: -- End Medical Tax Credit Changes
3178:
3179: ELSE
3180: hr_utility.set_location('py_za_tx_01032012.SitCalc',52);
3176: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3177: -- End Medical Tax Credit Changes
3178:
3179: ELSE
3180: hr_utility.set_location('py_za_tx_01032012.SitCalc',52);
3181: -- Set Cascade Figures and Refund
3182: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
3183: trc_LibFpNtgEEDbt := -1 * bal_TX_ON_EE_DBT_NTG_YTD;
3184: trc_MedTxCrUsedNtgEEDbt_Upd := -1 * bal_MED_TAX_CR_USED_EE_YTD;
3185: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt;
3186: trc_LibFpNtgEEDbtOvr := TRUE;
3187: END IF;
3188: ELSE
3189: hr_utility.set_location('py_za_tx_01032012.SitCalc',53);
3190: -- Set Cascade Figures and Refund
3191: trc_AnnEEDbtNtgErn := trc_AnnPymNtgErn;
3192: trc_TxbAnnEEDbtNtgInc := trc_TxbAnnPymNtgInc;
3193: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
3214: l_Np := bal_NET_PAY_RUN;
3215: -- Site Limit Check
3216: /* Commented for bug 8751513 as the value in trc_PblOffErn is duplicated because trc_TxbAnnPymInc holds that value
3217: IF trc_TxbAnnPymInc + trc_PblOffErn < glb_ZA_SIT_LIM THEN
3218: hr_utility.set_location('py_za_tx_01032012.SitCalc',54);
3219: l_Sl := TRUE;
3220: ELSE
3221: hr_utility.set_location('py_za_tx_01032012.SitCalc',47);
3222: l_Sl := FALSE;
3217: IF trc_TxbAnnPymInc + trc_PblOffErn < glb_ZA_SIT_LIM THEN
3218: hr_utility.set_location('py_za_tx_01032012.SitCalc',54);
3219: l_Sl := TRUE;
3220: ELSE
3221: hr_utility.set_location('py_za_tx_01032012.SitCalc',47);
3222: l_Sl := FALSE;
3223: END IF;
3224: */
3225:
3224: */
3225:
3226: --Added for Net to Gross
3227: IF trc_TxbAnnEEDbtNtgInc < glb_ZA_SIT_LIM THEN
3228: hr_utility.set_location('py_za_tx_01032012.SitCalc',54);
3229: l_Sl := TRUE;
3230: ELSE
3231: hr_utility.set_location('py_za_tx_01032012.SitCalc',55);
3232: l_Sl := FALSE;
3227: IF trc_TxbAnnEEDbtNtgInc < glb_ZA_SIT_LIM THEN
3228: hr_utility.set_location('py_za_tx_01032012.SitCalc',54);
3229: l_Sl := TRUE;
3230: ELSE
3231: hr_utility.set_location('py_za_tx_01032012.SitCalc',55);
3232: l_Sl := FALSE;
3233: END IF;
3234:
3235: -- Allow Refund at last period for Non Cumulative Tax method
3241: */
3242:
3243: py_za_tx_utl_01032012.ValidateTaxOns(p_Rf => l_Sl);
3244:
3245: hr_utility.set_location('py_za_tx_01032012.SitCalc',56);
3246:
3247: -- Set IT3A Indicator
3248: --
3249: /* Commented for bug 8751513 as the value in trc_PblOffErn is duplicated because trc_TxbAnnPymInc holds that value
3248: --
3249: /* Commented for bug 8751513 as the value in trc_PblOffErn is duplicated because trc_TxbAnnPymInc holds that value
3250: IF trc_TxbAnnPymInc + trc_PblOffErn >= trc_Threshold THEN */
3251: IF trc_TxbAnnEEDbtNtgInc >= trc_Threshold THEN
3252: hr_utility.set_location('py_za_tx_01032012.SitCalc',57);
3253: trc_It3Ind := 0; -- Over Lim
3254: ELSE
3255: hr_utility.set_location('py_za_tx_01032012.SitCalc',58);
3256: trc_It3Ind := 1; -- Under Lim
3251: IF trc_TxbAnnEEDbtNtgInc >= trc_Threshold THEN
3252: hr_utility.set_location('py_za_tx_01032012.SitCalc',57);
3253: trc_It3Ind := 0; -- Over Lim
3254: ELSE
3255: hr_utility.set_location('py_za_tx_01032012.SitCalc',58);
3256: trc_It3Ind := 1; -- Under Lim
3257: END IF;
3258:
3259: -- Calculate Total Taxable Income and pass out
3261: /* Commented for bug 8751513 as the value in trc_PblOffErn is duplicated because trc_TxbAnnPymInc holds that value
3262: trc_OUpdFig := (trc_TxbAnnPymInc + trc_PblOffErn) - bal_TOT_TXB_INC_ITD; */
3263: trc_OUpdFig := trc_TxbAnnEEDbtNtgInc - bal_TOT_TXB_INC_ITD;
3264:
3265: hr_utility.set_location('py_za_tx_01032012.SitCalc',59);
3266:
3267: -- Deemed Remuneration
3268: WrtHrTrc('trc_TxbDmdRmn: '||to_char(trc_TxbDmdRmn));
3269: WrtHrTrc('trc_TotLibDR: '||to_char(trc_TotLibDR));
3376: l_Sl BOOLEAN ; -- Bug 14195352
3377:
3378: BEGIN
3379:
3380: hr_utility.set_location('py_za_tx_01032012.DirCalc',1);
3381: -- Identify the calculation
3382: --
3383: trc_CalTyp := 'DirCalc';
3384:
3386: --
3387: --Fix for bug#10372926
3388: --py_za_tx_utl_01032012.TrvAll;
3389:
3390: hr_utility.set_location('py_za_tx_01032012.DirCalc',2);
3391:
3392: bal_TOT_TXB_PO_YTD := bal_TOT_TXB_PO_YTD * glb_ZA_PBL_TX_PRC / 100;
3393:
3394: trc_curMedTxCrEle := greatest(bal_MED_AID_TAX_CR_YTD + bal_ANN_MED_AID_TAX_CR_YTD,0,bal_MED_AID_TAX_CR_USED_YTD + bal_MED_AID_TAX_CR_USED_LS_YTD) ;
3397: -- Ytd Normal Income
3398: trc_NorIncYtd := bal_TOT_TXB_NI_YTD;
3399: -- Skip the calculation if there is No Income
3400: IF trc_NorIncYtd <> 0 THEN
3401: hr_utility.set_location('py_za_tx_01032012.DirCalc',3);
3402: -- Normal Earnings
3403: trc_NorErn := trc_NorIncYtd;
3404: -- Tax Liability
3405: trc_TotLibNI := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_NorErn);
3417: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNI_Upd
3418: );
3419: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
3420: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
3421: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
3422: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
3423: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
3424: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3425: -- End Medical Tax Credit Changes
3418: );
3419: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
3420: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
3421: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
3422: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
3423: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
3424: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3425: -- End Medical Tax Credit Changes
3426:
3419: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
3420: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
3421: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
3422: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
3423: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
3424: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3425: -- End Medical Tax Credit Changes
3426:
3427: ELSE
3420: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
3421: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
3422: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
3423: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
3424: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3425: -- End Medical Tax Credit Changes
3426:
3427: ELSE
3428: hr_utility.set_location('py_za_tx_01032012.DirCalc',4);
3424: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3425: -- End Medical Tax Credit Changes
3426:
3427: ELSE
3428: hr_utility.set_location('py_za_tx_01032012.DirCalc',4);
3429: -- Set Cascade Figures and Refund
3430: trc_NorErn := 0;
3431: trc_TotLibNI := 0;
3432: trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
3441: -- Ytd Fringe Benefits
3442: trc_FrnBenYtd := bal_TOT_TXB_FB_YTD;
3443: -- Skip the calculation if there is No Income
3444: IF trc_FrnBenYtd <> 0 THEN
3445: hr_utility.set_location('py_za_tx_01032012.DirCalc',5);
3446: -- Fringe Benefit Earnings
3447: trc_FrnBenErn := trc_FrnBenYtd + trc_NorErn;
3448: -- Tax Liability
3449: trc_TotLibFB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_FrnBenErn);
3461: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedFB_Upd
3462: );
3463: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
3464: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
3465: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
3466: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
3467: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
3468: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3469: -- End Medical Tax Credit Changes
3462: );
3463: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
3464: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
3465: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
3466: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
3467: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
3468: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3469: -- End Medical Tax Credit Changes
3470:
3463: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
3464: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
3465: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
3466: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
3467: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
3468: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3469: -- End Medical Tax Credit Changes
3470:
3471: ELSE
3464: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
3465: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
3466: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
3467: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
3468: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3469: -- End Medical Tax Credit Changes
3470:
3471: ELSE
3472: hr_utility.set_location('py_za_tx_01032012.DirCalc',6);
3468: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3469: -- End Medical Tax Credit Changes
3470:
3471: ELSE
3472: hr_utility.set_location('py_za_tx_01032012.DirCalc',6);
3473: -- Set Cascade Figures and Refund
3474: trc_FrnBenErn := trc_NorErn;
3475: trc_TotLibFB := trc_TotLibNI;
3476: trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
3485: -- Ytd Travel Allowance
3486: trc_TrvAllYtd := bal_TOT_TXB_TA_YTD;
3487: -- Skip the calculation if there is No Income
3488: IF trc_TrvAllYtd <> 0 THEN
3489: hr_utility.set_location('py_za_tx_01032012.DirCalc',7);
3490: -- Travel Allowance Earnings
3491: trc_TrvAllErn := trc_TrvAllYtd + trc_FrnBenErn;
3492: -- Tax Liability
3493: trc_TotLibTA := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TrvAllErn);
3505: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedTA_Upd
3506: );
3507: trc_LibFpTA_Upd := trc_LibFpTA - trc_MedTxCrUsedTA_Upd;
3508: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
3509: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
3510: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
3511: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
3512: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3513: -- End Medical Tax Credit Changes
3506: );
3507: trc_LibFpTA_Upd := trc_LibFpTA - trc_MedTxCrUsedTA_Upd;
3508: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
3509: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
3510: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
3511: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
3512: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3513: -- End Medical Tax Credit Changes
3514:
3507: trc_LibFpTA_Upd := trc_LibFpTA - trc_MedTxCrUsedTA_Upd;
3508: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
3509: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
3510: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
3511: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
3512: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3513: -- End Medical Tax Credit Changes
3514:
3515: ELSE
3508: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
3509: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
3510: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
3511: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
3512: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3513: -- End Medical Tax Credit Changes
3514:
3515: ELSE
3516: hr_utility.set_location('py_za_tx_01032012.DirCalc',8);
3512: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3513: -- End Medical Tax Credit Changes
3514:
3515: ELSE
3516: hr_utility.set_location('py_za_tx_01032012.DirCalc',8);
3517: -- Set Cascade Figures and Refund
3518: trc_TrvAllErn := trc_FrnBenErn; --Cascade Figure
3519: trc_TotLibTA := trc_TotLibFB;
3520: trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
3528: -- Ytd Bonus Provision
3529: trc_BonProYtd := bal_BP_YTD;
3530: -- Skip the calculation if there is No Income
3531: IF trc_BonProYtd <> 0 THEN
3532: hr_utility.set_location('py_za_tx_01032012.DirCalc',9);
3533: -- Bonus Provision Earnings
3534: trc_BonProErn := trc_BonProYtd + trc_TrvAllErn;
3535: -- Tax Liability
3536: trc_TotLibBP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_BonProErn);
3548: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedBP_Upd
3549: );
3550: trc_LibFpBP_Upd := trc_LibFpBP - trc_MedTxCrUsedBP_Upd;
3551: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
3552: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
3553: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
3554: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
3555: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3556: -- End Medical Tax Credit Changes
3549: );
3550: trc_LibFpBP_Upd := trc_LibFpBP - trc_MedTxCrUsedBP_Upd;
3551: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
3552: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
3553: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
3554: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
3555: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3556: -- End Medical Tax Credit Changes
3557:
3550: trc_LibFpBP_Upd := trc_LibFpBP - trc_MedTxCrUsedBP_Upd;
3551: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
3552: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
3553: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
3554: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
3555: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3556: -- End Medical Tax Credit Changes
3557:
3558: ELSE
3551: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
3552: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
3553: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
3554: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
3555: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3556: -- End Medical Tax Credit Changes
3557:
3558: ELSE
3559: hr_utility.set_location('py_za_tx_01032012.DirCalc',10);
3555: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3556: -- End Medical Tax Credit Changes
3557:
3558: ELSE
3559: hr_utility.set_location('py_za_tx_01032012.DirCalc',10);
3560: -- Set Cascade Figures and Refund
3561: trc_BonProErn := trc_TrvAllErn;
3562: trc_TotLibBP := trc_TotLibTA;
3563: trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
3571: -- Ytd Annual Bonus
3572: trc_AnnBonYtd := bal_TOT_TXB_AB_YTD;
3573: -- Skip the calculation if there is No Income
3574: IF trc_AnnBonYtd <> 0 THEN
3575: hr_utility.set_location('py_za_tx_01032012.DirCalc',11);
3576: -- Annual Bonus Earnings
3577: trc_AnnBonErn := trc_AnnBonYtd + trc_TrvAllErn;
3578: -- Tax Liability
3579: trc_TotLibAB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_AnnBonErn);
3580: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
3581: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
3582: -- Check Bonus Provision
3583: IF trc_BonProYtd <> 0 THEN
3584: hr_utility.set_location('py_za_tx_01032012.DirCalc',12);
3585: -- Check Bonus Provision Frequency
3586: IF dbi_BP_TX_RCV = 'B' OR py_za_tx_utl_01032012.SitePeriod THEN
3587: hr_utility.set_location('py_za_tx_01032012.DirCalc',13);
3588: trc_LibFpAB :=
3583: IF trc_BonProYtd <> 0 THEN
3584: hr_utility.set_location('py_za_tx_01032012.DirCalc',12);
3585: -- Check Bonus Provision Frequency
3586: IF dbi_BP_TX_RCV = 'B' OR py_za_tx_utl_01032012.SitePeriod THEN
3587: hr_utility.set_location('py_za_tx_01032012.DirCalc',13);
3588: trc_LibFpAB :=
3589: trc_LibFyAB - (bal_TX_ON_BP_YTD
3590: + bal_MED_TAX_CR_USED_BP_YTD
3591: + trc_LibFpBP
3603: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
3604: );
3605: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
3606: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
3607: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
3608: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
3609: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
3610: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3611: -- End Medical Tax Credit Changes
3604: );
3605: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
3606: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
3607: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
3608: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
3609: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
3610: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3611: -- End Medical Tax Credit Changes
3612:
3605: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
3606: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
3607: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
3608: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
3609: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
3610: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3611: -- End Medical Tax Credit Changes
3612:
3613: ELSE
3606: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
3607: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
3608: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
3609: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
3610: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3611: -- End Medical Tax Credit Changes
3612:
3613: ELSE
3614: hr_utility.set_location('py_za_tx_01032012.DirCalc',14);
3610: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3611: -- End Medical Tax Credit Changes
3612:
3613: ELSE
3614: hr_utility.set_location('py_za_tx_01032012.DirCalc',14);
3615: trc_LibFpAB := 0;
3616: END IF;
3617: ELSE
3618: hr_utility.set_location('py_za_tx_01032012.DirCalc',15);
3614: hr_utility.set_location('py_za_tx_01032012.DirCalc',14);
3615: trc_LibFpAB := 0;
3616: END IF;
3617: ELSE
3618: hr_utility.set_location('py_za_tx_01032012.DirCalc',15);
3619: trc_LibFpAB := trc_LibFyAB - (bal_TX_ON_AB_YTD + bal_MED_TAX_CR_USED_AB_YTD);
3620:
3621: -- Start Medical Tax Credit Changes
3622: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
3628: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
3629: );
3630: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
3631: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
3632: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
3633: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
3634: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
3635: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3636: -- End Medical Tax Credit Changes
3629: );
3630: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
3631: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
3632: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
3633: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
3634: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
3635: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3636: -- End Medical Tax Credit Changes
3637:
3630: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
3631: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
3632: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
3633: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
3634: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
3635: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3636: -- End Medical Tax Credit Changes
3637:
3638: END IF;
3631: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
3632: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
3633: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
3634: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
3635: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3636: -- End Medical Tax Credit Changes
3637:
3638: END IF;
3639: ELSE
3636: -- End Medical Tax Credit Changes
3637:
3638: END IF;
3639: ELSE
3640: hr_utility.set_location('py_za_tx_01032012.DirCalc',16);
3641: -- Set Cascade Figures and Refund
3642: trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
3643: trc_LibFpABOvr := TRUE;
3644: trc_MedTxCrUsedAB_Upd := -1 * bal_MED_TAX_CR_USED_AB_YTD;
3643: trc_LibFpABOvr := TRUE;
3644: trc_MedTxCrUsedAB_Upd := -1 * bal_MED_TAX_CR_USED_AB_YTD;
3645: trc_LibFpAB_Upd := trc_LibFpAB ;
3646: IF dbi_BP_TX_RCV = 'A' AND py_za_tx_utl_01032012.SitePeriod THEN
3647: hr_utility.set_location('py_za_tx_01032012.DirCalc',17);
3648: trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
3649: trc_MedTxCrUsedBP_Upd := -1 * bal_MED_TAX_CR_USED_BP_YTD;
3650: trc_LibFpBPOvr := TRUE;
3651: trc_LibFpAPOvr := TRUE;
3652: trc_LibFpBP_Upd := trc_LibFpBP;
3653: trc_AnnBonErn := trc_TrvAllErn;
3654: trc_TotLibAB := trc_TotLibTA;
3655: ELSE
3656: hr_utility.set_location('py_za_tx_01032012.DirCalc',18);
3657: trc_AnnBonErn := trc_BonProErn;
3658: trc_TotLibAB := trc_TotLibBP;
3659: END IF;
3660: END IF;
3665: -- Ytd Annual Payments
3666: trc_AnnPymYtd := bal_TOT_TXB_AP_YTD;
3667: -- Skip the calculation if there is No Income
3668: IF trc_AnnPymYtd <> 0 THEN
3669: hr_utility.set_location('py_za_tx_01032012.DirCalc',19);
3670: -- Annual Payments Earnings
3671: trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
3672: -- Tax Liability
3673: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_AnnPymErn);
3685: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAP_Upd
3686: );
3687: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
3688: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
3689: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
3690: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
3691: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
3692: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3693: -- End Medical Tax Credit Changes
3686: );
3687: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
3688: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
3689: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
3690: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
3691: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
3692: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3693: -- End Medical Tax Credit Changes
3694:
3687: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
3688: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
3689: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
3690: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
3691: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
3692: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3693: -- End Medical Tax Credit Changes
3694:
3695: ElSE
3688: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
3689: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
3690: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
3691: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
3692: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3693: -- End Medical Tax Credit Changes
3694:
3695: ElSE
3696: hr_utility.set_location('py_za_tx_01032012.DirCalc',20);
3692: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3693: -- End Medical Tax Credit Changes
3694:
3695: ElSE
3696: hr_utility.set_location('py_za_tx_01032012.DirCalc',20);
3697: -- Set Cascade Figures and Refund
3698: trc_AnnPymErn := trc_AnnBonErn;
3699: trc_MedTxCrUsedAP_Upd := -1 * bal_MED_TAX_CR_USED_AP_YTD;
3700: trc_TotLibAP := trc_TotLibAB;
3708: -- Ytd Public Office Allowance
3709: trc_PblOffYtd := bal_TOT_TXB_PO_YTD;
3710: -- Skip the calculation if there is No Income
3711: IF trc_PblOffYtd <> 0 THEN
3712: hr_utility.set_location('py_za_tx_01032012.DirCalc',21);
3713: -- Public Office Allowance Earnings
3714: trc_PblOffErn := trc_PblOffYtd + trc_AnnPymErn;
3715: -- Tax Liability
3716: trc_TotLibPO := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_PblOffErn);
3728: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedPO_Upd
3729: );
3730: trc_LibFpPO_Upd := trc_LibFpPO - trc_MedTxCrUsedPO_Upd;
3731: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
3732: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
3733: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
3734: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
3735: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3736: -- End Medical Tax Credit Changes
3729: );
3730: trc_LibFpPO_Upd := trc_LibFpPO - trc_MedTxCrUsedPO_Upd;
3731: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
3732: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
3733: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
3734: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
3735: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3736: -- End Medical Tax Credit Changes
3737:
3730: trc_LibFpPO_Upd := trc_LibFpPO - trc_MedTxCrUsedPO_Upd;
3731: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
3732: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
3733: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
3734: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
3735: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3736: -- End Medical Tax Credit Changes
3737:
3738: ELSE
3731: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
3732: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
3733: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
3734: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
3735: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3736: -- End Medical Tax Credit Changes
3737:
3738: ELSE
3739: hr_utility.set_location('py_za_tx_01032012.DirCalc',22);
3735: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3736: -- End Medical Tax Credit Changes
3737:
3738: ELSE
3739: hr_utility.set_location('py_za_tx_01032012.DirCalc',22);
3740: -- Set Cascade Figures and Refund
3741: trc_PblOffErn := trc_AnnPymErn;
3742: trc_TotLibPO := trc_TotLibAP;
3743: trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
3750: -- Ytd Net to Gross Annual Payments
3751: trc_AnnPymNTGYtd := bal_TOT_TXB_AP_NTG_YTD;
3752: -- Skip the calculation if there is No Income
3753: IF trc_AnnPymNtgYtd <> 0 THEN
3754: hr_utility.set_location('py_za_tx_01032012.DirCalc',23);
3755: -- Annual Payments Net to Gross Earnings
3756: trc_AnnPymNtgErn := trc_AnnPymNtgYtd + trc_PblOffErn;
3757: -- Tax Liability
3758: trc_TotLibNtgAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_AnnPymNtgErn);
3770: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgAP_Upd
3771: );
3772: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
3773: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
3774: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
3775: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
3776: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
3777: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3778: -- End Medical Tax Credit Changes
3771: );
3772: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
3773: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
3774: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
3775: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
3776: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
3777: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3778: -- End Medical Tax Credit Changes
3779:
3772: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
3773: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
3774: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
3775: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
3776: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
3777: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3778: -- End Medical Tax Credit Changes
3779:
3780: ELSE
3773: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
3774: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
3775: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
3776: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
3777: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3778: -- End Medical Tax Credit Changes
3779:
3780: ELSE
3781: hr_utility.set_location('py_za_tx_01032012.DirCalc',24);
3777: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3778: -- End Medical Tax Credit Changes
3779:
3780: ELSE
3781: hr_utility.set_location('py_za_tx_01032012.DirCalc',24);
3782: -- Set Cascade Figures and Refund
3783: trc_AnnPymNtgErn := trc_PblOffErn;
3784: trc_TotLibNtgAP := trc_TotLibPO;
3785: trc_MedTxCrUsedNtgAP_Upd := -1 * bal_MED_TAX_CR_USED_NG_YTD;
3791: -- Ytd Net to Gross EE Debt arised due to Net to Gross Annual Payments
3792: trc_AnnEEDbtNTGYtd := bal_TOT_TXB_EE_DBT_NTG_YTD;
3793: -- Skip the calculation if there is No Income
3794: IF trc_AnnEEDbtNtgYtd <> 0 THEN
3795: hr_utility.set_location('py_za_tx_01032012.DirCalc',25);
3796: -- Annual EE Debt Net to Gross Earnings
3797: trc_AnnEEDbtNtgErn := trc_AnnEEDbtNtgYtd + trc_AnnPymNtgErn;
3798:
3799: -- Tax Liability
3812: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgEEDbt_Upd
3813: );
3814: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
3815: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
3816: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
3817: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
3818: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
3819: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3820: -- End Medical Tax Credit Changes
3813: );
3814: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
3815: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
3816: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
3817: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
3818: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
3819: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3820: -- End Medical Tax Credit Changes
3821:
3814: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
3815: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
3816: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
3817: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
3818: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
3819: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3820: -- End Medical Tax Credit Changes
3821:
3822: ELSE
3815: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
3816: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
3817: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
3818: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
3819: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3820: -- End Medical Tax Credit Changes
3821:
3822: ELSE
3823: hr_utility.set_location('py_za_tx_01032012.DirCalc',26);
3819: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
3820: -- End Medical Tax Credit Changes
3821:
3822: ELSE
3823: hr_utility.set_location('py_za_tx_01032012.DirCalc',26);
3824: -- Set Cascade Figures and Refund
3825: trc_AnnEEDbtNtgErn := trc_AnnPymNtgErn;
3826: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
3827: trc_LibFpNtgEEDbt := -1 * bal_TX_ON_EE_DBT_NTG_YTD;
3851: l_Sl := FALSE;
3852: END IF;
3853: py_za_tx_utl_01032012.ValidateTaxOns(p_Rf => l_Sl);
3854:
3855: hr_utility.set_location('py_za_tx_01032012.DirCalc',27);
3856:
3857: -- Tax Percentage Indicator
3858: --
3859: IF dbi_TX_STA IN ('D','P') THEN
3856:
3857: -- Tax Percentage Indicator
3858: --
3859: IF dbi_TX_STA IN ('D','P') THEN
3860: hr_utility.set_location('py_za_tx_01032012.DirCalc',28);
3861: trc_TxPercVal := dbi_TX_DIR_VAL;
3862: ELSIF dbi_TX_STA = 'E' THEN
3863: hr_utility.set_location('py_za_tx_01032012.DirCalc',29);
3864: trc_TxPercVal := glb_ZA_CC_TX_PRC;
3859: IF dbi_TX_STA IN ('D','P') THEN
3860: hr_utility.set_location('py_za_tx_01032012.DirCalc',28);
3861: trc_TxPercVal := dbi_TX_DIR_VAL;
3862: ELSIF dbi_TX_STA = 'E' THEN
3863: hr_utility.set_location('py_za_tx_01032012.DirCalc',29);
3864: trc_TxPercVal := glb_ZA_CC_TX_PRC;
3865: ELSIF dbi_TX_STA = 'F' THEN
3866: hr_utility.set_location('py_za_tx_01032012.DirCalc',30);
3867: trc_TxPercVal := glb_ZA_TMP_TX_RTE;
3862: ELSIF dbi_TX_STA = 'E' THEN
3863: hr_utility.set_location('py_za_tx_01032012.DirCalc',29);
3864: trc_TxPercVal := glb_ZA_CC_TX_PRC;
3865: ELSIF dbi_TX_STA = 'F' THEN
3866: hr_utility.set_location('py_za_tx_01032012.DirCalc',30);
3867: trc_TxPercVal := glb_ZA_TMP_TX_RTE;
3868: ELSIF dbi_TX_STA = 'J' THEN
3869: hr_utility.set_location('py_za_tx_01032012.DirCalc',31);
3870: trc_TxPercVal := glb_ZA_PER_SERV_COMP_PERC;
3865: ELSIF dbi_TX_STA = 'F' THEN
3866: hr_utility.set_location('py_za_tx_01032012.DirCalc',30);
3867: trc_TxPercVal := glb_ZA_TMP_TX_RTE;
3868: ELSIF dbi_TX_STA = 'J' THEN
3869: hr_utility.set_location('py_za_tx_01032012.DirCalc',31);
3870: trc_TxPercVal := glb_ZA_PER_SERV_COMP_PERC;
3871: ELSIF dbi_TX_STA = 'K' THEN
3872: hr_utility.set_location('py_za_tx_01032012.DirCalc',32);
3873: trc_TxPercVal := glb_ZA_PER_SERV_TRST_PERC;
3868: ELSIF dbi_TX_STA = 'J' THEN
3869: hr_utility.set_location('py_za_tx_01032012.DirCalc',31);
3870: trc_TxPercVal := glb_ZA_PER_SERV_COMP_PERC;
3871: ELSIF dbi_TX_STA = 'K' THEN
3872: hr_utility.set_location('py_za_tx_01032012.DirCalc',32);
3873: trc_TxPercVal := glb_ZA_PER_SERV_TRST_PERC;
3874: ELSIF dbi_TX_STA = 'L' THEN
3875: hr_utility.set_location('py_za_tx_01032012.DirCalc',33);
3876: trc_TxPercVal := glb_ZA_PER_SERV_COMP_PERC;
3871: ELSIF dbi_TX_STA = 'K' THEN
3872: hr_utility.set_location('py_za_tx_01032012.DirCalc',32);
3873: trc_TxPercVal := glb_ZA_PER_SERV_TRST_PERC;
3874: ELSIF dbi_TX_STA = 'L' THEN
3875: hr_utility.set_location('py_za_tx_01032012.DirCalc',33);
3876: trc_TxPercVal := glb_ZA_PER_SERV_COMP_PERC;
3877: ELSE
3878: hr_utility.set_location('py_za_tx_01032012.DirCalc',34);
3879: trc_TxPercVal := 0;
3874: ELSIF dbi_TX_STA = 'L' THEN
3875: hr_utility.set_location('py_za_tx_01032012.DirCalc',33);
3876: trc_TxPercVal := glb_ZA_PER_SERV_COMP_PERC;
3877: ELSE
3878: hr_utility.set_location('py_za_tx_01032012.DirCalc',34);
3879: trc_TxPercVal := 0;
3880: END IF;
3881:
3882: hr_utility.set_location('py_za_tx_01032012.DirCalc',35);
3878: hr_utility.set_location('py_za_tx_01032012.DirCalc',34);
3879: trc_TxPercVal := 0;
3880: END IF;
3881:
3882: hr_utility.set_location('py_za_tx_01032012.DirCalc',35);
3883:
3884: -- Base Income
3885: WrtHrTrc('trc_BseErn: '||to_char(trc_BseErn));
3886: WrtHrTrc('trc_TxbBseInc: '||to_char(trc_TxbBseInc));
3978: l_65Year DATE;
3979:
3980: BEGIN
3981:
3982: hr_utility.set_location('py_za_tx_01032012.BasCalc',1);
3983: -- Identify the Calculation
3984: --
3985: trc_CalTyp := 'BasCalc';
3986:
3998: trc_DmdRmnRun := bal_DIR_DMD_RMN_ITD;
3999:
4000: -- Skip the calculation if there is No Income
4001: IF trc_DmdRmnRun <> 0 THEN
4002: hr_utility.set_location('py_za_tx_01032012.BasCalc',2);
4003: -- Taxable Deemed Remuneration
4004: trc_TxbDmdRmn := trc_DmdRmnRun;
4005: -- Threshold Check
4006: IF trc_TxbDmdRmn >= trc_Threshold THEN
4003: -- Taxable Deemed Remuneration
4004: trc_TxbDmdRmn := trc_DmdRmnRun;
4005: -- Threshold Check
4006: IF trc_TxbDmdRmn >= trc_Threshold THEN
4007: hr_utility.set_location('py_za_tx_01032012.BasCalc',3);
4008: -- Tax Liability
4009: trc_TotLibDR := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbDmdRmn);
4010: ELSE
4011: hr_utility.set_location('py_za_tx_01032012.BasCalc',4);
4007: hr_utility.set_location('py_za_tx_01032012.BasCalc',3);
4008: -- Tax Liability
4009: trc_TotLibDR := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbDmdRmn);
4010: ELSE
4011: hr_utility.set_location('py_za_tx_01032012.BasCalc',4);
4012: trc_TotLibDR := 0;
4013: END IF;
4014: ELSE
4015: hr_utility.set_location('py_za_tx_01032012.BasCalc',5);
4011: hr_utility.set_location('py_za_tx_01032012.BasCalc',4);
4012: trc_TotLibDR := 0;
4013: END IF;
4014: ELSE
4015: hr_utility.set_location('py_za_tx_01032012.BasCalc',5);
4016: trc_TotLibDR := 0;
4017: END IF;
4018:
4019: hr_utility.set_location('py_za_tx_01032012.BasCalc',6);
4015: hr_utility.set_location('py_za_tx_01032012.BasCalc',5);
4016: trc_TotLibDR := 0;
4017: END IF;
4018:
4019: hr_utility.set_location('py_za_tx_01032012.BasCalc',6);
4020:
4021: -- Base Earnings
4022: --
4023: --Base Earnings
4025: -- Estimate Base Taxable Income
4026: trc_TxbBseInc := trc_BseErn * dbi_ZA_PAY_PRDS_PER_YR;
4027: -- Threshold Check
4028: IF trc_TxbBseInc >= trc_Threshold THEN
4029: hr_utility.set_location('py_za_tx_01032012.BasCalc',7);
4030: -- Tax Liability
4031: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
4032: trc_TotLibBse := greatest(trc_TotLibBse,trc_TotLibDR);
4033: ELSE
4030: -- Tax Liability
4031: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
4032: trc_TotLibBse := greatest(trc_TotLibBse,trc_TotLibDR);
4033: ELSE
4034: hr_utility.set_location('py_za_tx_01032012.BasCalc',8);
4035: trc_TotLibBse := trc_TotLibDR;
4036: END IF;
4037:
4038: hr_utility.set_location('py_za_tx_01032012.BasCalc',9);
4034: hr_utility.set_location('py_za_tx_01032012.BasCalc',8);
4035: trc_TotLibBse := trc_TotLibDR;
4036: END IF;
4037:
4038: hr_utility.set_location('py_za_tx_01032012.BasCalc',9);
4039:
4040: -- Annual Bonus
4041: --
4042: -- Ytd Annual Bonus
4042: -- Ytd Annual Bonus
4043: trc_AnnBonYtd := bal_TOT_TXB_AB_YTD;
4044: -- Skip the calculation if there is No Income
4045: IF trc_AnnBonYtd <> 0 THEN
4046: hr_utility.set_location('py_za_tx_01032012.BasCalc',10);
4047: -- Annual Bonus Earnings
4048: trc_AnnBonErn := trc_AnnBonYtd + trc_TxbBseInc;
4049: -- Taxable Annual Bonus Income
4050: --TYS2010
4053: trc_TxbAnnBonInc :=trc_TxbAnnBonIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnBonIncWoDon,trc_AnnDonAmt);
4054:
4055: -- Threshold Check
4056: IF trc_TxbAnnBonInc >= trc_Threshold THEN
4057: hr_utility.set_location('py_za_tx_01032012.BasCalc',11);
4058: -- Tax Liability
4059: trc_TotLibAB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnBonInc);
4060: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibBse);
4061: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibBse);
4060: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibBse);
4061: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibBse);
4062: -- Check Bonus Provision
4063: IF bal_BP_YTD <> 0 THEN
4064: hr_utility.set_location('py_za_tx_01032012.BasCalc',12);
4065: -- Check Bonus Provision Frequency
4066: IF dbi_BP_TX_RCV = 'A' THEN
4067: hr_utility.set_location('py_za_tx_01032012.BasCalc',13);
4068: trc_LibFpAB := 0;
4063: IF bal_BP_YTD <> 0 THEN
4064: hr_utility.set_location('py_za_tx_01032012.BasCalc',12);
4065: -- Check Bonus Provision Frequency
4066: IF dbi_BP_TX_RCV = 'A' THEN
4067: hr_utility.set_location('py_za_tx_01032012.BasCalc',13);
4068: trc_LibFpAB := 0;
4069: ELSE
4070: hr_utility.set_location('py_za_tx_01032012.BasCalc',14);
4071: trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD + bal_MED_TAX_CR_USED_BP_YTD
4066: IF dbi_BP_TX_RCV = 'A' THEN
4067: hr_utility.set_location('py_za_tx_01032012.BasCalc',13);
4068: trc_LibFpAB := 0;
4069: ELSE
4070: hr_utility.set_location('py_za_tx_01032012.BasCalc',14);
4071: trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD + bal_MED_TAX_CR_USED_BP_YTD
4072: + bal_TX_ON_AB_YTD + bal_MED_TAX_CR_USED_AB_YTD);
4073:
4074: -- Start Medical Tax Credit Changes
4081: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
4082: );
4083: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4084: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4085: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4086: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4087: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4088: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4089: -- End Medical Tax Credit Changes
4082: );
4083: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4084: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4085: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4086: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4087: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4088: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4089: -- End Medical Tax Credit Changes
4090:
4083: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4084: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4085: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4086: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4087: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4088: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4089: -- End Medical Tax Credit Changes
4090:
4091: END IF;
4084: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4085: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4086: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4087: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4088: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4089: -- End Medical Tax Credit Changes
4090:
4091: END IF;
4092: ELSE
4089: -- End Medical Tax Credit Changes
4090:
4091: END IF;
4092: ELSE
4093: hr_utility.set_location('py_za_tx_01032012.BasCalc',15);
4094: trc_LibFpAB := trc_LibFyAB - (bal_TX_ON_AB_YTD + bal_MED_TAX_CR_USED_AB_YTD);
4095:
4096: -- Start Medical Tax Credit Changes
4097: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
4103: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
4104: );
4105: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4106: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4107: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4108: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4109: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4110: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4111: -- End Medical Tax Credit Changes
4104: );
4105: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4106: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4107: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4108: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4109: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4110: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4111: -- End Medical Tax Credit Changes
4112:
4105: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4106: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4107: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4108: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4109: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4110: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4111: -- End Medical Tax Credit Changes
4112:
4113: END IF;
4106: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4107: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4108: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4109: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4110: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4111: -- End Medical Tax Credit Changes
4112:
4113: END IF;
4114: ELSE
4111: -- End Medical Tax Credit Changes
4112:
4113: END IF;
4114: ELSE
4115: hr_utility.set_location('py_za_tx_01032012.BasCalc',16);
4116: trc_TotLibAB := trc_TotLibBse;
4117: END IF;
4118: ELSE
4119: hr_utility.set_location('py_za_tx_01032012.BasCalc',17);
4115: hr_utility.set_location('py_za_tx_01032012.BasCalc',16);
4116: trc_TotLibAB := trc_TotLibBse;
4117: END IF;
4118: ELSE
4119: hr_utility.set_location('py_za_tx_01032012.BasCalc',17);
4120: trc_AnnBonErn := trc_TxbBseInc; -- Bug 14024624
4121: trc_TotLibAB := trc_TotLibBse;
4122: trc_TxbAnnBonInc := trc_TxbBseInc;
4123: END IF;
4121: trc_TotLibAB := trc_TotLibBse;
4122: trc_TxbAnnBonInc := trc_TxbBseInc;
4123: END IF;
4124:
4125: hr_utility.set_location('py_za_tx_01032012.BasCalc',18);
4126:
4127: -- Annual Payments
4128: --
4129: -- Ytd Annual Payments
4129: -- Ytd Annual Payments
4130: trc_AnnPymYtd := bal_TOT_TXB_AP_YTD;
4131: -- Skip the calculation if there is No Income
4132: IF trc_AnnPymYtd <> 0 THEN
4133: hr_utility.set_location('py_za_tx_01032012.BasCalc',19);
4134: -- Taxable Annual Payments Income
4135: /* Commented for TYS2010
4136: trc_TxbAnnPymInc := trc_AnnPymYtd + trc_TxbAnnBonInc; */
4137: --Added for TYS2010
4140: trc_TxbAnnPymInc :=trc_TxbAnnPymIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymIncWoDon,trc_AnnDonAmt);
4141:
4142: -- Threshold Check
4143: IF trc_TxbAnnPymInc >= trc_Threshold THEN
4144: hr_utility.set_location('py_za_tx_01032012.BasCalc',20);
4145: -- Tax Liability
4146: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymInc);
4147: trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
4148: trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
4158: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAP_Upd
4159: );
4160: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
4161: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
4162: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
4163: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
4164: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
4165: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4166: -- End Medical Tax Credit Changes
4159: );
4160: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
4161: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
4162: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
4163: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
4164: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
4165: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4166: -- End Medical Tax Credit Changes
4167:
4160: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
4161: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
4162: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
4163: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
4164: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
4165: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4166: -- End Medical Tax Credit Changes
4167:
4168: ELSE
4161: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
4162: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
4163: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
4164: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
4165: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4166: -- End Medical Tax Credit Changes
4167:
4168: ELSE
4169: hr_utility.set_location('py_za_tx_01032012.BasCalc',21);
4165: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4166: -- End Medical Tax Credit Changes
4167:
4168: ELSE
4169: hr_utility.set_location('py_za_tx_01032012.BasCalc',21);
4170: /* NULL; */
4171: --Added NTG
4172: trc_TotLibAP :=trc_TotLibAB;
4173: END IF;
4171: --Added NTG
4172: trc_TotLibAP :=trc_TotLibAB;
4173: END IF;
4174: ELSE
4175: hr_utility.set_location('py_za_tx_01032012.BasCalc',22);
4176: --NULL;
4177: --Added NTG
4178: trc_AnnPymErn := trc_AnnBonErn; -- Bug 14024624
4179: trc_TotLibAP := trc_TotLibAB;
4185: -- Ytd Net to Gross Annual Payments
4186: trc_AnnPymNTGYtd := bal_TOT_TXB_AP_NTG_YTD;
4187: -- Skip the calculation if there is No Income
4188: IF trc_AnnPymNtgYtd <> 0 THEN
4189: hr_utility.set_location('py_za_tx_01032012.BasCalc',23);
4190: -- Annual Payments Net to Gross Earnings
4191: trc_AnnPymNtgErn := trc_AnnPymNtgYtd + trc_AnnPymErn;
4192:
4193: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
4196: trc_TxbAnnPymNtgInc :=trc_TxbAnnPymNtgIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymNtgIncWoDon,trc_AnnDonAmt);
4197:
4198: -- Threshold Check
4199: IF trc_TxbAnnPymNtgInc >= trc_Threshold THEN
4200: hr_utility.set_location('py_za_tx_01032012.BasCalc',24);
4201: -- Tax Liability
4202: trc_TotLibNtgAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymNtgInc);
4203: trc_LibFyNtgAP := trc_TotLibNtgAP - least(trc_TotLibNtgAP,trc_TotLibAP);
4204: trc_TotLibNtgAP := greatest(trc_TotLibNtgAP,trc_TotLibAP);
4214: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgAP_Upd
4215: );
4216: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
4217: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
4218: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
4219: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
4220: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
4221: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4222: -- End Medical Tax Credit Changes
4215: );
4216: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
4217: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
4218: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
4219: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
4220: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
4221: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4222: -- End Medical Tax Credit Changes
4223:
4216: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
4217: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
4218: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
4219: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
4220: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
4221: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4222: -- End Medical Tax Credit Changes
4223:
4224: ELSE
4217: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
4218: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
4219: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
4220: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
4221: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4222: -- End Medical Tax Credit Changes
4223:
4224: ELSE
4225: hr_utility.set_location('py_za_tx_01032012.BasCalc',25);
4221: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4222: -- End Medical Tax Credit Changes
4223:
4224: ELSE
4225: hr_utility.set_location('py_za_tx_01032012.BasCalc',25);
4226: trc_TotLibNtgAP := trc_TotLibAP;
4227: END IF;
4228: ELSE
4229: hr_utility.set_location('py_za_tx_01032012.BasCalc',26);
4225: hr_utility.set_location('py_za_tx_01032012.BasCalc',25);
4226: trc_TotLibNtgAP := trc_TotLibAP;
4227: END IF;
4228: ELSE
4229: hr_utility.set_location('py_za_tx_01032012.BasCalc',26);
4230: trc_AnnPymNtgErn := trc_AnnPymErn; -- Bug 14024624
4231: trc_TxbAnnPymNtgInc := trc_TxbAnnPymInc;
4232: trc_TotLibNtgAP := trc_TotLibAP;
4233: END IF;
4235: -- Ytd Net to Gross EE Debt due to Net to Gross Annual Payments
4236: trc_AnnEEDbtNTGYtd := bal_TOT_TXB_EE_DBT_NTG_YTD;
4237: -- Skip the calculation if there is No Income
4238: IF trc_AnnEEDbtNtgYtd <> 0 THEN
4239: hr_utility.set_location('py_za_tx_01032012.BasCalc',27);
4240: -- Annual EE Debt Net to Gross Earnings
4241: trc_AnnEEDbtNtgErn := trc_AnnEEDbtNtgYtd + trc_AnnPymNtgErn;
4242:
4243: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
4245: trc_TxbAnnEEDbtNtgInc :=trc_TxbAnnEEDbtNtgIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnEEDbtNtgIncWoDon,trc_AnnDonAmt);
4246:
4247: -- Threshold Check
4248: IF trc_TxbAnnEEDbtNtgInc >= trc_Threshold THEN
4249: hr_utility.set_location('py_za_tx_01032012.BasCalc',28);
4250: -- Tax Liability
4251: trc_TotLibNtgEEDbt := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnEEDbtNtgInc);
4252: trc_LibFyNtgEEDbt := trc_TotLibNtgEEDbt - least(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
4253: trc_TotLibNtgEEDbt := greatest(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
4251: trc_TotLibNtgEEDbt := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnEEDbtNtgInc);
4252: trc_LibFyNtgEEDbt := trc_TotLibNtgEEDbt - least(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
4253: trc_TotLibNtgEEDbt := greatest(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
4254:
4255: hr_utility.set_location('py_za_tx_01032012.BasCalc',29);
4256: trc_LibFpNtgEEDbt := trc_LibFyNtgEEDbt - (bal_TX_ON_EE_DBT_NTG_YTD + bal_MED_TAX_CR_USED_EE_YTD);
4257:
4258: -- Start Medical Tax Credit Changes
4259: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
4265: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgEEDbt_Upd
4266: );
4267: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
4268: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
4269: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
4270: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
4271: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
4272: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4273: -- End Medical Tax Credit Changes
4266: );
4267: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
4268: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
4269: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
4270: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
4271: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
4272: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4273: -- End Medical Tax Credit Changes
4274:
4267: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
4268: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
4269: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
4270: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
4271: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
4272: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4273: -- End Medical Tax Credit Changes
4274:
4275: ELSE
4268: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
4269: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
4270: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
4271: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
4272: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4273: -- End Medical Tax Credit Changes
4274:
4275: ELSE
4276: hr_utility.set_location('py_za_tx_01032012.BasCalc',30);
4272: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4273: -- End Medical Tax Credit Changes
4274:
4275: ELSE
4276: hr_utility.set_location('py_za_tx_01032012.BasCalc',30);
4277: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
4278: END IF;
4279: ELSE
4280: hr_utility.set_location('py_za_tx_01032012.BasCalc',31);
4276: hr_utility.set_location('py_za_tx_01032012.BasCalc',30);
4277: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
4278: END IF;
4279: ELSE
4280: hr_utility.set_location('py_za_tx_01032012.BasCalc',31);
4281: trc_AnnEEDbtNtgErn := trc_AnnPymNtgErn; -- Bug 14024624
4282: trc_TxbAnnEEDbtNtgInc := trc_TxbAnnPymNtgInc;
4283: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
4284: END IF;
4402:
4403:
4404: BEGIN
4405:
4406: hr_utility.set_location('py_za_tx_01032012.CalCalc',1);
4407: -- Identify the calculation
4408: --
4409: trc_CalTyp := 'CalCalc';
4410:
4412: --
4413: --Fix for bug#10372926
4414: --py_za_tx_utl_01032012.TrvAll;
4415:
4416: hr_utility.set_location('py_za_tx_01032012.CalCalc',2);
4417:
4418: -- Calendar Ytd Taxable Income
4419: --
4420: trc_TxbIncYtd := ( bal_TOT_TXB_NI_CYTD
4422: + bal_TOT_TXB_TA_CYTD );
4423: -- If there is no Income Execute the Base calculation
4424: --
4425: IF trc_TxbIncYtd = 0 THEN
4426: hr_utility.set_location('py_za_tx_01032012.CalCalc',3);
4427: BasCalc;
4428: ELSE -- continue CalCalc
4429: hr_utility.set_location('py_za_tx_01032012.CalCalc',4);
4430: -- Site Factor
4425: IF trc_TxbIncYtd = 0 THEN
4426: hr_utility.set_location('py_za_tx_01032012.CalCalc',3);
4427: BasCalc;
4428: ELSE -- continue CalCalc
4429: hr_utility.set_location('py_za_tx_01032012.CalCalc',4);
4430: -- Site Factor
4431: --
4432: trc_SitFactor := dbi_ZA_DYS_IN_YR / py_za_tx_utl_01032012.DaysWorked;
4433:
4436:
4437: -- Abatements
4438: py_za_tx_utl_01032012.Abatements;
4439:
4440: hr_utility.set_location('py_za_tx_01032012.CalCalc',5);
4441:
4442: trc_curMedTxCrEle := greatest(bal_MED_AID_TAX_CR_YTD + bal_ANN_MED_AID_TAX_CR_YTD,0,bal_MED_AID_TAX_CR_USED_YTD + bal_MED_AID_TAX_CR_USED_LS_YTD);
4443:
4444: -- Deemed Remuneration
4447: trc_DmdRmnRun := bal_DIR_DMD_RMN_ITD;
4448:
4449: -- Skip the calculation if there is No Income
4450: IF trc_DmdRmnRun <> 0 THEN
4451: hr_utility.set_location('py_za_tx_01032012.CalCalc',6);
4452: -- Taxable Deemed Remuneration
4453: trc_TxbDmdRmn := trc_DmdRmnRun;
4454: -- Threshold Check
4455: IF trc_TxbDmdRmn >= trc_Threshold THEN
4452: -- Taxable Deemed Remuneration
4453: trc_TxbDmdRmn := trc_DmdRmnRun;
4454: -- Threshold Check
4455: IF trc_TxbDmdRmn >= trc_Threshold THEN
4456: hr_utility.set_location('py_za_tx_01032012.CalCalc',7);
4457: -- Tax Liability
4458: trc_TotLibDR := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbDmdRmn);
4459: ELSE
4460: hr_utility.set_location('py_za_tx_01032012.CalCalc',8);
4456: hr_utility.set_location('py_za_tx_01032012.CalCalc',7);
4457: -- Tax Liability
4458: trc_TotLibDR := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbDmdRmn);
4459: ELSE
4460: hr_utility.set_location('py_za_tx_01032012.CalCalc',8);
4461: trc_TotLibDR := 0;
4462: END IF;
4463: ELSE
4464: hr_utility.set_location('py_za_tx_01032012.CalCalc',9);
4460: hr_utility.set_location('py_za_tx_01032012.CalCalc',8);
4461: trc_TotLibDR := 0;
4462: END IF;
4463: ELSE
4464: hr_utility.set_location('py_za_tx_01032012.CalCalc',9);
4465: trc_TotLibDR := 0;
4466: END IF;
4467:
4468: hr_utility.set_location('py_za_tx_01032012.CalCalc',10);
4464: hr_utility.set_location('py_za_tx_01032012.CalCalc',9);
4465: trc_TotLibDR := 0;
4466: END IF;
4467:
4468: hr_utility.set_location('py_za_tx_01032012.CalCalc',10);
4469:
4470: -- Base Earnings
4471: --
4472: -- Base Earnings
4478: trc_TxbBseInc :=trc_TxbBseIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbBseIncWoDon,trc_PerDonAmt);
4479:
4480: -- Threshold Check
4481: IF trc_TxbBseInc >= trc_Threshold THEN
4482: hr_utility.set_location('py_za_tx_01032012.CalCalc',11);
4483: -- Tax Liability
4484: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
4485: trc_TotLibBse := greatest(trc_TotLibBse,trc_TotLibDR);
4486: ELSE
4483: -- Tax Liability
4484: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
4485: trc_TotLibBse := greatest(trc_TotLibBse,trc_TotLibDR);
4486: ELSE
4487: hr_utility.set_location('py_za_tx_01032012.CalCalc',12);
4488: trc_TotLibBse := trc_TotLibDR;
4489: END IF;
4490:
4491: hr_utility.set_location('py_za_tx_01032012.CalCalc',13);
4487: hr_utility.set_location('py_za_tx_01032012.CalCalc',12);
4488: trc_TotLibBse := trc_TotLibDR;
4489: END IF;
4490:
4491: hr_utility.set_location('py_za_tx_01032012.CalCalc',13);
4492: -- Annual Bonus
4493: --
4494: -- Ytd Annual Bonus
4495: trc_AnnBonYtd := bal_TOT_TXB_AB_YTD;
4494: -- Ytd Annual Bonus
4495: trc_AnnBonYtd := bal_TOT_TXB_AB_YTD;
4496: -- Skip the calculation if there is No Income
4497: IF trc_AnnBonYtd <> 0 THEN
4498: hr_utility.set_location('py_za_tx_01032012.CalCalc',14);
4499: -- Annual Bonus Earnings
4500: trc_AnnBonErn := trc_AnnBonYtd + trc_BseErn;
4501: -- Taxable Annual Bonus Income
4502: --TYS2010
4505: trc_TxbAnnBonInc :=trc_TxbAnnBonIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnBonIncWoDon,trc_AnnDonAmt);
4506:
4507: -- Threshold Check
4508: IF trc_TxbAnnBonInc >= trc_Threshold THEN
4509: hr_utility.set_location('py_za_tx_01032012.CalCalc',15);
4510: -- Tax Liability
4511: trc_TotLibAB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnBonInc);
4512: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibBse);
4513: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibBse);
4512: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibBse);
4513: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibBse);
4514: -- Check Bonus Provision
4515: IF bal_BP_YTD <> 0 THEN
4516: hr_utility.set_location('py_za_tx_01032012.CalCalc',16);
4517: -- Check Bonus Provision Frequency
4518: IF dbi_BP_TX_RCV = 'A' THEN
4519: hr_utility.set_location('py_za_tx_01032012.CalCalc',17);
4520: trc_LibFpAB := 0;
4515: IF bal_BP_YTD <> 0 THEN
4516: hr_utility.set_location('py_za_tx_01032012.CalCalc',16);
4517: -- Check Bonus Provision Frequency
4518: IF dbi_BP_TX_RCV = 'A' THEN
4519: hr_utility.set_location('py_za_tx_01032012.CalCalc',17);
4520: trc_LibFpAB := 0;
4521: ELSE
4522: hr_utility.set_location('py_za_tx_01032012.CalCalc',18);
4523: trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD + bal_MED_TAX_CR_USED_BP_YTD
4518: IF dbi_BP_TX_RCV = 'A' THEN
4519: hr_utility.set_location('py_za_tx_01032012.CalCalc',17);
4520: trc_LibFpAB := 0;
4521: ELSE
4522: hr_utility.set_location('py_za_tx_01032012.CalCalc',18);
4523: trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD + bal_MED_TAX_CR_USED_BP_YTD
4524: + bal_TX_ON_AB_YTD + bal_MED_TAX_CR_USED_AB_YTD);
4525: -- Start Medical Tax Credit Changes
4526: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
4532: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
4533: );
4534: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4535: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4536: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4537: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4538: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4539: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4540: -- End Medical Tax Credit Changes
4533: );
4534: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4535: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4536: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4537: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4538: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4539: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4540: -- End Medical Tax Credit Changes
4541:
4534: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4535: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4536: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4537: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4538: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4539: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4540: -- End Medical Tax Credit Changes
4541:
4542: END IF;
4535: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4536: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4537: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4538: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4539: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4540: -- End Medical Tax Credit Changes
4541:
4542: END IF;
4543: ELSE
4540: -- End Medical Tax Credit Changes
4541:
4542: END IF;
4543: ELSE
4544: hr_utility.set_location('py_za_tx_01032012.CalCalc',19);
4545: trc_LibFpAB := trc_LibFyAB - (bal_TX_ON_AB_YTD + bal_MED_TAX_CR_USED_AB_YTD);
4546:
4547: -- Start Medical Tax Credit Changes
4548: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
4554: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
4555: );
4556: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4557: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4558: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4559: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4560: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4561: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4562: -- End Medical Tax Credit Changes
4555: );
4556: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4557: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4558: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4559: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4560: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4561: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4562: -- End Medical Tax Credit Changes
4563:
4556: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
4557: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4558: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4559: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4560: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4561: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4562: -- End Medical Tax Credit Changes
4563:
4564: END IF;
4557: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
4558: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
4559: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
4560: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
4561: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4562: -- End Medical Tax Credit Changes
4563:
4564: END IF;
4565: ELSE
4562: -- End Medical Tax Credit Changes
4563:
4564: END IF;
4565: ELSE
4566: hr_utility.set_location('py_za_tx_01032012.CalCalc',20);
4567: trc_TotLibAB := trc_TotLibBse;
4568: END IF;
4569: ELSE
4570: hr_utility.set_location('py_za_tx_01032012.CalCalc',21);
4566: hr_utility.set_location('py_za_tx_01032012.CalCalc',20);
4567: trc_TotLibAB := trc_TotLibBse;
4568: END IF;
4569: ELSE
4570: hr_utility.set_location('py_za_tx_01032012.CalCalc',21);
4571: trc_AnnBonErn := trc_BseErn;
4572: trc_TxbAnnBonInc := trc_TxbBseInc;
4573: trc_TotLibAB := trc_TotLibBse;
4574: END IF;
4572: trc_TxbAnnBonInc := trc_TxbBseInc;
4573: trc_TotLibAB := trc_TotLibBse;
4574: END IF;
4575:
4576: hr_utility.set_location('py_za_tx_01032012.CalCalc',22);
4577:
4578: -- Annual Payments
4579: --
4580: -- Ytd Annual Payments
4580: -- Ytd Annual Payments
4581: trc_AnnPymYtd := bal_TOT_TXB_AP_YTD ;
4582: -- Skip the calculation if there is No Income
4583: IF trc_AnnPymYtd <> 0 THEN
4584: hr_utility.set_location('py_za_tx_01032012.CalCalc',23);
4585: -- Annual Payments Earnings
4586: trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
4587: -- Taxable Annual Payments Income
4588: --TYS2010
4591: trc_TxbAnnPymInc :=trc_TxbAnnPymIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymIncWoDon,trc_AnnDonAmt);
4592:
4593: -- Threshold Check
4594: IF trc_TxbAnnPymInc >= trc_Threshold THEN
4595: hr_utility.set_location('py_za_tx_01032012.CalCalc',24);
4596: -- Tax Liability
4597: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymInc);
4598: trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
4599: trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
4609: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAP_Upd
4610: );
4611: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
4612: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
4613: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
4614: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
4615: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
4616: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4617: -- End Medical Tax Credit Changes
4610: );
4611: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
4612: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
4613: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
4614: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
4615: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
4616: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4617: -- End Medical Tax Credit Changes
4618:
4611: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
4612: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
4613: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
4614: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
4615: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
4616: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4617: -- End Medical Tax Credit Changes
4618:
4619: ELSE
4612: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
4613: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
4614: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
4615: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
4616: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4617: -- End Medical Tax Credit Changes
4618:
4619: ELSE
4620: hr_utility.set_location('py_za_tx_01032012.CalCalc',25);
4616: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4617: -- End Medical Tax Credit Changes
4618:
4619: ELSE
4620: hr_utility.set_location('py_za_tx_01032012.CalCalc',25);
4621: trc_TotLibAP := trc_TotLibAB;
4622: END IF;
4623: ELSE
4624: hr_utility.set_location('py_za_tx_01032012.CalCalc',26);
4620: hr_utility.set_location('py_za_tx_01032012.CalCalc',25);
4621: trc_TotLibAP := trc_TotLibAB;
4622: END IF;
4623: ELSE
4624: hr_utility.set_location('py_za_tx_01032012.CalCalc',26);
4625: trc_AnnPymErn := trc_AnnBonErn;
4626: trc_TxbAnnPymInc := trc_TxbAnnBonInc;
4627: trc_TotLibAP := trc_TotLibAB;
4628: END IF;
4631: -- Ytd Net to Gross Annual Payments
4632: trc_AnnPymNTGYtd := bal_TOT_TXB_AP_NTG_YTD;
4633: -- Skip the calculation if there is No Income
4634: IF trc_AnnPymNtgYtd <> 0 THEN
4635: hr_utility.set_location('py_za_tx_01032012.CalCalc',27);
4636: -- Annual Payments Net to Gross Earnings
4637: trc_AnnPymNtgErn := trc_AnnPymNtgYtd + trc_AnnPymErn;
4638:
4639: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
4642: trc_TxbAnnPymNtgInc :=trc_TxbAnnPymNtgIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymNtgIncWoDon,trc_AnnDonAmt);
4643:
4644: -- Threshold Check
4645: IF trc_TxbAnnPymNtgInc >= trc_Threshold THEN
4646: hr_utility.set_location('py_za_tx_01032012.CalCalc',28);
4647: -- Tax Liability
4648: trc_TotLibNtgAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymNtgInc);
4649: trc_LibFyNtgAP := trc_TotLibNtgAP - least(trc_TotLibNtgAP,trc_TotLibAP);
4650: trc_TotLibNtgAP := greatest(trc_TotLibNtgAP,trc_TotLibAP);
4648: trc_TotLibNtgAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymNtgInc);
4649: trc_LibFyNtgAP := trc_TotLibNtgAP - least(trc_TotLibNtgAP,trc_TotLibAP);
4650: trc_TotLibNtgAP := greatest(trc_TotLibNtgAP,trc_TotLibAP);
4651:
4652: hr_utility.set_location('py_za_tx_01032012.CalCalc',29);
4653: trc_LibFpNtgAP := trc_LibFyNtgAP - (bal_TX_ON_AP_NTG_YTD + bal_MED_TAX_CR_USED_NG_YTD);
4654:
4655: -- Start Medical Tax Credit Changes
4656: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
4662: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgAP_Upd
4663: );
4664: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
4665: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
4666: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
4667: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
4668: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
4669: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4670: -- End Medical Tax Credit Changes
4663: );
4664: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
4665: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
4666: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
4667: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
4668: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
4669: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4670: -- End Medical Tax Credit Changes
4671:
4664: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
4665: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
4666: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
4667: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
4668: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
4669: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4670: -- End Medical Tax Credit Changes
4671:
4672: ELSE
4665: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
4666: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
4667: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
4668: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
4669: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4670: -- End Medical Tax Credit Changes
4671:
4672: ELSE
4673: hr_utility.set_location('py_za_tx_01032012.CalCalc',30);
4669: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4670: -- End Medical Tax Credit Changes
4671:
4672: ELSE
4673: hr_utility.set_location('py_za_tx_01032012.CalCalc',30);
4674: trc_TotLibNtgAP := trc_TotLibAP;
4675: END IF;
4676: ELSE
4677: hr_utility.set_location('py_za_tx_01032012.CalCalc',31);
4673: hr_utility.set_location('py_za_tx_01032012.CalCalc',30);
4674: trc_TotLibNtgAP := trc_TotLibAP;
4675: END IF;
4676: ELSE
4677: hr_utility.set_location('py_za_tx_01032012.CalCalc',31);
4678: trc_AnnPymNtgErn := trc_AnnPymErn;
4679: trc_TxbAnnPymNtgInc := trc_TxbAnnPymInc;
4680: trc_TotLibNtgAP := trc_TotLibAP;
4681: END IF;
4683: -- Ytd Net to Gross EE Debt arised due to Net to Gross Annual Payments
4684: trc_AnnEEDbtNTGYtd := bal_TOT_TXB_EE_DBT_NTG_YTD;
4685: -- Skip the calculation if there is No Income
4686: IF trc_AnnEEDbtNtgYtd <> 0 THEN
4687: hr_utility.set_location('py_za_tx_01032012.CalCalc',32);
4688: -- Annual EE Debt Net to Gross Earnings
4689: trc_AnnEEDbtNtgErn := trc_AnnEEDbtNtgYtd + trc_AnnPymNtgErn;
4690:
4691: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
4693: trc_TxbAnnEEDbtNtgInc :=trc_TxbAnnEEDbtNtgIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnEEDbtNtgIncWoDon,trc_AnnDonAmt);
4694:
4695: -- Threshold Check
4696: IF trc_TxbAnnEEDbtNtgInc >= trc_Threshold THEN
4697: hr_utility.set_location('py_za_tx_01032012.CalCalc',33);
4698: -- Tax Liability
4699: trc_TotLibNtgEEDbt := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnEEDbtNtgInc);
4700: trc_LibFyNtgEEDbt := trc_TotLibNtgEEDbt - least(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
4701: trc_TotLibNtgEEDbt := greatest(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
4699: trc_TotLibNtgEEDbt := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnEEDbtNtgInc);
4700: trc_LibFyNtgEEDbt := trc_TotLibNtgEEDbt - least(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
4701: trc_TotLibNtgEEDbt := greatest(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
4702:
4703: hr_utility.set_location('py_za_tx_01032012.CalCalc',34);
4704: trc_LibFpNtgEEDbt := trc_LibFyNtgEEDbt - (bal_TX_ON_EE_DBT_NTG_YTD + bal_MED_TAX_CR_USED_EE_YTD);
4705:
4706: -- Start Medical Tax Credit Changes
4707: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
4713: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgEEDbt_Upd
4714: );
4715: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
4716: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
4717: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
4718: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
4719: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
4720: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4721: -- End Medical Tax Credit Changes
4714: );
4715: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
4716: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
4717: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
4718: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
4719: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
4720: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4721: -- End Medical Tax Credit Changes
4722:
4715: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
4716: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
4717: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
4718: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
4719: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
4720: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4721: -- End Medical Tax Credit Changes
4722:
4723: ELSE
4716: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
4717: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
4718: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
4719: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
4720: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4721: -- End Medical Tax Credit Changes
4722:
4723: ELSE
4724: hr_utility.set_location('py_za_tx_01032012.CalCalc',35);
4720: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
4721: -- End Medical Tax Credit Changes
4722:
4723: ELSE
4724: hr_utility.set_location('py_za_tx_01032012.CalCalc',35);
4725: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
4726: END IF;
4727: ELSE
4728: hr_utility.set_location('py_za_tx_01032012.CalCalc',36);
4724: hr_utility.set_location('py_za_tx_01032012.CalCalc',35);
4725: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
4726: END IF;
4727: ELSE
4728: hr_utility.set_location('py_za_tx_01032012.CalCalc',36);
4729: trc_AnnEEDbtNtgErn := trc_AnnPymNtgErn;
4730: trc_TxbAnnEEDbtNtgInc := trc_TxbAnnPymNtgInc;
4731: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
4732: END IF;
4833:
4834:
4835: END IF;
4836:
4837: hr_utility.set_location('py_za_tx_01032012.CalCalc',37);
4838:
4839: EXCEPTION
4840: WHEN OTHERS THEN
4841: IF xpt_Msg = 'No Error' THEN
4853: l_Np BALANCE;
4854:
4855: BEGIN
4856:
4857: hr_utility.set_location('py_za_tx_01032012.YtdCalc',1);
4858: -- Identify the calculation
4859: --
4860: trc_CalTyp := 'YtdCalc';
4861:
4862: -- Update Global Balance Values with correct TAXABLE values
4863: --Fix for bug#10372926
4864: --py_za_tx_utl_01032012.TrvAll;
4865:
4866: hr_utility.set_location('py_za_tx_01032012.YtdCalc',2);
4867:
4868: -- Ytd Taxable Income
4869: trc_TxbIncYtd :=
4870: ( bal_TOT_TXB_NI_YTD
4873: + bal_BP_YTD
4874: );
4875: -- If the Ytd Taxable Income = 0, execute the CalCalc
4876: IF trc_TxbIncYtd = 0 THEN
4877: hr_utility.set_location('py_za_tx_01032012.YtdCalc',3);
4878: --When a YtdCalc or CalCalc would be performed,
4879: --the system must do a Bascalc if the method is non-cumulative
4880: IF (dbi_TX_MTD = 'N') then
4881: BasCalc;
4882: ELSE
4883: CalCalc;
4884: END IF;
4885: ELSE --Continue YtdCalc
4886: hr_utility.set_location('py_za_tx_01032012.YtdCalc',4);
4887: -- Site Factor
4888: trc_SitFactor := dbi_ZA_DYS_IN_YR / py_za_tx_utl_01032012.DaysWorked;
4889:
4890: -- Rebates
4897: trc_curMedTxCrEle := greatest(bal_MED_AID_TAX_CR_YTD + bal_ANN_MED_AID_TAX_CR_YTD
4898: - (bal_MED_TAX_CR_USED_DR_YTD + bal_MED_TAX_CR_USED_NI_YTD + bal_MED_TAX_CR_USED_FB_YTD + bal_MED_TAX_CR_USED_TA_YTD + bal_MED_TAX_CR_USED_BP_YTD),0,
4899: bal_MED_AID_TAX_CR_USED_YTD + bal_MED_AID_TAX_CR_USED_LS_YTD-(bal_MED_TAX_CR_USED_DR_YTD + bal_MED_TAX_CR_USED_NI_YTD + bal_MED_TAX_CR_USED_FB_YTD + bal_MED_TAX_CR_USED_TA_YTD + bal_MED_TAX_CR_USED_BP_YTD)) ;
4900:
4901: hr_utility.set_location('py_za_tx_01032012.YtdCalc',5);
4902:
4903:
4904: --Bug 9369895
4905: --Used in abatement calculation of Package structure employees
4911: trc_DmdRmnRun := bal_DIR_DMD_RMN_ITD;
4912:
4913: -- Skip the calculation if there is No Income
4914: IF trc_DmdRmnRun <> 0 THEN
4915: hr_utility.set_location('py_za_tx_01032012.YtdCalc',6);
4916: -- Taxable Deemed Remuneration
4917: trc_TxbDmdRmn := trc_DmdRmnRun;
4918: -- Threshold Check
4919: IF trc_TxbDmdRmn >= trc_Threshold THEN
4916: -- Taxable Deemed Remuneration
4917: trc_TxbDmdRmn := trc_DmdRmnRun;
4918: -- Threshold Check
4919: IF trc_TxbDmdRmn >= trc_Threshold THEN
4920: hr_utility.set_location('py_za_tx_01032012.YtdCalc',7);
4921: -- Tax Liability
4922: trc_TotLibDR := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbDmdRmn);
4923: ELSE
4924: hr_utility.set_location('py_za_tx_01032012.YtdCalc',8);
4920: hr_utility.set_location('py_za_tx_01032012.YtdCalc',7);
4921: -- Tax Liability
4922: trc_TotLibDR := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbDmdRmn);
4923: ELSE
4924: hr_utility.set_location('py_za_tx_01032012.YtdCalc',8);
4925: trc_TotLibDR := 0;
4926: END IF;
4927: ELSE
4928: hr_utility.set_location('py_za_tx_01032012.YtdCalc',9);
4924: hr_utility.set_location('py_za_tx_01032012.YtdCalc',8);
4925: trc_TotLibDR := 0;
4926: END IF;
4927: ELSE
4928: hr_utility.set_location('py_za_tx_01032012.YtdCalc',9);
4929: trc_TotLibDR := 0;
4930: END IF;
4931:
4932: hr_utility.set_location('py_za_tx_01032012.YtdCalc',10);
4928: hr_utility.set_location('py_za_tx_01032012.YtdCalc',9);
4929: trc_TotLibDR := 0;
4930: END IF;
4931:
4932: hr_utility.set_location('py_za_tx_01032012.YtdCalc',10);
4933:
4934: -- Base Earnings
4935: --
4936: -- Base Earnings
4942: trc_TxbBseInc :=trc_TxbBseIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbBseIncWoDon,trc_PerDonAmt);
4943:
4944: -- Threshold Check
4945: IF trc_TxbBseInc >= trc_Threshold THEN
4946: hr_utility.set_location('py_za_tx_01032012.YtdCalc',11);
4947: -- Tax Liability
4948: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
4949: trc_TotLibBse := greatest(trc_TotLibBse,trc_TotLibDR);
4950: ELSE
4947: -- Tax Liability
4948: trc_TotLibBse := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBseInc);
4949: trc_TotLibBse := greatest(trc_TotLibBse,trc_TotLibDR);
4950: ELSE
4951: hr_utility.set_location('py_za_tx_01032012.YtdCalc',12);
4952: trc_TotLibBse := trc_TotLibDR;
4953: END IF;
4954:
4955: hr_utility.set_location('py_za_tx_01032012.YtdCalc',13);
4951: hr_utility.set_location('py_za_tx_01032012.YtdCalc',12);
4952: trc_TotLibBse := trc_TotLibDR;
4953: END IF;
4954:
4955: hr_utility.set_location('py_za_tx_01032012.YtdCalc',13);
4956:
4957:
4958: -- Annual Bonus
4959: --
4960: -- Ytd Annual Bonus
4961: trc_AnnBonYtd := bal_TOT_TXB_AB_YTD;
4962: -- Skip the calculation if there is No Income
4963: IF trc_AnnBonYtd <> 0 THEN
4964: hr_utility.set_location('py_za_tx_01032012.YtdCalc',14);
4965: -- Annual Bonus Earnings
4966: trc_AnnBonErn := trc_AnnBonYtd + trc_BseErn;
4967: -- Taxable Annual Bonus Income
4968: --TYS2010
4971: trc_TxbAnnBonInc :=trc_TxbAnnBonIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnBonIncWoDon,trc_AnnDonAmt);
4972:
4973: -- Threshold Check
4974: IF trc_TxbAnnBonInc >= trc_Threshold THEN
4975: hr_utility.set_location('py_za_tx_01032012.YtdCalc',15);
4976: -- Tax Liability
4977: trc_TotLibAB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnBonInc);
4978: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibBse);
4979: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibBse);
4978: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibBse);
4979: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibBse);
4980: -- Check Bonus Provision
4981: IF bal_BP_YTD <> 0 THEN
4982: hr_utility.set_location('py_za_tx_01032012.YtdCalc',16);
4983: -- Check Bonus Provision Frequency
4984: IF dbi_BP_TX_RCV = 'A' THEN
4985: hr_utility.set_location('py_za_tx_01032012.YtdCalc',17);
4986: trc_LibFpAB := 0;
4981: IF bal_BP_YTD <> 0 THEN
4982: hr_utility.set_location('py_za_tx_01032012.YtdCalc',16);
4983: -- Check Bonus Provision Frequency
4984: IF dbi_BP_TX_RCV = 'A' THEN
4985: hr_utility.set_location('py_za_tx_01032012.YtdCalc',17);
4986: trc_LibFpAB := 0;
4987: ELSE
4988: hr_utility.set_location('py_za_tx_01032012.YtdCalc',18);
4989: trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD + bal_MED_TAX_CR_USED_BP_YTD
4984: IF dbi_BP_TX_RCV = 'A' THEN
4985: hr_utility.set_location('py_za_tx_01032012.YtdCalc',17);
4986: trc_LibFpAB := 0;
4987: ELSE
4988: hr_utility.set_location('py_za_tx_01032012.YtdCalc',18);
4989: trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD + bal_MED_TAX_CR_USED_BP_YTD
4990: + bal_TX_ON_AB_YTD + bal_MED_TAX_CR_USED_AB_YTD);
4991:
4992: -- Start Medical Tax Credit Changes
4999: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
5000: );
5001: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5002: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5003: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5004: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5005: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5006: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5007: -- End Medical Tax Credit Changes
5000: );
5001: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5002: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5003: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5004: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5005: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5006: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5007: -- End Medical Tax Credit Changes
5008:
5001: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5002: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5003: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5004: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5005: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5006: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5007: -- End Medical Tax Credit Changes
5008:
5009: END IF;
5002: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5003: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5004: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5005: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5006: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5007: -- End Medical Tax Credit Changes
5008:
5009: END IF;
5010: ELSE
5007: -- End Medical Tax Credit Changes
5008:
5009: END IF;
5010: ELSE
5011: hr_utility.set_location('py_za_tx_01032012.YtdCalc',19);
5012: trc_LibFpAB := trc_LibFyAB - (bal_TX_ON_AB_YTD + bal_MED_TAX_CR_USED_AB_YTD);
5013:
5014: -- Start Medical Tax Credit Changes
5015: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
5021: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
5022: );
5023: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5024: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5025: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5026: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5027: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5028: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5029: -- End Medical Tax Credit Changes
5022: );
5023: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5024: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5025: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5026: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5027: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5028: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5029: -- End Medical Tax Credit Changes
5030:
5023: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5024: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5025: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5026: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5027: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5028: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5029: -- End Medical Tax Credit Changes
5030:
5031: END IF;
5024: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5025: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5026: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5027: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5028: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5029: -- End Medical Tax Credit Changes
5030:
5031: END IF;
5032: ELSE
5029: -- End Medical Tax Credit Changes
5030:
5031: END IF;
5032: ELSE
5033: hr_utility.set_location('py_za_tx_01032012.YtdCalc',20);
5034: trc_TotLibAB := trc_TotLibBse;
5035:
5036: END IF;
5037: ELSE
5034: trc_TotLibAB := trc_TotLibBse;
5035:
5036: END IF;
5037: ELSE
5038: hr_utility.set_location('py_za_tx_01032012.YtdCalc',21);
5039: trc_AnnBonErn := trc_BseErn;
5040: trc_TxbAnnBonInc := trc_TxbBseInc;
5041: trc_TotLibAB := trc_TotLibBse;
5042: END IF;
5040: trc_TxbAnnBonInc := trc_TxbBseInc;
5041: trc_TotLibAB := trc_TotLibBse;
5042: END IF;
5043:
5044: hr_utility.set_location('py_za_tx_01032012.YtdCalc',22);
5045:
5046:
5047: -- Annual Payments
5048: --
5049: -- Ytd Annual Payments
5050: trc_AnnPymYtd := bal_TOT_TXB_AP_YTD;
5051: -- Skip the calculation if there is No Income
5052: IF trc_AnnPymYtd <> 0 THEN
5053: hr_utility.set_location('py_za_tx_01032012.YtdCalc',23);
5054: -- Annual Payments Earnings
5055: trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
5056: -- Taxable Annual Payments Income
5057: --TYS2010
5060: trc_TxbAnnPymInc :=trc_TxbAnnPymIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymIncWoDon,trc_AnnDonAmt);
5061:
5062: -- Threshold Check
5063: IF trc_TxbAnnPymInc >= trc_Threshold THEN
5064: hr_utility.set_location('py_za_tx_01032012.YtdCalc',24);
5065: -- Tax Liability
5066: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymInc);
5067: trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
5068: trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
5078: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAP_Upd
5079: );
5080: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
5081: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
5082: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
5083: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
5084: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
5085: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5086: -- End Medical Tax Credit Changes
5079: );
5080: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
5081: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
5082: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
5083: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
5084: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
5085: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5086: -- End Medical Tax Credit Changes
5087:
5080: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
5081: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
5082: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
5083: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
5084: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
5085: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5086: -- End Medical Tax Credit Changes
5087:
5088: ELSE
5081: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
5082: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
5083: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
5084: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
5085: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5086: -- End Medical Tax Credit Changes
5087:
5088: ELSE
5089: hr_utility.set_location('py_za_tx_01032012.YtdCalc',25);
5085: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5086: -- End Medical Tax Credit Changes
5087:
5088: ELSE
5089: hr_utility.set_location('py_za_tx_01032012.YtdCalc',25);
5090: trc_TotLibAP := trc_TotLibAB;
5091: END IF;
5092: ELSE
5093: hr_utility.set_location('py_za_tx_01032012.YtdCalc',26);
5089: hr_utility.set_location('py_za_tx_01032012.YtdCalc',25);
5090: trc_TotLibAP := trc_TotLibAB;
5091: END IF;
5092: ELSE
5093: hr_utility.set_location('py_za_tx_01032012.YtdCalc',26);
5094: trc_AnnPymErn := trc_AnnBonErn;
5095: trc_TxbAnnPymInc := trc_TxbAnnBonInc;
5096: trc_TotLibAP := trc_TotLibAB;
5097: END IF;
5101: -- Ytd Net to Gross Annual Payments
5102: trc_AnnPymNTGYtd := bal_TOT_TXB_AP_NTG_YTD;
5103: -- Skip the calculation if there is No Income
5104: IF trc_AnnPymNtgYtd <> 0 THEN
5105: hr_utility.set_location('py_za_tx_01032012.YtdCalc',27);
5106: -- Annual Payments Net to Gross Earnings
5107: trc_AnnPymNtgErn := trc_AnnPymNtgYtd + trc_AnnPymErn;
5108:
5109: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
5112: trc_TxbAnnPymNtgInc :=trc_TxbAnnPymNtgIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymNtgIncWoDon,trc_AnnDonAmt);
5113:
5114: -- Threshold Check
5115: IF trc_TxbAnnPymNtgInc >= trc_Threshold THEN
5116: hr_utility.set_location('py_za_tx_01032012.YtdCalc',28);
5117: -- Tax Liability
5118: trc_TotLibNtgAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymNtgInc);
5119: trc_LibFyNtgAP := trc_TotLibNtgAP - least(trc_TotLibNtgAP,trc_TotLibAP);
5120: trc_TotLibNtgAP := greatest(trc_TotLibNtgAP,trc_TotLibAP);
5118: trc_TotLibNtgAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymNtgInc);
5119: trc_LibFyNtgAP := trc_TotLibNtgAP - least(trc_TotLibNtgAP,trc_TotLibAP);
5120: trc_TotLibNtgAP := greatest(trc_TotLibNtgAP,trc_TotLibAP);
5121:
5122: hr_utility.set_location('py_za_tx_01032012.YtdCalc',29);
5123: trc_LibFpNtgAP := trc_LibFyNtgAP - (bal_TX_ON_AP_NTG_YTD + bal_MED_TAX_CR_USED_NG_YTD);
5124:
5125: -- Start Medical Tax Credit Changes
5126: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
5132: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgAP_Upd
5133: );
5134: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
5135: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
5136: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
5137: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
5138: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
5139: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5140: -- End Medical Tax Credit Changes
5133: );
5134: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
5135: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
5136: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
5137: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
5138: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
5139: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5140: -- End Medical Tax Credit Changes
5141:
5134: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
5135: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
5136: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
5137: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
5138: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
5139: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5140: -- End Medical Tax Credit Changes
5141:
5142: ELSE
5135: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
5136: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
5137: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
5138: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
5139: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5140: -- End Medical Tax Credit Changes
5141:
5142: ELSE
5143: hr_utility.set_location('py_za_tx_01032012.YtdCalc',30);
5139: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5140: -- End Medical Tax Credit Changes
5141:
5142: ELSE
5143: hr_utility.set_location('py_za_tx_01032012.YtdCalc',30);
5144: trc_TotLibNtgAP := trc_TotLibAP;
5145: -- trc_LibFpNtgAP := -1 * bal_TX_ON_AP_NTG_YTD;
5146: END IF;
5147: ELSE
5144: trc_TotLibNtgAP := trc_TotLibAP;
5145: -- trc_LibFpNtgAP := -1 * bal_TX_ON_AP_NTG_YTD;
5146: END IF;
5147: ELSE
5148: hr_utility.set_location('py_za_tx_01032012.YtdCalc',31);
5149: trc_AnnPymNtgErn := trc_AnnPymErn;
5150: trc_TxbAnnPymNtgInc := trc_TxbAnnPymInc;
5151: trc_TotLibNtgAP := trc_TotLibAP;
5152: -- trc_LibFpNtgAP := -1 * bal_TX_ON_AP_NTG_YTD;
5156: -- Ytd Net to Gross EE Debt arised due to Net to Gross Annual Payments
5157: trc_AnnEEDbtNTGYtd := bal_TOT_TXB_EE_DBT_NTG_YTD;
5158: -- Skip the calculation if there is No Income
5159: IF trc_AnnEEDbtNtgYtd <> 0 THEN
5160: hr_utility.set_location('py_za_tx_01032012.YtdCalc',32);
5161: -- Annual EE Debt Net to Gross Earnings
5162: trc_AnnEEDbtNtgErn := trc_AnnEEDbtNtgYtd + trc_AnnPymNtgErn;
5163:
5164: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
5166: trc_TxbAnnEEDbtNtgInc :=trc_TxbAnnEEDbtNtgIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnEEDbtNtgIncWoDon,trc_AnnDonAmt);
5167:
5168: -- Threshold Check
5169: IF trc_TxbAnnEEDbtNtgInc >= trc_Threshold THEN
5170: hr_utility.set_location('py_za_tx_01032012.YtdCalc',33);
5171: -- Tax Liability
5172: trc_TotLibNtgEEDbt := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnEEDbtNtgInc);
5173: trc_LibFyNtgEEDbt := trc_TotLibNtgEEDbt - least(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
5174: trc_TotLibNtgEEDbt := greatest(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
5172: trc_TotLibNtgEEDbt := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnEEDbtNtgInc);
5173: trc_LibFyNtgEEDbt := trc_TotLibNtgEEDbt - least(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
5174: trc_TotLibNtgEEDbt := greatest(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
5175:
5176: hr_utility.set_location('py_za_tx_01032012.YtdCalc',34);
5177: trc_LibFpNtgEEDbt := trc_LibFyNtgEEDbt - (bal_TX_ON_EE_DBT_NTG_YTD + bal_MED_TAX_CR_USED_EE_YTD);
5178:
5179: -- Start Medical Tax Credit Changes
5180: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
5186: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgEEDbt_Upd
5187: );
5188: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
5189: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
5190: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
5191: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
5192: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
5193: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5194: -- End Medical Tax Credit Changes
5187: );
5188: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
5189: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
5190: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
5191: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
5192: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
5193: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5194: -- End Medical Tax Credit Changes
5195:
5188: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
5189: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
5190: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
5191: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
5192: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
5193: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5194: -- End Medical Tax Credit Changes
5195:
5196: ELSE
5189: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
5190: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
5191: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
5192: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
5193: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5194: -- End Medical Tax Credit Changes
5195:
5196: ELSE
5197: hr_utility.set_location('py_za_tx_01032012.YtdCalc',35);
5193: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5194: -- End Medical Tax Credit Changes
5195:
5196: ELSE
5197: hr_utility.set_location('py_za_tx_01032012.YtdCalc',35);
5198: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
5199: --trc_LibFpNtgEEDbt := -1 * bal_TX_ON_EE_DBT_NTG_YTD;
5200: END IF;
5201: ELSE
5198: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
5199: --trc_LibFpNtgEEDbt := -1 * bal_TX_ON_EE_DBT_NTG_YTD;
5200: END IF;
5201: ELSE
5202: hr_utility.set_location('py_za_tx_01032012.YtdCalc',36);
5203: trc_AnnEEDbtNtgErn := trc_AnnPymNtgErn;
5204: trc_TxbAnnEEDbtNtgInc := trc_TxbAnnPymNtgInc;
5205: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
5206: --trc_LibFpNtgEEDbt := -1 * bal_TX_ON_EE_DBT_NTG_YTD;
5214: -- Net Pay validation
5215: --
5216: py_za_tx_utl_01032012.ValidateTaxOns;
5217:
5218: hr_utility.set_location('py_za_tx_01032012.YtdCalc',37);
5219:
5220: -- Deemed Remuneration
5221: WrtHrTrc('trc_TxbDmdRmn: '||to_char(trc_TxbDmdRmn));
5222: WrtHrTrc('trc_TotLibDR: '||to_char(trc_TotLibDR));
5328:
5329: BEGIN
5330:
5331:
5332: hr_utility.set_location('py_za_tx_01032012.NorCalc',1);
5333: -- Identify the calculation
5334: --
5335: trc_CalTyp := 'NorCalc';
5336:
5340: --bal_TOT_TXB_TA_PTD := bal_TOT_TXB_TA_PTD * glb_ZA_TRV_ALL_TX_PRC / 100;
5341:
5342: --py_za_tx_utl_01032012.TrvAll;
5343:
5344: hr_utility.set_location('py_za_tx_01032012.NorCalc',2);
5345:
5346: bal_TOT_TXB_PO_PTD := bal_TOT_TXB_PO_PTD * glb_ZA_PBL_TX_PRC / 100;
5347: bal_TOT_TXB_PO_YTD := bal_TOT_TXB_PO_YTD * glb_ZA_PBL_TX_PRC / 100;
5348:
5365:
5366: -- Abatements
5367: py_za_tx_utl_01032012.Abatements;
5368:
5369: hr_utility.set_location('py_za_tx_01032012.NorCalc',3);
5370:
5371: trc_curMedTxCrEle := greatest(bal_MED_AID_TAX_CR_YTD + bal_ANN_MED_AID_TAX_CR_YTD,0,bal_MED_AID_TAX_CR_USED_YTD + bal_MED_AID_TAX_CR_USED_LS_YTD);
5372:
5373: -- Deemed Remuneration
5376: -- Run Deemed Remuneration
5377: trc_DmdRmnRun := bal_DIR_DMD_RMN_ITD;
5378: -- Skip the calculation if there is No Income
5379: IF trc_DmdRmnRun <> 0 THEN
5380: hr_utility.set_location('py_za_tx_01032012.NorCalc',4);
5381: -- Taxable Deemed Remuneration
5382: trc_TxbDmdRmn := trc_DmdRmnRun;
5383: -- Threshold Check
5384: IF trc_TxbDmdRmn >= trc_Threshold THEN
5381: -- Taxable Deemed Remuneration
5382: trc_TxbDmdRmn := trc_DmdRmnRun;
5383: -- Threshold Check
5384: IF trc_TxbDmdRmn >= trc_Threshold THEN
5385: hr_utility.set_location('py_za_tx_01032012.NorCalc',5);
5386: -- Tax Liability
5387: trc_TotLibDR := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbDmdRmn);
5388: trc_LibFyDR := trc_TotLibDR - 0;
5389: trc_TotLibDR := greatest(trc_TotLibDR,0);
5404: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedDR_Upd
5405: );
5406: trc_LibFpDR_Upd := trc_LibFpDR - trc_MedTxCrUsedDR_Upd;
5407: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedDR,0);
5408: hr_utility.set_location(' trc_MedTxCrUsedDR:'||trc_MedTxCrUsedDR,10);
5409: hr_utility.set_location('trc_MedTxCrUsedDR_Upd:'||trc_MedTxCrUsedDR_Upd,10);
5410: hr_utility.set_location(' trc_LibFpDR_Upd:'||trc_LibFpDR_Upd,10);
5411: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5412: -- End Medical Tax Credit Changes
5405: );
5406: trc_LibFpDR_Upd := trc_LibFpDR - trc_MedTxCrUsedDR_Upd;
5407: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedDR,0);
5408: hr_utility.set_location(' trc_MedTxCrUsedDR:'||trc_MedTxCrUsedDR,10);
5409: hr_utility.set_location('trc_MedTxCrUsedDR_Upd:'||trc_MedTxCrUsedDR_Upd,10);
5410: hr_utility.set_location(' trc_LibFpDR_Upd:'||trc_LibFpDR_Upd,10);
5411: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5412: -- End Medical Tax Credit Changes
5413:
5406: trc_LibFpDR_Upd := trc_LibFpDR - trc_MedTxCrUsedDR_Upd;
5407: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedDR,0);
5408: hr_utility.set_location(' trc_MedTxCrUsedDR:'||trc_MedTxCrUsedDR,10);
5409: hr_utility.set_location('trc_MedTxCrUsedDR_Upd:'||trc_MedTxCrUsedDR_Upd,10);
5410: hr_utility.set_location(' trc_LibFpDR_Upd:'||trc_LibFpDR_Upd,10);
5411: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5412: -- End Medical Tax Credit Changes
5413:
5414: ELSE
5407: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedDR,0);
5408: hr_utility.set_location(' trc_MedTxCrUsedDR:'||trc_MedTxCrUsedDR,10);
5409: hr_utility.set_location('trc_MedTxCrUsedDR_Upd:'||trc_MedTxCrUsedDR_Upd,10);
5410: hr_utility.set_location(' trc_LibFpDR_Upd:'||trc_LibFpDR_Upd,10);
5411: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5412: -- End Medical Tax Credit Changes
5413:
5414: ELSE
5415: hr_utility.set_location('py_za_tx_01032012.NorCalc',6);
5411: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5412: -- End Medical Tax Credit Changes
5413:
5414: ELSE
5415: hr_utility.set_location('py_za_tx_01032012.NorCalc',6);
5416: -- Set Cascade Figures and Refund
5417: trc_TotLibDR := 0;
5418: trc_LibFpDR := -1 * bal_TX_ON_DR_YTD;
5419: trc_MedTxCrUsedDR_Upd := -1 * bal_MED_TAX_CR_USED_DR_YTD;
5420: trc_LibFpDR_Upd := trc_LibFpDR;
5421: trc_LibFpDROvr := TRUE;
5422: END IF;
5423: ELSE
5424: hr_utility.set_location('py_za_tx_01032012.NorCalc',7);
5425: -- Set Cascade Figures and Refund
5426: trc_TxbDmdRmn := 0;
5427: trc_TotLibDR := 0;
5428: trc_LibFpDR := -1 * bal_TX_ON_DR_YTD;
5440: -- Skip the calculation if there is No Income
5441: -- If Tax Method is Cumulative check for YTD Income
5442: -- If Tax Method is Non Cumulative check for PTD Income
5443: IF (dbi_TX_MTD = 'C' AND trc_NorIncYtd <> 0) OR (dbi_TX_MTD = 'N' AND trc_NorIncPtd > 0) THEN
5444: hr_utility.set_location('py_za_tx_01032012.NorCalc',8);
5445:
5446: -- Annualise Normal Income
5447: trc_NorErn := py_za_tx_utl_01032012.Annualise
5448: (p_YtdInc => trc_NorIncYtd
5454: trc_TxbNorIncWoDon := trc_NorErn - trc_PerTotAbm;
5455: trc_TxbNorInc :=trc_TxbNorIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbNorIncWoDon,trc_PerDonAmt);
5456: -- Threshold Check
5457: IF trc_TxbNorInc >= trc_Threshold THEN
5458: hr_utility.set_location('py_za_tx_01032012.NorCalc',9);
5459: -- Tax Liability
5460: trc_TotLibNI := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbNorInc);
5461: trc_LibFyNI := trc_TotLibNI - least(trc_TotLibNI,trc_TotLibDR);
5462: trc_TotLibNI := greatest(trc_TotLibNI,trc_TotLibDR);
5477: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNI_Upd
5478: );
5479: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
5480: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
5481: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
5482: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
5483: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
5484: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5485: -- End Medical Tax Credit Changes
5478: );
5479: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
5480: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
5481: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
5482: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
5483: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
5484: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5485: -- End Medical Tax Credit Changes
5486:
5479: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
5480: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
5481: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
5482: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
5483: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
5484: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5485: -- End Medical Tax Credit Changes
5486:
5487: ELSE
5480: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
5481: hr_utility.set_location(' trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,10);
5482: hr_utility.set_location('trc_MedTxCrUsedNI_Upd:'||trc_MedTxCrUsedNI_Upd,10);
5483: hr_utility.set_location(' trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,10);
5484: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5485: -- End Medical Tax Credit Changes
5486:
5487: ELSE
5488: hr_utility.set_location('py_za_tx_01032012.NorCalc',10);
5484: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5485: -- End Medical Tax Credit Changes
5486:
5487: ELSE
5488: hr_utility.set_location('py_za_tx_01032012.NorCalc',10);
5489: -- Set Cascade Figures and Refund
5490: trc_TotLibNI := trc_TotLibDR;
5491: IF (dbi_TX_MTD = 'C') THEN
5492: trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
5499: END IF;
5500: trc_LibFpNIOvr := TRUE;
5501: END IF;
5502: ELSE
5503: hr_utility.set_location('py_za_tx_01032012.NorCalc',11);
5504: -- Set Cascade Figures and Refund
5505: trc_NorErn := 0;
5506: trc_TxbNorInc := 0;
5507: trc_TotLibNI := trc_TotLibDR;
5526: -- Skip the calculation if there is No Income
5527: -- If Tax Method is Cumulative check for YTD Income
5528: -- If Tax Method is Non Cumulative check for PTD Income
5529: IF (dbi_TX_MTD = 'C' AND trc_FrnBenYtd <> 0) OR (dbi_TX_MTD = 'N' AND trc_FrnBenPtd > 0) THEN
5530: hr_utility.set_location('py_za_tx_01032012.NorCalc',12);
5531:
5532: -- Annualise Fringe Benefits
5533: trc_FrnBenErn := py_za_tx_utl_01032012.Annualise
5534: ( p_YtdInc => trc_FrnBenYtd
5541: trc_TxbFrnInc :=trc_TxbFrnIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbFrnIncWoDon,trc_PerDonAmt);
5542:
5543: -- Threshold Check
5544: IF trc_TxbFrnInc >= trc_Threshold THEN
5545: hr_utility.set_location('py_za_tx_01032012.NorCalc',13);
5546: -- Tax Liability
5547: trc_TotLibFB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbFrnInc);
5548: trc_LibFyFB := trc_TotLibFB - least(trc_TotLibFB,trc_TotLibNI);
5549: trc_TotLibFB := greatest(trc_TotLibFB,trc_TotLibNI);
5564: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedFB_Upd
5565: );
5566: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
5567: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
5568: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
5569: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
5570: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
5571: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5572: -- End Medical Tax Credit Changes
5565: );
5566: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
5567: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
5568: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
5569: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
5570: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
5571: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5572: -- End Medical Tax Credit Changes
5573:
5566: trc_LibFpFB_Upd := trc_LibFpFB - trc_MedTxCrUsedFB_Upd;
5567: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
5568: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
5569: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
5570: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
5571: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5572: -- End Medical Tax Credit Changes
5573:
5574: ELSE
5567: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedFB,0);
5568: hr_utility.set_location(' trc_MedTxCrUsedFB:'||trc_MedTxCrUsedFB,10);
5569: hr_utility.set_location('trc_MedTxCrUsedFB_Upd:'||trc_MedTxCrUsedFB_Upd,10);
5570: hr_utility.set_location(' trc_LibFpFB_Upd:'||trc_LibFpFB_Upd,10);
5571: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5572: -- End Medical Tax Credit Changes
5573:
5574: ELSE
5575: hr_utility.set_location('py_za_tx_01032012.NorCalc',14);
5571: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5572: -- End Medical Tax Credit Changes
5573:
5574: ELSE
5575: hr_utility.set_location('py_za_tx_01032012.NorCalc',14);
5576: -- Set Cascade Figures and Refund
5577: trc_TotLibFB := trc_TotLibNI;
5578: IF (dbi_TX_MTD = 'C') THEN
5579: trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
5586: END IF;
5587: trc_LibFpFBOvr := TRUE;
5588: END IF;
5589: ELSE
5590: hr_utility.set_location('py_za_tx_01032012.NorCalc',15);
5591: -- Set Cascade Figures and Refund
5592: trc_FrnBenErn := trc_NorErn;
5593: trc_TxbFrnInc := trc_TxbNorInc;
5594: trc_TotLibFB := trc_TotLibNI;
5613: -- Skip the calculation if there is No Income
5614: -- If Tax Method is Cumulative check for YTD Income
5615: -- If Tax Method is Non Cumulative check for PTD Income
5616: IF (dbi_TX_MTD = 'C' AND trc_TrvAllYtd <> 0) OR (dbi_TX_MTD = 'N' AND trc_TrvAllPtd > 0) THEN
5617: hr_utility.set_location('py_za_tx_01032012.NorCalc',16);
5618: -- Ptd Travel Allowance
5619: trc_TrvAllPtd := bal_TOT_TXB_TA_PTD;
5620: -- Annualise Travel Allowance
5621: trc_TrvAllErn := py_za_tx_utl_01032012.Annualise
5629: trc_TxbTrvInc :=trc_TxbTrvIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbTrvIncWoDon,trc_PerDonAmt);
5630:
5631: -- Threshold Check
5632: IF trc_TxbTrvInc >= trc_Threshold THEN
5633: hr_utility.set_location('py_za_tx_01032012.NorCalc',17);
5634: -- Tax Liability
5635: trc_TotLibTA := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbTrvInc);
5636: trc_LibFyTA := trc_TotLibTA - least(trc_TotLibTA,trc_TotLibFB);
5637: trc_TotLibTA := greatest(trc_TotLibTA,trc_TotLibFB);
5652: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedTA_Upd
5653: );
5654: trc_LibFpTA_Upd := trc_LibFpTA - trc_MedTxCrUsedTA_Upd;
5655: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
5656: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
5657: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
5658: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
5659: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5660: -- End Medical Tax Credit Changes
5653: );
5654: trc_LibFpTA_Upd := trc_LibFpTA - trc_MedTxCrUsedTA_Upd;
5655: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
5656: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
5657: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
5658: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
5659: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5660: -- End Medical Tax Credit Changes
5661:
5654: trc_LibFpTA_Upd := trc_LibFpTA - trc_MedTxCrUsedTA_Upd;
5655: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
5656: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
5657: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
5658: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
5659: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5660: -- End Medical Tax Credit Changes
5661:
5662: ELSE
5655: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedTA,0);
5656: hr_utility.set_location(' trc_MedTxCrUsedTA:'||trc_MedTxCrUsedTA,10);
5657: hr_utility.set_location('trc_MedTxCrUsedTA_Upd:'||trc_MedTxCrUsedTA_Upd,10);
5658: hr_utility.set_location(' trc_LibFpTA_Upd:'||trc_LibFpTA_Upd,10);
5659: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5660: -- End Medical Tax Credit Changes
5661:
5662: ELSE
5663: hr_utility.set_location('py_za_tx_01032012.NorCalc',18);
5659: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5660: -- End Medical Tax Credit Changes
5661:
5662: ELSE
5663: hr_utility.set_location('py_za_tx_01032012.NorCalc',18);
5664: -- Set Cascade Figures and Refund
5665: trc_TotLibTA := trc_TotLibFB;
5666: IF (dbi_TX_MTD = 'C') THEN
5667: trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
5674: END IF;
5675: trc_LibFpTAOvr := TRUE;
5676: END IF;
5677: ELSE
5678: hr_utility.set_location('py_za_tx_01032012.NorCalc',19);
5679: -- Set Cascade Figures and Refund
5680: trc_TrvAllErn := trc_FrnBenErn;
5681: trc_TxbTrvInc := trc_TxbFrnInc;
5682: trc_TotLibTA := trc_TotLibFB;
5701: -- Skip the calculation if there is No Income
5702: -- If Tax Method is Cumulative check for YTD Income
5703: -- If Tax Method is Non Cumulative check for PTD Income
5704: IF (dbi_TX_MTD = 'C' AND trc_BonProYtd <> 0) OR (dbi_TX_MTD = 'N' AND trc_BonProPtd > 0) THEN
5705: hr_utility.set_location('py_za_tx_01032012.NorCalc',20);
5706: -- Annualise Bonus Provision
5707: trc_BonProErn := py_za_tx_utl_01032012.Annualise
5708: ( p_YtdInc => trc_BonProYtd
5709: , p_PtdInc => trc_BonProPtd
5715: trc_TxbBonProInc :=trc_TxbBonProIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbBonProIncWoDon,trc_PerDonAmt);
5716:
5717: -- Threshold Check
5718: IF trc_TxbBonProInc >= trc_Threshold THEN
5719: hr_utility.set_location('py_za_tx_01032012.NorCalc',21);
5720: -- Tax Liability
5721: trc_TotLibBP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbBonProInc);
5722: trc_LibFyBP := trc_TotLibBP - least(trc_TotLibBP,trc_TotLibTA);
5723: trc_TotLibBP := greatest(trc_TotLibBP,trc_TotLibTA);
5738: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedBP_Upd
5739: );
5740: trc_LibFpBP_Upd := trc_LibFpBP - trc_MedTxCrUsedBP_Upd;
5741: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
5742: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
5743: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
5744: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
5745: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5746: -- End Medical Tax Credit Changes
5739: );
5740: trc_LibFpBP_Upd := trc_LibFpBP - trc_MedTxCrUsedBP_Upd;
5741: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
5742: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
5743: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
5744: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
5745: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5746: -- End Medical Tax Credit Changes
5747:
5740: trc_LibFpBP_Upd := trc_LibFpBP - trc_MedTxCrUsedBP_Upd;
5741: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
5742: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
5743: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
5744: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
5745: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5746: -- End Medical Tax Credit Changes
5747:
5748: ELSE
5741: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedBP,0);
5742: hr_utility.set_location(' trc_MedTxCrUsedBP:'||trc_MedTxCrUsedBP,10);
5743: hr_utility.set_location('trc_MedTxCrUsedBP_Upd:'||trc_MedTxCrUsedBP_Upd,10);
5744: hr_utility.set_location(' trc_LibFpBP_Upd:'||trc_LibFpBP_Upd,10);
5745: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5746: -- End Medical Tax Credit Changes
5747:
5748: ELSE
5749: hr_utility.set_location('py_za_tx_01032012.NorCalc',22);
5745: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5746: -- End Medical Tax Credit Changes
5747:
5748: ELSE
5749: hr_utility.set_location('py_za_tx_01032012.NorCalc',22);
5750: -- Set Cascade Figures and Refund
5751: trc_TotLibBP := trc_TotLibTA;
5752: IF (dbi_TX_MTD = 'C') THEN
5753: trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
5760: END IF;
5761: trc_LibFpBPOvr := TRUE;
5762: END IF;
5763: ELSE
5764: hr_utility.set_location('py_za_tx_01032012.NorCalc',23);
5765: -- Set Cascade Figures and Refund
5766: trc_BonProErn := trc_TrvAllErn;
5767: trc_TxbBonProInc := trc_TxbTrvInc;
5768: trc_TotLibBP := trc_TotLibTA;
5783: -- Ytd Annual Bonus
5784: trc_AnnBonYtd := bal_TOT_TXB_AB_YTD;
5785: -- Skip the calculation if there is No Income
5786: IF trc_AnnBonYtd <> 0 THEN
5787: hr_utility.set_location('py_za_tx_01032012.NorCalc',24);
5788: -- Annual Bonus Earnings
5789: trc_AnnBonErn := trc_AnnBonYtd + trc_TrvAllErn;
5790: --TYS2010
5791: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
5794: trc_TxbAnnBonInc :=trc_TxbAnnBonIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnBonIncWoDon,trc_AnnDonAmt);
5795:
5796: -- Threshold Check
5797: IF trc_TxbAnnBonInc >= trc_Threshold THEN
5798: hr_utility.set_location('py_za_tx_01032012.NorCalc',25);
5799: -- Tax Liability
5800: trc_TotLibAB := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnBonInc);
5801: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
5802: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
5801: trc_LibFyAB := trc_TotLibAB - least(trc_TotLibAB,trc_TotLibTA);
5802: trc_TotLibAB := greatest(trc_TotLibAB,trc_TotLibTA);
5803: -- Check Bonus Provision
5804: IF trc_BonProYtd <> 0 THEN
5805: hr_utility.set_location('py_za_tx_01032012.NorCalc',26);
5806: -- Check Bonus Provision Frequency
5807: IF dbi_BP_TX_RCV = 'A' THEN
5808: hr_utility.set_location('py_za_tx_01032012.NorCalc',27);
5809: trc_LibFpAB := 0;
5804: IF trc_BonProYtd <> 0 THEN
5805: hr_utility.set_location('py_za_tx_01032012.NorCalc',26);
5806: -- Check Bonus Provision Frequency
5807: IF dbi_BP_TX_RCV = 'A' THEN
5808: hr_utility.set_location('py_za_tx_01032012.NorCalc',27);
5809: trc_LibFpAB := 0;
5810: ELSE
5811: hr_utility.set_location('py_za_tx_01032012.NorCalc',28);
5812: trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD
5807: IF dbi_BP_TX_RCV = 'A' THEN
5808: hr_utility.set_location('py_za_tx_01032012.NorCalc',27);
5809: trc_LibFpAB := 0;
5810: ELSE
5811: hr_utility.set_location('py_za_tx_01032012.NorCalc',28);
5812: trc_LibFpAB := trc_LibFyAB - ( bal_TX_ON_BP_YTD
5813: + bal_MED_TAX_CR_USED_BP_YTD
5814: + trc_LibFpBP
5815: + bal_TX_ON_AB_YTD
5825: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
5826: );
5827: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5828: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5829: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5830: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5831: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5832: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5833: -- End Medical Tax Credit Changes
5826: );
5827: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5828: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5829: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5830: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5831: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5832: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5833: -- End Medical Tax Credit Changes
5834:
5827: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5828: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5829: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5830: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5831: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5832: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5833: -- End Medical Tax Credit Changes
5834:
5835: END IF;
5828: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5829: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5830: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5831: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5832: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5833: -- End Medical Tax Credit Changes
5834:
5835: END IF;
5836: ELSE
5833: -- End Medical Tax Credit Changes
5834:
5835: END IF;
5836: ELSE
5837: hr_utility.set_location('py_za_tx_01032012.NorCalc',29);
5838: trc_LibFpAB := trc_LibFyAB - (bal_TX_ON_AB_YTD + bal_MED_TAX_CR_USED_AB_YTD);
5839:
5840: -- Start Medical Tax Credit Changes
5841: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
5847: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAB_Upd
5848: );
5849: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5850: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5851: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5852: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5853: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5854: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5855: -- End Medical Tax Credit Changes
5848: );
5849: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5850: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5851: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5852: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5853: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5854: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5855: -- End Medical Tax Credit Changes
5856:
5849: trc_LibFpAB_Upd := trc_LibFpAB - trc_MedTxCrUsedAB_Upd;
5850: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5851: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5852: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5853: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5854: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5855: -- End Medical Tax Credit Changes
5856:
5857: END IF;
5850: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAB,0);
5851: hr_utility.set_location(' trc_MedTxCrUsedAB:'||trc_MedTxCrUsedAB,10);
5852: hr_utility.set_location('trc_MedTxCrUsedAB_Upd:'||trc_MedTxCrUsedAB_Upd,10);
5853: hr_utility.set_location(' trc_LibFpAB_Upd:'||trc_LibFpAB_Upd,10);
5854: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5855: -- End Medical Tax Credit Changes
5856:
5857: END IF;
5858: ELSE
5855: -- End Medical Tax Credit Changes
5856:
5857: END IF;
5858: ELSE
5859: hr_utility.set_location('py_za_tx_01032012.NorCalc',30);
5860: -- Set Cascade Figures and Refund
5861: trc_TotLibAB := trc_TotLibTA;
5862: IF (dbi_TX_MTD = 'C') THEN
5863: trc_LibFpAB := -1 * bal_TX_ON_AB_YTD;
5870: END IF;
5871: trc_LibFpABOvr := TRUE;
5872: END IF;
5873: ELSE
5874: hr_utility.set_location('py_za_tx_01032012.NorCalc',31);
5875: -- Set Cascade Figures and Refund
5876: trc_AnnBonErn := trc_BonProErn;
5877: trc_TxbAnnBonInc := trc_TxbBonProInc;
5878: trc_TotLibAB := trc_TotLibBP;
5893: -- Ytd Annual Payments
5894: trc_AnnPymYtd := bal_TOT_TXB_AP_YTD ;
5895: -- Skip the calculation if there is No Income
5896: IF trc_AnnPymYtd <> 0 THEN
5897: hr_utility.set_location('py_za_tx_01032012.NorCalc',32);
5898: -- Annual Payments Earnings
5899: trc_AnnPymErn := trc_AnnPymYtd + trc_AnnBonErn;
5900: --TYS2010
5901: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
5904: trc_TxbAnnPymInc :=trc_TxbAnnPymIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymIncWoDon,trc_AnnDonAmt);
5905:
5906: -- Threshold Check
5907: IF trc_TxbAnnPymInc >= trc_Threshold THEN
5908: hr_utility.set_location('py_za_tx_01032012.NorCalc',33);
5909: -- Tax Liability
5910: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymInc);
5911: trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
5912: trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
5909: -- Tax Liability
5910: trc_TotLibAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymInc);
5911: trc_LibFyAP := trc_TotLibAP - least(trc_TotLibAP,trc_TotLibAB);
5912: trc_TotLibAP := greatest(trc_TotLibAP,trc_TotLibAB);
5913: hr_utility.set_location('py_za_tx_01032012.NorCalc',34);
5914: trc_LibFpAP := trc_LibFyAP - (bal_TX_ON_AP_YTD + bal_MED_TAX_CR_USED_AP_YTD) ;
5915:
5916: -- Start Medical Tax Credit Changes
5917: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
5923: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedAP_Upd
5924: );
5925: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
5926: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
5927: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
5928: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
5929: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
5930: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5931: -- End Medical Tax Credit Changes
5924: );
5925: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
5926: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
5927: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
5928: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
5929: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
5930: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5931: -- End Medical Tax Credit Changes
5932:
5925: trc_LibFpAP_Upd := trc_LibFpAP - trc_MedTxCrUsedAP_Upd;
5926: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
5927: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
5928: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
5929: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
5930: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5931: -- End Medical Tax Credit Changes
5932:
5933: ELSE
5926: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedAP,0);
5927: hr_utility.set_location(' trc_MedTxCrUsedAP:'||trc_MedTxCrUsedAP,10);
5928: hr_utility.set_location('trc_MedTxCrUsedAP_Upd:'||trc_MedTxCrUsedAP_Upd,10);
5929: hr_utility.set_location(' trc_LibFpAP_Upd:'||trc_LibFpAP_Upd,10);
5930: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5931: -- End Medical Tax Credit Changes
5932:
5933: ELSE
5934: hr_utility.set_location('py_za_tx_01032012.NorCalc',35);
5930: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
5931: -- End Medical Tax Credit Changes
5932:
5933: ELSE
5934: hr_utility.set_location('py_za_tx_01032012.NorCalc',35);
5935: -- Set Cascade Figures and Refund
5936: trc_TotLibAP := trc_TotLibAB;
5937: IF (dbi_TX_MTD = 'C') THEN
5938: trc_LibFpAP := -1 * bal_TX_ON_AP_YTD;
5945: END IF;
5946: trc_LibFpAPOvr := TRUE;
5947: END IF;
5948: ELSE
5949: hr_utility.set_location('py_za_tx_01032012.NorCalc',36);
5950: -- Set Cascade Figures and Refund
5951: trc_AnnPymErn := trc_AnnBonErn;
5952: trc_TxbAnnPymInc := trc_TxbAnnBonInc;
5953: trc_TotLibAP := trc_TotLibAB;
5972: -- Skip the calculation if there is No Income
5973: -- If Tax Method is Cumulative check for YTD Income
5974: -- If Tax Method is Non Cumulative check for PTD Income
5975: IF (dbi_TX_MTD = 'C' AND trc_PblOffYtd <> 0) OR (dbi_TX_MTD = 'N' AND trc_PblOffPtd > 0) THEN
5976: hr_utility.set_location('py_za_tx_01032012.NorCalc',37);
5977: -- Ptd Public Office Allowance
5978: trc_PblOffPtd := bal_TOT_TXB_PO_PTD;
5979: -- Annualise Public Office Allowance
5980: trc_PblOffErn := py_za_tx_utl_01032012.Annualise
5988: trc_TxbPblOffInc :=trc_TxbPblOffIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbPblOffIncWoDon,trc_AnnDonAmt);
5989:
5990: -- Threshold Check
5991: IF trc_TxbPblOffInc >= trc_Threshold THEN
5992: hr_utility.set_location('py_za_tx_01032012.NorCalc',38);
5993: -- Tax Liability
5994: trc_TotLibPO := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbPblOffInc);
5995: trc_LibFyPO := trc_TotLibPO - least(trc_TotLibPO,trc_TotLibAP);
5996: trc_TotLibPO := greatest(trc_TotLibPO,trc_TotLibAP);
6011: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedPO_Upd
6012: );
6013: trc_LibFpPO_Upd := trc_LibFpPO - trc_MedTxCrUsedPO_Upd;
6014: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
6015: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
6016: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
6017: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
6018: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6019: -- End Medical Tax Credit Changes
6012: );
6013: trc_LibFpPO_Upd := trc_LibFpPO - trc_MedTxCrUsedPO_Upd;
6014: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
6015: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
6016: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
6017: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
6018: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6019: -- End Medical Tax Credit Changes
6020:
6013: trc_LibFpPO_Upd := trc_LibFpPO - trc_MedTxCrUsedPO_Upd;
6014: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
6015: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
6016: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
6017: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
6018: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6019: -- End Medical Tax Credit Changes
6020:
6021: ELSE
6014: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedPO,0);
6015: hr_utility.set_location(' trc_MedTxCrUsedPO:'||trc_MedTxCrUsedPO,10);
6016: hr_utility.set_location('trc_MedTxCrUsedPO_Upd:'||trc_MedTxCrUsedPO_Upd,10);
6017: hr_utility.set_location(' trc_LibFpPO_Upd:'||trc_LibFpPO_Upd,10);
6018: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6019: -- End Medical Tax Credit Changes
6020:
6021: ELSE
6022: hr_utility.set_location('py_za_tx_01032012.NorCalc',39);
6018: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6019: -- End Medical Tax Credit Changes
6020:
6021: ELSE
6022: hr_utility.set_location('py_za_tx_01032012.NorCalc',39);
6023: -- Set Cascade Figures and Refund
6024: trc_TotLibPO := trc_TotLibAP;
6025: IF (dbi_TX_MTD = 'C') THEN
6026: trc_LibFpPO := -1 * bal_TX_ON_PO_YTD;
6033: END IF;
6034: trc_LibFpPOOvr := TRUE;
6035: END IF;
6036: ELSE
6037: hr_utility.set_location('py_za_tx_01032012.NorCalc',40);
6038: -- Set Cascade Figures and Refund
6039: trc_PblOffErn := trc_AnnPymErn;
6040: trc_TxbPblOffInc := trc_TxbAnnPymInc;
6041: trc_TotLibPO := trc_TotLibAP;
6057: -- Ytd Net to Gross Annual Payments
6058: trc_AnnPymNTGYtd := bal_TOT_TXB_AP_NTG_YTD;
6059: -- Skip the calculation if there is No Income
6060: IF trc_AnnPymNtgYtd <> 0 THEN
6061: hr_utility.set_location('py_za_tx_01032012.NorCalc',41);
6062: -- Annual Payments Net to Gross Earnings
6063: trc_AnnPymNtgErn := trc_AnnPymNtgYtd + trc_PblOffErn;
6064:
6065: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
6068: trc_TxbAnnPymNtgInc :=trc_TxbAnnPymNtgIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnPymNtgIncWoDon,trc_AnnDonAmt);
6069:
6070: -- Threshold Check
6071: IF trc_TxbAnnPymNtgInc >= trc_Threshold THEN
6072: hr_utility.set_location('py_za_tx_01032012.NorCalc',42);
6073: -- Tax Liability
6074: trc_TotLibNtgAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymNtgInc);
6075: trc_LibFyNtgAP := trc_TotLibNtgAP - least(trc_TotLibNtgAP,trc_TotLibPO);
6076: trc_TotLibNtgAP := greatest(trc_TotLibNtgAP,trc_TotLibPO);
6074: trc_TotLibNtgAP := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnPymNtgInc);
6075: trc_LibFyNtgAP := trc_TotLibNtgAP - least(trc_TotLibNtgAP,trc_TotLibPO);
6076: trc_TotLibNtgAP := greatest(trc_TotLibNtgAP,trc_TotLibPO);
6077:
6078: hr_utility.set_location('py_za_tx_01032012.NorCalc',43);
6079: trc_LibFpNtgAP := trc_LibFyNtgAP - (bal_TX_ON_AP_NTG_YTD + bal_MED_TAX_CR_USED_NG_YTD);
6080:
6081: -- Start Medical Tax Credit Changes
6082: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
6088: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgAP_Upd
6089: );
6090: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
6091: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
6092: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
6093: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
6094: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
6095: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6096: -- End Medical Tax Credit Changes
6089: );
6090: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
6091: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
6092: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
6093: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
6094: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
6095: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6096: -- End Medical Tax Credit Changes
6097:
6090: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP - trc_MedTxCrUsedNtgAP_Upd;
6091: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
6092: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
6093: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
6094: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
6095: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6096: -- End Medical Tax Credit Changes
6097:
6098: ELSE
6091: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgAP,0);
6092: hr_utility.set_location(' trc_MedTxCrUsedNtgAP:'||trc_MedTxCrUsedNtgAP,10);
6093: hr_utility.set_location('trc_MedTxCrUsedNtgAP_Upd:'||trc_MedTxCrUsedNtgAP_Upd,10);
6094: hr_utility.set_location(' trc_LibFpNtgAP_Upd:'||trc_LibFpNtgAP_Upd,10);
6095: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6096: -- End Medical Tax Credit Changes
6097:
6098: ELSE
6099: hr_utility.set_location('py_za_tx_01032012.NorCalc',44);
6095: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6096: -- End Medical Tax Credit Changes
6097:
6098: ELSE
6099: hr_utility.set_location('py_za_tx_01032012.NorCalc',44);
6100: -- Set Cascade Figures and Refund
6101: trc_TotLibNtgAP := trc_TotLibPO;
6102: trc_LibFpNtgAP := -1 * bal_TX_ON_AP_NTG_YTD;
6103: trc_MedTxCrUsedNtgAP_Upd := -1 * bal_MED_TAX_CR_USED_NG_YTD;
6104: trc_LibFpNtgAP_Upd := trc_LibFpNtgAP;
6105: trc_LibFpNtgAPOvr := TRUE;
6106: END IF;
6107: ELSE
6108: hr_utility.set_location('py_za_tx_01032012.NorCalc',45);
6109: -- Set Cascade Figures and Refund
6110: trc_AnnPymNtgErn := trc_PblOffErn;
6111: trc_TxbAnnPymNtgInc := trc_TxbPblOffInc;
6112: trc_TotLibNtgAP := trc_TotLibPO;
6120: -- Ytd Net to Gross EE Debt due to Net to Gross Annual Payments
6121: trc_AnnEEDbtNTGYtd := bal_TOT_TXB_EE_DBT_NTG_YTD;
6122: -- Skip the calculation if there is No Income
6123: IF trc_AnnEEDbtNtgYtd <> 0 THEN
6124: hr_utility.set_location('py_za_tx_01032012.NorCalc',46);
6125: -- Annual EE Debt Net to Gross Earnings
6126: trc_AnnEEDbtNtgErn := trc_AnnEEDbtNtgYtd + trc_AnnPymNtgErn;
6127:
6128: --Suffixed the variable with WoDon to denote that donation amount is not deducted.
6130: trc_TxbAnnEEDbtNtgInc :=trc_TxbAnnEEDbtNtgIncWoDon - py_za_tx_utl_01032012.AllowableDeduction(trc_TxbAnnEEDbtNtgIncWoDon,trc_AnnDonAmt);
6131:
6132: -- Threshold Check
6133: IF trc_TxbAnnEEDbtNtgInc >= trc_Threshold THEN
6134: hr_utility.set_location('py_za_tx_01032012.NorCalc',47);
6135: -- Tax Liability
6136: trc_TotLibNtgEEDbt := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnEEDbtNtgInc);
6137: trc_LibFyNtgEEDbt := trc_TotLibNtgEEDbt - least(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
6138: trc_TotLibNtgEEDbt := greatest(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
6136: trc_TotLibNtgEEDbt := py_za_tx_utl_01032012.TaxLiability(p_Amt => trc_TxbAnnEEDbtNtgInc);
6137: trc_LibFyNtgEEDbt := trc_TotLibNtgEEDbt - least(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
6138: trc_TotLibNtgEEDbt := greatest(trc_TotLibNtgEEDbt,trc_TotLibNtgAP);
6139:
6140: hr_utility.set_location('py_za_tx_01032012.NorCalc',48);
6141: trc_LibFpNtgEEDbt := trc_LibFyNtgEEDbt - (bal_TX_ON_EE_DBT_NTG_YTD + bal_MED_TAX_CR_USED_EE_YTD) ;
6142:
6143: -- Start Medical Tax Credit Changes
6144: py_za_tx_utl_01032012.CalMedTxCrUSEDOns
6150: ,p_Md_Tx_Cr_Usd_Upd => trc_MedTxCrUsedNtgEEDbt_Upd
6151: );
6152: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
6153: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
6154: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
6155: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
6156: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
6157: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6158: -- End Medical Tax Credit Changes
6151: );
6152: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
6153: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
6154: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
6155: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
6156: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
6157: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6158: -- End Medical Tax Credit Changes
6159:
6152: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt - trc_MedTxCrUsedNtgEEDbt_Upd;
6153: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
6154: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
6155: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
6156: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
6157: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6158: -- End Medical Tax Credit Changes
6159:
6160: ELSE
6153: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNtgEEDbt,0);
6154: hr_utility.set_location(' trc_MedTxCrUsedNtgEEDbt:'||trc_MedTxCrUsedNtgEEDbt,10);
6155: hr_utility.set_location('trc_MedTxCrUsedNtgEEDbt_Upd:'||trc_MedTxCrUsedNtgEEDbt_Upd,10);
6156: hr_utility.set_location(' trc_LibFpNtgEEDbt_Upd:'||trc_LibFpNtgEEDbt_Upd,10);
6157: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6158: -- End Medical Tax Credit Changes
6159:
6160: ELSE
6161: hr_utility.set_location('py_za_tx_01032012.NorCalc',49);
6157: hr_utility.set_location(' trc_curMedTxCrEle:'||trc_curMedTxCrEle,10);
6158: -- End Medical Tax Credit Changes
6159:
6160: ELSE
6161: hr_utility.set_location('py_za_tx_01032012.NorCalc',49);
6162: -- Set Cascade Figures and Refund
6163: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
6164: trc_LibFpNtgEEDbt := -1 * bal_TX_ON_EE_DBT_NTG_YTD;
6165: trc_MedTxCrUsedNtgEEDbt_Upd := -1 * bal_MED_TAX_CR_USED_EE_YTD;
6166: trc_LibFpNtgEEDbt_Upd := trc_LibFpNtgEEDbt;
6167: trc_LibFpNtgEEDbtOvr := TRUE;
6168: END IF;
6169: ELSE
6170: hr_utility.set_location('py_za_tx_01032012.NorCalc',50);
6171: -- Set Cascade Figures and Refund
6172: trc_AnnEEDbtNtgErn := trc_AnnPymNtgErn;
6173: trc_TxbAnnEEDbtNtgInc := trc_TxbAnnPymNtgInc;
6174: trc_TotLibNtgEEDbt := trc_TotLibNtgAP;
6192: -- Net Pay Validation
6193: --
6194: py_za_tx_utl_01032012.ValidateTaxOns;
6195:
6196: hr_utility.set_location('py_za_tx_01032012.NorCalc',51);
6197:
6198: -- Deemed Remuneration
6199: WrtHrTrc('trc_TxbDmdRmn: '||to_char(trc_TxbDmdRmn));
6200: WrtHrTrc('trc_TotLibDR: '||to_char(trc_TotLibDR ));
6364:
6365: RETURN l_Dum;
6366: EXCEPTION
6367: WHEN OTHERS THEN
6368: hr_utility.set_message(801, 'ZaTxGlb_01032012: '||TO_CHAR(SQLCODE));
6369: hr_utility.raise_error;
6370: END ZaTxGlb_01032012;
6371: -------------------------------------------------------------------------------
6372: -- ZaTxDbi_01032012 --
6365: RETURN l_Dum;
6366: EXCEPTION
6367: WHEN OTHERS THEN
6368: hr_utility.set_message(801, 'ZaTxGlb_01032012: '||TO_CHAR(SQLCODE));
6369: hr_utility.raise_error;
6370: END ZaTxGlb_01032012;
6371: -------------------------------------------------------------------------------
6372: -- ZaTxDbi_01032012 --
6373: -- Tax module supporting function --
6443:
6444: RETURN l_Dum;
6445: EXCEPTION
6446: WHEN OTHERS THEN
6447: hr_utility.set_message(801, 'ZaTxDbi_01032012: '||TO_CHAR(SQLCODE));
6448: hr_utility.raise_error;
6449: END ZaTxDbi_01032012;
6450: -------------------------------------------------------------------------------
6451: -- ZaTxBal1_01032012 --
6444: RETURN l_Dum;
6445: EXCEPTION
6446: WHEN OTHERS THEN
6447: hr_utility.set_message(801, 'ZaTxDbi_01032012: '||TO_CHAR(SQLCODE));
6448: hr_utility.raise_error;
6449: END ZaTxDbi_01032012;
6450: -------------------------------------------------------------------------------
6451: -- ZaTxBal1_01032012 --
6452: -- Tax module supporting function --
6534:
6535: RETURN l_Dum;
6536: EXCEPTION
6537: WHEN OTHERS THEN
6538: hr_utility.set_message(801, 'ZaTxBal1_01032012: '||TO_CHAR(SQLCODE));
6539: hr_utility.raise_error;
6540: END ZaTxBal1_01032012;
6541: -------------------------------------------------------------------------------
6542: -- ZaTxBal2_01032012 --
6535: RETURN l_Dum;
6536: EXCEPTION
6537: WHEN OTHERS THEN
6538: hr_utility.set_message(801, 'ZaTxBal1_01032012: '||TO_CHAR(SQLCODE));
6539: hr_utility.raise_error;
6540: END ZaTxBal1_01032012;
6541: -------------------------------------------------------------------------------
6542: -- ZaTxBal2_01032012 --
6543: -- Tax module supporting function --
6632: -- Bug 14168167
6633: RETURN l_Dum;
6634: EXCEPTION
6635: WHEN OTHERS THEN
6636: hr_utility.set_message(801, 'ZaTxBal2_01032012: '||TO_CHAR(SQLCODE));
6637: hr_utility.raise_error;
6638: END ZaTxBal2_01032012;
6639: -------------------------------------------------------------------------------
6640: -- ZaTxBal3_01032012 --
6633: RETURN l_Dum;
6634: EXCEPTION
6635: WHEN OTHERS THEN
6636: hr_utility.set_message(801, 'ZaTxBal2_01032012: '||TO_CHAR(SQLCODE));
6637: hr_utility.raise_error;
6638: END ZaTxBal2_01032012;
6639: -------------------------------------------------------------------------------
6640: -- ZaTxBal3_01032012 --
6641: -- Tax module supporting function --
6857:
6858: RETURN l_Dum;
6859: EXCEPTION
6860: WHEN OTHERS THEN
6861: hr_utility.set_message(801, 'ZaTxBal3_01032012: '||TO_CHAR(SQLCODE));
6862: hr_utility.raise_error;
6863: END ZaTxBal3_01032012;
6864: -------------------------------------------------------------------------------
6865: -- ZaTxBal4_01032012 --
6858: RETURN l_Dum;
6859: EXCEPTION
6860: WHEN OTHERS THEN
6861: hr_utility.set_message(801, 'ZaTxBal3_01032012: '||TO_CHAR(SQLCODE));
6862: hr_utility.raise_error;
6863: END ZaTxBal3_01032012;
6864: -------------------------------------------------------------------------------
6865: -- ZaTxBal4_01032012 --
6866: -- Tax module supporting function --
6934:
6935: RETURN l_Dum;
6936: EXCEPTION
6937: WHEN OTHERS THEN
6938: hr_utility.set_message(801, 'ZaTxBal4_01032012: '||TO_CHAR(SQLCODE));
6939: hr_utility.raise_error;
6940: END ZaTxBal4_01032012;
6941: -------------------------------------------------------------------------------
6942: -- ZaTxBal5_01032012 --
6935: RETURN l_Dum;
6936: EXCEPTION
6937: WHEN OTHERS THEN
6938: hr_utility.set_message(801, 'ZaTxBal4_01032012: '||TO_CHAR(SQLCODE));
6939: hr_utility.raise_error;
6940: END ZaTxBal4_01032012;
6941: -------------------------------------------------------------------------------
6942: -- ZaTxBal5_01032012 --
6943: -- Tax module supporting function --
7035:
7036: RETURN l_Dum;
7037: EXCEPTION
7038: WHEN OTHERS THEN
7039: hr_utility.set_message(801, 'ZaTxBal5_01032012: '||TO_CHAR(SQLCODE));
7040: hr_utility.raise_error;
7041: END ZaTxBal5_01032012;
7042:
7043: -------------------------------------------------------------------------------
7036: RETURN l_Dum;
7037: EXCEPTION
7038: WHEN OTHERS THEN
7039: hr_utility.set_message(801, 'ZaTxBal5_01032012: '||TO_CHAR(SQLCODE));
7040: hr_utility.raise_error;
7041: END ZaTxBal5_01032012;
7042:
7043: -------------------------------------------------------------------------------
7044: -- ZaTxBal6_01032012 --
7130:
7131: RETURN l_Dum;
7132: EXCEPTION
7133: WHEN OTHERS THEN
7134: hr_utility.set_message(801, 'ZaTxBal6_01032012: '||TO_CHAR(SQLCODE));
7135: hr_utility.raise_error;
7136: END ZaTxBal6_01032012;
7137:
7138: -------------------------------------------------------------------------------
7131: RETURN l_Dum;
7132: EXCEPTION
7133: WHEN OTHERS THEN
7134: hr_utility.set_message(801, 'ZaTxBal6_01032012: '||TO_CHAR(SQLCODE));
7135: hr_utility.raise_error;
7136: END ZaTxBal6_01032012;
7137:
7138: -------------------------------------------------------------------------------
7139: -- ZaTx_01032012 --
7275: BEGIN-- MAIN --
7276: -------------------------------------------------------------------------------
7277:
7278:
7279: -- Set hr_utility globals if debugging
7280: --
7281: -- py_za_tx_utl_01032012.g_HrTraceEnabled := TRUE;
7282: -- py_za_tx_utl_01032012.g_HrTracePipeName := 'ZATAX';
7283:
7280: --
7281: -- py_za_tx_utl_01032012.g_HrTraceEnabled := TRUE;
7282: -- py_za_tx_utl_01032012.g_HrTracePipeName := 'ZATAX';
7283:
7284: -- Call hr_utility start procedure
7285: py_za_tx_utl_01032012.StartHrTrace;
7286:
7287: l_65Year := add_months(py_za_tx_01032012.dbi_PER_DTE_OF_BRTH,780);
7288: -- Setup Trace Header Info
7658: WrtHrTrc(' l_65Year: '||to_char(l_65Year,'DD/MM/YYYY' ));
7659:
7660: /* End NTG */
7661:
7662: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',1);
7663:
7664: -- Initialise Package Globals
7665: -- Contexts
7666: con_ASG_ACT_ID := ASSIGNMENT_ACTION_ID;
7667: con_ASG_ID := ASSIGNMENT_ID;
7668: con_PRL_ACT_ID := PAYROLL_ACTION_ID;
7669: con_PRL_ID := PAYROLL_ID;
7670:
7671: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',2);
7672:
7673: trc_MedTxCrUsedDR := 0;
7674: trc_MedTxCrUsedNI := 0;
7675: trc_MedTxCrUsedFB := 0;
7838: l_MdTxCrdtUEE_Adj := bal_MED_AID_TAX_CR_USED_YTD;
7839: p_MedCrUsed := -1 * bal_MED_AID_TAX_CR_USED_YTD;
7840: end if;
7841:
7842: hr_utility.set_location(' p_MedCrUsed:'||p_MedCrUsed,99);
7843: hr_utility.set_location('l_MdTxCrdtUDR_Adj:'||l_MdTxCrdtUDR_Adj,99);
7844: hr_utility.set_location('l_MdTxCrdtUNi_Adj:'||l_MdTxCrdtUNi_Adj,99);
7845: hr_utility.set_location('l_MdTxCrdtUFB_Adj:'||l_MdTxCrdtUFB_Adj,99);
7846: hr_utility.set_location('l_MdTxCrdtUAP_Adj:'||l_MdTxCrdtUAP_Adj,99);
7839: p_MedCrUsed := -1 * bal_MED_AID_TAX_CR_USED_YTD;
7840: end if;
7841:
7842: hr_utility.set_location(' p_MedCrUsed:'||p_MedCrUsed,99);
7843: hr_utility.set_location('l_MdTxCrdtUDR_Adj:'||l_MdTxCrdtUDR_Adj,99);
7844: hr_utility.set_location('l_MdTxCrdtUNi_Adj:'||l_MdTxCrdtUNi_Adj,99);
7845: hr_utility.set_location('l_MdTxCrdtUFB_Adj:'||l_MdTxCrdtUFB_Adj,99);
7846: hr_utility.set_location('l_MdTxCrdtUAP_Adj:'||l_MdTxCrdtUAP_Adj,99);
7847: hr_utility.set_location('l_MdTxCrdtUTA_Adj:'||l_MdTxCrdtUTA_Adj,99);
7840: end if;
7841:
7842: hr_utility.set_location(' p_MedCrUsed:'||p_MedCrUsed,99);
7843: hr_utility.set_location('l_MdTxCrdtUDR_Adj:'||l_MdTxCrdtUDR_Adj,99);
7844: hr_utility.set_location('l_MdTxCrdtUNi_Adj:'||l_MdTxCrdtUNi_Adj,99);
7845: hr_utility.set_location('l_MdTxCrdtUFB_Adj:'||l_MdTxCrdtUFB_Adj,99);
7846: hr_utility.set_location('l_MdTxCrdtUAP_Adj:'||l_MdTxCrdtUAP_Adj,99);
7847: hr_utility.set_location('l_MdTxCrdtUTA_Adj:'||l_MdTxCrdtUTA_Adj,99);
7848: hr_utility.set_location('l_MdTxCrdtUBP_Adj:'||l_MdTxCrdtUBP_Adj,99);
7841:
7842: hr_utility.set_location(' p_MedCrUsed:'||p_MedCrUsed,99);
7843: hr_utility.set_location('l_MdTxCrdtUDR_Adj:'||l_MdTxCrdtUDR_Adj,99);
7844: hr_utility.set_location('l_MdTxCrdtUNi_Adj:'||l_MdTxCrdtUNi_Adj,99);
7845: hr_utility.set_location('l_MdTxCrdtUFB_Adj:'||l_MdTxCrdtUFB_Adj,99);
7846: hr_utility.set_location('l_MdTxCrdtUAP_Adj:'||l_MdTxCrdtUAP_Adj,99);
7847: hr_utility.set_location('l_MdTxCrdtUTA_Adj:'||l_MdTxCrdtUTA_Adj,99);
7848: hr_utility.set_location('l_MdTxCrdtUBP_Adj:'||l_MdTxCrdtUBP_Adj,99);
7849: hr_utility.set_location('l_MdTxCrdtUAB_Adj:'||l_MdTxCrdtUAB_Adj,99);
7842: hr_utility.set_location(' p_MedCrUsed:'||p_MedCrUsed,99);
7843: hr_utility.set_location('l_MdTxCrdtUDR_Adj:'||l_MdTxCrdtUDR_Adj,99);
7844: hr_utility.set_location('l_MdTxCrdtUNi_Adj:'||l_MdTxCrdtUNi_Adj,99);
7845: hr_utility.set_location('l_MdTxCrdtUFB_Adj:'||l_MdTxCrdtUFB_Adj,99);
7846: hr_utility.set_location('l_MdTxCrdtUAP_Adj:'||l_MdTxCrdtUAP_Adj,99);
7847: hr_utility.set_location('l_MdTxCrdtUTA_Adj:'||l_MdTxCrdtUTA_Adj,99);
7848: hr_utility.set_location('l_MdTxCrdtUBP_Adj:'||l_MdTxCrdtUBP_Adj,99);
7849: hr_utility.set_location('l_MdTxCrdtUAB_Adj:'||l_MdTxCrdtUAB_Adj,99);
7850: hr_utility.set_location('l_MdTxCrdtUNG_Adj:'||l_MdTxCrdtUNG_Adj,99);
7843: hr_utility.set_location('l_MdTxCrdtUDR_Adj:'||l_MdTxCrdtUDR_Adj,99);
7844: hr_utility.set_location('l_MdTxCrdtUNi_Adj:'||l_MdTxCrdtUNi_Adj,99);
7845: hr_utility.set_location('l_MdTxCrdtUFB_Adj:'||l_MdTxCrdtUFB_Adj,99);
7846: hr_utility.set_location('l_MdTxCrdtUAP_Adj:'||l_MdTxCrdtUAP_Adj,99);
7847: hr_utility.set_location('l_MdTxCrdtUTA_Adj:'||l_MdTxCrdtUTA_Adj,99);
7848: hr_utility.set_location('l_MdTxCrdtUBP_Adj:'||l_MdTxCrdtUBP_Adj,99);
7849: hr_utility.set_location('l_MdTxCrdtUAB_Adj:'||l_MdTxCrdtUAB_Adj,99);
7850: hr_utility.set_location('l_MdTxCrdtUNG_Adj:'||l_MdTxCrdtUNG_Adj,99);
7851: hr_utility.set_location('l_MdTxCrdtUEE_Adj:'||l_MdTxCrdtUEE_Adj,99);
7844: hr_utility.set_location('l_MdTxCrdtUNi_Adj:'||l_MdTxCrdtUNi_Adj,99);
7845: hr_utility.set_location('l_MdTxCrdtUFB_Adj:'||l_MdTxCrdtUFB_Adj,99);
7846: hr_utility.set_location('l_MdTxCrdtUAP_Adj:'||l_MdTxCrdtUAP_Adj,99);
7847: hr_utility.set_location('l_MdTxCrdtUTA_Adj:'||l_MdTxCrdtUTA_Adj,99);
7848: hr_utility.set_location('l_MdTxCrdtUBP_Adj:'||l_MdTxCrdtUBP_Adj,99);
7849: hr_utility.set_location('l_MdTxCrdtUAB_Adj:'||l_MdTxCrdtUAB_Adj,99);
7850: hr_utility.set_location('l_MdTxCrdtUNG_Adj:'||l_MdTxCrdtUNG_Adj,99);
7851: hr_utility.set_location('l_MdTxCrdtUEE_Adj:'||l_MdTxCrdtUEE_Adj,99);
7852: END IF;
7845: hr_utility.set_location('l_MdTxCrdtUFB_Adj:'||l_MdTxCrdtUFB_Adj,99);
7846: hr_utility.set_location('l_MdTxCrdtUAP_Adj:'||l_MdTxCrdtUAP_Adj,99);
7847: hr_utility.set_location('l_MdTxCrdtUTA_Adj:'||l_MdTxCrdtUTA_Adj,99);
7848: hr_utility.set_location('l_MdTxCrdtUBP_Adj:'||l_MdTxCrdtUBP_Adj,99);
7849: hr_utility.set_location('l_MdTxCrdtUAB_Adj:'||l_MdTxCrdtUAB_Adj,99);
7850: hr_utility.set_location('l_MdTxCrdtUNG_Adj:'||l_MdTxCrdtUNG_Adj,99);
7851: hr_utility.set_location('l_MdTxCrdtUEE_Adj:'||l_MdTxCrdtUEE_Adj,99);
7852: END IF;
7853:
7846: hr_utility.set_location('l_MdTxCrdtUAP_Adj:'||l_MdTxCrdtUAP_Adj,99);
7847: hr_utility.set_location('l_MdTxCrdtUTA_Adj:'||l_MdTxCrdtUTA_Adj,99);
7848: hr_utility.set_location('l_MdTxCrdtUBP_Adj:'||l_MdTxCrdtUBP_Adj,99);
7849: hr_utility.set_location('l_MdTxCrdtUAB_Adj:'||l_MdTxCrdtUAB_Adj,99);
7850: hr_utility.set_location('l_MdTxCrdtUNG_Adj:'||l_MdTxCrdtUNG_Adj,99);
7851: hr_utility.set_location('l_MdTxCrdtUEE_Adj:'||l_MdTxCrdtUEE_Adj,99);
7852: END IF;
7853:
7854: -- Bug 14168167
7847: hr_utility.set_location('l_MdTxCrdtUTA_Adj:'||l_MdTxCrdtUTA_Adj,99);
7848: hr_utility.set_location('l_MdTxCrdtUBP_Adj:'||l_MdTxCrdtUBP_Adj,99);
7849: hr_utility.set_location('l_MdTxCrdtUAB_Adj:'||l_MdTxCrdtUAB_Adj,99);
7850: hr_utility.set_location('l_MdTxCrdtUNG_Adj:'||l_MdTxCrdtUNG_Adj,99);
7851: hr_utility.set_location('l_MdTxCrdtUEE_Adj:'||l_MdTxCrdtUEE_Adj,99);
7852: END IF;
7853:
7854: -- Bug 14168167
7855: IF py_za_tx_utl_01032012.AllowRefund(p_65Year => l_65Year) THEN
7880: into trc_PenBasis
7881: from per_assignment_extra_info paei
7882: where paei.assignment_id = con_ASG_ID
7883: and paei.information_type = 'ZA_SPECIFIC_INFO';
7884: hr_utility.set_location('Pension Basis: '||to_char(trc_PenBasis),2);
7885: exception
7886: when others then
7887: trc_PenBasis:= 2;
7888: hr_utility.set_location('Pension Basis: '||to_char(trc_PenBasis),3);
7884: hr_utility.set_location('Pension Basis: '||to_char(trc_PenBasis),2);
7885: exception
7886: when others then
7887: trc_PenBasis:= 2;
7888: hr_utility.set_location('Pension Basis: '||to_char(trc_PenBasis),3);
7889: end;
7890:
7891: -- Tax Status Validation
7892: --
7906: N = Private Director with Directive Amount
7907: P = Private Director with Directive Percentage
7908: Q = Private Director Zero Tax
7909: */
7910: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',3);
7911:
7912: -- C = Directive Amount
7913: -- N = Private Director with Directive Amount
7914: --
7913: -- N = Private Director with Directive Amount
7914: --
7915: IF dbi_TX_STA IN ('C','N') THEN
7916: IF trc_OvrTxCalc AND (trc_OvrTyp = 'S' OR trc_OvrTyp = 'P') THEN
7917: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',4);
7918: IF xpt_Msg = 'No Error' THEN
7919: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',5);
7920: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_C';
7921: END IF;
7915: IF dbi_TX_STA IN ('C','N') THEN
7916: IF trc_OvrTxCalc AND (trc_OvrTyp = 'S' OR trc_OvrTyp = 'P') THEN
7917: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',4);
7918: IF xpt_Msg = 'No Error' THEN
7919: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',5);
7920: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_C';
7921: END IF;
7922: RAISE xpt_E;
7923: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',6);
7919: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',5);
7920: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_C';
7921: END IF;
7922: RAISE xpt_E;
7923: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',6);
7924: ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
7925: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',7);
7926: trc_CalTyp := 'OvrCalc';
7927: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
7921: END IF;
7922: RAISE xpt_E;
7923: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',6);
7924: ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
7925: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',7);
7926: trc_CalTyp := 'OvrCalc';
7927: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
7928: -- Check Directive Number First
7929: ELSIF dbi_TX_DIR_NUM = 'NULL' THEN
7926: trc_CalTyp := 'OvrCalc';
7927: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
7928: -- Check Directive Number First
7929: ELSIF dbi_TX_DIR_NUM = 'NULL' THEN
7930: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',8);
7931: IF xpt_Msg = 'No Error' THEN
7932: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',9);
7933: xpt_Msg := 'PY_ZA_TX_DIR_NUM';
7934: END IF;
7928: -- Check Directive Number First
7929: ELSIF dbi_TX_DIR_NUM = 'NULL' THEN
7930: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',8);
7931: IF xpt_Msg = 'No Error' THEN
7932: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',9);
7933: xpt_Msg := 'PY_ZA_TX_DIR_NUM';
7934: END IF;
7935: RAISE xpt_E;
7936: -- Check that directive value is filled in
7934: END IF;
7935: RAISE xpt_E;
7936: -- Check that directive value is filled in
7937: ELSIF dbi_TX_DIR_VAL = -1 THEN
7938: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',10);
7939: IF xpt_Msg = 'No Error' THEN
7940: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',11);
7941: xpt_Msg := 'PY_ZA_TX_DIR_MONT';
7942: END IF;
7936: -- Check that directive value is filled in
7937: ELSIF dbi_TX_DIR_VAL = -1 THEN
7938: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',10);
7939: IF xpt_Msg = 'No Error' THEN
7940: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',11);
7941: xpt_Msg := 'PY_ZA_TX_DIR_MONT';
7942: END IF;
7943: RAISE xpt_E;
7944: ELSE
7941: xpt_Msg := 'PY_ZA_TX_DIR_MONT';
7942: END IF;
7943: RAISE xpt_E;
7944: ELSE
7945: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',12);
7946: trc_CalTyp := 'NoCalc';
7947: -- Liability = entered value
7948: trc_LibFpNI := dbi_TX_DIR_VAL;
7949: -- Medical Tax Credit Available
7948: trc_LibFpNI := dbi_TX_DIR_VAL;
7949: -- Medical Tax Credit Available
7950: trc_curMedTxCrEle := greatest(bal_MED_AID_TAX_CR_YTD + bal_ANN_MED_AID_TAX_CR_YTD - bal_MED_AID_TAX_CR_USED_YTD,0);
7951:
7952: hr_utility.set_location('trc_MedTxCr:'||trc_MedTxCr,6);
7953:
7954: -- Normal Income
7955: IF (trc_LibFpNI > 0) THEN
7956: trc_MedTxCrUsedNI := least(trc_curMedTxCrEle, trc_LibFpNI);
7958: END IF;
7959: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
7960: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
7961:
7962: hr_utility.set_location('trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,9);
7963: hr_utility.set_location('trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,9);
7964: hr_utility.set_location('trc_curMedTxCrEle: '||trc_curMedTxCrEle,9);
7965: hr_utility.set_location('trc_MedTxCrUsedNI_Upd: '||trc_MedTxCrUsedNI_Upd,9);
7966:
7959: trc_LibFpNI_Upd := trc_LibFpNI - trc_MedTxCrUsedNI_Upd;
7960: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
7961:
7962: hr_utility.set_location('trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,9);
7963: hr_utility.set_location('trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,9);
7964: hr_utility.set_location('trc_curMedTxCrEle: '||trc_curMedTxCrEle,9);
7965: hr_utility.set_location('trc_MedTxCrUsedNI_Upd: '||trc_MedTxCrUsedNI_Upd,9);
7966:
7967: trc_LibFpNI := trc_LibFpNI_Upd;
7960: trc_curMedTxCrEle := greatest(trc_curMedTxCrEle - trc_MedTxCrUsedNI,0);
7961:
7962: hr_utility.set_location('trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,9);
7963: hr_utility.set_location('trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,9);
7964: hr_utility.set_location('trc_curMedTxCrEle: '||trc_curMedTxCrEle,9);
7965: hr_utility.set_location('trc_MedTxCrUsedNI_Upd: '||trc_MedTxCrUsedNI_Upd,9);
7966:
7967: trc_LibFpNI := trc_LibFpNI_Upd;
7968:
7961:
7962: hr_utility.set_location('trc_MedTxCrUsedNI:'||trc_MedTxCrUsedNI,9);
7963: hr_utility.set_location('trc_LibFpNI_Upd:'||trc_LibFpNI_Upd,9);
7964: hr_utility.set_location('trc_curMedTxCrEle: '||trc_curMedTxCrEle,9);
7965: hr_utility.set_location('trc_MedTxCrUsedNI_Upd: '||trc_MedTxCrUsedNI_Upd,9);
7966:
7967: trc_LibFpNI := trc_LibFpNI_Upd;
7968:
7969: -- Standard NetPay Validation
7974: --
7975: ELSIF dbi_TX_STA IN ('D','P') THEN
7976: IF trc_OvrTxCalc AND trc_OvrTyp = 'S' THEN
7977: IF xpt_Msg = 'No Error' THEN
7978: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',13);
7979: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_DEF';
7980: END IF;
7981: RAISE xpt_E;
7982: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',14);
7978: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',13);
7979: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_DEF';
7980: END IF;
7981: RAISE xpt_E;
7982: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',14);
7983: ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
7984: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',15);
7985: trc_CalTyp := 'OvrCalc';
7986: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
7980: END IF;
7981: RAISE xpt_E;
7982: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',14);
7983: ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
7984: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',15);
7985: trc_CalTyp := 'OvrCalc';
7986: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
7987: ELSE
7988: IF trc_OvrTxCalc AND trc_OvrTyp = 'P' THEN
7985: trc_CalTyp := 'OvrCalc';
7986: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
7987: ELSE
7988: IF trc_OvrTxCalc AND trc_OvrTyp = 'P' THEN
7989: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',16);
7990: trc_OvrWrn := 'WARNING: Tax Override - '||to_char(trc_OvrPrc)||' Percent';
7991: -- Percentage taken into account in py_za_tx_utl_01032012.TaxLiability
7992: END IF;
7993: -- Check Directive Number First
7991: -- Percentage taken into account in py_za_tx_utl_01032012.TaxLiability
7992: END IF;
7993: -- Check Directive Number First
7994: IF dbi_TX_DIR_NUM = 'NULL' THEN
7995: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',17);
7996: IF xpt_Msg = 'No Error' THEN
7997: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',18);
7998: xpt_Msg := 'PY_ZA_TX_DIR_NUM';
7999: END IF;
7993: -- Check Directive Number First
7994: IF dbi_TX_DIR_NUM = 'NULL' THEN
7995: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',17);
7996: IF xpt_Msg = 'No Error' THEN
7997: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',18);
7998: xpt_Msg := 'PY_ZA_TX_DIR_NUM';
7999: END IF;
8000: RAISE xpt_E;
8001: -- Check that directive value is filled in
7999: END IF;
8000: RAISE xpt_E;
8001: -- Check that directive value is filled in
8002: ELSIF dbi_TX_DIR_VAL = -1 THEN
8003: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',19);
8004: IF xpt_Msg = 'No Error' THEN
8005: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',20);
8006: xpt_Msg := 'PY_ZA_TX_DIR_PERC';
8007: END IF;
8001: -- Check that directive value is filled in
8002: ELSIF dbi_TX_DIR_VAL = -1 THEN
8003: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',19);
8004: IF xpt_Msg = 'No Error' THEN
8005: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',20);
8006: xpt_Msg := 'PY_ZA_TX_DIR_PERC';
8007: END IF;
8008: RAISE xpt_E;
8009: ELSE
8006: xpt_Msg := 'PY_ZA_TX_DIR_PERC';
8007: END IF;
8008: RAISE xpt_E;
8009: ELSE
8010: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',21);
8011: DirCalc;
8012: END IF;
8013: END IF;
8014: -- E = Close Corporation
8019: --
8020: ELSIF dbi_TX_STA IN ('E','F','J','K','L') THEN
8021: IF trc_OvrTxCalc AND trc_OvrTyp = 'S' THEN
8022: IF xpt_Msg = 'No Error' THEN
8023: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',22);
8024: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_DEF';
8025: END IF;
8026: RAISE xpt_E;
8027: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',23);
8023: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',22);
8024: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_DEF';
8025: END IF;
8026: RAISE xpt_E;
8027: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',23);
8028: ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
8029: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',24);
8030: trc_CalTyp := 'OvrCalc';
8031: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
8025: END IF;
8026: RAISE xpt_E;
8027: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',23);
8028: ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
8029: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',24);
8030: trc_CalTyp := 'OvrCalc';
8031: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
8032: ELSE
8033: IF trc_OvrTxCalc AND trc_OvrTyp = 'P' THEN
8030: trc_CalTyp := 'OvrCalc';
8031: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
8032: ELSE
8033: IF trc_OvrTxCalc AND trc_OvrTyp = 'P' THEN
8034: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',25);
8035: trc_OvrWrn := 'WARNING: Tax Override - '||to_char(trc_OvrPrc)||' Percent';
8036: -- Percentage taken into account in py_za_tx_utl_01032012.TaxLiability
8037: END IF;
8038: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',26);
8034: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',25);
8035: trc_OvrWrn := 'WARNING: Tax Override - '||to_char(trc_OvrPrc)||' Percent';
8036: -- Percentage taken into account in py_za_tx_utl_01032012.TaxLiability
8037: END IF;
8038: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',26);
8039: -- Simply Execute the Directive Calculation
8040: DirCalc;
8041: END IF;
8042: -- G = Seasonal Worker
8042: -- G = Seasonal Worker
8043: --
8044: ELSIF dbi_TX_STA = 'G' THEN
8045: IF trc_OvrTxCalc AND (trc_OvrTyp = 'S' OR trc_OvrTyp = 'P') THEN
8046: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',27);
8047: IF xpt_Msg = 'No Error' THEN
8048: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',28);
8049: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_G';
8050: END IF;
8044: ELSIF dbi_TX_STA = 'G' THEN
8045: IF trc_OvrTxCalc AND (trc_OvrTyp = 'S' OR trc_OvrTyp = 'P') THEN
8046: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',27);
8047: IF xpt_Msg = 'No Error' THEN
8048: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',28);
8049: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_G';
8050: END IF;
8051: RAISE xpt_E;
8052: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',29);
8048: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',28);
8049: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_G';
8050: END IF;
8051: RAISE xpt_E;
8052: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',29);
8053: -- Check that seasonal worker days worked is filled in
8054: ELSIF dbi_SEA_WRK_DYS_WRK = 0 THEN
8055: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',30);
8056: IF xpt_Msg = 'No Error' THEN
8051: RAISE xpt_E;
8052: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',29);
8053: -- Check that seasonal worker days worked is filled in
8054: ELSIF dbi_SEA_WRK_DYS_WRK = 0 THEN
8055: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',30);
8056: IF xpt_Msg = 'No Error' THEN
8057: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',31);
8058: xpt_Msg := 'PY_ZA_TX_SEA_WRK_DYS';
8059: END IF;
8053: -- Check that seasonal worker days worked is filled in
8054: ELSIF dbi_SEA_WRK_DYS_WRK = 0 THEN
8055: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',30);
8056: IF xpt_Msg = 'No Error' THEN
8057: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',31);
8058: xpt_Msg := 'PY_ZA_TX_SEA_WRK_DYS';
8059: END IF;
8060: RAISE xpt_E;
8061: ELSE
8059: END IF;
8060: RAISE xpt_E;
8061: ELSE
8062: IF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
8063: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',32);
8064: trc_CalTyp := 'OvrCalc';
8065: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
8066: py_za_tx_utl_01032012.SetRebates;
8067: ELSE
8064: trc_CalTyp := 'OvrCalc';
8065: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
8066: py_za_tx_utl_01032012.SetRebates;
8067: ELSE
8068: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',33);
8069: SeaCalc;
8070: END IF;
8071: END IF;
8072: -- A = Normal
8074: -- M = Private Director
8075: --
8076: ELSIF dbi_TX_STA IN ('A','B','M') THEN
8077: IF dbi_TX_STA <> 'M' THEN
8078: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',34);
8079: -- Deemed Remuneration only applicable to 'M'
8080: bal_DIR_DMD_RMN_ITD := 0;
8081: END IF;
8082:
8080: bal_DIR_DMD_RMN_ITD := 0;
8081: END IF;
8082:
8083: IF trc_OvrTxCalc AND trc_OvrTyp = 'V' THEN
8084: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',35);
8085: trc_CalTyp := 'OvrCalc';
8086: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
8087: py_za_tx_utl_01032012.SetRebates;
8088: trc_SitFactor := dbi_ZA_DYS_IN_YR / py_za_tx_utl_01032012.DaysWorked;
8086: trc_OvrWrn := 'WARNING: Tax Override - Total Tax Value: '||to_char(trc_LibFpNI + trc_LibFpAP);
8087: py_za_tx_utl_01032012.SetRebates;
8088: trc_SitFactor := dbi_ZA_DYS_IN_YR / py_za_tx_utl_01032012.DaysWorked;
8089: ELSIF trc_OvrTxCalc AND trc_OvrTyp = 'S' THEN
8090: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',36);
8091: trc_CalTyp := 'OvrCalc';
8092: trc_OvrWrn := 'WARNING: Tax Override - Forced Site Calculation';
8093: -- Force the Site Calculation
8094: SitCalc;
8091: trc_CalTyp := 'OvrCalc';
8092: trc_OvrWrn := 'WARNING: Tax Override - Forced Site Calculation';
8093: -- Force the Site Calculation
8094: SitCalc;
8095: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',37);
8096: ELSE
8097: IF trc_OvrTxCalc AND trc_OvrTyp = 'P' THEN
8098: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',38);
8099: trc_OvrWrn := 'WARNING: Tax Override - '||to_char(trc_OvrPrc)||' Percent';
8094: SitCalc;
8095: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',37);
8096: ELSE
8097: IF trc_OvrTxCalc AND trc_OvrTyp = 'P' THEN
8098: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',38);
8099: trc_OvrWrn := 'WARNING: Tax Override - '||to_char(trc_OvrPrc)||' Percent';
8100: -- Percentage taken into account in py_za_tx_utl_01032012.TaxLiability
8101: END IF;
8102:
8099: trc_OvrWrn := 'WARNING: Tax Override - '||to_char(trc_OvrPrc)||' Percent';
8100: -- Percentage taken into account in py_za_tx_utl_01032012.TaxLiability
8101: END IF;
8102:
8103: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',39);
8104: IF py_za_tx_utl_01032012.LatePayPeriod THEN
8105: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',40);
8106: LteCalc;
8107: -- Is this a SITE Period?
8101: END IF;
8102:
8103: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',39);
8104: IF py_za_tx_utl_01032012.LatePayPeriod THEN
8105: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',40);
8106: LteCalc;
8107: -- Is this a SITE Period?
8108: ELSIF py_za_tx_utl_01032012.EmpTermPrePeriod THEN
8109: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',41);
8105: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',40);
8106: LteCalc;
8107: -- Is this a SITE Period?
8108: ELSIF py_za_tx_utl_01032012.EmpTermPrePeriod THEN
8109: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',41);
8110: SitCalc;
8111: ELSIF py_za_tx_utl_01032012.LstPeriod OR py_za_tx_utl_01032012.EmpTermInPeriod THEN
8112: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',42);
8113: IF py_za_tx_utl_01032012.PreErnPeriod THEN
8108: ELSIF py_za_tx_utl_01032012.EmpTermPrePeriod THEN
8109: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',41);
8110: SitCalc;
8111: ELSIF py_za_tx_utl_01032012.LstPeriod OR py_za_tx_utl_01032012.EmpTermInPeriod THEN
8112: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',42);
8113: IF py_za_tx_utl_01032012.PreErnPeriod THEN
8114: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',43);
8115: --When a YtdCalc or CalCalc would be performed,
8116: --the system must do a Bascalc if the method is non-cumulative
8110: SitCalc;
8111: ELSIF py_za_tx_utl_01032012.LstPeriod OR py_za_tx_utl_01032012.EmpTermInPeriod THEN
8112: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',42);
8113: IF py_za_tx_utl_01032012.PreErnPeriod THEN
8114: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',43);
8115: --When a YtdCalc or CalCalc would be performed,
8116: --the system must do a Bascalc if the method is non-cumulative
8117: IF (dbi_TX_MTD = 'N') then
8118: BasCalc;
8119: ELSE
8120: YtdCalc;
8121: END IF;
8122: ELSE
8123: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',44);
8124: SitCalc;
8125: END IF;
8126: ElSE
8127: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',45);
8123: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',44);
8124: SitCalc;
8125: END IF;
8126: ElSE
8127: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',45);
8128: -- The employee has NOT been terminated!
8129: IF py_za_tx_utl_01032012.PreErnPeriod THEN
8130: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',46);
8131: --When a YtdCalc or CalCalc would be performed,
8126: ElSE
8127: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',45);
8128: -- The employee has NOT been terminated!
8129: IF py_za_tx_utl_01032012.PreErnPeriod THEN
8130: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',46);
8131: --When a YtdCalc or CalCalc would be performed,
8132: --the system must do a Bascalc if the method is non-cumulative
8133: IF (dbi_TX_MTD = 'N') then
8134: BasCalc;
8136: YtdCalc;
8137: END IF;
8138: -- Bug 4346955 Bug 5148830
8139: /* ELSIF dbi_ZA_ASG_TX_RTR_PRD = 'Y' THEN
8140: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',47);
8141: IF dbi_ZA_ASG_TAX_RTR_RSLTS = 'Y' THEN
8142: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',48);
8143: SitCalc;
8144: ELSIF py_za_tx_utl_01032012.NegPtd THEN
8138: -- Bug 4346955 Bug 5148830
8139: /* ELSIF dbi_ZA_ASG_TX_RTR_PRD = 'Y' THEN
8140: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',47);
8141: IF dbi_ZA_ASG_TAX_RTR_RSLTS = 'Y' THEN
8142: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',48);
8143: SitCalc;
8144: ELSIF py_za_tx_utl_01032012.NegPtd THEN
8145: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',49);
8146: SitCalc;
8141: IF dbi_ZA_ASG_TAX_RTR_RSLTS = 'Y' THEN
8142: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',48);
8143: SitCalc;
8144: ELSIF py_za_tx_utl_01032012.NegPtd THEN
8145: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',49);
8146: SitCalc;
8147: ELSE
8148: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',50);
8149: NorCalc;
8144: ELSIF py_za_tx_utl_01032012.NegPtd THEN
8145: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',49);
8146: SitCalc;
8147: ELSE
8148: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',50);
8149: NorCalc;
8150: END IF; */
8151: ELSIF py_za_tx_utl_01032012.NegPtd THEN
8152: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',51);
8148: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',50);
8149: NorCalc;
8150: END IF; */
8151: ELSIF py_za_tx_utl_01032012.NegPtd THEN
8152: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',51);
8153: SitCalc;
8154: ELSE
8155: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',52);
8156: NorCalc;
8151: ELSIF py_za_tx_utl_01032012.NegPtd THEN
8152: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',51);
8153: SitCalc;
8154: ELSE
8155: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',52);
8156: NorCalc;
8157: END IF;
8158: END IF;
8159: END IF;
8161: -- Q = Private Director Zero Tax
8162: --
8163: ELSIF dbi_TX_STA IN ('H','Q') THEN
8164: IF trc_OvrTxCalc THEN
8165: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',53);
8166: IF xpt_Msg = 'No Error' THEN
8167: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',54);
8168: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_H';
8169: END IF;
8163: ELSIF dbi_TX_STA IN ('H','Q') THEN
8164: IF trc_OvrTxCalc THEN
8165: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',53);
8166: IF xpt_Msg = 'No Error' THEN
8167: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',54);
8168: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_H';
8169: END IF;
8170: RAISE xpt_E;
8171: ELSE
8168: xpt_Msg := 'PY_ZA_TX_OVR_TX_STATE_H';
8169: END IF;
8170: RAISE xpt_E;
8171: ELSE
8172: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',55);
8173: trc_LibFpNI := -1 * bal_TX_ON_NI_YTD;
8174: trc_LibFpFB := -1 * bal_TX_ON_FB_YTD;
8175: trc_LibFpTA := -1 * bal_TX_ON_TA_YTD;
8176: trc_LibFpBP := -1 * bal_TX_ON_BP_YTD;
8185: trc_MedTxCrUsedAP_Upd := -1 * bal_MED_TAX_CR_USED_AP_YTD;
8186: trc_MedTxCrUsedPO_Upd := -1 * bal_MED_TAX_CR_USED_PO_YTD;
8187: END IF;
8188: ELSE
8189: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',56);
8190: -- Bug 8691928
8191: -- Changed the way of raising exception so as to avoid
8192: -- the text from being overwritten in exception block
8193: xpt_Msg := 'Invalid Tax Status' ;
8193: xpt_Msg := 'Invalid Tax Status' ;
8194: RAISE xpt_E;
8195: END IF;
8196:
8197: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',57);
8198:
8199: -- Post Calculation Steps
8200: --
8201:
8209: + trc_LibFpAP
8210: + trc_LibFpPO
8211: + trc_LibFpNtgAP
8212: + trc_LibFpNtgEEDbt;
8213: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012 l_paye '|| l_paye,58);
8214: l_TotMedTxCr_Upd := trc_MedTxCrUsedDR_Upd +
8215: trc_MedTxCrUsedNI_Upd +
8216: trc_MedTxCrUsedFB_Upd +
8217: trc_MedTxCrUsedTA_Upd +
8220: trc_MedTxCrUsedAP_Upd +
8221: trc_MedTxCrUsedPO_Upd +
8222: trc_MedTxCrUsedNtgAP_Upd +
8223: trc_MedTxCrUsedNtgEEDbt_Upd;
8224: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012 l_TotMedTxCr_Upd '|| l_TotMedTxCr_Upd,58);
8225:
8226:
8227: if l_paye < 0 and l_TotMedTxCr_Upd > 0 then
8228:
8225:
8226:
8227: if l_paye < 0 and l_TotMedTxCr_Upd > 0 then
8228:
8229: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',59);
8230: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012 trc_curMedTxCrEle '|| trc_curMedTxCrEle,59);
8231: trc_curMedTxCrEle := py_za_tx_utl_01032012.AdjMACTxOns
8232: ( p_MedTxCrUsedDR_Upd => trc_MedTxCrUsedDR_Upd
8233: , p_MedTxCrUsedNI_Upd => trc_MedTxCrUsedNI_Upd
8226:
8227: if l_paye < 0 and l_TotMedTxCr_Upd > 0 then
8228:
8229: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',59);
8230: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012 trc_curMedTxCrEle '|| trc_curMedTxCrEle,59);
8231: trc_curMedTxCrEle := py_za_tx_utl_01032012.AdjMACTxOns
8232: ( p_MedTxCrUsedDR_Upd => trc_MedTxCrUsedDR_Upd
8233: , p_MedTxCrUsedNI_Upd => trc_MedTxCrUsedNI_Upd
8234: , p_MedTxCrUsedFB_Upd => trc_MedTxCrUsedFB_Upd
8240: , p_MedTxCrUsedNtgAP_Upd => trc_MedTxCrUsedNtgAP_Upd
8241: , p_MedTxCrUsedNtgEEDbt_Upd => trc_MedTxCrUsedNtgEEDbt_Upd
8242: , p_MedTxCrAvailable => trc_curMedTxCrEle
8243: );
8244: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012 trc_curMedTxCrEle '|| trc_curMedTxCrEle,59);
8245: end if;
8246: l_paye :=0;
8247: l_TotMedTxCr_Upd :=0;
8248: --
8247: l_TotMedTxCr_Upd :=0;
8248: --
8249: py_za_tx_utl_01032012.SitPaySplit;
8250:
8251: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',58);
8252:
8253: -- Execute the Arrear Processing
8254: --
8255: IF py_za_tx_utl_01032012.SitePeriod THEN
8252:
8253: -- Execute the Arrear Processing
8254: --
8255: IF py_za_tx_utl_01032012.SitePeriod THEN
8256: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',59);
8257: py_za_tx_utl_01032012.ArrearExcess;
8258: END IF;
8259:
8260: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',60);
8256: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',59);
8257: py_za_tx_utl_01032012.ArrearExcess;
8258: END IF;
8259:
8260: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',60);
8261:
8262: -- Calculate Net Taxable Income
8263: --
8264: NetTxbIncCalc(ASSIGNMENT_ACTION_ID);
8262: -- Calculate Net Taxable Income
8263: --
8264: NetTxbIncCalc(ASSIGNMENT_ACTION_ID);
8265:
8266: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',61);
8267: --
8268: -- Tax on Lump Sums
8269: --
8270: -- If tax on lump sums has already been calculated
8275: -- Fix for Bug# 12351345 starts
8276:
8277: -- Added additional check in case the ptd is getting 0 value with multiple runs.
8278:
8279: hr_utility.set_location('bal_TX_ON_LS_PTD' || bal_TX_ON_LS_PTD, 1);
8280: hr_utility.set_location('con_ASG_ACT_ID' || con_ASG_ACT_ID, 1);
8281:
8282: If bal_TX_ON_LS_PTD = 0 Then
8283:
8276:
8277: -- Added additional check in case the ptd is getting 0 value with multiple runs.
8278:
8279: hr_utility.set_location('bal_TX_ON_LS_PTD' || bal_TX_ON_LS_PTD, 1);
8280: hr_utility.set_location('con_ASG_ACT_ID' || con_ASG_ACT_ID, 1);
8281:
8282: If bal_TX_ON_LS_PTD = 0 Then
8283:
8284: -- Query to check if there are multiple runs which sets the ptd as zero
8310: and PACT.time_period_id = BACT.time_period_id
8311: and ASSACT.action_sequence <= BAL_ASSACT.action_sequence
8312: and ASSACT.assignment_id = BAL_ASSACT.assignment_id;
8313:
8314: hr_utility.set_location('l_lmsm_proc_cnt' || l_lmsm_proc_cnt, 1);
8315:
8316: if l_lmsm_proc_cnt > 0 then
8317: dbi_ZA_LS_DIR_NUM := 'To Be Advised';
8318: dbi_ZA_LS_DIR_VAL := -1;
8343: --
8344:
8345: -- Added additional check in case the ptd is getting 0 value with multiple runs.
8346:
8347: hr_utility.set_location('bal_TX_ON_RET_LS_PTD ' || bal_TX_ON_RET_LS_PTD , 2);
8348: hr_utility.set_location('con_ASG_ACT_ID' || con_ASG_ACT_ID, 2);
8349:
8350: If bal_TX_ON_RET_LS_PTD = 0 Then
8351:
8344:
8345: -- Added additional check in case the ptd is getting 0 value with multiple runs.
8346:
8347: hr_utility.set_location('bal_TX_ON_RET_LS_PTD ' || bal_TX_ON_RET_LS_PTD , 2);
8348: hr_utility.set_location('con_ASG_ACT_ID' || con_ASG_ACT_ID, 2);
8349:
8350: If bal_TX_ON_RET_LS_PTD = 0 Then
8351:
8352: -- Query to check if there are multiple runs which sets the ptd as zero
8378: and PACT.time_period_id = BACT.time_period_id
8379: and ASSACT.action_sequence <= BAL_ASSACT.action_sequence
8380: and ASSACT.assignment_id = BAL_ASSACT.assignment_id;
8381:
8382: hr_utility.set_location('l_ret_lmsm_proc_cnt' || l_ret_lmsm_proc_cnt, 2);
8383:
8384: if l_ret_lmsm_proc_cnt > 0 then
8385: dbi_ZA_RET_LS_DIR_NUM := 'To Be Advised';
8386: dbi_ZA_RET_LS_DIR_VAL := 0;
8419: );
8420: trc_PayValEC := trc_LibFpDR;
8421:
8422:
8423: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',62);
8424:
8425: -- Tax On's
8426: p_LibFpDR := trc_LibFpDR;
8427: p_LibFpNI := trc_LibFpNI;
8438: p_LibFpNtgEEDbt := trc_LibFpNtgEEDbt;
8439: p_LibFpNtg := trc_LibFpNtgAP + trc_LibFpNtgEEDbt;
8440: -- End NTG
8441:
8442: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',63);
8443:
8444: -- Indicators, Splits and Updates
8445: p_PayeVal := trc_PayeVal;
8446: p_SiteVal := trc_SiteVal;
8450: p_OUpdFig := trc_OUpdFig;
8451: p_NtiUpdFig := trc_NtiUpdFig;
8452: p_NPtiUpdFig := trc_NPtiUpdFig; --EMP201
8453:
8454: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',64);
8455:
8456: p_LSDirNum := dbi_ZA_LS_DIR_NUM;
8457: p_LSDirVal := dbi_ZA_LS_DIR_VAL;
8458: p_RETLSDirNum := dbi_ZA_RET_LS_DIR_NUM;
8458: p_RETLSDirNum := dbi_ZA_RET_LS_DIR_NUM;
8459: p_RETLSDirVal := dbi_ZA_RET_LS_DIR_VAL;
8460:
8461: -- Start Medical Tax Credit Lump Sum Changes
8462: hr_utility.set_location('-----------------------------------------',65);
8463: hr_utility.set_location('Start Medical Tax Credit Lump Sum Changes',65);
8464: hr_utility.set_location('-----------------------------------------',65);
8465: hr_utility.set_location('Before loop trc_curMedTxCrEle:'||trc_curMedTxCrEle,66);
8466: -- IF Tax on Lump Sums YTD and Med Tax Credit Used on Lump Sums YTD is 0 do nothing.
8459: p_RETLSDirVal := dbi_ZA_RET_LS_DIR_VAL;
8460:
8461: -- Start Medical Tax Credit Lump Sum Changes
8462: hr_utility.set_location('-----------------------------------------',65);
8463: hr_utility.set_location('Start Medical Tax Credit Lump Sum Changes',65);
8464: hr_utility.set_location('-----------------------------------------',65);
8465: hr_utility.set_location('Before loop trc_curMedTxCrEle:'||trc_curMedTxCrEle,66);
8466: -- IF Tax on Lump Sums YTD and Med Tax Credit Used on Lump Sums YTD is 0 do nothing.
8467: IF NOT (bal_TX_ON_LS_YTD = 0 AND bal_MED_AID_TAX_CR_USED_LS_YTD = 0) THEN
8460:
8461: -- Start Medical Tax Credit Lump Sum Changes
8462: hr_utility.set_location('-----------------------------------------',65);
8463: hr_utility.set_location('Start Medical Tax Credit Lump Sum Changes',65);
8464: hr_utility.set_location('-----------------------------------------',65);
8465: hr_utility.set_location('Before loop trc_curMedTxCrEle:'||trc_curMedTxCrEle,66);
8466: -- IF Tax on Lump Sums YTD and Med Tax Credit Used on Lump Sums YTD is 0 do nothing.
8467: IF NOT (bal_TX_ON_LS_YTD = 0 AND bal_MED_AID_TAX_CR_USED_LS_YTD = 0) THEN
8468:
8461: -- Start Medical Tax Credit Lump Sum Changes
8462: hr_utility.set_location('-----------------------------------------',65);
8463: hr_utility.set_location('Start Medical Tax Credit Lump Sum Changes',65);
8464: hr_utility.set_location('-----------------------------------------',65);
8465: hr_utility.set_location('Before loop trc_curMedTxCrEle:'||trc_curMedTxCrEle,66);
8466: -- IF Tax on Lump Sums YTD and Med Tax Credit Used on Lump Sums YTD is 0 do nothing.
8467: IF NOT (bal_TX_ON_LS_YTD = 0 AND bal_MED_AID_TAX_CR_USED_LS_YTD = 0) THEN
8468:
8469: FOR LSDir in csr_all_LSDir(ASSIGNMENT_ACTION_ID)
8489: l_LSDirRec.MedTxCrUsedOnLSDirYTD := pay_balance_pkg.get_value(get_def_bal_id('Medical Tax Credit Used on Lump Sums',
8490: '_ASG_LMPSM_TAX_YTD')
8491: ,ASSIGNMENT_ACTION_ID);
8492: py_za_tx_utl_01032012.StartHrTrace;
8493: hr_utility.set_location('trc_curMedTxCrEle:'||trc_curMedTxCrEle,67);
8494: hr_utility.set_location('LSDir.dirnum:'||LSDir.dirnum,67);
8495: hr_utility.set_location('l_LSDirRec.TxOnLSDirRUN:'||l_LSDirRec.TxOnLSDirRUN,67);
8496: hr_utility.set_location('l_LSDirRec.TxOnLSDirPTD:'||l_LSDirRec.TxOnLSDirPTD,67);
8497: hr_utility.set_location('l_LSDirRec.TxOnLSDirYTD:'||l_LSDirRec.TxOnLSDirYTD,67);
8490: '_ASG_LMPSM_TAX_YTD')
8491: ,ASSIGNMENT_ACTION_ID);
8492: py_za_tx_utl_01032012.StartHrTrace;
8493: hr_utility.set_location('trc_curMedTxCrEle:'||trc_curMedTxCrEle,67);
8494: hr_utility.set_location('LSDir.dirnum:'||LSDir.dirnum,67);
8495: hr_utility.set_location('l_LSDirRec.TxOnLSDirRUN:'||l_LSDirRec.TxOnLSDirRUN,67);
8496: hr_utility.set_location('l_LSDirRec.TxOnLSDirPTD:'||l_LSDirRec.TxOnLSDirPTD,67);
8497: hr_utility.set_location('l_LSDirRec.TxOnLSDirYTD:'||l_LSDirRec.TxOnLSDirYTD,67);
8498: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,67);
8491: ,ASSIGNMENT_ACTION_ID);
8492: py_za_tx_utl_01032012.StartHrTrace;
8493: hr_utility.set_location('trc_curMedTxCrEle:'||trc_curMedTxCrEle,67);
8494: hr_utility.set_location('LSDir.dirnum:'||LSDir.dirnum,67);
8495: hr_utility.set_location('l_LSDirRec.TxOnLSDirRUN:'||l_LSDirRec.TxOnLSDirRUN,67);
8496: hr_utility.set_location('l_LSDirRec.TxOnLSDirPTD:'||l_LSDirRec.TxOnLSDirPTD,67);
8497: hr_utility.set_location('l_LSDirRec.TxOnLSDirYTD:'||l_LSDirRec.TxOnLSDirYTD,67);
8498: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,67);
8499: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirPTD:'||l_LSDirRec.MedTxCrUsedOnLSDirPTD,67);
8492: py_za_tx_utl_01032012.StartHrTrace;
8493: hr_utility.set_location('trc_curMedTxCrEle:'||trc_curMedTxCrEle,67);
8494: hr_utility.set_location('LSDir.dirnum:'||LSDir.dirnum,67);
8495: hr_utility.set_location('l_LSDirRec.TxOnLSDirRUN:'||l_LSDirRec.TxOnLSDirRUN,67);
8496: hr_utility.set_location('l_LSDirRec.TxOnLSDirPTD:'||l_LSDirRec.TxOnLSDirPTD,67);
8497: hr_utility.set_location('l_LSDirRec.TxOnLSDirYTD:'||l_LSDirRec.TxOnLSDirYTD,67);
8498: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,67);
8499: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirPTD:'||l_LSDirRec.MedTxCrUsedOnLSDirPTD,67);
8500: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirYTD:'||l_LSDirRec.MedTxCrUsedOnLSDirYTD,67);
8493: hr_utility.set_location('trc_curMedTxCrEle:'||trc_curMedTxCrEle,67);
8494: hr_utility.set_location('LSDir.dirnum:'||LSDir.dirnum,67);
8495: hr_utility.set_location('l_LSDirRec.TxOnLSDirRUN:'||l_LSDirRec.TxOnLSDirRUN,67);
8496: hr_utility.set_location('l_LSDirRec.TxOnLSDirPTD:'||l_LSDirRec.TxOnLSDirPTD,67);
8497: hr_utility.set_location('l_LSDirRec.TxOnLSDirYTD:'||l_LSDirRec.TxOnLSDirYTD,67);
8498: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,67);
8499: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirPTD:'||l_LSDirRec.MedTxCrUsedOnLSDirPTD,67);
8500: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirYTD:'||l_LSDirRec.MedTxCrUsedOnLSDirYTD,67);
8501:
8494: hr_utility.set_location('LSDir.dirnum:'||LSDir.dirnum,67);
8495: hr_utility.set_location('l_LSDirRec.TxOnLSDirRUN:'||l_LSDirRec.TxOnLSDirRUN,67);
8496: hr_utility.set_location('l_LSDirRec.TxOnLSDirPTD:'||l_LSDirRec.TxOnLSDirPTD,67);
8497: hr_utility.set_location('l_LSDirRec.TxOnLSDirYTD:'||l_LSDirRec.TxOnLSDirYTD,67);
8498: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,67);
8499: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirPTD:'||l_LSDirRec.MedTxCrUsedOnLSDirPTD,67);
8500: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirYTD:'||l_LSDirRec.MedTxCrUsedOnLSDirYTD,67);
8501:
8502: IF (trc_curMedTxCrEle > 0) THEN
8495: hr_utility.set_location('l_LSDirRec.TxOnLSDirRUN:'||l_LSDirRec.TxOnLSDirRUN,67);
8496: hr_utility.set_location('l_LSDirRec.TxOnLSDirPTD:'||l_LSDirRec.TxOnLSDirPTD,67);
8497: hr_utility.set_location('l_LSDirRec.TxOnLSDirYTD:'||l_LSDirRec.TxOnLSDirYTD,67);
8498: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,67);
8499: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirPTD:'||l_LSDirRec.MedTxCrUsedOnLSDirPTD,67);
8500: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirYTD:'||l_LSDirRec.MedTxCrUsedOnLSDirYTD,67);
8501:
8502: IF (trc_curMedTxCrEle > 0) THEN
8503: -- Means Not the Current Run LS Directive so we can not increase the Med Tax credit
8496: hr_utility.set_location('l_LSDirRec.TxOnLSDirPTD:'||l_LSDirRec.TxOnLSDirPTD,67);
8497: hr_utility.set_location('l_LSDirRec.TxOnLSDirYTD:'||l_LSDirRec.TxOnLSDirYTD,67);
8498: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,67);
8499: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirPTD:'||l_LSDirRec.MedTxCrUsedOnLSDirPTD,67);
8500: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirYTD:'||l_LSDirRec.MedTxCrUsedOnLSDirYTD,67);
8501:
8502: IF (trc_curMedTxCrEle > 0) THEN
8503: -- Means Not the Current Run LS Directive so we can not increase the Med Tax credit
8504: IF (l_LSDirRec.TxOnLSDirRUN = 0) THEN
8526: IF (l_LSDirRec.MedTxCrUsedOnLSDirRUN <>0) THEN
8527: trc_LSDirTab(LSDir.dirnum) := l_LSDirRec;
8528: END IF;
8529:
8530: hr_utility.set_location('trc_curMedTxCrEle:'||trc_curMedTxCrEle,68);
8531: hr_utility.set_location('l_LSDirRec.TxOnLSDirRUN:'||l_LSDirRec.TxOnLSDirRUN,68);
8532: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,68);
8533:
8534: END LOOP;
8527: trc_LSDirTab(LSDir.dirnum) := l_LSDirRec;
8528: END IF;
8529:
8530: hr_utility.set_location('trc_curMedTxCrEle:'||trc_curMedTxCrEle,68);
8531: hr_utility.set_location('l_LSDirRec.TxOnLSDirRUN:'||l_LSDirRec.TxOnLSDirRUN,68);
8532: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,68);
8533:
8534: END LOOP;
8535:
8528: END IF;
8529:
8530: hr_utility.set_location('trc_curMedTxCrEle:'||trc_curMedTxCrEle,68);
8531: hr_utility.set_location('l_LSDirRec.TxOnLSDirRUN:'||l_LSDirRec.TxOnLSDirRUN,68);
8532: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,68);
8533:
8534: END LOOP;
8535:
8536: END IF;
8537:
8538:
8539: IF ( NOT(p_LSDirNum = 'To Be Advised') ) THEN
8540: IF (trc_curMedTxCrEle > 0) THEN
8541: hr_utility.set_location('Processing single lump sum:'||p_LSDirNum,69);
8542: l_LSDirRec := null;
8543: l_LSDirRec.MedTxCrUsedOnLSDirRUN := LEAST(p_LSDirVal,trc_curMedTxCrEle);
8544: trc_curMedTxCrEle := trc_curMedTxCrEle - l_LSDirRec.MedTxCrUsedOnLSDirRUN;
8545: trc_LSDirTab(p_LSDirNum) := l_LSDirRec;
8543: l_LSDirRec.MedTxCrUsedOnLSDirRUN := LEAST(p_LSDirVal,trc_curMedTxCrEle);
8544: trc_curMedTxCrEle := trc_curMedTxCrEle - l_LSDirRec.MedTxCrUsedOnLSDirRUN;
8545: trc_LSDirTab(p_LSDirNum) := l_LSDirRec;
8546:
8547: hr_utility.set_location('Single trc_curMedTxCrEle:'||trc_curMedTxCrEle,70);
8548: hr_utility.set_location('p_LSDirNum:'||p_LSDirNum,70);
8549: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,70);
8550: END IF;
8551: END IF;
8544: trc_curMedTxCrEle := trc_curMedTxCrEle - l_LSDirRec.MedTxCrUsedOnLSDirRUN;
8545: trc_LSDirTab(p_LSDirNum) := l_LSDirRec;
8546:
8547: hr_utility.set_location('Single trc_curMedTxCrEle:'||trc_curMedTxCrEle,70);
8548: hr_utility.set_location('p_LSDirNum:'||p_LSDirNum,70);
8549: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,70);
8550: END IF;
8551: END IF;
8552:
8545: trc_LSDirTab(p_LSDirNum) := l_LSDirRec;
8546:
8547: hr_utility.set_location('Single trc_curMedTxCrEle:'||trc_curMedTxCrEle,70);
8548: hr_utility.set_location('p_LSDirNum:'||p_LSDirNum,70);
8549: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,70);
8550: END IF;
8551: END IF;
8552:
8553: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,71);
8549: hr_utility.set_location('l_LSDirRec.MedTxCrUsedOnLSDirRUN:'||l_LSDirRec.MedTxCrUsedOnLSDirRUN,70);
8550: END IF;
8551: END IF;
8552:
8553: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,71);
8554: p_MedCrUsedLS :=trc_LSDirTab.count;
8555:
8556: -- End Medical Tax Credit Lump Sum Changes
8557: hr_utility.set_location('End Medical Tax Credit Lump Sum Changes',72);
8553: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,71);
8554: p_MedCrUsedLS :=trc_LSDirTab.count;
8555:
8556: -- End Medical Tax Credit Lump Sum Changes
8557: hr_utility.set_location('End Medical Tax Credit Lump Sum Changes',72);
8558:
8559: -- Start Medical Tax credit Changes
8560: l_TotMedTxCr_Upd := trc_MedTxCrUsedDR_Upd +
8561: trc_MedTxCrUsedNI_Upd +
8682: p_MedCrUsedNtgAP := 0;
8683: p_MedCrUsedNtgEEDbt := 0;
8684: END IF;
8685:
8686: hr_utility.set_location('p_MedCrUsedDR : '|| p_MedCrUsedDR,1000);
8687: hr_utility.set_location('p_MedCrUsedNI : '|| p_MedCrUsedNI,1000);
8688: hr_utility.set_location('p_MedCrUsedFB : '|| p_MedCrUsedFB,1000);
8689: hr_utility.set_location('p_MedCrUsedTA : '|| p_MedCrUsedTA,1000);
8690: hr_utility.set_location('p_MedCrUsedBP : '|| p_MedCrUsedBP,1000);
8683: p_MedCrUsedNtgEEDbt := 0;
8684: END IF;
8685:
8686: hr_utility.set_location('p_MedCrUsedDR : '|| p_MedCrUsedDR,1000);
8687: hr_utility.set_location('p_MedCrUsedNI : '|| p_MedCrUsedNI,1000);
8688: hr_utility.set_location('p_MedCrUsedFB : '|| p_MedCrUsedFB,1000);
8689: hr_utility.set_location('p_MedCrUsedTA : '|| p_MedCrUsedTA,1000);
8690: hr_utility.set_location('p_MedCrUsedBP : '|| p_MedCrUsedBP,1000);
8691: hr_utility.set_location('p_MedCrUsedAB : '|| p_MedCrUsedAB,1000);
8684: END IF;
8685:
8686: hr_utility.set_location('p_MedCrUsedDR : '|| p_MedCrUsedDR,1000);
8687: hr_utility.set_location('p_MedCrUsedNI : '|| p_MedCrUsedNI,1000);
8688: hr_utility.set_location('p_MedCrUsedFB : '|| p_MedCrUsedFB,1000);
8689: hr_utility.set_location('p_MedCrUsedTA : '|| p_MedCrUsedTA,1000);
8690: hr_utility.set_location('p_MedCrUsedBP : '|| p_MedCrUsedBP,1000);
8691: hr_utility.set_location('p_MedCrUsedAB : '|| p_MedCrUsedAB,1000);
8692: hr_utility.set_location('p_MedCrUsedAP : '|| p_MedCrUsedAP,1000);
8685:
8686: hr_utility.set_location('p_MedCrUsedDR : '|| p_MedCrUsedDR,1000);
8687: hr_utility.set_location('p_MedCrUsedNI : '|| p_MedCrUsedNI,1000);
8688: hr_utility.set_location('p_MedCrUsedFB : '|| p_MedCrUsedFB,1000);
8689: hr_utility.set_location('p_MedCrUsedTA : '|| p_MedCrUsedTA,1000);
8690: hr_utility.set_location('p_MedCrUsedBP : '|| p_MedCrUsedBP,1000);
8691: hr_utility.set_location('p_MedCrUsedAB : '|| p_MedCrUsedAB,1000);
8692: hr_utility.set_location('p_MedCrUsedAP : '|| p_MedCrUsedAP,1000);
8693: hr_utility.set_location('p_MedCrUsedPO : '|| p_MedCrUsedPO,1000);
8686: hr_utility.set_location('p_MedCrUsedDR : '|| p_MedCrUsedDR,1000);
8687: hr_utility.set_location('p_MedCrUsedNI : '|| p_MedCrUsedNI,1000);
8688: hr_utility.set_location('p_MedCrUsedFB : '|| p_MedCrUsedFB,1000);
8689: hr_utility.set_location('p_MedCrUsedTA : '|| p_MedCrUsedTA,1000);
8690: hr_utility.set_location('p_MedCrUsedBP : '|| p_MedCrUsedBP,1000);
8691: hr_utility.set_location('p_MedCrUsedAB : '|| p_MedCrUsedAB,1000);
8692: hr_utility.set_location('p_MedCrUsedAP : '|| p_MedCrUsedAP,1000);
8693: hr_utility.set_location('p_MedCrUsedPO : '|| p_MedCrUsedPO,1000);
8694: hr_utility.set_location('p_MedCrUsedNtgAP : '|| p_MedCrUsedNtgAP,1000);
8687: hr_utility.set_location('p_MedCrUsedNI : '|| p_MedCrUsedNI,1000);
8688: hr_utility.set_location('p_MedCrUsedFB : '|| p_MedCrUsedFB,1000);
8689: hr_utility.set_location('p_MedCrUsedTA : '|| p_MedCrUsedTA,1000);
8690: hr_utility.set_location('p_MedCrUsedBP : '|| p_MedCrUsedBP,1000);
8691: hr_utility.set_location('p_MedCrUsedAB : '|| p_MedCrUsedAB,1000);
8692: hr_utility.set_location('p_MedCrUsedAP : '|| p_MedCrUsedAP,1000);
8693: hr_utility.set_location('p_MedCrUsedPO : '|| p_MedCrUsedPO,1000);
8694: hr_utility.set_location('p_MedCrUsedNtgAP : '|| p_MedCrUsedNtgAP,1000);
8695: hr_utility.set_location('p_MedCrUsedNtgEEDbt : '|| p_MedCrUsedNtgEEDbt,1000);
8688: hr_utility.set_location('p_MedCrUsedFB : '|| p_MedCrUsedFB,1000);
8689: hr_utility.set_location('p_MedCrUsedTA : '|| p_MedCrUsedTA,1000);
8690: hr_utility.set_location('p_MedCrUsedBP : '|| p_MedCrUsedBP,1000);
8691: hr_utility.set_location('p_MedCrUsedAB : '|| p_MedCrUsedAB,1000);
8692: hr_utility.set_location('p_MedCrUsedAP : '|| p_MedCrUsedAP,1000);
8693: hr_utility.set_location('p_MedCrUsedPO : '|| p_MedCrUsedPO,1000);
8694: hr_utility.set_location('p_MedCrUsedNtgAP : '|| p_MedCrUsedNtgAP,1000);
8695: hr_utility.set_location('p_MedCrUsedNtgEEDbt : '|| p_MedCrUsedNtgEEDbt,1000);
8696:
8689: hr_utility.set_location('p_MedCrUsedTA : '|| p_MedCrUsedTA,1000);
8690: hr_utility.set_location('p_MedCrUsedBP : '|| p_MedCrUsedBP,1000);
8691: hr_utility.set_location('p_MedCrUsedAB : '|| p_MedCrUsedAB,1000);
8692: hr_utility.set_location('p_MedCrUsedAP : '|| p_MedCrUsedAP,1000);
8693: hr_utility.set_location('p_MedCrUsedPO : '|| p_MedCrUsedPO,1000);
8694: hr_utility.set_location('p_MedCrUsedNtgAP : '|| p_MedCrUsedNtgAP,1000);
8695: hr_utility.set_location('p_MedCrUsedNtgEEDbt : '|| p_MedCrUsedNtgEEDbt,1000);
8696:
8697: -- End Medical Tax credit Changes
8690: hr_utility.set_location('p_MedCrUsedBP : '|| p_MedCrUsedBP,1000);
8691: hr_utility.set_location('p_MedCrUsedAB : '|| p_MedCrUsedAB,1000);
8692: hr_utility.set_location('p_MedCrUsedAP : '|| p_MedCrUsedAP,1000);
8693: hr_utility.set_location('p_MedCrUsedPO : '|| p_MedCrUsedPO,1000);
8694: hr_utility.set_location('p_MedCrUsedNtgAP : '|| p_MedCrUsedNtgAP,1000);
8695: hr_utility.set_location('p_MedCrUsedNtgEEDbt : '|| p_MedCrUsedNtgEEDbt,1000);
8696:
8697: -- End Medical Tax credit Changes
8698:
8691: hr_utility.set_location('p_MedCrUsedAB : '|| p_MedCrUsedAB,1000);
8692: hr_utility.set_location('p_MedCrUsedAP : '|| p_MedCrUsedAP,1000);
8693: hr_utility.set_location('p_MedCrUsedPO : '|| p_MedCrUsedPO,1000);
8694: hr_utility.set_location('p_MedCrUsedNtgAP : '|| p_MedCrUsedNtgAP,1000);
8695: hr_utility.set_location('p_MedCrUsedNtgEEDbt : '|| p_MedCrUsedNtgEEDbt,1000);
8696:
8697: -- End Medical Tax credit Changes
8698:
8699: -- Execute The Tax Trace
8699: -- Execute The Tax Trace
8700: --
8701: py_za_tx_utl_01032012.Trace;
8702:
8703: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',65);
8704:
8705: -- Clear Globals
8706: --
8707: py_za_tx_utl_01032012.ClearGlobals;
8705: -- Clear Globals
8706: --
8707: py_za_tx_utl_01032012.ClearGlobals;
8708:
8709: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',66);
8710:
8711: -- End off Trace File
8712: WrtHrTrc('------------------------------------------------------------');
8713: WrtHrTrc('-- End of Tax Trace File --');
8713: WrtHrTrc('-- End of Tax Trace File --');
8714: WrtHrTrc('------------------------------------------------------------');
8715: WrtHrTrc(' -- ');
8716:
8717: -- Call hr_utility stop procedure
8718: py_za_tx_utl_01032012.StopHrTrace;
8719:
8720: --dbms_debug.debug_off;
8721:
8722: RETURN l_Dum;
8723:
8724: EXCEPTION
8725: WHEN xpt_FxdPrc THEN
8726: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',67);
8727: WrtHrTrc('Sql error msg: Fixed Percentage was not entered');
8728: py_za_tx_utl_01032012.StopHrTrace;
8729: hr_utility.set_message(801, 'Fixed Percentage not entered');
8730: py_za_tx_utl_01032012.ClearGlobals;
8725: WHEN xpt_FxdPrc THEN
8726: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',67);
8727: WrtHrTrc('Sql error msg: Fixed Percentage was not entered');
8728: py_za_tx_utl_01032012.StopHrTrace;
8729: hr_utility.set_message(801, 'Fixed Percentage not entered');
8730: py_za_tx_utl_01032012.ClearGlobals;
8731: hr_utility.raise_error;
8732: WHEN xpt_E THEN
8733: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',68);
8727: WrtHrTrc('Sql error msg: Fixed Percentage was not entered');
8728: py_za_tx_utl_01032012.StopHrTrace;
8729: hr_utility.set_message(801, 'Fixed Percentage not entered');
8730: py_za_tx_utl_01032012.ClearGlobals;
8731: hr_utility.raise_error;
8732: WHEN xpt_E THEN
8733: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',68);
8734: WrtHrTrc('xpt_Msg: '||xpt_Msg);
8735: py_za_tx_utl_01032012.StopHrTrace;
8729: hr_utility.set_message(801, 'Fixed Percentage not entered');
8730: py_za_tx_utl_01032012.ClearGlobals;
8731: hr_utility.raise_error;
8732: WHEN xpt_E THEN
8733: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',68);
8734: WrtHrTrc('xpt_Msg: '||xpt_Msg);
8735: py_za_tx_utl_01032012.StopHrTrace;
8736: hr_utility.set_message(801, xpt_Msg);
8737: py_za_tx_utl_01032012.ClearGlobals;
8732: WHEN xpt_E THEN
8733: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',68);
8734: WrtHrTrc('xpt_Msg: '||xpt_Msg);
8735: py_za_tx_utl_01032012.StopHrTrace;
8736: hr_utility.set_message(801, xpt_Msg);
8737: py_za_tx_utl_01032012.ClearGlobals;
8738: hr_utility.raise_error;
8739: WHEN OTHERS THEN
8740: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',69);
8734: WrtHrTrc('xpt_Msg: '||xpt_Msg);
8735: py_za_tx_utl_01032012.StopHrTrace;
8736: hr_utility.set_message(801, xpt_Msg);
8737: py_za_tx_utl_01032012.ClearGlobals;
8738: hr_utility.raise_error;
8739: WHEN OTHERS THEN
8740: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',69);
8741: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
8742: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
8736: hr_utility.set_message(801, xpt_Msg);
8737: py_za_tx_utl_01032012.ClearGlobals;
8738: hr_utility.raise_error;
8739: WHEN OTHERS THEN
8740: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',69);
8741: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
8742: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
8743: py_za_tx_utl_01032012.StopHrTrace;
8744: hr_utility.set_message(801, 'ZaTx_01032012: '||TO_CHAR(SQLCODE));
8740: hr_utility.set_location('py_za_tx_01032012.ZaTx_01032012',69);
8741: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
8742: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
8743: py_za_tx_utl_01032012.StopHrTrace;
8744: hr_utility.set_message(801, 'ZaTx_01032012: '||TO_CHAR(SQLCODE));
8745: py_za_tx_utl_01032012.ClearGlobals;
8746: hr_utility.raise_error;
8747: END ZaTx_01032012;
8748:
8742: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
8743: py_za_tx_utl_01032012.StopHrTrace;
8744: hr_utility.set_message(801, 'ZaTx_01032012: '||TO_CHAR(SQLCODE));
8745: py_za_tx_utl_01032012.ClearGlobals;
8746: hr_utility.raise_error;
8747: END ZaTx_01032012;
8748:
8749:
8750: FUNCTION ZaTxMedTxCrLmpSm1_01032012(
8781:
8782:
8783: BEGIN
8784: py_za_tx_utl_01032012.StartHrTrace;
8785: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm1_01032012',1);
8786:
8787: p_DirNum1 :=' ';
8788: p_MedTxCrUsed1 :=0;
8789: p_DirNum2 :=' ';
8805: p_DirNum10 :=' ';
8806: p_MedTxCrUsed10 :=0;
8807:
8808: l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
8809: hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
8810:
8811: l_ls_dirnum := trc_LSDirTab.first;
8812: while (l_ls_dirnum is not null)
8813: loop
8810:
8811: l_ls_dirnum := trc_LSDirTab.first;
8812: while (l_ls_dirnum is not null)
8813: loop
8814: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
8815: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
8816: l_count := l_count+1;
8817: IF (l_count = l_dir_st) THEN
8818: p_DirNum1 := l_ls_dirnum;
8811: l_ls_dirnum := trc_LSDirTab.first;
8812: while (l_ls_dirnum is not null)
8813: loop
8814: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
8815: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
8816: l_count := l_count+1;
8817: IF (l_count = l_dir_st) THEN
8818: p_DirNum1 := l_ls_dirnum;
8819: p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
8852: l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
8853: end loop;
8854:
8855: p_MedCrUsedLS := l_cur_max_dir;
8856: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
8857: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
8858:
8859: py_za_tx_utl_01032012.StopHrTrace;
8860:
8853: end loop;
8854:
8855: p_MedCrUsedLS := l_cur_max_dir;
8856: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
8857: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
8858:
8859: py_za_tx_utl_01032012.StopHrTrace;
8860:
8861: RETURN 1;
8861: RETURN 1;
8862:
8863: EXCEPTION
8864: WHEN OTHERS THEN
8865: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm1_01032012',50);
8866: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
8867: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
8868: py_za_tx_utl_01032012.StopHrTrace;
8869: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm1_01032012: '||TO_CHAR(SQLCODE));
8865: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm1_01032012',50);
8866: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
8867: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
8868: py_za_tx_utl_01032012.StopHrTrace;
8869: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm1_01032012: '||TO_CHAR(SQLCODE));
8870: hr_utility.raise_error;
8871: END ZaTxMedTxCrLmpSm1_01032012;
8872:
8873: FUNCTION ZaTxMedTxCrLmpSm2_01032012(
8866: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
8867: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
8868: py_za_tx_utl_01032012.StopHrTrace;
8869: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm1_01032012: '||TO_CHAR(SQLCODE));
8870: hr_utility.raise_error;
8871: END ZaTxMedTxCrLmpSm1_01032012;
8872:
8873: FUNCTION ZaTxMedTxCrLmpSm2_01032012(
8874: p_MedCrUsedLS OUT NOCOPY NUMBER
8904:
8905:
8906: BEGIN
8907: py_za_tx_utl_01032012.StartHrTrace;
8908: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm2_01032012',1);
8909:
8910: p_DirNum1 :=' ';
8911: p_MedTxCrUsed1 :=0;
8912: p_DirNum2 :=' ';
8928: p_DirNum10 :=' ';
8929: p_MedTxCrUsed10 :=0;
8930:
8931: l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
8932: hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
8933:
8934: l_ls_dirnum := trc_LSDirTab.first;
8935: while (l_ls_dirnum is not null)
8936: loop
8933:
8934: l_ls_dirnum := trc_LSDirTab.first;
8935: while (l_ls_dirnum is not null)
8936: loop
8937: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
8938: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
8939: l_count := l_count+1;
8940: IF (l_count = l_dir_st) THEN
8941: p_DirNum1 := l_ls_dirnum;
8934: l_ls_dirnum := trc_LSDirTab.first;
8935: while (l_ls_dirnum is not null)
8936: loop
8937: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
8938: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
8939: l_count := l_count+1;
8940: IF (l_count = l_dir_st) THEN
8941: p_DirNum1 := l_ls_dirnum;
8942: p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
8975: l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
8976: end loop;
8977:
8978: p_MedCrUsedLS := l_cur_max_dir;
8979: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
8980: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
8981:
8982: py_za_tx_utl_01032012.StopHrTrace;
8983:
8976: end loop;
8977:
8978: p_MedCrUsedLS := l_cur_max_dir;
8979: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
8980: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
8981:
8982: py_za_tx_utl_01032012.StopHrTrace;
8983:
8984: RETURN 1;
8984: RETURN 1;
8985:
8986: EXCEPTION
8987: WHEN OTHERS THEN
8988: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm2_01032012',50);
8989: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
8990: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
8991: py_za_tx_utl_01032012.StopHrTrace;
8992: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm2_01032012: '||TO_CHAR(SQLCODE));
8988: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm2_01032012',50);
8989: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
8990: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
8991: py_za_tx_utl_01032012.StopHrTrace;
8992: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm2_01032012: '||TO_CHAR(SQLCODE));
8993: hr_utility.raise_error;
8994: END ZaTxMedTxCrLmpSm2_01032012;
8995:
8996: FUNCTION ZaTxMedTxCrLmpSm3_01032012(
8989: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
8990: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
8991: py_za_tx_utl_01032012.StopHrTrace;
8992: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm2_01032012: '||TO_CHAR(SQLCODE));
8993: hr_utility.raise_error;
8994: END ZaTxMedTxCrLmpSm2_01032012;
8995:
8996: FUNCTION ZaTxMedTxCrLmpSm3_01032012(
8997: p_MedCrUsedLS OUT NOCOPY NUMBER
9027:
9028:
9029: BEGIN
9030: py_za_tx_utl_01032012.StartHrTrace;
9031: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm3_01032012',1);
9032:
9033: p_DirNum1 :=' ';
9034: p_MedTxCrUsed1 :=0;
9035: p_DirNum2 :=' ';
9051: p_DirNum10 :=' ';
9052: p_MedTxCrUsed10 :=0;
9053:
9054: l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
9055: hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
9056:
9057: l_ls_dirnum := trc_LSDirTab.first;
9058: while (l_ls_dirnum is not null)
9059: loop
9056:
9057: l_ls_dirnum := trc_LSDirTab.first;
9058: while (l_ls_dirnum is not null)
9059: loop
9060: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9061: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9062: l_count := l_count+1;
9063: IF (l_count = l_dir_st) THEN
9064: p_DirNum1 := l_ls_dirnum;
9057: l_ls_dirnum := trc_LSDirTab.first;
9058: while (l_ls_dirnum is not null)
9059: loop
9060: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9061: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9062: l_count := l_count+1;
9063: IF (l_count = l_dir_st) THEN
9064: p_DirNum1 := l_ls_dirnum;
9065: p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
9098: l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
9099: end loop;
9100:
9101: p_MedCrUsedLS := l_cur_max_dir;
9102: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9103: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9104:
9105: py_za_tx_utl_01032012.StopHrTrace;
9106:
9099: end loop;
9100:
9101: p_MedCrUsedLS := l_cur_max_dir;
9102: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9103: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9104:
9105: py_za_tx_utl_01032012.StopHrTrace;
9106:
9107: RETURN 1;
9107: RETURN 1;
9108:
9109: EXCEPTION
9110: WHEN OTHERS THEN
9111: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm3_01032012',50);
9112: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9113: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9114: py_za_tx_utl_01032012.StopHrTrace;
9115: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm3_01032012: '||TO_CHAR(SQLCODE));
9111: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm3_01032012',50);
9112: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9113: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9114: py_za_tx_utl_01032012.StopHrTrace;
9115: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm3_01032012: '||TO_CHAR(SQLCODE));
9116: hr_utility.raise_error;
9117: END ZaTxMedTxCrLmpSm3_01032012;
9118:
9119:
9112: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9113: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9114: py_za_tx_utl_01032012.StopHrTrace;
9115: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm3_01032012: '||TO_CHAR(SQLCODE));
9116: hr_utility.raise_error;
9117: END ZaTxMedTxCrLmpSm3_01032012;
9118:
9119:
9120: FUNCTION ZaTxMedTxCrLmpSm4_01032012(
9151:
9152:
9153: BEGIN
9154: py_za_tx_utl_01032012.StartHrTrace;
9155: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm4_01032012',1);
9156:
9157: p_DirNum1 :=' ';
9158: p_MedTxCrUsed1 :=0;
9159: p_DirNum2 :=' ';
9175: p_DirNum10 :=' ';
9176: p_MedTxCrUsed10 :=0;
9177:
9178: l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
9179: hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
9180:
9181: l_ls_dirnum := trc_LSDirTab.first;
9182: while (l_ls_dirnum is not null)
9183: loop
9180:
9181: l_ls_dirnum := trc_LSDirTab.first;
9182: while (l_ls_dirnum is not null)
9183: loop
9184: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9185: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9186: l_count := l_count+1;
9187: IF (l_count = l_dir_st) THEN
9188: p_DirNum1 := l_ls_dirnum;
9181: l_ls_dirnum := trc_LSDirTab.first;
9182: while (l_ls_dirnum is not null)
9183: loop
9184: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9185: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9186: l_count := l_count+1;
9187: IF (l_count = l_dir_st) THEN
9188: p_DirNum1 := l_ls_dirnum;
9189: p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
9222: l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
9223: end loop;
9224:
9225: p_MedCrUsedLS := l_cur_max_dir;
9226: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9227: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9228:
9229: py_za_tx_utl_01032012.StopHrTrace;
9230:
9223: end loop;
9224:
9225: p_MedCrUsedLS := l_cur_max_dir;
9226: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9227: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9228:
9229: py_za_tx_utl_01032012.StopHrTrace;
9230:
9231: RETURN 1;
9231: RETURN 1;
9232:
9233: EXCEPTION
9234: WHEN OTHERS THEN
9235: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm4_01032012',50);
9236: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9237: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9238: py_za_tx_utl_01032012.StopHrTrace;
9239: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm4_01032012: '||TO_CHAR(SQLCODE));
9235: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm4_01032012',50);
9236: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9237: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9238: py_za_tx_utl_01032012.StopHrTrace;
9239: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm4_01032012: '||TO_CHAR(SQLCODE));
9240: hr_utility.raise_error;
9241: END ZaTxMedTxCrLmpSm4_01032012;
9242:
9243: FUNCTION ZaTxMedTxCrLmpSm5_01032012(
9236: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9237: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9238: py_za_tx_utl_01032012.StopHrTrace;
9239: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm4_01032012: '||TO_CHAR(SQLCODE));
9240: hr_utility.raise_error;
9241: END ZaTxMedTxCrLmpSm4_01032012;
9242:
9243: FUNCTION ZaTxMedTxCrLmpSm5_01032012(
9244: p_MedCrUsedLS OUT NOCOPY NUMBER
9274:
9275:
9276: BEGIN
9277: py_za_tx_utl_01032012.StartHrTrace;
9278: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm5_01032012',1);
9279:
9280: p_DirNum1 :=' ';
9281: p_MedTxCrUsed1 :=0;
9282: p_DirNum2 :=' ';
9298: p_DirNum10 :=' ';
9299: p_MedTxCrUsed10 :=0;
9300:
9301: l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
9302: hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
9303:
9304: l_ls_dirnum := trc_LSDirTab.first;
9305: while (l_ls_dirnum is not null)
9306: loop
9303:
9304: l_ls_dirnum := trc_LSDirTab.first;
9305: while (l_ls_dirnum is not null)
9306: loop
9307: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9308: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9309: l_count := l_count+1;
9310: IF (l_count = l_dir_st) THEN
9311: p_DirNum1 := l_ls_dirnum;
9304: l_ls_dirnum := trc_LSDirTab.first;
9305: while (l_ls_dirnum is not null)
9306: loop
9307: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9308: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9309: l_count := l_count+1;
9310: IF (l_count = l_dir_st) THEN
9311: p_DirNum1 := l_ls_dirnum;
9312: p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
9345: l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
9346: end loop;
9347:
9348: p_MedCrUsedLS := l_cur_max_dir;
9349: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9350: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9351:
9352: py_za_tx_utl_01032012.StopHrTrace;
9353:
9346: end loop;
9347:
9348: p_MedCrUsedLS := l_cur_max_dir;
9349: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9350: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9351:
9352: py_za_tx_utl_01032012.StopHrTrace;
9353:
9354: RETURN 1;
9354: RETURN 1;
9355:
9356: EXCEPTION
9357: WHEN OTHERS THEN
9358: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm5_01032012',50);
9359: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9360: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9361: py_za_tx_utl_01032012.StopHrTrace;
9362: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm5_01032012: '||TO_CHAR(SQLCODE));
9358: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm5_01032012',50);
9359: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9360: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9361: py_za_tx_utl_01032012.StopHrTrace;
9362: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm5_01032012: '||TO_CHAR(SQLCODE));
9363: hr_utility.raise_error;
9364: END ZaTxMedTxCrLmpSm5_01032012;
9365:
9366: FUNCTION ZaTxMedTxCrLmpSm6_01032012(
9359: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9360: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9361: py_za_tx_utl_01032012.StopHrTrace;
9362: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm5_01032012: '||TO_CHAR(SQLCODE));
9363: hr_utility.raise_error;
9364: END ZaTxMedTxCrLmpSm5_01032012;
9365:
9366: FUNCTION ZaTxMedTxCrLmpSm6_01032012(
9367: p_MedCrUsedLS OUT NOCOPY NUMBER
9397:
9398:
9399: BEGIN
9400: py_za_tx_utl_01032012.StartHrTrace;
9401: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm6_01032012',1);
9402:
9403: p_DirNum1 :=' ';
9404: p_MedTxCrUsed1 :=0;
9405: p_DirNum2 :=' ';
9421: p_DirNum10 :=' ';
9422: p_MedTxCrUsed10 :=0;
9423:
9424: l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
9425: hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
9426:
9427: l_ls_dirnum := trc_LSDirTab.first;
9428: while (l_ls_dirnum is not null)
9429: loop
9426:
9427: l_ls_dirnum := trc_LSDirTab.first;
9428: while (l_ls_dirnum is not null)
9429: loop
9430: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9431: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9432: l_count := l_count+1;
9433: IF (l_count = l_dir_st) THEN
9434: p_DirNum1 := l_ls_dirnum;
9427: l_ls_dirnum := trc_LSDirTab.first;
9428: while (l_ls_dirnum is not null)
9429: loop
9430: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9431: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9432: l_count := l_count+1;
9433: IF (l_count = l_dir_st) THEN
9434: p_DirNum1 := l_ls_dirnum;
9435: p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
9468: l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
9469: end loop;
9470:
9471: p_MedCrUsedLS := l_cur_max_dir;
9472: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9473: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9474:
9475: py_za_tx_utl_01032012.StopHrTrace;
9476:
9469: end loop;
9470:
9471: p_MedCrUsedLS := l_cur_max_dir;
9472: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9473: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9474:
9475: py_za_tx_utl_01032012.StopHrTrace;
9476:
9477: RETURN 1;
9477: RETURN 1;
9478:
9479: EXCEPTION
9480: WHEN OTHERS THEN
9481: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm6_01032012',50);
9482: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9483: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9484: py_za_tx_utl_01032012.StopHrTrace;
9485: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm6_01032012: '||TO_CHAR(SQLCODE));
9481: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm6_01032012',50);
9482: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9483: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9484: py_za_tx_utl_01032012.StopHrTrace;
9485: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm6_01032012: '||TO_CHAR(SQLCODE));
9486: hr_utility.raise_error;
9487: END ZaTxMedTxCrLmpSm6_01032012;
9488:
9489:
9482: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9483: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9484: py_za_tx_utl_01032012.StopHrTrace;
9485: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm6_01032012: '||TO_CHAR(SQLCODE));
9486: hr_utility.raise_error;
9487: END ZaTxMedTxCrLmpSm6_01032012;
9488:
9489:
9490: FUNCTION ZaTxMedTxCrLmpSm7_01032012(
9521:
9522:
9523: BEGIN
9524: py_za_tx_utl_01032012.StartHrTrace;
9525: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm7_01032012',1);
9526:
9527: p_DirNum1 :=' ';
9528: p_MedTxCrUsed1 :=0;
9529: p_DirNum2 :=' ';
9545: p_DirNum10 :=' ';
9546: p_MedTxCrUsed10 :=0;
9547:
9548: l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
9549: hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
9550:
9551: l_ls_dirnum := trc_LSDirTab.first;
9552: while (l_ls_dirnum is not null)
9553: loop
9550:
9551: l_ls_dirnum := trc_LSDirTab.first;
9552: while (l_ls_dirnum is not null)
9553: loop
9554: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9555: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9556: l_count := l_count+1;
9557: IF (l_count = l_dir_st) THEN
9558: p_DirNum1 := l_ls_dirnum;
9551: l_ls_dirnum := trc_LSDirTab.first;
9552: while (l_ls_dirnum is not null)
9553: loop
9554: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9555: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9556: l_count := l_count+1;
9557: IF (l_count = l_dir_st) THEN
9558: p_DirNum1 := l_ls_dirnum;
9559: p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
9592: l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
9593: end loop;
9594:
9595: p_MedCrUsedLS := l_cur_max_dir;
9596: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9597: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9598:
9599: py_za_tx_utl_01032012.StopHrTrace;
9600:
9593: end loop;
9594:
9595: p_MedCrUsedLS := l_cur_max_dir;
9596: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9597: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9598:
9599: py_za_tx_utl_01032012.StopHrTrace;
9600:
9601: RETURN 1;
9601: RETURN 1;
9602:
9603: EXCEPTION
9604: WHEN OTHERS THEN
9605: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm7_01032012',50);
9606: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9607: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9608: py_za_tx_utl_01032012.StopHrTrace;
9609: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm7_01032012: '||TO_CHAR(SQLCODE));
9605: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm7_01032012',50);
9606: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9607: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9608: py_za_tx_utl_01032012.StopHrTrace;
9609: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm7_01032012: '||TO_CHAR(SQLCODE));
9610: hr_utility.raise_error;
9611: END ZaTxMedTxCrLmpSm7_01032012;
9612:
9613:
9606: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9607: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9608: py_za_tx_utl_01032012.StopHrTrace;
9609: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm7_01032012: '||TO_CHAR(SQLCODE));
9610: hr_utility.raise_error;
9611: END ZaTxMedTxCrLmpSm7_01032012;
9612:
9613:
9614: FUNCTION ZaTxMedTxCrLmpSm8_01032012(
9645:
9646:
9647: BEGIN
9648: py_za_tx_utl_01032012.StartHrTrace;
9649: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm8_01032012',1);
9650:
9651: p_DirNum1 :=' ';
9652: p_MedTxCrUsed1 :=0;
9653: p_DirNum2 :=' ';
9669: p_DirNum10 :=' ';
9670: p_MedTxCrUsed10 :=0;
9671:
9672: l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
9673: hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
9674:
9675: l_ls_dirnum := trc_LSDirTab.first;
9676: while (l_ls_dirnum is not null)
9677: loop
9674:
9675: l_ls_dirnum := trc_LSDirTab.first;
9676: while (l_ls_dirnum is not null)
9677: loop
9678: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9679: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9680: l_count := l_count+1;
9681: IF (l_count = l_dir_st) THEN
9682: p_DirNum1 := l_ls_dirnum;
9675: l_ls_dirnum := trc_LSDirTab.first;
9676: while (l_ls_dirnum is not null)
9677: loop
9678: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9679: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9680: l_count := l_count+1;
9681: IF (l_count = l_dir_st) THEN
9682: p_DirNum1 := l_ls_dirnum;
9683: p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
9716: l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
9717: end loop;
9718:
9719: p_MedCrUsedLS := l_cur_max_dir;
9720: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9721: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9722:
9723: py_za_tx_utl_01032012.StopHrTrace;
9724:
9717: end loop;
9718:
9719: p_MedCrUsedLS := l_cur_max_dir;
9720: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9721: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9722:
9723: py_za_tx_utl_01032012.StopHrTrace;
9724:
9725: RETURN 1;
9725: RETURN 1;
9726:
9727: EXCEPTION
9728: WHEN OTHERS THEN
9729: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm8_01032012',50);
9730: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9731: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9732: py_za_tx_utl_01032012.StopHrTrace;
9733: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm8_01032012: '||TO_CHAR(SQLCODE));
9729: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm8_01032012',50);
9730: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9731: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9732: py_za_tx_utl_01032012.StopHrTrace;
9733: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm8_01032012: '||TO_CHAR(SQLCODE));
9734: hr_utility.raise_error;
9735: END ZaTxMedTxCrLmpSm8_01032012;
9736:
9737:
9730: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9731: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9732: py_za_tx_utl_01032012.StopHrTrace;
9733: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm8_01032012: '||TO_CHAR(SQLCODE));
9734: hr_utility.raise_error;
9735: END ZaTxMedTxCrLmpSm8_01032012;
9736:
9737:
9738: FUNCTION ZaTxMedTxCrLmpSm9_01032012(
9769:
9770:
9771: BEGIN
9772: py_za_tx_utl_01032012.StartHrTrace;
9773: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm9_01032012',1);
9774:
9775: p_DirNum1 :=' ';
9776: p_MedTxCrUsed1 :=0;
9777: p_DirNum2 :=' ';
9793: p_DirNum10 :=' ';
9794: p_MedTxCrUsed10 :=0;
9795:
9796: l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
9797: hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
9798:
9799: l_ls_dirnum := trc_LSDirTab.first;
9800: while (l_ls_dirnum is not null)
9801: loop
9798:
9799: l_ls_dirnum := trc_LSDirTab.first;
9800: while (l_ls_dirnum is not null)
9801: loop
9802: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9803: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9804: l_count := l_count+1;
9805: IF (l_count = l_dir_st) THEN
9806: p_DirNum1 := l_ls_dirnum;
9799: l_ls_dirnum := trc_LSDirTab.first;
9800: while (l_ls_dirnum is not null)
9801: loop
9802: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9803: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9804: l_count := l_count+1;
9805: IF (l_count = l_dir_st) THEN
9806: p_DirNum1 := l_ls_dirnum;
9807: p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
9840: l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
9841: end loop;
9842:
9843: p_MedCrUsedLS := l_cur_max_dir;
9844: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9845: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9846:
9847: py_za_tx_utl_01032012.StopHrTrace;
9848:
9841: end loop;
9842:
9843: p_MedCrUsedLS := l_cur_max_dir;
9844: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9845: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9846:
9847: py_za_tx_utl_01032012.StopHrTrace;
9848:
9849: RETURN 1;
9849: RETURN 1;
9850:
9851: EXCEPTION
9852: WHEN OTHERS THEN
9853: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm9_01032012',50);
9854: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9855: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9856: py_za_tx_utl_01032012.StopHrTrace;
9857: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm9_01032012: '||TO_CHAR(SQLCODE));
9853: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm9_01032012',50);
9854: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9855: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9856: py_za_tx_utl_01032012.StopHrTrace;
9857: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm9_01032012: '||TO_CHAR(SQLCODE));
9858: hr_utility.raise_error;
9859: END ZaTxMedTxCrLmpSm9_01032012;
9860:
9861:
9854: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9855: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9856: py_za_tx_utl_01032012.StopHrTrace;
9857: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm9_01032012: '||TO_CHAR(SQLCODE));
9858: hr_utility.raise_error;
9859: END ZaTxMedTxCrLmpSm9_01032012;
9860:
9861:
9862: FUNCTION ZaTxMedTxCrLmpSm10_01032012(
9893:
9894:
9895: BEGIN
9896: py_za_tx_utl_01032012.StartHrTrace;
9897: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm10_01032012',1);
9898:
9899: p_DirNum1 :=' ';
9900: p_MedTxCrUsed1 :=0;
9901: p_DirNum2 :=' ';
9917: p_DirNum10 :=' ';
9918: p_MedTxCrUsed10 :=0;
9919:
9920: l_cur_max_dir := LEAST(l_dir_end, trc_LSDirTab.count - ((l_chunk-1)*l_dir_end));
9921: hr_utility.set_location('l_cur_max_dir:'||l_cur_max_dir,2);
9922:
9923: l_ls_dirnum := trc_LSDirTab.first;
9924: while (l_ls_dirnum is not null)
9925: loop
9922:
9923: l_ls_dirnum := trc_LSDirTab.first;
9924: while (l_ls_dirnum is not null)
9925: loop
9926: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9927: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9928: l_count := l_count+1;
9929: IF (l_count = l_dir_st) THEN
9930: p_DirNum1 := l_ls_dirnum;
9923: l_ls_dirnum := trc_LSDirTab.first;
9924: while (l_ls_dirnum is not null)
9925: loop
9926: hr_utility.set_location('DirNum:'||l_ls_dirnum,3);
9927: hr_utility.set_location('DirValue:'||trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN,3);
9928: l_count := l_count+1;
9929: IF (l_count = l_dir_st) THEN
9930: p_DirNum1 := l_ls_dirnum;
9931: p_MedTxCrUsed1 := -1 * trc_LSDirTab(l_ls_dirnum).MedTxCrUsedOnLSDirRUN;
9964: l_ls_dirnum := trc_LSDirTab.next(l_ls_dirnum);
9965: end loop;
9966:
9967: p_MedCrUsedLS := l_cur_max_dir;
9968: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9969: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9970:
9971: py_za_tx_utl_01032012.StopHrTrace;
9972:
9965: end loop;
9966:
9967: p_MedCrUsedLS := l_cur_max_dir;
9968: hr_utility.set_location('trc_LSDirTab.count:'||trc_LSDirTab.count,4);
9969: hr_utility.set_location('p_MedCrUsedLS:'||p_MedCrUsedLS,4);
9970:
9971: py_za_tx_utl_01032012.StopHrTrace;
9972:
9973: RETURN 1;
9973: RETURN 1;
9974:
9975: EXCEPTION
9976: WHEN OTHERS THEN
9977: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm10_01032012',50);
9978: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9979: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9980: py_za_tx_utl_01032012.StopHrTrace;
9981: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm10_01032012: '||TO_CHAR(SQLCODE));
9977: hr_utility.set_location('PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm10_01032012',50);
9978: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9979: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9980: py_za_tx_utl_01032012.StopHrTrace;
9981: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm10_01032012: '||TO_CHAR(SQLCODE));
9982: hr_utility.raise_error;
9983: END ZaTxMedTxCrLmpSm10_01032012;
9984:
9985:
9978: WrtHrTrc('Sql error code: '||TO_CHAR(SQLCODE));
9979: WrtHrTrc('Sql error msg: '||SUBSTR(SQLERRM(SQLCODE), 1, 100));
9980: py_za_tx_utl_01032012.StopHrTrace;
9981: hr_utility.set_message(801, 'PY_ZA_TX_01032012.ZaTxMedTxCrLmpSm10_01032012: '||TO_CHAR(SQLCODE));
9982: hr_utility.raise_error;
9983: END ZaTxMedTxCrLmpSm10_01032012;
9984:
9985:
9986: END PY_ZA_TX_01032012;