效果圖ide
參考代碼spa
REPORT ZLM_SCREEN1.
TABLES SSCRFIELDS.
"展開--關閉按鈕
SELECTION-SCREEN: PUSHBUTTON /2(10) B_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.
PARAMETERS: P_ID TYPE STRING MODIF ID M_C.
SELECTION-SCREEN END OF BLOCK B01.
PARAMETERS: P_FLG TYPE C 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_FLAG) LIKE 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