SAP GUI status是指SAP程序运行中菜单栏,标准工具栏,应用工具栏(menu bar, standard toolbar, application toolbar)的总和。在标准标准报表中,会默认带出default的GUI status。
但在实际的业务场景中,通常会需要对标准的toolbar进行增强,例如,增加一个自定义的按钮等。此时,就需要对GUI status进行手动的设置,其在程序中的关键字为 SET PF-STATUS 'status_name' ,通常位于INITIALIZATION事件中。
双击'status_name'可进入GUI status的创建页面,输入描述,确认。
在初始页面,可对Menu Bar,App Toolbar, Std Toolbar进行手动的编辑,并设定function key。具体的方式可参见此链接中的介绍,进行一步一步手动的设置。此种方式适合于较为复杂的定制化报表场景 (也即使用Menu Painter, Tx: SE41 ) 。
而在很多情况下,并不需要进行如此复杂的手动绘制工作, 例如仅需要在default的GUI status的基础上增加一个新的button,此时,调整GUI status的正确方式是,使用SAP提供的标准template,并在此基础上进行调整。
选择模板的位置,Extras >> Adjust template
在标准模板中,提供了以下多种template,包含 - :
- List status
- Selctionscreen
- List viewer (ALV)
- Tree Status
- copy GUI status from other progam
根据不同的需要,可选择合适模板进行增强,这样省去了定义Fucnction Keys等重复性的工作。
举例:如果只需要在标准default的GUI bar上增加一个新的按钮,则可以选择模板 >> ‘Screen’.
可见,使用模板后,标准的program menu已经自动带出,只需要手动定义一个新的按钮,并制定function key即可。
运行效果如下:
程序控制中可以使用如下语句,在AT SELECTION-SCREEN中, 捕捉按钮的点击事件。
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'NEWBUTTON'.
* do your own logic
ENDCASE.