第七章 SAP应用界面开发及ABAP报表设计
第五节 工具栏对象GUI Status与GUI Title
GUI Status与GUI Title用于自定义工具栏按钮及Report程序标题栏显示内容,可以通过SE81或直接在SE38中展开对象列表进行相关操作,如图7-31所示。
图7-31 GUI Status与GUI Title设置界面
7.5.1 GUI Status的定义及应用
GUI Status用于自定义工具栏按钮,其访问路径可参照图7-31。单击GUI status菜单即可弹出Create Status对话框,所定义属性包括工具栏按钮的名称、基本描述及类型等,在其属性界面Status type区域中选择单选框Online status,如图7-32所示。
图7-32 GUI Status属性设置界面
单击 按钮进入GUI status参数设置界面,如图7-33所示。
图7-33 GUI Status参数设置界面
GUI status参数设置共包括3个部分:
1)Menu bar:用于设置主菜单选项;
2)Application toolbar:用于设置应用工具栏按钮,包括按钮名称、按钮描述及按钮所对应的ICON图标等;
3)Function Key:为按钮分配功能代码(Function Key),包括系统标准按钮(如返回、退出、关闭等)及通过Application toolbar所定义的客制化按钮。
本节将举例如何在程序中创建一个工具栏按钮,并为其分配Function Key。
1)选择Application toolbar中一文本框,并输入自定义名称,如图7-34所示。
2)双击该栏位,进入文本类型设置界面,将选择文本类型设置单选框为静态文本(Status Type),如图7-35所示。
图7-34 新增toolbar按钮名
图7-35 选择toolbar按钮文本类型
3)单击 按钮,进入toolbar按钮功能设置界面,如图7-36所示。Function code为基本描述,Icon name用于设置该按钮的图标,Info.text为程序运行时按钮所显示名称,具体设置如图7-36所示。
图7-36 toolbar按钮功能设置
4)设置完成后,单击 按钮,系统将弹出Assign Function to Function key对话框,由用户为新增按钮分配一快捷键,如图7-37所示。
图7-37 为toolbar按钮分配快捷键
5)选择某功能键字段后单击 按钮(或双击该功能键字段),系统将进入该按钮的属性设置确认界面,如图7-38所示。
图7-38 toolbar按钮属性设置
按钮的属性设置界面主要包括该按钮的描述、ICON图标等属性,其中Function type字段默认为Application function,本例设置可参照图7-38。
单击 按钮返回初始界面,我们可以发现以下属性发生了变化:
对象列表中新增了GUI_Status菜单,单击该菜单可以进入编辑界面;
Application toolbar中新增了按钮名及相关图标;
Functions keys中新增了该按钮对应的功能键选项。
如图7-39所示。
图7-39 GUI status设置主界面
由于工具栏是自定义的,原系统标准功能按钮(如:SAVE、BACK、CANCEL、EXIT等)都需重新设定,维护Standard Toolbar页面中各按钮字段的Function Key值,如图7-40所示。
图7-40 为标准按钮分配功能代码
所有设置完成后,保存并激活,GUI Status创建成功。下面,我们需要对刚才新增的GUI Status进行调用,应用于START-OF-SELECTION事件中,定义语法为:
SET PF-STATUS <GUI STATUS NAME>.
对于定义的按钮,我们可以通过系统变量SY-UCOMM来获取它的功能代码。注意,GUI STATUS的调用必须在Report输出时才会触发,如例7-26所示。
例子7-26 GUI status的调用
REPORT ZSCREEN_TEST03 .
WRITE:'GUI STATUS TEST'.
AT USER-COMMAND. "当单击某个按钮时,触发该事件
CASE sy-ucomm. "获取所操作按钮的功能代码(Function key)
WHEN 'EXEC'. "针对不同的按钮事件判断执行不同操作
WRITE:'CALL TOOLBAR OK'.
WHEN 'BACK'.
LEAVE SCREEN.
WHEN 'EXIT'.
EXIT.
WHEN OTHERS.
ENDCASE.
START-OF-SELECTION.
SET PF-STATUS 'GUI_STATUS'. "在Report输出时调用该GUI Status
7.5.2 GUI Title的定义及应用
GUI Title用于定义Report标题栏内容,其创建步骤如下:
1)在对象树形菜单中单击鼠标右键,选择Create → GUI titles。输入自定义Title名称及描述。该描述将出现在Report标题栏中,还可输入&符号作为Title,当程序运行时对其填充动态文本,如图7-41所示。
图7-41 GUI Title名称设定
2)单击 按钮确认后,在对象菜单中将显示所新增项,如图7-42所示。
图7-42 对象菜单显示所新增GUI title
3)保存并激活,在程序中通过语法SET TITLEBAR调用该GUI title,如例7-27所示。
例7-27 GUI title的调用。
REPORT ZSCREEN_TEST04 .
*也可直接调用 SET TITLEBAR 'GUI_TITLE',无动态参数
SET TITLEBAR 'GUI_TITLE' WITH '-DATE:' SY-DATUM.
WRITE:'GUI STATUS TEST'.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'EXEC'.
WRITE:'CALL TOOLBAR OK'.
WHEN 'BACK'.
LEAVE SCREEN.
WHEN 'EXIT'.
EXIT.
WHEN OTHERS.
ENDCASE.
START-OF-SELECTION.
SET PF-STATUS 'GUI_STATUS'.
输出界面如图7-43所示。
图7-43 输出界面中显示所定义GUI title