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
REPORT demo_dynpro_status_icons.
DATA value TYPE i VALUE 1.
DATA: status_icon TYPE icons-text,
icon_name(20) TYPE c,
icon_text(10) TYPE c.
CALL SCREEN 100.
MODULE set_icon OUTPUT.
SET PF-STATUS 'SCREEN_100'.
CASE value.
WHEN 1.
icon_name = 'ICON_GREEN_LIGHT'.
icon_text = text-003.
WHEN 2.
icon_name = 'ICON_YELLOW_LIGHT'.
icon_text = text-002.
WHEN 3.
icon_name = 'ICON_RED_LIGHT'.
icon_text = text-001.
ENDCASE.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = icon_name
text = icon_text
info = 'Status'
add_stdinf = 'X'
IMPORTING
result = status_icon
EXCEPTIONS
icon_not_found = 1
outputfield_too_short = 2
OTHERS = 3.
CASE sy-subrc.
WHEN 1.
MESSAGE e888(sabapdocu) WITH text-004.
WHEN 2.
MESSAGE e888(sabapdocu) WITH text-005.
WHEN 3.
MESSAGE e888(sabapdocu) WITH text-006.
ENDCASE.
ENDMODULE.
MODULE cancel INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE change.
CASE value.
WHEN 1.
value = 2.
WHEN 2.
value = 3.
WHEN 3.
value = 1.
ENDCASE.
ENDMODULE.