選擇屏幕摺疊功能

效果圖ide

圖片

圖片

參考代碼spa


REPORT ZLM_SCREEN1.

TABLES SSCRFIELDS.

"展開--關閉按鈕
SELECTION-SCREENPUSHBUTTON /2(10B_OPEN
                      USER-COMMAND F_OPEN MODIF ID M_O,    "open
                  PUSHBUTTON /2(10)  B_CLS
                      USER-COMMAND F_CLS  MODIF ID M_C.    "close

"選擇屏幕
SELECTION-SCREEN BEGIN OF BLOCK B01 WITH FRAME TITLE TEXT-001.
PARAMETERSP_ID TYPE STRING MODIF ID M_C.
SELECTION-SCREEN END OF BLOCK B01.

PARAMETERSP_FLG TYPE NO-DISPLAY.

INITIALIZATION.orm


  "添加兩個圖標
  CONCATENATE ICON_EXPAND'打開' '' INTO B_OPEN,
               '打開' '' INTO B_OPEN.

  CONCATENATE ICON_COLLAPSE'關閉' '' INTO B_CLS,
                '關閉' '' INTO B_CLS.

  "默認是 關閉狀態,點打開才能看到選擇屏幕
  P_FLG 'X'.

AT SELECTION-SCREEN.
  CASE SSCRFIELDS-UCOMM.
    WHEN 'F_OPEN'.     "打開
      CLEAR P_FLG.
    WHEN 'F_CLS'.       "關閉
      P_FLG 'X'.
  ENDCASE.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    "修改屏幕顯示狀態
    PERFORM CLOSE_BLOCK USING:  P_FLG 'M_O' 'X',
                                                            P_FLG 'M_C' SPACE.
  ENDLOOP.


*&---------------------------------------------------------------------*
*&      Form  CLOSE_BLOCK
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->VALUE            text
*      -->(U_CLOSE_BLOCK)  text
*      -->U_MODIFY_ID      text
*      -->U_CONVERT        text
*----------------------------------------------------------------------*
FORM CLOSE_BLOCK USING VALUE(P_FLAGLIKE P_FLG
                     P_MODIFY_ID LIKE SCREEN-GROUP1
                     P_CONVERT."顯示內容標識

  IF P_CONVERT IS NOT INITIAL.
    IF P_FLAG IS INITIAL.
      P_FLAG 'X'.
    ELSE.
      CLEAR P_FLAG.
    ENDIF.
  ENDIF.

  IF SCREEN-GROUP1 P_MODIFY_ID )
    AND (  P_FLAG IS NOT INITIAL ).
    SCREEN-ACTIVE '0'.
    MODIFY SCREEN.
  ENDIF.

ENDFORM.                    "close_block
blog

相關文章
相關標籤/搜索