The following lines contain the word 'select', 'insert', 'update' or 'delete':
Calculates the arrear excess figure to 'effectively' update the
Asg_Itd dimension of the arrear excess pension and retirement
annuity balances. Will only fire on siteperiod.
TrvAll
Calculates the taxable travel allowance over a period of
time based on the effective global values at the time.
For a complete description see the tax module design document.
NpVal
Validates the calculated category liabilities.
For a complete description see the tax module design document.
SitPaySplit
Calculates the site paye split of tax liabilities.
For a complete description see the tax module design document.
Trace
Traces the tax calculation.
For a complete description see the tax module design document.
ClearGlobals
Clears any set package globals.
For a complete description see the tax module design document.
PRIVATE FUNCTIONS
GetTableValue
Returns the value from a user table date effectively
PRIVATE PROCEDURES
NOTES
.
MODIFICATION HISTORY
Person Date Version Bug Comments
--------- ---------- ----------- ------- --------------------------------
R Babla 18/03/2008 115.0 For detail history see
py_za_tx_utl_01032007
R Babla 16/10/2008 115.1 7486500 restructured the assignment for
variable py_za_tx_01032007.trc_PrdFactor
*/
-------------------------------------------------------------------------------
-- PACKAGE BODY --
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- StartHrTrace --
-- Wrapper for hr_utility.trace_on --
-------------------------------------------------------------------------------
PROCEDURE StartHrTrace AS
BEGIN
IF g_HrTraceEnabled THEN
hr_utility.trace_on(null,g_HrTracePipeName);
SELECT TO_NUMBER(global_value)
INTO l_GlbVal
FROM ff_globals_f
WHERE p_EffDte between effective_start_date and effective_end_date
AND global_name = p_GlbNme;
select put.user_table_id
INTO l_UserTableID
from pay_user_tables put
where upper(put.user_table_name) = upper(p_TableName)
AND put.legislation_code = 'ZA';
select puc.user_column_id
INTO l_ColumnID
from pay_user_columns puc
where puc.user_table_id = l_UserTableID
AND puc.legislation_code = 'ZA'
and puc.business_group_id is null
AND upper(puc.user_column_name) = upper(p_ColumnName);
select pur.user_row_id
INTO l_RowID
from pay_user_tables put
, pay_user_rows_f pur
where put.user_table_id = l_UserTableID
and pur.user_table_id = put.user_table_id
AND pur.row_high_range IS NOT NULL
AND p_EffectiveDate BETWEEN pur.effective_start_date
AND pur.effective_end_date
AND pur.legislation_code = 'ZA'
AND p_RowValue BETWEEN decode ( put.user_key_units
, 'N'
, FFFUNC.CN(pur.row_low_range_or_name)
, p_RowValue+1
)
AND decode ( put.user_key_units
, 'N'
, FFFUNC.CN(pur.row_high_range)
, p_RowValue-1
);
SELECT pucif.value
INTO l_TableValue
FROM pay_user_column_instances_f pucif
where pucif.user_column_id = l_ColumnID
and pucif.user_row_id = l_RowID
AND pucif.legislation_code = 'ZA'
and p_EffectiveDate BETWEEN pucif.effective_start_date
AND pucif.effective_end_date;
SELECT effective_end_date
, to_number(global_value) global_value
FROM ff_globals_f
WHERE effective_end_date < p_ty_ed
AND effective_end_date > p_ty_sd
AND global_name = 'ZA_CAR_ALLOW_TAX_PERC';
SELECT balance_type_id
INTO l_RfiBalID
FROM pay_balance_types
WHERE legislation_code = 'ZA'
AND balance_name = 'ZATax Total Taxable Travel Allowance';
SELECT TO_NUMBER(global_value)
INTO l_GlbVal
FROM ff_globals_f
WHERE l_EndDate between effective_start_date
and effective_end_date
AND global_name = 'ZA_CAR_ALLOW_TAX_PERC';
SELECT TO_NUMBER(global_value)
INTO l_GlbVal
FROM ff_globals_f
WHERE l_EndDate between effective_start_date
and effective_end_date
AND global_name = 'ZA_CAR_ALLOW_TAX_PERC';
/*DELETE FROM pay_za_tax_traces pztt
WHERE pztt.prl_act_id not in (
SELECT payroll_action_id
from pay_payroll_actions)
*/
INSERT INTO pay_za_tax_traces(
ASG_ACT_ID
,ASG_ID
,PRL_ACT_ID
,PRL_ID
,TX_STA
,PER_AGE
,CalTyp
,TX_DIR_VAL
,It3Ind
,TxPercVal
,ASG_STRT_DTE
,ZA_ACT_END_DTE
,ZA_CUR_PRD_STRT_DTE
,ZA_CUR_PRD_END_DTE
,ZA_TX_YR_STRT
,ZA_TX_YR_END
,SES_DTE
,PrdFactor
,PosFactor
,SitFactor
,ZA_PAY_PRDS_LFT
,ZA_PAY_PRDS_PER_YR
,ZA_DYS_IN_YR
,SEA_WRK_DYS_WRK
,BP_TX_RCV
,TxbIncPtd
,BseErn
,TxbBseInc
,TotLibBse
,TxbIncYtd
,PerTxbInc
,PerPenFnd
,PerRfiCon
,PerRfiTxb
,PerPenFndMax
,PerPenFndAbm
,AnnTxbInc
,AnnPenFnd
,AnnRfiCon
,AnnRfiTxb
,AnnPenFndMax
,AnnPenFndAbm
,ArrPenFnd
,ArrPenFndAbm
,AnnArrPenFnd
,AnnArrPenFndAbm
,RetAnu
,NrfiCon
,RetAnuMax
,RetAnuAbm
,AnnRetAnu
,AnnNrfiCon
,AnnRetAnuMax
,AnnRetAnuAbm
,ArrRetAnu
,ArrRetAnuAbm
,AnnArrRetAnu
,AnnArrRetAnuAbm
,Rebate
,Threshold
,MedAidAbm
,PerTotAbm
,AnnTotAbm
,NorIncYtd
,NorIncPtd
,NorErn
,TxbNorInc
,LibFyNI
,TX_ON_NI_YTD
,TX_ON_NI_PTD
,LibFpNI
,FrnBenYtd
,FrnBenPtd
,FrnBenErn
,TxbFrnInc
,LibFyFB
,TX_ON_FB_YTD
,TX_ON_FB_PTD
,LibFpFB
,TrvAllYtd
,TrvAllPtd
,TrvAllErn
,TxbTrvInc
,LibFyTA
,TX_ON_TA_YTD
,TX_ON_TA_PTD
,LibFpTA
,BonProYtd
,BonProPtd
,BonProErn
,TxbBonProInc
,LibFyBP
,TX_ON_BP_YTD
,TX_ON_BP_PTD
,LibFpBP
,AnnBonYtd
,AnnBonErn
,TxbAnnBonInc
,LibFyAB
,TX_ON_AB_YTD
,TX_ON_AB_PTD
,LibFpAB
,AnnPymYtd
,AnnPymPtd
,AnnPymErn
,TxbAnnPymInc
,LibFyAP
,TX_ON_AP_YTD
,TX_ON_AP_PTD
,LibFpAP
,PblOffYtd
,PblOffPtd
,PblOffErn
,LibFyPO
,TX_ON_PO_YTD
,TX_ON_PO_PTD
,LibFpPO
,LibWrn
,PayValue
,PayeVal
,SiteVal
)
VALUES(
py_za_tx_01032007.con_ASG_ACT_ID
,py_za_tx_01032007.con_ASG_ID
,py_za_tx_01032007.con_PRL_ACT_ID
,py_za_tx_01032007.con_PRL_ID
,py_za_tx_01032007.dbi_TX_STA
,py_za_tx_01032007.dbi_PER_AGE
,py_za_tx_01032007.trc_CalTyp
,py_za_tx_01032007.dbi_TX_DIR_VAL
,py_za_tx_01032007.trc_It3Ind
,py_za_tx_01032007.trc_TxPercVal
,py_za_tx_01032007.dbi_ZA_ACT_STRT_DTE
,py_za_tx_01032007.dbi_ZA_ACT_END_DTE
,py_za_tx_01032007.dbi_ZA_CUR_PRD_STRT_DTE
,py_za_tx_01032007.dbi_ZA_CUR_PRD_END_DTE
,py_za_tx_01032007.dbi_ZA_TX_YR_STRT
,py_za_tx_01032007.dbi_ZA_TX_YR_END
,py_za_tx_01032007.dbi_SES_DTE
,py_za_tx_01032007.trc_PrdFactor
,py_za_tx_01032007.trc_PosFactor
,py_za_tx_01032007.trc_SitFactor
,py_za_tx_01032007.dbi_ZA_PAY_PRDS_LFT
,py_za_tx_01032007.dbi_ZA_PAY_PRDS_PER_YR
,py_za_tx_01032007.dbi_ZA_DYS_IN_YR
,py_za_tx_01032007.dbi_SEA_WRK_DYS_WRK
,py_za_tx_01032007.dbi_BP_TX_RCV
,py_za_tx_01032007.trc_TxbIncPtd
,py_za_tx_01032007.trc_BseErn
,py_za_tx_01032007.trc_TxbBseInc
,py_za_tx_01032007.trc_TotLibBse
,py_za_tx_01032007.trc_TxbIncYtd
,py_za_tx_01032007.trc_PerTxbInc
,py_za_tx_01032007.trc_PerPenFnd
,py_za_tx_01032007.trc_PerRfiCon
,py_za_tx_01032007.trc_PerRfiTxb
,py_za_tx_01032007.trc_PerPenFndMax
,py_za_tx_01032007.trc_PerPenFndAbm
,py_za_tx_01032007.trc_AnnTxbInc
,py_za_tx_01032007.trc_AnnPenFnd
,py_za_tx_01032007.trc_AnnRfiCon
,py_za_tx_01032007.trc_AnnRfiTxb
,py_za_tx_01032007.trc_AnnPenFndMax
,py_za_tx_01032007.trc_AnnPenFndAbm
,py_za_tx_01032007.trc_PerArrPenFnd
,py_za_tx_01032007.trc_PerArrPenFndAbm
,py_za_tx_01032007.trc_AnnArrPenFnd
,py_za_tx_01032007.trc_AnnArrPenFndAbm
,py_za_tx_01032007.trc_PerRetAnu
,py_za_tx_01032007.trc_PerNrfiCon
,py_za_tx_01032007.trc_PerRetAnuMax
,py_za_tx_01032007.trc_PerRetAnuAbm
,py_za_tx_01032007.trc_AnnRetAnu
,py_za_tx_01032007.trc_AnnNrfiCon
,py_za_tx_01032007.trc_AnnRetAnuMax
,py_za_tx_01032007.trc_AnnRetAnuAbm
,py_za_tx_01032007.trc_PerArrRetAnu
,py_za_tx_01032007.trc_PerArrRetAnuAbm
,py_za_tx_01032007.trc_AnnArrRetAnu
,py_za_tx_01032007.trc_AnnArrRetAnuAbm
,py_za_tx_01032007.trc_Rebate
,py_za_tx_01032007.trc_Threshold
,py_za_tx_01032007.trc_PerMedAidAbm
,py_za_tx_01032007.trc_PerTotAbm
,py_za_tx_01032007.trc_AnnTotAbm
,py_za_tx_01032007.trc_NorIncYtd
,py_za_tx_01032007.trc_NorIncPtd
,py_za_tx_01032007.trc_NorErn
,py_za_tx_01032007.trc_TxbNorInc
,py_za_tx_01032007.trc_LibFyNI
,py_za_tx_01032007.bal_TX_ON_NI_YTD
,py_za_tx_01032007.bal_TX_ON_NI_PTD
,py_za_tx_01032007.trc_LibFpNI
,py_za_tx_01032007.trc_FrnBenYtd
,py_za_tx_01032007.trc_FrnBenPtd
,py_za_tx_01032007.trc_FrnBenErn
,py_za_tx_01032007.trc_TxbFrnInc
,py_za_tx_01032007.trc_LibFyFB
,py_za_tx_01032007.bal_TX_ON_FB_YTD
,py_za_tx_01032007.bal_TX_ON_FB_PTD
,py_za_tx_01032007.trc_LibFpFB
,py_za_tx_01032007.trc_TrvAllYtd
,py_za_tx_01032007.trc_TrvAllPtd
,py_za_tx_01032007.trc_TrvAllErn
,py_za_tx_01032007.trc_TxbTrvInc
,py_za_tx_01032007.trc_LibFyTA
,py_za_tx_01032007.bal_TX_ON_TA_YTD
,py_za_tx_01032007.bal_TX_ON_TA_PTD
,py_za_tx_01032007.trc_LibFpTA
,py_za_tx_01032007.trc_BonProYtd
,py_za_tx_01032007.trc_BonProPtd
,py_za_tx_01032007.trc_BonProErn
,py_za_tx_01032007.trc_TxbBonProInc
,py_za_tx_01032007.trc_LibFyBP
,py_za_tx_01032007.bal_TX_ON_BP_YTD
,py_za_tx_01032007.bal_TX_ON_BP_PTD
,py_za_tx_01032007.trc_LibFpBP
,py_za_tx_01032007.trc_AnnBonYtd
,py_za_tx_01032007.trc_AnnBonErn
,py_za_tx_01032007.trc_TxbAnnBonInc
,py_za_tx_01032007.trc_LibFyAB
,py_za_tx_01032007.bal_TX_ON_AB_YTD
,py_za_tx_01032007.bal_TX_ON_AB_PTD
,py_za_tx_01032007.trc_LibFpAB
,py_za_tx_01032007.trc_AnnPymYtd
,py_za_tx_01032007.trc_AnnPymPtd
,py_za_tx_01032007.trc_AnnPymErn
,py_za_tx_01032007.trc_TxbAnnPymInc
,py_za_tx_01032007.trc_LibFyAP
,py_za_tx_01032007.bal_TX_ON_AP_YTD
,py_za_tx_01032007.bal_TX_ON_AP_PTD
,py_za_tx_01032007.trc_LibFpAP
,py_za_tx_01032007.trc_PblOffYtd
,py_za_tx_01032007.trc_PblOffPtd
,py_za_tx_01032007.trc_PblOffErn
,py_za_tx_01032007.trc_LibFyPO
,py_za_tx_01032007.bal_TX_ON_PO_YTD
,py_za_tx_01032007.bal_TX_ON_PO_PTD
,py_za_tx_01032007.trc_LibFpPO
,py_za_tx_01032007.trc_LibWrn
,py_za_tx_01032007.trc_PayValSD
,py_za_tx_01032007.trc_PayeVal
,py_za_tx_01032007.trc_SiteVal);