How to capture input values in the selection screen?
Use the function module RS_REFRESH_FROM_SELECTOPTIONS to capture the values entered by the user in the selection screen. This FM will return the input values in the selection screen to a selection table. Selection table has the structure RSPARAMS:
SELNAME = Name of selection criterion
KIND = Type of selection (parameter or select-option)
SIGN = ‘I’ (Inclusive) or ‘E’ (Exclusive)
OPTION = e.g. ‘BT’, ‘EQ’, ‘LE’.
LOW = Lower limit
HIGH = Upper limit
*&---------------------------------------------------------------------* *& Data Declaration *&---------------------------------------------------------------------* TABLES: mara. DATA:gt_params TYPE TABLE OF rsparams. DATA:gwa_params TYPE rsparams. *&---------------------------------------------------------------------* *& Selection Screen *&---------------------------------------------------------------------* SELECT-OPTIONS:s_matnr FOR mara-matnr. PARAMETERS:p_mtart TYPE mara-mtart. PARAMETERS:p_matkl TYPE mara-matkl. *&---------------------------------------------------------------------* *& Start of Selection *&---------------------------------------------------------------------* START-OF-SELECTION. CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS' EXPORTING curr_report = sy-repid TABLES selection_table = gt_params[]. SORT gt_params BY kind. WRITE:/ 'Parameters'. WRITE:/ 'Name' ,20 'Value' . LOOP AT gt_params INTO gwa_params WHERE kind = 'P'. WRITE:/ gwa_params-selname ,20 gwa_params-low. ENDLOOP. skip. WRITE:/ 'Select-Options'. WRITE:/ 'Name' ,20 'Sign' ,25 'Option',32 'Low',52 'High'. LOOP AT gt_params INTO gwa_params WHERE kind = 'S'. WRITE:/ gwa_params-selname ,20 gwa_params-sign , 25 gwa_params-option, 32 gwa_params-low, 52 gwa_params-high. ENDLOOP.
Selection Screen
Output