Upload Logo on Module Pool Programming:
Data declarations:
DATA: lv_xstr TYPE xstring,
lv_len TYPE i,
lv_off TYPE i.
DATA: go_cont TYPE REF TO cl_gui_custom_container,
go_logo TYPE REF TO cl_gui_picture.
DATA: gv_url TYPE c LENGTH 255,
gv_result TYPE i.
DATA: gt_graphic TYPE STANDARD TABLE OF x255,
gv_size TYPE i.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
go_logo TYPE REF TO cl_gui_picture.
DATA: gv_url TYPE c LENGTH 255,
gv_result TYPE i.
DATA: gt_graphic TYPE STANDARD TABLE OF x255,
gv_size TYPE i.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Step 1: Upload your BMAP photo in the SE78.
Step 2: Make a custom container on the modulepool screen and name it as 'CC_LOGO'
Step 3: Write this bottom code in PBO module on the screen which you like to display logo.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Program Code:
IF go_cont IS INITIAL.
CREATE OBJECT go_cont
EXPORTING
container_name = 'CC_LOGO'. "Name of Custom Container
ENDIF.
IF go_logo IS INITIAL.
CREATE OBJECT go_logo
EXPORTING
parent = go_cont.
CALL METHOD go_logo->set_display_mode
EXPORTING
display_mode = cl_gui_picture=>display_mode_fit_center.
ENDIF.
IF gv_url IS INITIAL.
CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
EXPORTING
p_object = 'GRAPHICS'
p_name = 'ZAK_INFO' "Name of the logo
p_id = 'BMAP'
p_btype = 'BCOL'
RECEIVING
p_bmp = lv_xstr
EXCEPTIONS
OTHERS = 1.
IF lv_xstr <> 0.
MESSAGE 'Image not found in SE78' TYPE 'I'.
RETURN.
ENDIF.
gv_size = xstrlen( lv_xstr ).
lv_len = gv_size.
lv_off = 0.
CLEAR gt_graphic.
WHILE lv_len > 255.
APPEND lv_xstr+lv_off(255) TO gt_graphic.
lv_off = lv_off + 255.
lv_len = lv_len - 255.
ENDWHILE.
IF lv_len > 0.
APPEND lv_xstr+lv_off(lv_len) TO gt_graphic.
ENDIF.
CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
type = 'IMAGE'
subtype = 'BMP'
size = gv_size
lifetime = 'T'
TABLES
data = gt_graphic
CHANGING
url = gv_url.
CALL METHOD go_logo->load_picture_from_url
EXPORTING
url = gv_url
IMPORTING
result = gv_result.
ENDIF.
cl_gui_cfw=>flush( ).
No comments:
Post a Comment