Skip to Content
0
Former Member
Feb 01, 2012 at 06:52 AM

How to upload file to mime without selecting any Transport request

328 Views

Hi experts,

My Function Module is like billow.. It is asking Transport request for every file....

FUNCTION ZBAPI_FM_UPLOAD_IMAGES_TO_MIME.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(PATH) TYPE  STRING DEFAULT 'SAP/PUBLIC/VIJAY/'
*"  EXPORTING
*"     VALUE(RETURN) TYPE  BAPIRET2
*"---------------------------------------
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 subrc type sy-subrc VALUE 0.

DATA: lt_data TYPE STANDARD TABLE OF x255.

DATA:  l_fname TYPE string.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
  EXPORTING
    window_title            =  'Select Multiple Files to Upload'
    default_extension       = ' '
*    default_filename        =
*    file_filter             =   'Photos (*.jpg) | *.jpg | *.png | *.bmp '
*    with_encoding           =
*    initial_directory       =
    multiselection          = 'X'
  CHANGING
    file_table              = lt_file
    rc                      = lv_rc
*    user_action             =
*    file_encoding           =
  EXCEPTIONS
    file_open_dialog_failed = 1
    cntl_error              = 2
    error_no_gui            = 3
    not_supported_by_gui    = 4
    others                  = 5
        .




  LOOP AT lt_file INTO ls_file.
    CLEAR: lv_filename,l_fname.
    lv_filename = ls_file-filename.
    CALL FUNCTION '/SAPDMC/LSM_PATH_FILE_SPLIT'
      EXPORTING
        pathfile       = lv_filename
     IMPORTING
*     PATHNAME       =
       filename       = l_fname
              .
    CONCATENATE path l_fname INTO l_fname RESPECTING BLANKS.

    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 ).
    if sy-subrc = 0.

    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                     = l_fname
        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 ).

    commit work.
ELSE.
subrc = 1.
ENDIF.
ENDLOOP.
endfunction.

Please reply with any answers have..

thanks and regards

Vijay