Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8944

Re: Problem in select_options in AMDP

$
0
0

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.


Viewing all articles
Browse latest Browse all 8944

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>