Submit report 很實用FM:RS_REFRESH_FROM_SELECTOPTIONS

某個需求中間調用了標準的程序。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.


DATAlt_spfli TYPE TABLE OF spfli.

START-OF-SELECTION.

  IF pc_max IS NOT INITIAL.
    SELECT FROM spfli INTO TABLE lt_spfli UP TO 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.

相關文章
相關標籤/搜索