ALV 选择屏幕的展开和折叠

编程入门 行业动态 更新时间:2024-10-26 06:38:50

ALV 选择<a href=https://www.elefans.com/category/jswz/34/1767915.html style=屏幕的展开和折叠"/>

ALV 选择屏幕的展开和折叠

方式一:使用COMMENT关键字。

REPORT ztest_collapse.TYPE-POOLS icon.
TABLES mara.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME .PARAMETERS p_werks TYPE werks.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN PUSHBUTTON 1(4) but1 USER-COMMAND button1 VISIBLELENGTH 2.SELECTION-SCREEN COMMENT 6(20) com1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME .SELECT-OPTIONS:s_matnr FOR mara-matnr MODIF ID bl1,s_groes FOR mara-groes MODIF ID bl1.
SELECTION-SCREEN END OF BLOCK b2 .INITIALIZATION.WRITE icon_data_area_expand AS ICON TO but11 = 'DATA EXPAND'.AT SELECTION-SCREEN.CASE sy-ucomm.WHEN 'BUTTON1'.IF but1 = '@K1@'.WRITE icon_data_area_collapse AS ICON TO but11 = 'DATA COLLAPSE'.ELSE.WRITE icon_data_area_expand AS ICON TO but11 = 'DATA EXPAND'.ENDIF.ENDCASE.AT SELECTION-SCREEN OUTPUT.LOOP AT SCREEN.IF but1 = '@K2@' AND screen-group1 = 'BL1'.screen-active = 0.MODIFY SCREEN.ENDIF.ENDLOOP.

运行效果:

方法二:使用Function Module: ICON_CREATE.

REPORT ztest_collapse2.TYPE-POOLS icon.
TABLES mara.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME .PARAMETERS p_werks TYPE werks.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN PUSHBUTTON 1(40) but1 USER-COMMAND button1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME .SELECT-OPTIONS:s_matnr FOR mara-matnr MODIF ID bl1,s_groes FOR mara-groes MODIF ID bl1.
SELECTION-SCREEN END OF BLOCK b2 .INITIALIZATION.CALL FUNCTION 'ICON_CREATE'EXPORTINGname                  = icon_data_area_collapsetext                  = 'Data Expand'info                  = 'Data Expand'
*     ADD_STDINF            = 'X'IMPORTINGresult                = but1EXCEPTIONSicon_not_found        = 1outputfield_too_short = 2OTHERS                = 3.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.AT SELECTION-SCREEN.CASE sy-ucomm.WHEN 'BUTTON1'.IF but1(03) = '@K1'.CALL FUNCTION 'ICON_CREATE'EXPORTINGname                  = icon_data_area_collapsetext                  = 'Data Expand'info                  = 'Data Expand'
*           ADD_STDINF            = 'X'IMPORTINGresult                = but1EXCEPTIONSicon_not_found        = 1outputfield_too_short = 2OTHERS                = 3.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.ELSE.CALL FUNCTION 'ICON_CREATE'EXPORTINGname                  = icon_data_area_expandtext                  = 'Data Collapse'info                  = 'Data Collapse'
*           ADD_STDINF            = 'X'IMPORTINGresult                = but1EXCEPTIONSicon_not_found        = 1outputfield_too_short = 2OTHERS                = 3.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.ENDIF.ENDCASE.AT SELECTION-SCREEN OUTPUT.LOOP AT SCREEN.IF but1(03) = '@K2' AND screen-group1 = 'BL1'.screen-active = 0.MODIFY SCREEN.ENDIF.ENDLOOP.

运行效果:

更多推荐

ALV 选择屏幕的展开和折叠

本文发布于:2024-03-14 13:42:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1736595.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:屏幕   ALV

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!