To use select option in AMDP, you need to convert your select-option table into a "where clause" string.
That can be done using FM "RSDS_RANGE_TO_WHERE".
Please find sample code below :
data : lt_range type rs_t_rscedst,
ls_range type rs_rscedst,
lv_whereclause type string.
loop at s_optiontab.
clear ls_range.
ls_range-fname = 'FIELDNAME'. "name of column on which the filter will act
ls_range-sign = s_optiontab-sign.
ls_range-option = s_optiontab-option.
ls_range-low = s_optiontab-low.
l s_range-high = s_optiontab-high.
append ls_range to lt_range.
endloop.
call function 'RSDS_RANGE_TO_WHERE'
exporting
i_t_range = lt_range
importing
e_where = lv_whereclause
exceptions
internal_error = 1
others = 2.
Now, pass this lv_whereclause string to the AMDP class.
Inside the AMDP after you have selected the data into the internal table use the where clause string to filter data by the following syntax.
it_data = APPLY_FILTER(:it_data,:lv_whereclause);
PS: the column on which the filter needs to work has to be in the selected columns i.e it needs to exist in the internal table.