2010 Feb 18 11:59 AM
Hi All,
I want add image in ABAP Report.
Please let me know how it can be done?
Regards,
Jagdish More
2010 Feb 18 12:28 PM
Hi Jagdish,
You can do it only using SAP-SCRIPTS or SMARTFORMS.
There is the only way to add Image in your report.
Otherwise it is not possible.
Harish
2010 Feb 18 12:28 PM
Hi Jagdish,
You can do it only using SAP-SCRIPTS or SMARTFORMS.
There is the only way to add Image in your report.
Otherwise it is not possible.
Harish
2010 Feb 18 12:46 PM
Hi,
You can very well do that. There is a function Module REUSE_ALV_COMMENTARY_WRITE this will serve the logo or image to be displayed in the report. Call the FM and set the flag i_logo = 'X''. This will upload the image in the report.
Regards
Thiru
2010 Feb 18 12:55 PM
2010 Feb 19 5:04 AM
Dear All,
Thanks for the replies.
I have already tried using the class 'CL_GUI_PICTURE'.
The issues I had face were:
1. Image is fixed at one position as per the parameters passed to method "set_position", though I scroll screen.
2. Image does not appear in print out.
Kindly let me know if there any other way out.
2010 Feb 19 5:59 AM
Hi,
Pls check below code, may be it is help you.
MODULE show_pics OUTPUT.
DATA: l_graphic_xstr TYPE xstring.
DATA: l_graphic_conv TYPE i.
DATA: l_graphic_offs TYPE i.
CALL METHOD cl_gui_cfw=>flush.
IF g_c_oper_rep IS INITIAL.
CREATE OBJECT:
g_c_oper_rep EXPORTING container_name = 'C_OPER_REP',
g_oper_rep EXPORTING parent = g_c_oper_rep.
CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
EXPORTING
p_object = 'graphics'
* p_name = 'COLORED_GRID4'
p_name = 'ZOPER'
p_id = 'BMAP'
p_btype = 'BCOL'
RECEIVING
p_bmp = l_graphic_xstr
EXCEPTIONS
not_found = 1
internal_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv3.
ENDIF.
g_graphic_size = XSTRLEN( l_graphic_xstr ).
l_graphic_conv = g_graphic_size.
l_graphic_offs = 0.
WHILE l_graphic_conv > 255.
g_t_graphic_table-line = l_graphic_xstr+l_graphic_offs(255).
APPEND g_t_graphic_table.
l_graphic_offs = l_graphic_offs + 255.
l_graphic_conv = l_graphic_conv - 255.
ENDWHILE.
g_t_graphic_table-line =
l_graphic_xstr+l_graphic_offs(l_graphic_conv).
APPEND g_t_graphic_table.
CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
type = 'IMAGE'
subtype = 'X-UNKNOWN'
size = g_graphic_size
lifetime = 'T'
TABLES
data = g_t_graphic_table
CHANGING
url = g_url.
CALL METHOD g_oper_rep->load_picture_from_url
EXPORTING
url = g_url.
CALL METHOD g_oper_rep->set_display_mode
EXPORTING
display_mode = g_oper_rep->display_mode_fit_center.
ENDIF.
ENDMODULE. " SHOW_PICS OUTPUT
2010 Feb 19 7:57 AM
I am facing the same issue
The issues I had face were:
1. Image is fixed at one position as per the parameters passed to method "set_position", though I scroll screen.
2. Image does not appear in print out
pls reply
2010 Feb 20 9:19 AM
2010 Feb 22 5:02 AM
Hi,
Thanks for the reply. We have already existing z-report available with us.
This report has been developed using the 'WRITE' statements. So we need to add small image at one fix position in the report generated screen '1000'.
We tried it using the cl_gui_picture class but eventuaaly it did not work due to following 2 reasons:
1. Image is fixed at one position (as per the parameters passed to method "set_position"), even though we scroll the screen.
2. Image does not appear in print out
Kindly suggest.
2010 Feb 22 6:05 AM
Hi Jagdish,
to upload the image follow these steps.
1. Upload image in web repository.
Go to Transaction SMW0 to upload the image in SAP web Repository. elect second radiobutton u201DBinary data for WebRFC applicationsu201D and click on find.
2. Click on Execute.
3. Click on Create and give the obj.name and description and click on import.
once the image gets uploaded.in your program do the following
1. Create a Screen.Go to Layout and create Custom Control.I have named it as u2018CONTAINERu2019.
2. Declare container(Custom Control name),picture(child of Container) and url in Top of the program.
data container type ref to cl_gui_custom_container.
data picture type ref to cl_gui_picture.
data url(256).
3. Now create the object Container and Picture.
create object container
exporting container_name = 'CONTAINER'.//name of the custom control
create object picture
exporting parent = container
exceptions error = 1.
4. Now we have to load the picture from the database which we have uploaded. For this we need to declare the following:-
data query_table like w3query occurs 1 with header line.
data html_table like w3html occurs 1.
data return_code like w3param-ret_code.
data content_type like w3param-cont_type.
data content_length like w3param-cont_len.
data pic_data like w3mime occurs 0.
data pic_size type i.
5. Refresh the Query table and give the name of Query table as u2018_OBJECT_ID_u2019 and value as the name of logo/Image which u have uploaded.Append the value in the Query Table.
refresh query_table.
query_table-name = '_OBJECT_ID'.
query_table-value = 'ZLOGO.GIF'."name of logo
append query_table.
6. Now call the function WWW_GET_MIME_OBJECT to get the logo/image which u have uploaded and call the function DP_CREATE_URL to create the url where the image is present.
call function 'WWW_GET_MIME_OBJECT'
tables
query_string = query_table
html = html_table
mime = pic_data
changing
return_code = return_code
content_type = content_type
content_length = content_length
exceptions
object_not_found = 1
parameter_not_found = 2
others = 3.
if sy-subrc = 0.
pic_size = content_length.
endif.
call function 'DP_CREATE_URL'
exporting
type = 'image'
subtype = cndp_sap_tab_unknown
size = pic_size
lifetime = cndp_lifetime_transaction
tables
data = pic_data
changing
url = url
exceptions
others = 1.
7. Finally we have to upload the image from the URL, this can be done by calling the method: picture->load_picture_from_url
call method picture->load_picture_from_url
exporting
url = url.
Now Save,Activate and Execute the Program , Image/Logo got successfully uploaded.
I have already done this program and uploaded the image...
this will surely help you
Thanks and regards,
Tanmaya
2010 Feb 22 6:09 AM
hi,
sneding you the whole code ..try it hope it will help you
PROGRAM ZUPLOADIMAGE.
DATA CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
DATA PICTURE TYPE REF TO CL_GUI_PICTURE.
DATA URL(256).
*&---------------------------------------------------------------------*
*& Include ZUPLOADIMAGEO01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module STATUS_0100 output.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
CREATE OBJECT CONTAINER
EXPORTING CONTAINER_NAME = 'CONTAINER'.
CREATE OBJECT PICTURE
EXPORTING PARENT = CONTAINER
EXCEPTIONS ERROR = 1.
CLEAR url.
PERFORM load_pic_from_db CHANGING url.
CALL METHOD picture->load_picture_from_url
EXPORTING
url = url.
endmodule. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Include ZUPLOADIMAGEF01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form LOAD_PIC_FROM_DB
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_URL text
*----------------------------------------------------------------------*
form LOAD_PIC_FROM_DB changing p_url.
DATA query_table LIKE w3query OCCURS 1 WITH HEADER LINE.
DATA html_table LIKE w3html OCCURS 1.
DATA return_code LIKE w3param-ret_code.
DATA content_type LIKE w3param-cont_type.
DATA content_length LIKE w3param-cont_len.
DATA pic_data LIKE w3mime OCCURS 0.
DATA pic_size TYPE i.
REFRESH query_table.
query_table-name = '_OBJECT_ID'.
query_table-value = 'ZLOGO.GIF'."name of logo
APPEND query_table.
CALL FUNCTION 'WWW_GET_MIME_OBJECT'
TABLES
query_string = query_table
html = html_table
mime = pic_data
CHANGING
return_code = return_code
content_type = content_type
content_length = content_length
EXCEPTIONS
object_not_found = 1
parameter_not_found = 2
OTHERS = 3.
IF sy-subrc = 0.
pic_size = content_length.
ENDIF.
CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
type = 'image'
subtype = cndp_sap_tab_unknown
size = pic_size
lifetime = cndp_lifetime_transaction
TABLES
data = pic_data
CHANGING
url = url
EXCEPTIONS
OTHERS = 1.
ENDFORM. " LOAD_PIC_FROM_DB
hope this will help you in solving your query....
Thanks and Regards,
Tanmaya
2010 Feb 22 6:34 AM
Hi,
You first have to import the logo from desktop using se78 transaction.
Then use the below function module in alv program,
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = IT_LISTHEADER
I_LOGO = 'TEST_UPLOAD'
* I_END_OF_LIST_GRID =
* I_ALV_FORM =.
Hope it helps
Regards
Mansi
2010 Feb 22 6:45 AM
Hi,
What type of report you are using. IS it ALV report. If yes then you need to activate 'TOP_OF_PAGE' event of function module 'REUSE_ALV_GRID_DISPLAY'. After that you need create Form of TOP-OF-PAGE. In that You need use function module 'REUSE_ALV_COMENTARY_WRITE'.
Thanks,
Padmakar