带选择屏幕。
 
 
 
 
写了个测试程序,玩儿的。
 
 
 
 
首先写了一个取数report:
 
 
 
 

然后写了个调用的report

测试结果:

 
 
 
 
spfli 表数据:
 
 

 
 
我两个report的,选择屏幕 字段顺序不一样,这个没关系,即使只有部分,也没问题。
 
 
 
 
RADIOBUTTON、CHECKBOX、SELECT-OPTIONS、PARAMETERS 都行。
 
 
 
 
代码如下;
 
 
 
 
取数程序代码:
 
 
zlm_get_spfli
  .
  
 
  TABLES spfli
  .
  
 
  PARAMETERS 
  :p_carrid 
  
  TYPE spfli
  -carrid
  .
  
 
  PARAMETERS pc_max 
  
  AS 
  CHECKBOX 
  DEFAULT 
  ''
  .
  
 
  PARAMETERS rd_test1 
  
  RADIOBUTTON 
  GROUP g1 
  
  DEFAULT 
  'X'
  .
  
 
  PARAMETERS rd_test2 
  
  RADIOBUTTON 
  GROUP g1
  .
  
 
  SELECT-OPTIONS
  :s_connid 
  
  FOR spfli
  -connid
  .
  
 
  DATA
  : lt_spfli 
  
  TYPE 
  TABLE 
  OF spfli
  .
  
 
  START-OF-SELECTION
  .
  
  
   
  
  IF pc_max 
  
  IS 
  NOT 
  INITIAL
  .
  
  
   
   
   
  
  SELECT * 
  
  FROM spfli 
  
  INTO 
  TABLE lt_spfli 
  
  UP 
  TO 
  2 
  ROWS
  
  
   
   
   
  
  where carrid 
  
  = p_carrid
  
  
   
   
   
   
   
  
  and connid 
  
  in s_connid
  .
  
  
   
  
  ELSE
  .
  
  
   
   
   
  
  SELECT * 
  
  FROM spfli 
  
  INTO 
  TABLE lt_spfli
  
  
   
   
   
   
   
  
  WHERE carrid 
  
  = p_carrid
  
  
   
   
   
   
   
   
   
  
  AND connid 
  
  IN s_connid
  .
  
  
   
  
  ENDIF
  .
  
  
   
  
  IF rd_test1 
  
  IS 
  INITIAL
  .
  
  
   
   
   
  
  WRITE 
  : 
  'rd_test1'
  .
  
  
   
  
  ELSE
  .
  
  
   
   
   
  
  CALL 
  FUNCTION 
  'REUSE_ALV_GRID_DISPLAY'
  
  
   
   
   
   
   
  
  EXPORTING
  
  
   
   
   
   
   
   
   
  i_structure_name 
  
  = 
  'SPFLI'
  
  
   
   
   
   
   
  
  TABLES
  
  
   
   
   
   
   
   
   
  t_outtab 
   
   
   
   
   
   
   
   
  
  = lt_spfli
  
  
   
   
   
   
   
  
  EXCEPTIONS
  
  
   
   
   
   
   
   
   
  program_error 
   
   
   
  
  = 
  1
  
  
   
   
   
   
   
   
   
  
  OTHERS           
  = 
  2
  .
  
  
   
   
   
  
  IF sy
  -subrc 
  <> 
  
  0
  .
  
 
  * Implement suitable error handling here
  
  
   
   
   
  
  ENDIF
  .
  
  
   
  
 
 
 
 
 
 
 
 
 
 
调用程序
 
 
ztest_submit
  .
  
 
  TABLES spfli
  .
  
 
  PARAMETERS 
  :p_carrid 
  
  TYPE spfli
  -carrid
  .
  
 
  SELECT-OPTIONS
  :s_connid 
  
  FOR spfli
  -connid
  .
  
 
  PARAMETERS pc_max 
  
  AS 
  CHECKBOX 
  DEFAULT 
  ''
  .
  
 
  PARAMETERS rd_test1 
  
  RADIOBUTTON 
  GROUP g1 
  
  DEFAULT 
  'X'
  .
  
 
  PARAMETERS rd_test2 
  
  RADIOBUTTON 
  GROUP g1
  .
  
 
  DATA t_rsparams 
  
  TYPE 
  TABLE 
  OF rsparams
  .
  
 
  CALL 
  FUNCTION 
  'RS_REFRESH_FROM_SELECTOPTIONS'
  
  
   
  
  EXPORTING
  
  
   
   
   
  curr_report 
   
   
   
   
  
  = sy
  -
  repid
  
 
  *IMPORTING
  
 
  *   SP              =
  
  
   
  
  TABLES
  
  
   
   
   
  selection_table 
  
  = t_rsparams
  
  
   
  
  EXCEPTIONS
  
  
   
   
   
  not_found 
   
   
   
   
   
   
  
  = 
  1
  
  
   
   
   
  no_report 
   
   
   
   
   
   
  
  = 
  2
  
  
   
   
   
  
  OTHERS          
  = 
  3
  .
  
 
  SUBMIT zlm_get_spfli 
  
  WITH 
  SELECTION-TABLE t_rsparams
  
  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
  
  AND 










