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


Related Articles

ABAP Dialog Programming Techniques - BC410
Insert image onto SAP screen
Creating your first ABAP dialog screen program in SAP
SAP ABAP dynpro programs, dialog screen programs with input fields, buttons, OO ALV grids etc..
SAP ABAP dynpro programs, dialog screen programs with input fields, buttons, OO ALV grids etc..
SAP dialog screen / dynpro Exit Command
Dialog programming, dynpro screen field validation
SAP Graphics Development - Example code and information on various areas of graphics development
Grouping SAP dynpro screen radiobuttons
Add a dropdown list to a SAP dynpro screen using the Listbox option
Implementing a subscreen to an ABAP dynpro screen with SAP
F4 help functionality for a dynpro screen field using the PROCESS ON VALUE-REQUEST statement