前言
选择屏幕实现按钮折叠、展开效果。。。直接上代码!!!
代码如下
*&---------------------------------------------------------------------*
*& 程 序 名:YTEST_001
*& 程序描述:选择屏幕->按钮折叠、展开
*& 创 建 者:jyh
*& 创建日期:2023/11/20
*&---------------------------------------------------------------------*
*& 版本 修改者(公司) 日期 修改描述
*& 1.0.0 XXXX YYYYMMDD 创建程序
*&---------------------------------------------------------------------*
REPORT ytest_001.
*&---------------------------------------------------------------------*
* TABLES
*&---------------------------------------------------------------------*
TABLES:mara.
*&---------------------------------------------------------------------*
* SELECTION-SCREEN
*&---------------------------------------------------------------------*
*定义按钮
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 1(4) but01 USER-COMMAND bt1 VISIBLE LENGTH 2.
SELECTION-SCREEN COMMENT 6(20) t1.
SELECTION-SCREEN END OF LINE.
*定义展开后的选择屏幕
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE t2.
SELECT-OPTIONS:s_mstae FOR mara-mstae MODIF ID md3,
s_matnr FOR mara-matnr MODIF ID md3,
s_ernam FOR mara-ernam MODIF ID md3,
s_pstat FOR mara-pstat MODIF ID md3.
SELECTION-SCREEN END OF BLOCK b01.
*&----------------------------------------------------------------------
*& INITIALIZATION.
*&----------------------------------------------------------------------
INITIALIZATION.
* 初始化
t1 = '折叠'.
t2 = '查询条件'.
but01 = icon_data_area_expand.
*&----------------------------------------------------------------------
*& AT SELECTION-SCREEN OUTPUT
*&----------------------------------------------------------------------
AT SELECTION-SCREEN OUTPUT.
* 屏幕属性控制
LOOP AT SCREEN .
IF but01 = icon_data_area_expand AND screen-group1 = 'MD3' .
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*&----------------------------------------------------------------------
*& AT SELECTION-SCREEN
*&----------------------------------------------------------------------
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'BT1'.
IF but01 = icon_data_area_expand.
WRITE icon_data_area_collapse AS ICON TO but01.
t1 = '折叠'.
ELSE.
WRITE icon_data_area_expand AS ICON TO but01.
t1 = '展开'.
ENDIF.
WHEN OTHERS.
ENDCASE.
效果展示
总结
感谢!