Skip to Content
author's profile photo Former Member
Former Member

Upload from Excel

Hi SAp Gurus,

I need to upload data from Excel sheet(desktop)which has a field of length 80.

Fn module ALSM_EXCEL_TO_INTERNAL_TABLE has 'value' parm of lenght 50.

Gui_upload give file type mismatch....

upload/ws_upload give output data in junk format...

Any suggestions ?

Thanks in Advance

Add a comment
10|10000 characters needed characters exceeded

Related questions

3 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Dec 13, 2004 at 11:23 AM

    Convert excel file to <b>csv</b> format and use method <b>gui_upload</b> of class <b>cl_gui_frontend_services</b>.

      CALL METHOD cl_gui_frontend_services=>gui_upload
        EXPORTING
          filename                = v_file
          filetype                = 'ASC'
          has_field_separator     = space
    *    HEADER_LENGTH           = 1
        IMPORTING
          filelength              = v_filelength
          header                  = v_header
        CHANGING
          data_tab                = i_file
        EXCEPTIONS
          file_open_error         = 1
          file_read_error         = 2
          no_batch                = 3
          gui_refuse_filetransfer = 4
          invalid_type            = 5
          no_authority            = 6
          unknown_error           = 7
          bad_data_format         = 8
          header_not_allowed      = 9
          separator_not_allowed   = 10
          header_too_long         = 11
          unknown_dp_error        = 12
          access_denied           = 13
          dp_out_of_memory        = 14
          disk_full               = 15
          dp_timeout              = 16
          OTHERS                  = 17
              .
      IF sy-subrc <> 0 OR v_result IS INITIAL.
        MESSAGE e015(zz) WITH 'File Invalid'.
      ENDIF.
    
    *** Splitting the contents of the file
    
      LOOP AT i_file INTO wa_file.
        SPLIT wa_file-data AT ',' INTO wa_data-werks
                                       wa_data-maabc
                                       wa_data-matnr
                                       wa_data-validfrom
                                       wa_data-validto
                                       wa_data-weektype
                                       wa_data-week1
                                       wa_data-week2
                                       wa_data-week3
                                       wa_data-week4
                                       wa_data-week5.
        APPEND wa_data TO i_data.
      ENDLOOP.
    

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Dec 13, 2004 at 11:44 AM

    Convert to tab deliminated text.

    use:

    this

    -


    call function 'WS_UPLOAD'

    exporting

    filename = filename

    filetype = 'DAT'

    tables

    data_tab = itab

    exceptions

    file_open_error = 1

    file_write_error = 2

    invalid_filesize = 3

    invalid_table_width = 4

    invalid_type = 5.

    IF sy-subrc <> 0.

    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    ENDIF.

    or use this

    -


    CALL FUNCTION 'GUI_UPLOAD'

    EXPORTING

    filename = filename

    filetype = 'ASC'

    has_field_separator = 'X'

    • HEADER_LENGTH = 0

    read_by_line = 'X'

    DAT_MODE = 'X'

    • CODEPAGE = ' '

    • IGNORE_CERR = ABAP_TRUE

    • REPLACEMENT = '#'

    • CHECK_BOM = ' '

    • IMPORTING

    • FILELENGTH =

    • HEADER =

    TABLES

    data_tab = itab

    EXCEPTIONS

    file_open_error = 1

    file_read_error = 2

    no_batch = 3

    gui_refuse_filetransfer = 4

    invalid_type = 5

    no_authority = 6

    unknown_error = 7

    bad_data_format = 8

    header_not_allowed = 9

    separator_not_allowed = 10

    header_too_long = 11

    unknown_dp_error = 12

    access_denied = 13

    dp_out_of_memory = 14

    disk_full = 15

    dp_timeout = 16

    OTHERS = 17

    .

    IF sy-subrc <> 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

    ENDIF.

    -


    If it helps please give points.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 16, 2004 at 06:57 AM

    Hi,

    Im also using the same FM with the ff parameters:

    call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'

    exporting

    filename = p_pfname

    i_begin_col = 1

    i_begin_row = 1

    i_end_col = 30 'upto N-col

    i_end_row = 5000 'upto N-row

    tables

    intern = it_buffer

    exceptions

    inconsistent_parameters = 1

    upload_ole = 2

    others = 3.

    It should be straight forward and returns the Excel data into an Internal table.

    Cheers,

    Kelvin

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.