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.