您现在的位置:e-works > 智造书屋 > 书籍列表 > 工程师突击:SAP ABAP实用程序开发攻略 > 工具栏对象GUI Status与GUI Title

第七章 SAP应用界面开发及ABAP报表设计

第五节 工具栏对象GUI Status与GUI Title

    GUI Status与GUI Title用于自定义工具栏按钮及Report程序标题栏显示内容,可以通过SE81或直接在SE38中展开对象列表进行相关操作,如图7-31所示。

 图7-31  GUI Status与GUI Title设置界面

图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属性设置界面

图7-32  GUI Status属性设置界面

    单击 按钮进入GUI status参数设置界面,如图7-33所示。

 图7-33  GUI Status参数设置界面

图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-34  新增toolbar按钮名

 图7-35  选择toolbar按钮文本类型

图7-35  选择toolbar按钮文本类型

    3)单击 按钮,进入toolbar按钮功能设置界面,如图7-36所示。Function code为基本描述,Icon name用于设置该按钮的图标,Info.text为程序运行时按钮所显示名称,具体设置如图7-36所示。

 图7-36  toolbar按钮功能设置

图7-36  toolbar按钮功能设置

    4)设置完成后,单击 按钮,系统将弹出Assign Function to Function key对话框,由用户为新增按钮分配一快捷键,如图7-37所示。

 图7-37  为toolbar按钮分配快捷键

图7-37  为toolbar按钮分配快捷键

    5)选择某功能键字段后单击 按钮(或双击该功能键字段),系统将进入该按钮的属性设置确认界面,如图7-38所示。

 图7-38  toolbar按钮属性设置

图7-38  toolbar按钮属性设置

    按钮的属性设置界面主要包括该按钮的描述、ICON图标等属性,其中Function type字段默认为Application function,本例设置可参照图7-38。

    单击 按钮返回初始界面,我们可以发现以下属性发生了变化:

    对象列表中新增了GUI_Status菜单,单击该菜单可以进入编辑界面;

    Application toolbar中新增了按钮名及相关图标;

    Functions keys中新增了该按钮对应的功能键选项。

    如图7-39所示。

 图7-39  GUI status设置主界面

图7-39  GUI status设置主界面

    由于工具栏是自定义的,原系统标准功能按钮(如:SAVE、BACK、CANCEL、EXIT等)都需重新设定,维护Standard Toolbar页面中各按钮字段的Function Key值,如图7-40所示。

 图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名称设定

图7-41  GUI Title名称设定

    2)单击 按钮确认后,在对象菜单中将显示所新增项,如图7-42所示。

 图7-42  对象菜单显示所新增GUI title

图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

图7-43  输出界面中显示所定义GUI title