Sunday, December 26, 2010
The below program is used to upload image or picture(JPEG) from local PC to SAP.

  • Upload and save picture in MIME repository

REPORT  zrich_0001.
DATA: lr_mime_rep TYPE REF TO if_mr_api.
DATA: lv_filename TYPE string.
DATA: lv_path     TYPE string.
DATA: lv_fullpath TYPE string.
DATA: lv_content  TYPE xstring.
DATA: lv_length   TYPE i.
DATA: lv_rc TYPE sy-subrc.

DATA: lt_file TYPE filetable.
DATA: ls_file LIKE LINE OF lt_file.


DATA: lt_data TYPE STANDARD TABLE OF x255.

PARAMETERS: p_path TYPE string
DEFAULT 'SAP/PUBLIC/Test.jpg'.   "<<-- Mime path, save to path


cl_gui_frontend_services=>file_open_dialog(
CHANGING
file_table              =  lt_file  " Table Holding Selected Files
rc                      =  lv_rc  ). " Return Code, Number of Files or -1 If Error Occurred
READ TABLE lt_file INTO ls_file INDEX 1.
IF sy-subrc = 0.
lv_filename = ls_file-filename.
ENDIF.

cl_gui_frontend_services=>gui_upload(
EXPORTING
filename                = lv_filename    " Name of file
filetype                = 'BIN'
IMPORTING
filelength              =  lv_length   " File length
CHANGING
data_tab                = lt_data    " Transfer table for file contents
EXCEPTIONS
OTHERS                  = 19 ).

CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
input_length = lv_length
*    first_line   = 0
*    last_line    = 0
IMPORTING
buffer       = lv_content
TABLES
binary_tab   = lt_data
EXCEPTIONS
failed       = 1
OTHERS       = 2.

lr_mime_rep = cl_mime_repository_api=>if_mr_api~get_api( ).

lr_mime_rep->put(
EXPORTING
i_url                     = p_path
i_content                 = lv_content
EXCEPTIONS
parameter_missing         = 1
error_occured             = 2
cancelled                 = 3
permission_failure        = 4
data_inconsistency        = 5
new_loio_already_exists   = 6
is_folder                 = 7
OTHERS                    = 8 ).

  • Use Docking container to show picture

REPORT  zrich_0001.
DATA: lr_mime_rep TYPE REF TO if_mr_api.
DATA: lv_url TYPE char255.
DATA: lv_content  TYPE xstring.
DATA: lv_repid TYPE sy-repid.

DATA: lt_data TYPE STANDARD TABLE OF x255.

DATA: lo_docking TYPE REF TO cl_gui_docking_container.
DATA: lo_picture TYPE REF TO cl_gui_picture.

DATA: p_path TYPE string VALUE 'SAP/PUBLIC/Test.jpg'.

PARAMETERS: p_check.

AT SELECTION-SCREEN OUTPUT.

* Create controls
CREATE OBJECT lo_docking
EXPORTING
repid     = lv_repid
dynnr     = sy-dynnr
side      = lo_docking->dock_at_left
extension = 200.

CREATE OBJECT lo_picture
EXPORTING
parent = lo_docking.

lr_mime_rep = cl_mime_repository_api=>if_mr_api~get_api( ).

lr_mime_rep->get(
EXPORTING
i_url      = p_path
IMPORTING
e_content = lv_content
EXCEPTIONS
not_found = 3 ).

CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer     = lv_content
TABLES
binary_tab = lt_data.

CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
type    = 'IMAGE'
subtype = 'JPG'
TABLES
data    = lt_data
CHANGING
url     = lv_url.

lo_picture->load_picture_from_url_async( lv_url ).

0 comments:

Post a Comment

Your useful comments, suggestions are appreciated.Your comments are moderated.

Followers

Contact Form

Name

Email *

Message *

Web Dynpro ABAP Book

An SAP Consultant

Follow US


Want to Contribute ?

If you are interested in writing about the new stuff you learn everyday while working, please write to the.sap.consultants@gmail.com.

Click on Contribution for more details.