函数RS_REFRESH_FROM_SELECTOPTIONS可以取得选择画面中的select-option和parameters的输入值。
代码如下:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
 | 
 REPORT ztest_get_select_value. 
*&---------------------------------------------------------------------* 
*& Data Declaration 
*&---------------------------------------------------------------------* 
TABLES: mara. 
DATA:git_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 = git_params[]. 
  SORT git_params BY kind. 
  WRITE:/ ‘Parameters‘. 
  WRITE:/ ‘Name‘ ,20 ‘Value‘ . 
  LOOP AT git_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 git_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. 
 | 
测试:
选择画面中输入需要的值:
运行结果:
以上。
        
