Application Development and Automation 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: 
Read only

Error in uploading

Former Member
0 Likes
434

Hi,

I am uploading a flat file from excel to SAP table j_2iaccbal. The program is going to the short dump. Pls tell me what is the error.

Code:

REPORT ZJ_21ACCBALUPLOAD .

tables: j_2iaccbal.

data: begin of itab occurs 0,

mandt like sy-mandt,

exgrp like j_2iaccbal-exgrp,

datum like j_2iaccbal-exgrp,

op_bal like j_2iaccbal-op_bal,

cl_bal like j_2iaccbal-cl_bal,

usnam like sy-uname,

cpudt like sy-datum,

cputm like sy-uzeit,

end of itab.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'C:\SMS1.TXT'

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X '

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • 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.

loop at itab.

j_2iaccbal-mandt = ITAB-MANDT.

j_2iaccbal-exgrp = ITAB-EXGRP.

j_2iaccbal-datum = itab-datum.

j_2iaccbal-op_bal = itab-op_bal.

j_2iaccbal-cl_bal = itab-cl_bal.

j_2iaccbal-usnam = ITAB-USNAM.

j_2iaccbal-cpudt = ITAB-CPUDT.

j_2iaccbal-cputm = ITAB-CPUTM.

modify j_2iaccbal.

endloop.

commit work.

Regards,

Karthik

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
399

Hi karthik,

1. Very minor mistake.

2. HAS_FIELD_SEPARATOR = 'X '

(remove the EXTRA space after X and before 2nd QUOTE)

'X@' (where @ = space)

It should be only ONE CHARACTER 'X'.

HAS_FIELD_SEPARATOR = 'X'

regards,

amit m.

3 REPLIES 3
Read only

Former Member
0 Likes
400

Hi karthik,

1. Very minor mistake.

2. HAS_FIELD_SEPARATOR = 'X '

(remove the EXTRA space after X and before 2nd QUOTE)

'X@' (where @ = space)

It should be only ONE CHARACTER 'X'.

HAS_FIELD_SEPARATOR = 'X'

regards,

amit m.

Read only

Former Member
0 Likes
399

you said from EXCEL but in the program you hardcoded file as .txt.. check this

& i observer a space extra in HAS_FIELD_SEPERATOR field

it should be 'X'.

check it .

if you are uploading from excel, use the function module given in this link,

http://www.sapdevelopment.co.uk/file/file_upexcel.htm

TEXT_CONVERT_XLS_TO_SAP

regards

srikanth

Read only

Former Member
0 Likes
399

Hai Karthik

Check the following COde

Just remove the space in between 'X'

that is

HAS_FIELD_SEPARATOR = 'X ' to

HAS_FIELD_SEPARATOR = 'X'

Code:

REPORT ZJ_21ACCBALUPLOAD .

tables: j_2iaccbal.

data: begin of itab occurs 0,

mandt like sy-mandt,

exgrp like j_2iaccbal-exgrp,

datum like j_2iaccbal-exgrp,

op_bal like j_2iaccbal-op_bal,

cl_bal like j_2iaccbal-cl_bal,

usnam like sy-uname,

cpudt like sy-datum,

cputm like sy-uzeit,

end of itab.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'C:\SMS1.TXT'

FILETYPE = 'ASC'

<b>HAS_FIELD_SEPARATOR = 'X'</b>

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • 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.

loop at itab.

j_2iaccbal-mandt = ITAB-MANDT.

j_2iaccbal-exgrp = ITAB-EXGRP.

j_2iaccbal-datum = itab-datum.

j_2iaccbal-op_bal = itab-op_bal.

j_2iaccbal-cl_bal = itab-cl_bal.

j_2iaccbal-usnam = ITAB-USNAM.

j_2iaccbal-cpudt = ITAB-CPUDT.

j_2iaccbal-cputm = ITAB-CPUTM.

modify j_2iaccbal.

endloop.

commit work.

Thanks & regards

Sreenivasulu P