点击上方 蓝字 关注我们
You're obligated to keep trying. To the best you can do everyday.
你必须不断尝试,每天表现你最好的一面。
说 明
本文介绍ABAP如何在选择屏幕实现展开/折叠屏幕元素:
1、自定义按钮,设置User-Command触发PAI切换图标;
2、PBO事件中,按组动态控制屏幕元素显示、隐藏;
效 果
代 码
TYPE-POOLS icon .
TABLES spfli .
*------------------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN PUSHBUTTON 1 ( 4 ) btn1 USER-COMMAND fbtn1 VISIBLELENGTH 2 .
SELECTION-SCREEN COMMENT 4 ( 6 ) txt1 .
SELECTION-SCREEN END OF LINE .SELECT-OPTIONS :s_carrid FOR spfli \- carrid MODIF ID m1 , " 航线代码
s_connid FOR spfli \- connid MODIF ID m1 . " 航班编号
*------------------------------------------------------------------------------*
SELECTION-SCREEN SKIP 1 .*------------------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN PUSHBUTTON 1 ( 4 ) btn2 USER-COMMAND fbtn2 VISIBLELENGTH 2 .
SELECTION-SCREEN COMMENT 4 ( 6 ) txt2 .
SELECTION-SCREEN END OF LINE .SELECT-OPTIONS :s_countr FOR spfli \- countryfr MODIF ID m2 , " 起飞国家
s_counto FOR spfli \- countryto MODIF ID m2 , " 到达国家
s_cityfr FOR spfli \- cityfrom MODIF ID m2 , " 起飞城市
s_cityto FOR spfli \- cityto MODIF ID m2 . " 到达城市
*------------------------------------------------------------------------------*
INITIALIZATION .
txt1 = ' 基础字段 ' .
txt2 = ' 拓展字段 ' .
btn1 = icon_data_area_expand .
btn2 = icon_data_area_collapse .
%_s_carrid_%_app_% \- text = ' 航线代码 ' .
%_s_connid_%_app_% \- text = ' 航班编号 ' .
%_s_countr_%_app_% \- text = ' 起飞国家 ' .
%_s_counto_%_app_% \- text = ' 到达国家 ' .
%_s_cityfr_%_app_% \- text = ' 起飞城市 ' .
%_s_cityto_%_app_% \- text = ' 到达城市 ' .
AT SELECTION-SCREEN .
CASE sy \- ucomm .
WHEN 'FBTN1' .
IF btn1 = '@K1@' .btn1 = icon_data_area_collapse .
ELSE .
btn1 = icon_data_area_expand .
ENDIF .WHEN 'FBTN2' .
IF btn2 = '@K1@' .btn2 = icon_data_area_collapse .
ELSE .
btn2 = icon_data_area_expand .
ENDIF .
ENDCASE .AT SELECTION-SCREEN OUTPUT .
LOOP AT SCREEN .
IF btn1 = '@K2@' AND screen \- group1 = 'M1' .screen \- active = 0 .
MODIFY SCREEN .
ENDIF .IF btn2 = '@K2@' AND screen \- group1 = 'M2' .screen \- active = 0 .
MODIFY SCREEN .
ENDIF .
ENDLOOP .以上是今日分享,希望对你有所帮助~~~
欢迎点赞、留言、分享
往期推荐
[ ABAP 选择屏幕-搜索帮助
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247491935&idx=1&sn=2eddfb9d5dce509facd77c83cbdac89f&chksm=cf0a35b1f87dbca7175e5e95e18721e563750b82cb6c98ff6707e971c8225ad8737d016e473f&scene=21#wechat_redirect)
[ ABAP 选择屏幕-下拉列表
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247491445&idx=1&sn=dcd5be40650ec9b9dbf714f1cfaacf2a&chksm=cf09cb9bf87e428d7e84c7b89d6543a74413760bf53806021b0ff89cb2968374bcdb712d3111&scene=21#wechat_redirect)
点个 在看 你最好看