Anuncio

Colapsar
No hay anuncio todavía.

Subir imagen

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Subir imagen

    ¿Cómo puedo subir una imagen con la API API_DOCUMENT_MAINTAIN2?

  • #2
    Hola,

    por qué quieres usar esa función para hacer el upload de tu imagen?

    Comentario


    • #3
      Hola, me habían dicho que usara esa API, el requerimiento es poder pasar una imagen desde un sistema legacy a SAP, logré por código subir una imagen al repositorio MIME con este código:

      Código:
      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 ).

      fuente: http://forums.sdn.sap.com/thread.jspa?threadID=2135779

      Y lo que estoy tratando es de pasarle la cadena de código binario directamente, a la tabla interna lt_data pero no lo consigo, esto porque la idea es pasarle por una función RFC o algo parecido la imagen, y pues no se me ocurre como hacerlo, alguna idea?

      Lo que se me ocurrió es recibir un parámetro tipo XSTRING con la cadena y ya manipularla directamente..

      Gracias por tu ayuda

      Comentario

      Trabajando...
      X