显示一个屏幕,隐藏其他屏幕

通过单选按钮选择输入参数的屏幕。比如有四个屏幕定义,通过单选按钮选择当前操作界面,隐藏其他三个屏幕。
 
SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
PARAMETERS : ra1 RADIOBUTTON GROUP rad1 DEFAULT 'X' USER-COMMAND sel,
                       ra2 RADIOBUTTON GROUP rad1 ,
                       ra3 RADIOBUTTON GROUP rad1 ,
                       ra4 RADIOBUTTON GROUP rad1 .
SELECTION-SCREEN END OF BLOCK bk1 .
SELECTION-SCREEN BEGIN OF BLOCK bk2 WITH FRAME TITLE text-002.

SELECT-OPTIONS: s_bukrs1 FOR glpct-rbukrs MODIF ID g1,
                s_ryear1 FOR glpct-ryear NO-EXTENSION NO INTERVALS MODIF ID g1,
                s_poper1 FOR glpca-poper MODIF ID g1.

SELECT-OPTIONS: s_bukrs2 FOR glpct-rbukrs MODIF ID g2,
                s_ryear2 FOR glpct-ryear NO-EXTENSION NO INTERVALS MODIF ID g2,
                s_poper2 FOR glpca-poper MODIF ID g2.
SELECT-OPTIONS: s_bukrs3 FOR glpct-rbukrs MODIF ID g3,
                s_ryear3 FOR glpct-ryear NO-EXTENSION NO INTERVALS MODIF ID g3,
                s_poper3 FOR glpca-poper MODIF ID g3.

SELECT-OPTIONS: s_bukrs4 FOR glpct-rbukrs MODIF ID g4,
                s_ryear4 FOR glpct-ryear NO-EXTENSION NO INTERVALS MODIF ID g4,
                s_poper4 FOR glpca-poper MODIF ID g4,
                s_area4 FOR glpct-rfarea MODIF ID g4.
SELECTION-SCREEN END OF BLOCK bk2.
 
 
AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    CASE screen-group1.
      WHEN 'G1'.
        IF ra1 = 'X'.
          screen-active = '1'.
        ELSE.
          screen-active = '0'.
        ENDIF.
      WHEN 'G2'.
        IF ra2 = 'X'.
          screen-active = '1'.
        ELSE.
          screen-active = '0'.
        ENDIF.
      WHEN 'G3'.
        IF ra3 = 'X'.
          screen-active = '1'.
        ELSE.
          screen-active = '0'.
        ENDIF.
      WHEN 'G4'.
        IF ra4 = 'X'.
          screen-active = '1'.
        ELSE.
          screen-active = '0'.
        ENDIF.
    ENDCASE.
    MODIFY SCREEN.
  ENDLOOP.
START-OF-SELECTION.
  IF ra1 = 'X'.
    PERFORM frm_get_data1.
    PERFORM frm_deal_data1.
  ELSEIF ra2 = 'X'.
    PERFORM frm_get_data2.
    PERFORM frm_deal_data2.
  ELSEIF ra3 = 'X'.
   PERFORM frm_get_data3.
   PERFORM frm_deal_data3.
  ELSEIF ra4 = 'X'.
   PERFORM frm_get_data4.
   PERFORM frm_deal_data4.
  ENDIF.
END-OF-SELECTION.
  IF ra1 = 'X'.
    PERFORM frm_alv_display1.
  ELSEIF ra2 = 'X'.
    PERFORM frm_alv_display2.
  ELSEIF ra3 = 'X'.
    PERFORM frm_alv_display3.
  ELSEIF ra4 = 'X'.
    PERFORM frm_alv_display4.
  ENDIF.

你可能感兴趣的:(显示一个屏幕,隐藏其他屏幕)