在ABAP中在屏幕上创建按钮,你需要在SELECTION-SCREEN对象中加入PUSHBUTTON参数,语法如下:
[Syntax]
SELECTION-SCREEN PUSHBUTTON [/] <pos(len)> <name> USER-COMMAND <ucom> [MODIF ID <key>]
<pos(len)>:PUSHBUTTON按钮在屏幕生成的位置与长度。
<name>:PUSHBUTTON按钮的名称,给按钮赋值时要用到名字。
<ucom>:必须指定的字符代码,当用户在选择屏幕上触发按钮时,<ucom>被输入到词典对象字段:SSCRFIELDS-UCOMM中,需要注意的是,必须显式使用语句TABLES引用SSCRFIELDS。否则将会报如下错误:
[For Example]
TABLES SSCRFIELDS."引用词典对象
INCLUDE:<icon>. "按钮中加入图标必须调用该类型库,图标请参考T-CODE:ICON
SELECTION-SCREEN PUSHBUTTON /1(20) PUBU1 USER-COMMAND ABCD.
SELECTION-SCREEN SKIP."换行
SELECTION-SCREEN PUSHBUTTON /10(25) PUBU2 USER-COMMAND ABCE. "位置从10开始
AT SELECTION-SCREEN OUTPUT.
MOVE 'CALL NEXT SCREEN' TO PUBU1. "给PUBU1按钮赋值描述
*INITIALIZATION. "屏幕初始化
* PUBU1 = 'First PUSHBUTTON'.
WRITE ICON_OKAY AS ICON TO PUBU2. "给PUBU2按钮添加图标,并且在给按钮赋值之前,否则将会把文字替换。
*MOVE 'THE SECOND BUTTON' TO PUBU2.
CONCATENATE PUBU2 'My Second Button' INTO PUBU2 SEPARATED BY SPACE. "给第二个按钮添加赋值描述
AT SELECTION-SCREEN.
IF SSCRFIELDS-UCOMM = 'ABCD'.
CALL SELECTION-SCREEN 1234. "调用程序中的另一个窗体
ENDIF.
以上代码运行界面如下:
点击"CALL NEXT SCREEN"按钮调用下一个屏幕,如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端