工作生活与爱好

工作中的记录; 生活中的记忆; 业余爱好的记载。

2007-05-16

 

在选择屏幕的标准应用工具条上增加自定义按钮(-)

sap的选择屏幕的标准工具栏上系统预先定义了5个按钮,他们对应的功能码是FC01-FC05,默认是不激活的。用户可以使用SELECTION-SCREEN FUNCTION KEY i.来激活这5个按钮(这里的i必须是1-5),这五个按钮的文本放在SSCRFields的对应的Functxt_0i中。当用户按下按钮时,系统将触发AT SELECTION-SCREEN 事件,并将功能码放到sscrfieldsucomm字段中。

代码样例:
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),系统才会进行其他事件的执行。


 

关于REUSE_ALV_GRID_DISPLAY函数的slis_layout_alv的字段使用的说明

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'

9 通过GS_LAYOUT来设置Grid显示LED列
GS_LAYOUT-excp_fname= 'LIGHT'
LIGHT为内表字段,一个字符长,值范围为1-3

 

关于ICON的显示和输出

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


Archives

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日  

This page is powered by Blogger. Isn't yours?