某個需求中間調用了標準的程序。ide
帶選擇屏幕。測試
寫了個測試程序,玩兒的。ui
首先寫了一個取數report:spa
而後寫了個調用的reportblog
測試結果:圖片
spfli 表數據:get
我兩個report的,選擇屏幕 字段順序不同,這個不要緊,即便只有部分,也沒問題。it
RADIOBUTTON、CHECKBOX、SELECT-OPTIONS、PARAMETERS 都行。io
代碼以下;table
取數程序代碼:
REPORT 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.
ENDIF.
調用程序
REPORT 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 RETURN.