sap的选择屏幕的标准工具栏上系统预先定义了5个按钮,他们对应的功能码是FC01-FC05,默认是不激活的。用户可以使用SELECTION-SCREEN FUNCTION KEY i.来激活这5个按钮(这里的i必须是1-5),这五个按钮的文本放在SSCRFields的对应的Functxt_0i中。当用户按下按钮时,系统将触发AT SELECTION-SCREEN 事件,并将功能码放到sscrfields的ucomm字段中。
代码样例:
REPORT demo_sel_screen_function_key.
TABLES sscrfields. "定义工作区
PARAMETERS: p_carrid TYPE s_carr_id,
p_cityfr TYPE s_from_cit.
SELECTION-SCREEN: FUNCTION KEY 1, "激活按钮
FUNCTION KEY 2.
INITIALIZATION.
sscrfields-functxt_01 = 'LH'. "定义按钮文本
sscrfields-functxt_02 = 'UA'.
AT SELECTION-SCREEN.
CASE sscrfields-ucomm. "处理按钮命令
WHEN'FC01'.
p_carrid = 'LH'.
p_cityfr = 'Frankfurt'.
WHEN 'FC02'.
p_carrid = 'UA'.
p_cityfr = 'Chicago'.
ENDCASE.
START-OF-SELECTION.
WRITE / 'START-OF-SELECTION'.
注意:在AT SELECTION-SCREEN事件执行后,系统将再次显示屏幕,只有当用选择Execute(F8),系统才会进行其他事件的执行。
1定义变量
GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
2 如何调用'REUSE_ALV_GRID_DISPLAY'传入GS_LAYOUT变量
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = G_REPID
I_STRUCTURE_NAME = 'SFLIGHT'
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
* IT_EXCLUDING =
IT_SPECIAL_GROUPS = GT_SP_GROUP[]
IT_SORT = GT_SORT[]
* IT_FILTER =
* IS_SEL_HIDE =
* i_default = g_default
I_SAVE = G_SAVE
IS_VARIANT = G_VARIANT
IT_EVENTS = GT_EVENTS[]
* IT_EVENT_EXIT =
IS_PRINT = GS_PRINT
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
TABLES
T_OUTTAB = GT_SFLIGHT.
3 通过GS_LAYOUT来设置Grid的字段列宽度自动适应
GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'
4 通过GS_LAYOUT来设置Grid的行颜色变换显示
GS_LAYOUT-ZEBRA = 'X'
5 通过GS_LAYOUT来设置Grid的多行选择列
GS_LAYOUT-BOX_FIELDNAME= 'BOX'
其中BOX必须为内表的一列,为一个字符长度
6 通过GS_LAYOUT来设置Grid是否显示列分割线
GS_LAYOUT-NO_VLINE= 'X'
7 通过GS_LAYOUT来设置Grid合计行显示在明细的上面
GS_LAYOUT-TOTALS_BEFORE_ITEMS= 'X'
8 通过GS_LAYOUT来设置Grid不显示弹出明细显示窗口
GS_LAYOUT-DETAIL_POPUP= 'X'
1、定义字段
data: status_icon type icons-text.
2、创建屏幕,并在屏幕定义创建一个"Status Icon"控件 ,命名为:status_icon
3、利用ICON_CREATE函数在输出是设置ICON。
call function 'ICON_CREATE'
exporting
name = 'ICON_GREEN_LIGHT'
text = '图标后面显示的文本'
info = '提示'
add_stdinf = 'X'
importing
result = status_icon
exceptions
icon_not_found = 1
outputfield_too_short = 2
others = 3.
4、sap的图标可以使用ICON_SHOW函数显示列出
call function 'ICON_SHOW' exporting onlydisplay = 'X'
exceptions no_object_found = 1
no_icon_selected = 2.
5、关于图标的样例可参见sap的演示代码:DEMO_DYNPRO_STATUS_ICONS
1990年1月15日 2007年1月14日 2007年1月15日 2007年1月16日 2007年1月17日 2007年1月18日 2007年1月19日 2007年1月20日 2007年1月22日 2007年1月23日 2007年1月24日 2007年1月25日 2007年1月26日 2007年1月27日 2007年1月29日 2007年1月30日 2007年1月31日 2007年2月1日 2007年2月2日 2007年2月3日 2007年3月13日 2007年5月15日 2007年5月16日 2007年6月2日