Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Looking for an example to FM TEXT_CONVERT_CSV_TO_SAP

Former Member
0 Kudos

Hi,

i have an CSV File on a PC. The fields in the File

are separated by ','. I try to use the FM TEXT_CONVERT_CSV_TO_SAP, but i have problems.

Can anyone give me an example-Code for this FM?

Thanks

Dieter

1 ACCEPTED SOLUTION

former_member188685
Active Contributor
0 Kudos

Hi,

Check this sample code...

REPORT  ZTEST.
TYPE-POOLS:TRUXS.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
END OF ITAB.
data: itabt like itab occurs 0 with header line.
DATA: ITAB1 TYPE TRUXS_T_TEXT_DATA,
      ITAB2 TYPE TRUXS_T_TEXT_DATA.
SELECT VBELN
      POSNR
      UP TO 100 ROWS
      FROM VBAP
      INTO TABLE ITAB.
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
  EXPORTING
    I_FIELD_SEPERATOR    = ','
  TABLES
    I_TAB_SAP_DATA       = ITAB
  CHANGING
    I_TAB_CONVERTED_DATA = ITAB1
  EXCEPTIONS
    CONVERSION_FAILED    = 1
    OTHERS               = 2.
IF SY-SUBRC <> 0.
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
    FILENAME = 'C:TEMPtest.txt'
  TABLES
    DATA_TAB = ITAB1
  EXCEPTIONS
    OTHERS   = 1.

CALL FUNCTION 'TEXT_CONVERT_CSV_TO_SAP'
  EXPORTING
   I_FIELD_SEPERATOR          = ','
    I_TAB_RAW_DATA             = ITAB1
*   I_FILENAME                 = 'C:TEMPtest.txt'
  TABLES
    I_TAB_CONVERTED_DATA       = ITABt
 EXCEPTIONS
   CONVERSION_FAILED          = 1
   OTHERS                     = 2
          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Regards

vijay

4 REPLIES 4

Former Member
0 Kudos

You might want to try this. You can split it into a table and then assign to the fields of itab.

report ztest.data: begin of itab occurs 0,      fld1(10) type c,      fld2(10) type c,      fld3(10) type c,      end of itab.data: isplit type table of string with header line.data: istr type table of string.data: xstr type string.field-symbols: <fs>.call function 'GUI_UPLOAD'     exporting          filename = 'c:text.cvs'     tables          data_tab = istr.loop at istr into xstr.  clear isplit.  refresh isplit.  split xstr at ','  into table  isplit.  clear itab.  loop at isplit.    assign component sy-tabix of structure itab to <fs>.    if sy-subrc <> 0.      exit.    endif.    <fs> = isplit.  endloop.  append itab.endloop.

Former Member
0 Kudos

You can use this code for the same purpose

report ztest.

data: begin of itab occurs 0,

fld1(10) type c,

fld2(10) type c,

fld3(10) type c,

end of itab.

data: isplit type table of string with header line.

data: istr type table of string.

data: xstr type string.

field-symbols: <fs>.

call function 'GUI_UPLOAD'

exporting

filename = 'c:\text.cvs'

tables

data_tab = istr.

loop at istr into xstr.

clear isplit. refresh isplit.

split xstr at ',' into table isplit.

clear itab.

loop at isplit.

assign component sy-tabix of structure itab to <fs>.

if sy-subrc <> 0.

exit.

endif.

<fs> = isplit.

endloop.

append itab.

endloop.

Former Member
0 Kudos

Hi dieter,

1. simple

2. just copy paste.

3. the file name is d:\myfile.txt

the contents are - 2 records:

amit;mittal

mr;xyz

4.

report abc.

type-pools : TRUXS.

*----


data : rawdata type TRUXS_T_TEXT_DATA.

data : begin of itab occurs 0,

f1(10) type c,

f2(10) type c,

end of itab.

*----


CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'd:\myfile.txt'

TABLES

DATA_TAB = rawdata

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

.

*----


CALL FUNCTION 'TEXT_CONVERT_CSV_TO_SAP'

EXPORTING

I_FIELD_SEPERATOR = ';'

  • I_LINE_HEADER =

I_TAB_RAW_DATA = rawdata

  • I_FILENAME = 'd:\myfile1.txt'

TABLES

I_TAB_CONVERTED_DATA = itab

EXCEPTIONS

CONVERSION_FAILED = 1

OTHERS = 2

.

break-point.

regards,

amit m.

former_member188685
Active Contributor
0 Kudos

Hi,

Check this sample code...

REPORT  ZTEST.
TYPE-POOLS:TRUXS.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
END OF ITAB.
data: itabt like itab occurs 0 with header line.
DATA: ITAB1 TYPE TRUXS_T_TEXT_DATA,
      ITAB2 TYPE TRUXS_T_TEXT_DATA.
SELECT VBELN
      POSNR
      UP TO 100 ROWS
      FROM VBAP
      INTO TABLE ITAB.
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
  EXPORTING
    I_FIELD_SEPERATOR    = ','
  TABLES
    I_TAB_SAP_DATA       = ITAB
  CHANGING
    I_TAB_CONVERTED_DATA = ITAB1
  EXCEPTIONS
    CONVERSION_FAILED    = 1
    OTHERS               = 2.
IF SY-SUBRC <> 0.
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
    FILENAME = 'C:TEMPtest.txt'
  TABLES
    DATA_TAB = ITAB1
  EXCEPTIONS
    OTHERS   = 1.

CALL FUNCTION 'TEXT_CONVERT_CSV_TO_SAP'
  EXPORTING
   I_FIELD_SEPERATOR          = ','
    I_TAB_RAW_DATA             = ITAB1
*   I_FILENAME                 = 'C:TEMPtest.txt'
  TABLES
    I_TAB_CONVERTED_DATA       = ITABt
 EXCEPTIONS
   CONVERSION_FAILED          = 1
   OTHERS                     = 2
          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Regards

vijay