Hi Robert,
You can check this link to see how to implement a routine in an exit.
Then, about your specific requirement, these are two diferent examples of month selection.
WHEN 'AR12'.
IF i_step = 2.
LOOP AT i_t_var_range INTO loc_var_range
WHERE vnam = 'ARAN'.
anio = loc_var_range-low(4).
CONCATENATE anio '01' INTO mesanio.
CONCATENATE anio '12' INTO mesanio1.
l_s_range-low = mesanio.
l_s_range-high = mesanio1.
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
APPEND l_s_range TO e_t_range.
ENDLOOP.
ENDIF.
WHEN 'AMD'.
IF i_step = 1.
CLEAR l_s_range.
vaniomes = sy-datum+0(6).
CONCATENATE vaniomes '01' INTO vfech.
vfech = vfech - 1.
l_s_range-low+0(6) = vfech+0(6).
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
ENDIF.
Hope this help you.
Regards from MX.