GUI Status与GUI Title用于自定义工具栏按钮及Report程序标题栏显示内容,可以通过SE81或直接在SE38中展开对象列表进行相关操作。如下图所示为ABAP编辑器中展开,点击:或者按捷键(CTRL+SHILF+F5)
1)GUI Status的定义及应用
GUI Status 用于自定义工具栏按钮。单击上图中的GUI Status菜单即可以弹出Create Status对话框,所定义属性包括程序名称及工具栏的名称、基本描述及状态类型。如下图:
填写完整相关属性,单击按钮进入GUI Status参数设置界面,如下图:
GUI Status参数设置共包括3个部分:
1.菜单栏(Menu Bar):用于设置主菜单选项。
2.应用工具条(Application ToolBar):用于设置应用工具栏按钮,包括按钮名称、按钮描述、及按钮所对的ICON图标。
3.功能键(Function Key):为按钮分配功能键代码,包括系统标题按钮(如返回、退出、关闭等)及通过Application ToolBar所定义的客制化按钮。
下面介绍如何在程序中创建一个工具栏按钮,并为其分配Function Key。
1.选择Application ToolBar中一个文本框,并输入自定义名称,如下图:
2.填写完成后回车或者双击,进入文本类型设置界面,将选择文本类型设置为静态文本选项(Static Text)。
3.单击按钮,进入ToolBar按钮功能设置界面,如下图:
其中功能代码(Function Code)为基本描述,函数文本(Function Text)为描述字段,图标名称(ICON Name)用于设置该按钮的图标,信息文本(INFO Text)为程序运行时按钮所显示的信息文本。
4.设置完成后,单击按钮,系统将弹出Assign Function To Function Key对话框,由用户为新增按钮分配一快捷键。
5.选择某功能键字段后单击按钮(或双击该功能键字段),进入相关确认页后返回设置主界面,设置其它功能按钮。
返回主界面Application ToolBar中新增了上面步骤中设置的按钮及图标的相关信息,Function KEYS中新增了该按钮对应功能键选项。如下图:
由于工具栏是自定义的,原系统标准功能按钮(如:SAVE、BACK、CANCEL、EXIT等)都需要重新设定,维护Standard ToolBar页面中各按钮字段的Function Key值。
所有设置完成后,保存激活,GUI Status创建成功。下面,我们需要对刚才新增的GUI Status进行调用,应用于START-OF-SELECTION事件。定义语法如下:
SET PF-STATUS <GUI STATUS NAME>.
对于定义的按钮,我们可以通过系统变量SY-UCOMM来获取它的功能代码。GUI STATUS的调用必须在Report输出是才触发。如下小例:
REPORT ZZWEI_MESSAGE.
WRITE: 'GUI STATUS TEST'.
AT USER-COMMAND. "当单击某个按钮时,触发该事件
CASE sy-ucomm. "获取所操作按钮的功能代码(FUNCTION Code),针对不同按钮事件判断执行不同的操作
WHEN 'EXTRACT'.
WRITE 'YOU CLICK THE EXTRACT BUTTON'.
WHEN 'BACK'.
LEAVE SCREEN.
WHEN 'EXIT'.
EXIT.
WHEN 'SAVE'.
WRITE 'YOU CLICK THE SAVE BUTTON'.
WHEN OTHERS.
WRITE 'OTHERS'.
ENDCASE.
START-OF-SELECTION.
SET PF-STATUS 'GUI_STATUS_TEST'. "在Report输出时调用该GUI STATUS。
运行结果如下:
2.GUI TITLE的定义及应用
GUI TITLE用于定义Report标题栏内容,其创建步骤如下:
1.在对象树形菜单中单击鼠标右键,选择Create-->GUI Titles。输入自定认Title名称及描述。该描述将出现在Report标题栏中,还可以输入&符号作为Title,当程序运行时对其填充动态文本。如下图:
2.单击按钮确认后,在对象菜单中将显示所新增项,如下图:
3.保存并激活,在程序中通过语法SET TITLEBAR 调用该GUI Title,如下:
REPORT ZZWEI_MESSAGE.
SET TITLEBAR 'TITLE_BAR' WITH SY-DATUM 'IFENER' 'BAR TEST'."设置TITLEBAR,并赋参数列表
WRITE: 'GUI STATUS TEST'.
运行截个图如下: