续更SAP相关内容。
今天要讲屏幕开发中,实现程序的返回与退出功能。
话不多说,操作。
(1)为我们的主程序添加一个状态栏。
(右击主程序,选择创建,再选择GUI状态)
(2)下面是我们刚加的状态栏。
(3)我们展开功能键,可以看到它包含的所有内容。
(4)选择返回,退出和关闭这三个功能键,给他们起一个名字,然后CTRL+S保存。
(5)然后在0100屏幕的代码中我们可以看到刚加的0100状态栏。
(6)然后我们双击这个状态栏为它写逻辑代码块,建立PBO(可以理解为屏幕加载前触发,有点类似C#中的Form_Load事件,但有细微区别)代码块时要选择主程序(选择Include程序也是可以的,但我们目前还没有涉及到)。
(7)这时,状态栏就已经有了,我们要做的是加一个按钮,因为我们之前说过,abap中按钮事件时通过功能码来实现的。
(8)这时回到主程序,定义一个变量来接收按钮的功能码。
DATA STATUS_CODE TYPE sy-ucomm."定义一个名字为STATUS_CODE的变量(这个名字要和第七步中的按钮名称一样),它的类型参照系统中自带的名字为sy-ucomm的标准功能码"
(9)在0100状态栏的PBO事件中加入这句代码。(这句话的意思是在状态栏加载前,给这个状态栏中加入工具栏)
(10)这时,状态栏的PBO事件就写好了,下面就是为状态栏添加一个PAI事件来写点击按钮的逻辑。(和第六步一样,双击user_command_0100事件,来为它创建代码)
(11)在上一步添加的PAI时间中写逻辑代码,判断点击不同按钮时执行不同的语句。
CASE STATUS_CODE."这个STATUS_CODE就是我们第七步中按钮的名字,也是第八步中定义的功能码变量的名字"
WHEN 'BACK'."当功能码获取到的是BACK时"
LEAVE TO SCREEN 0.""退回到屏幕0
WHEN 'EXIT'. "当功能码获取到的是EXIT时"
LEAVE PROGRAM."退出程序"
WHEN OTHERS.
ENDCASE.
(12)保存+激活,然后运行,可以发现这时退出和返回按钮就起作用了。