HRA/CLA Exemption Derivations
...Previous
DATA
: l_mhbas_fy TYPE pad_amt7s,
l_mhelg_fy
TYPE pad_amt7s,
l_mhren_fy TYPE pad_amt7s,
l_nhelg_fy TYPE pad_amt7s,
l_nhren_fy TYPE pad_amt7s,
l_nhbas_fy TYPE pad_amt7s,
l_m_rent_10 TYPE pad_amt7s,
l_m_elg_ty TYPE pad_amt7s,
l_m_basic_50 TYPE pad_amt7s,
l_mthra
TYPE abrwt,
l_nmhra
TYPE abrwt,
l_n_rent_10 TYPE pad_amt7s,
l_n_elg_ty TYPE pad_amt7s,
l_n_basic_40 TYPE pad_amt7s,
l_MLREN_5_FY TYPE pad_amt7s,
l_MLBAS_5_FY TYPE pad_amt7s,
l_TMP_BETRG TYPE pad_amt7s,
l_Actual_rent TYPE pad_amt7s,
l_salary_10 TYPE pad_amt7s,
wa_it TYPE pc207.
*--move the data to the local variables
l_mhbas_fy = mhbas_fy.
l_mhelg_fy = mhelg_fy.
l_mhren_fy = mhren_fy.
l_mthra = mthra.
l_nhelg_fy = nhelg_fy.
l_nhren_fy = nhren_fy.
l_nhbas_fy = nhbas_fy.
l_nmhra = nmhra.
*--metro hra calculation
*--50% of annual basis
l_m_basic_50 = l_mthra * l_mhbas_fy / 100.
*--Hra Projected / Actual
l_m_elg_ty = l_mhelg_fy.
*--rent paid - 10 % basis
l_m_rent_10 = l_mhren_fy - ( v3con * l_mhbas_fy ) / 100.
*--non metro hra calculations
*--40% of annual basis
l_n_basic_40 = l_nmhra * l_nhbas_fy / 100.
*--Hra Projected / Actual
l_n_elg_ty = l_nhelg_fy.
*--rent paid - 10 % basis
l_n_rent_10 = l_nhren_fy - ( v3con * l_nhbas_fy ) / 100.
*-->CLA logic
l_MLREN_5_FY = MLREN_5_FY.
l_MLBAS_5_FY = MLBAS_5_FY.
l_Actual_rent = l_MLREN_5_FY. " Actual rent
l_salary_10 = l_MLBAS_5_FY *
CLAS
1 / 100 . " 10% Salary
l_tmp_betrg = MLBAS_5_FY_DIF + MOBAS_6_FY_DIF + NOBAS_6_FY_DIF +
MOBAS_9_FY_DIF + NOBAS_9_FY_DIF + OTBAS_9_FY_DIF.
if l_TMP_BETRG < 0 .
if l_Actual_rent > l_salary_10.
l_salary_10 = l_salary_10 + l_TMP_BETRG.
else.
l_Actual_rent = l_Actual_rent + l_TMP_BETRG.
endif.
ENDIF.
CLEAR wa_it.
IF l_m_elg_ty IS NOT INITIAL.
wa_it-lgart = '9D94'.
wa_it-betrg = l_m_elg_ty.
APPEND wa_it TO it.
ENDIF.
IF l_m_basic_50 IS NOT INITIAL.
wa_it-lgart = '9D95'.
wa_it-betrg = l_m_basic_50.
A
PPE
ND wa_it TO it.
ENDIF.
IF l_m_rent_10 IS NOT INITIAL.
wa_it-lgart = '9D96'.
wa_it-betrg = l_m_rent_10.
APPEND wa_it TO it.
ENDIF.
IF l_n_elg_ty IS NOT INITIAL.
wa_it-lgart = '9D97'.
wa_it-betrg = l_n_elg_ty.
APPEND wa_it TO it.
ENDIF.
IF l_n_basic_40 IS NOT INITIAL.
wa_it-lgart = '9D98'.
wa_it-betrg = l_n_basic_40.
APPEND wa_it TO it.
ENDIF.
IF l_n_rent_10 IS NOT INITIAL.
wa_it-lgart = '9D99'.
wa_it-betrg = l_n_rent_10.
APPEND wa_it TO it.
ENDIF.
IF l_Actual_rent IS NOT INITIAL.
wa_it-lgart = '9DC1'.
wa_it-betrg = l_Actual_rent.
APPEND wa_it TO it.
ENDIF.
IF l_salary_10 IS NOT INITIAL.
wa_it-lgart = '9DC2'.
wa_it-betrg = l_salary_10.
APPEND wa_it TO it.
ENDIF.
If we have Metro and non-metro both during
the FY sum of the least in both else if we have any one of these least of that
will be Exemption
|