Open all | Close all
|
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. Click here to return to 4.7 version, but to be fair all the 4.7 one does is use a method to call the same function module.
|
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.
|
data: g_stxbitmaps type STXBITMAPS,
l_bytecount type i,
l_content TYPE standard table of bapiconten initial size 0.
g_stxbitmaps-tdobject = 'GRAPHICS'.
g_stxbitmaps-tdname = 'ENJOY'.
g_stxbitmaps-tdid = 'BMAP'.
g_stxbitmaps-tdbtype = 'BMON'. "(BMON = black&white, BCOL = colour)
call function 'SAPSCRIPT_GET_GRAPHIC_BDS'
exporting
i_object = g_stxbitmaps-tdobject
i_name = g_stxbitmaps-tdname
i_id = g_stxbitmaps-tdid
i_btype = g_stxbitmaps-tdbtype
importing
e_bytecount = l_bytecount
tables
content = l_content
exceptions
not_found = 1
bds_get_failed = 2
bds_no_content = 3
others = 4.
call function 'SAPSCRIPT_CONVERT_BITMAP'
exporting
old_format = 'BDS'
new_format = 'BMP'
bitmap_file_bytecount_in = l_bytecount
importing
bitmap_file_bytecount = graphic_size
tables
bds_bitmap_file = l_content
bitmap_file = graphic_table
exceptions
others = 1.
call function 'DP_CREATE_URL'
exporting
type = 'image' "#EC NOTEXT
subtype = cndp_sap_tab_unknown
size = graphic_size
lifetime = cndp_lifetime_transaction
tables
data = graphic_table
changing
url = graphic_url
exceptions
others = 4 .
create object h_pic_container
exporting container_name = 'CUST_CONTROL'.
create object h_picture exporting parent = h_pic_container.
call method h_picture->set_display_mode
exporting
display_mode = cl_gui_picture=>display_mode_normal.
call method h_picture->load_picture_from_url
exporting url = graphic_url
importing result = g_result.
endmodule. " STATUS_0100 OUTPUT
|
|
|