Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Issue with field separator in GUI_UPLOAD

Hello Gurus

I am facing issue with gui_upload. I have a text file in which the fields are eparated by single Pipe i.e |. Now when I try to read the data from file in internal table even with using field separator it does not insert data in proper fields.

DATA: BEGIN OF IT_TAB OCCURS 0,

OBJECT_ID type string,

VERSION_SERIES_ID TYPE string,

VERSION_NUMBER TYPE string,

REVISION TYPE string,

DOC_NUMBER TYPE string,

DOCTITLE TYPE string,

FILESIZE TYPE string,

MIME_TYPE TYPE string,

PLANTUNIT TYPE string,

END OF IT_TAB.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = w_mpath

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = '|'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • NO_AUTH_CHECK = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = it_tab[]

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.

I want the data to get appended in internal table based on | separator.

Please help.

Regards,

Rajesh.

Tags:
Former Member
Former Member replied

Hi,

I believe the field separator parameter will work for Excel files..You have to get the internal table in a string format..and then use split statement..

check this example..

DATA: BEGIN OF it_tab OCCURS 0,
       object_id TYPE string,
       version_series_id TYPE string,
       version_number TYPE string,
       revision TYPE string,
       doc_number TYPE string,
       doctitle TYPE string,
       filesize TYPE string,
       mime_type TYPE string,
       plantunit TYPE string,
     END OF it_tab.

DATA: t_tab   TYPE TABLE OF string,
      v_string TYPE string.

CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
    filename                = 'C:\TEST.TXT'
*    has_field_separator     = '|'          "Actually not required.
  TABLES
    data_tab                = t_tab
  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.

ENDIF.

LOOP AT t_tab INTO v_string.
  SPLIT v_string AT ','
        INTO
        it_tab-object_id
        it_tab-version_series_id
        it_tab-version_number
        it_tab-revision
        it_tab-doc_number
        it_tab-doctitle
        it_tab-filesize
        it_tab-mime_type
        it_tab-plantunit.
  APPEND it_tab.
  CLEAR: it_tab.
ENDLOOP.

Thanks

Naren

Edited by: Narendran Muthukumaran on Oct 15, 2008 4:58 PM

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question