Abap
Abap
"--------------------------------------------------------------------------"
Populate final data structure
wa_final-act_year = wa_pa0001-begda+0(4).
wa_final-act_month = wa_pa0001-begda+4(2).
wa_final-emp_type = wa_pa0001-persg.
"--------------------------------------------------------------------------"
Determine leave balances and transactions
read table lt_pa2006 into wa_pa2006 with key ktart = '14'.
if sy-subrc eq 0.
wa_final-open_bl_el = wa_pa2006-ktart.
else.
wa_final-open_bl_hpl = wa_pa2006-ktart.
endif.
at new pernr.
wa_final-act_emp = wa_pa0001-pernr.
loop at lt_pa0416 into wa_pa0416.
lv_counter = wa_pa0416-pernr.
if wa_pa0416-pernr eq lv_counter.
lv_total = wa_pa0416-numbr + lv_total.
endif.
endloop.
wa_final-encash_el = lv_total.
if wa_final-encash_el gt '300'.
wa_final-lapse_el = wa_final-encash_el.
endif.
endat.
"----------------------------------------------------------------------------"
Calculate closing balances
wa_final-close_el = ( wa_final-grant_el + wa_final-open_bl_el ) - ( wa_final-
avail_el - wa_final-encash_el ).
wa_final-close_hpl = ( wa_final-grant_hpl + wa_final-close_hpl ) - wa_final-
avail_hpl.
"----------------------------------------------------------------------------"
Append processed data to final table
* wa_final-trans_date
* wa_final-user_id
append wa_final to lt_final.