下面通过一段代码介绍如何在选择画面中显示图片。
1, SMW0上载图片
Tcode:SMW0,选择Binary的选项
由于是测试,选择$TMP本地package,然后运行进入下一屏幕,
上载图片,命名为ZPIC,程序中会用来标识图片的。
2, 例子代码
REPORT ztest_pic_sel_screen. TYPE-POOLS cndp. *&---------------------------------------------------------------------* *& Data Declaration. *&---------------------------------------------------------------------* DATA: go_docking TYPE REF TO cl_gui_docking_container, go_htmlviewer TYPE REF TO cl_gui_html_viewer, go_picture TYPE REF TO cl_gui_picture. DATA g_url TYPE cndp_url. *&---------------------------------------------------------------------* *& SELECTION SCREEN. *&---------------------------------------------------------------------* PARAMETERS: s_matnr TYPE mara-matnr. *&---------------------------------------------------------------------* *& AT SELECTION-SCREEN OUTPUT. *&---------------------------------------------------------------------* AT SELECTION-SCREEN OUTPUT. CALL FUNCTION 'DP_PUBLISH_WWW_URL' EXPORTING objid = 'ZPIC' lifetime = cndp_lifetime_transaction IMPORTING url = g_url EXCEPTIONS OTHERS = 1. * Load the go_picture. IF sy-subrc = 0. PERFORM frm_build_htmlviewer. CALL METHOD go_picture->set_display_mode EXPORTING display_mode = cl_gui_picture=>display_mode_normal. CALL METHOD go_picture->load_picture_from_url_async EXPORTING url = g_url. ENDIF. *&---------------------------------------------------------------------* *& Form build_htmlviewer *&---------------------------------------------------------------------* FORM frm_build_htmlviewer . DATA: repid LIKE sy-repid. repid = sy-repid. IF go_docking IS INITIAL. CREATE OBJECT go_docking EXPORTING repid = repid dynnr = sy-dynnr side = cl_gui_docking_container=>dock_at_top extension = 80 EXCEPTIONS cntl_error = 1 cntl_system_error = 2 create_error = 3 lifetime_error = 4 lifetime_dynpro_dynpro_link = 5 OTHERS = 6. IF go_htmlviewer IS INITIAL . CREATE OBJECT go_picture EXPORTING parent = go_docking. ENDIF . ENDIF . ENDFORM.
3, 测试运行
以上。