SAP Help Adding images and pictures to SAP screens









Insert image onto SAP screen

This is very simple to do, first create a dialog program with one screen (any number i.e. 0100) and create a custom control called 'CUST_CONTROL'. Now use the below sections of code to create a top include and a PBO module/process. And then finally create a transaction code for it. This version does not work for version 4.6 so click here for alternative code.


CONSTANTS: CNTL_TRUE  TYPE I VALUE 1,
      CNTL_FALSE type i value 0.
data:
   h_picture       type ref to cl_gui_picture,
   h_pic_container type ref to cl_gui_custom_container.
*   h_tree          type ref to cl_gui_list_tree,
*   h_docking       type ref to cl_gui_docking_container,
*   h_application   type ref to lcl_application.

data: graphic_url(255),
      graphic_refresh(1),
      g_result                     like cntl_true.

data: begin of graphic_table occurs 0,
        line(255) type x,
      end of graphic_table.

data: graphic_size type i.

        

*---------------------------------------------------------------------------------* ***INCLUDE ZDISPLAYIMAGEPBO . *---------------------------------------------------------------------------------* *&-------------------------------------------------------------------* *& Module STATUS_0100 OUTPUT *&-------------------------------------------------------------------* * text *---------------------------------------------------------------------------------* module STATUS_0100 output. data: l_graphic_xstr type xstring, l_graphic_conv type i, l_graphic_offs type i. CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp EXPORTING p_object = 'GRAPHICS' p_name = 'ENJOY' "IMAGE NAME - Image name from SE78 p_id = 'BMAP' p_btype = 'BMON' "(BMON = black&white, BCOL = colour) RECEIVING p_bmp = l_graphic_xstr EXCEPTIONS not_found = 1 OTHERS = 2. * IF sy-subrc = 1. * MESSAGE e287 WITH g_stxbitmaps-tdname. * ELSEIF sy-subrc <> 0. * MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno * WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. * EXIT. * ENDIF. graphic_size = XSTRLEN( l_graphic_xstr ). CHECK graphic_size > 0. l_graphic_conv = graphic_size. l_graphic_offs = 0. WHILE l_graphic_conv > 255. graphic_table-line = l_graphic_xstr+l_graphic_offs(255). APPEND graphic_table. l_graphic_offs = l_graphic_offs + 255. l_graphic_conv = l_graphic_conv - 255. ENDWHILE. graphic_table-line = l_graphic_xstr+l_graphic_offs(L_GRAPHIC_CONV). APPEND graphic_table. CALL FUNCTION 'DP_CREATE_URL' EXPORTING type = 'image' "#EC NOTEXT subtype = cndp_sap_tab_unknown " 'X-UNKNOWN' size = graphic_size lifetime = cndp_lifetime_transaction "'T' TABLES data = graphic_table CHANGING url = graphic_url EXCEPTIONS * dp_invalid_parameter = 1 * dp_error_put_table = 2 * dp_error_general = 3 OTHERS = 4 . IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. EXIT. ENDIF. create object h_pic_container exporting container_name = 'CUST_CONTROL'. create object h_picture exporting parent = h_pic_container. call method h_picture->load_picture_from_url exporting url = graphic_url importing result = g_result. endmodule. " STATUS_0100 OUTPUT

Return to SAP Graphics home page