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

BDC program error

Former Member
0 Likes
1,196

Hi experts

I have written this code and trying to upload some data from text file ....its giving me error "Cannot Interpret Data in File "

CODE

report ZAC_SHDB_SD1

no standard page heading line-size 255.

Tables : vbep, rv45a , vbap,vbak,vbkd,kuagv.

data : ctab like bdcdata occurs 10 with header line.

data : begin of itab occurs 0,

auart like VBAK-AUART,

vkorg like vbak-vkorg,

vtweg like vbak-vtweg,

spart like vbak-spart,

  • bstkd like VBKD-BSTDK,

kunnr like kuagv-kunnr,

mabnr like RV45A-MABNR,

posnr like VBAP-POSNR,

bstdk like VBKD-BSTDK,

zmeng like VBAP-ZMENG,

end of itab.

CALL FUNCTION 'UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'text.txt'

FILETYPE = 'dat'

  • IMPORTING

TABLES

DATA_TAB = itab

EXCEPTIONS

CONVERSION_ERROR = 1

INVALID_TABLE_WIDTH = 2

INVALID_TYPE = 3

NO_BATCH = 4

UNKNOWN_ERROR = 5

GUI_REFUSE_FILETRANSFER = 6

OTHERS = 7

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

include bdcrecx1.

start-of-selection.

perform open_group.

loop at itab.

perform bdc_dynpro using 'SAPMV45A' '0101'.

perform bdc_field using 'BDC_CURSOR'

'VBAK-AUART'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBAK-AUART'

'YDS'.

perform bdc_field using 'VBAK-VKORG'

'7777'.

perform bdc_field using 'VBAK-VTWEG'

'71'.

perform bdc_field using 'VBAK-SPART'

'77'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/65'.

perform bdc_field using 'BDC_OKCODE'

'=PICK'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/65'.

perform bdc_field using 'BDC_OKCODE'

'=PZ 29'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/65'.

perform bdc_field using 'BDC_OKCODE'

'=PZ 51'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'11/58'.

perform bdc_field using 'BDC_OKCODE'

'=PICK'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBKD-BSTDK'

'09.08.2007'.

perform bdc_field using 'KUAGV-KUNNR'

'1'.

perform bdc_field using 'KUWEV-KUNNR'

'1'.

perform bdc_field using 'VBAK-GUEBG'

'09.08.2007'.

perform bdc_field using 'VBAK-GUEEN'

'15.08.2007'.

perform bdc_field using 'BDC_CURSOR'

'VBAP-ZMENG(01)'.

*****change***************

perform bdc_field using 'RV45A-MABNR(01)'

itab-mabnr.

*****change***************

perform bdc_field using 'VBAP-ZMENG(01)'

itab-zmeng.

perform bdc_field using 'VBAP-POSNR(01)'

' 10'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/64'.

perform bdc_field using 'BDC_OKCODE'

'=PICK'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/64'.

perform bdc_field using 'BDC_OKCODE'

'=PZ 32'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/64'.

perform bdc_field using 'BDC_OKCODE'

'=PZ 44'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/64'.

perform bdc_field using 'BDC_OKCODE'

'=PZ 51'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/64'.

perform bdc_field using 'BDC_OKCODE'

'=PZ 59'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'32/57'.

perform bdc_field using 'BDC_OKCODE'

'=PICK'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBKD-BSTDK'

'09.08.2007'.

perform bdc_field using 'KUAGV-KUNNR'

'1'.

perform bdc_field using 'KUWEV-KUNNR'

'1'.

perform bdc_field using 'VBAK-GUEBG'

'09.08.2007'.

perform bdc_field using 'VBAK-GUEEN'

'15.08.2007'.

perform bdc_field using 'BDC_CURSOR'

'VBAP-ZMENG(02)'.

*****change***************

perform bdc_field using 'RV45A-MABNR(02)'

itab-mabnr.

*****change***************

perform bdc_field using 'VBAP-ZMENG(02)'

itab-zmeng.

perform bdc_field using 'VBAP-POSNR(02)'

' 20'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/62'.

perform bdc_field using 'BDC_OKCODE'

'=PICK'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/62'.

perform bdc_field using 'BDC_OKCODE'

'=PZ 39'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/62'.

perform bdc_field using 'BDC_OKCODE'

'=PZ 48'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'02/62'.

perform bdc_field using 'BDC_OKCODE'

'=PZ 65'.

perform bdc_dynpro using 'SAPMSSY0' '0120'.

perform bdc_field using 'BDC_CURSOR'

'30/58'.

perform bdc_field using 'BDC_OKCODE'

'=PICK'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'VBKD-BSTDK'

'09.08.2007'.

perform bdc_field using 'KUAGV-KUNNR'

'1'.

perform bdc_field using 'KUWEV-KUNNR'

'1'.

perform bdc_field using 'VBAK-GUEBG'

'09.08.2007'.

perform bdc_field using 'VBAK-GUEEN'

'15.08.2007'.

perform bdc_field using 'BDC_CURSOR'

'VBAP-ZMENG(03)'.

*****change***************

perform bdc_field using 'RV45A-MABNR(03)'

itab-mabnr.

*****change***************

perform bdc_field using 'VBAP-ZMENG(03)'

itab-zmeng.

perform bdc_field using 'VBAP-POSNR(03)'

' 30'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'=ITEM'.

perform bdc_field using 'VBKD-BSTDK'

'09.08.2007'.

perform bdc_field using 'KUAGV-KUNNR'

'1'.

perform bdc_field using 'KUWEV-KUNNR'

'1'.

perform bdc_field using 'VBAK-GUEBG'

'09.08.2007'.

perform bdc_field using 'VBAK-GUEEN'

'15.08.2007'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-MABNR(01)'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-KWMENG'.

perform bdc_field using 'RV45A-KWMENG'

' 100'.

perform bdc_field using 'VBAP-VRKME'

'NOS'.

perform bdc_field using 'VBAP-ZMENG'

' 111,00'.

perform bdc_field using 'VBAP-ZIEME'

'NOS'.

perform bdc_field using 'VBAP-UMZIN'

' 1'.

perform bdc_field using 'VBAP-UMZIZ'

' 1'.

perform bdc_field using 'RV45A-ETDAT'

'09.08.2007'.

perform bdc_field using 'RV45A-PRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'09.08.2007'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'=T\07'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-KWMENG'.

perform bdc_field using 'RV45A-KWMENG'

' 100,00'.

perform bdc_field using 'VBAP-VRKME'

'NOS'.

perform bdc_field using 'VBAP-ZMENG'

' 111,00'.

perform bdc_field using 'VBAP-ZIEME'

'NOS'.

perform bdc_field using 'RV45A-ETDAT'

'09.08.2007'.

perform bdc_field using 'RV45A-PRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'09.08.2007'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'/EBACK'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-ETDAT(01)'.

perform bdc_field using 'VBAP-VRKME'

'NOS'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'=ITEM'.

perform bdc_field using 'VBKD-BSTDK'

'09.08.2007'.

perform bdc_field using 'KUAGV-KUNNR'

'1'.

perform bdc_field using 'KUWEV-KUNNR'

'1'.

perform bdc_field using 'VBAK-GUEBG'

'09.08.2007'.

perform bdc_field using 'VBAK-GUEEN'

'15.08.2007'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-MABNR(02)'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'=T\01'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-ETDAT(01)'.

perform bdc_field using 'VBAP-VRKME'

'NOS'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-KWMENG'.

perform bdc_field using 'RV45A-KWMENG'

' 200'.

perform bdc_field using 'VBAP-VRKME'

'NOS'.

perform bdc_field using 'VBAP-ZMENG'

' 222,00'.

perform bdc_field using 'VBAP-ZIEME'

'NOS'.

perform bdc_field using 'VBAP-UMZIN'

' 1'.

perform bdc_field using 'VBAP-UMZIZ'

' 1'.

perform bdc_field using 'RV45A-ETDAT'

'09.08.2007'.

perform bdc_field using 'RV45A-PRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'09.08.2007'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'/EBACK'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-KWMENG'.

perform bdc_field using 'RV45A-KWMENG'

' 200,00'.

perform bdc_field using 'VBAP-VRKME'

'NOS'.

perform bdc_field using 'VBAP-ZMENG'

' 222,00'.

perform bdc_field using 'VBAP-ZIEME'

'NOS'.

perform bdc_field using 'RV45A-ETDAT'

'09.08.2007'.

perform bdc_field using 'RV45A-PRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'09.08.2007'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'=ITEM'.

perform bdc_field using 'VBKD-BSTDK'

'09.08.2007'.

perform bdc_field using 'KUAGV-KUNNR'

'1'.

perform bdc_field using 'KUWEV-KUNNR'

'1'.

perform bdc_field using 'VBAK-GUEBG'

'09.08.2007'.

perform bdc_field using 'VBAK-GUEEN'

'15.08.2007'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-MABNR(03)'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-KWMENG'.

perform bdc_field using 'RV45A-KWMENG'

' 300'.

perform bdc_field using 'VBAP-VRKME'

'EA'.

perform bdc_field using 'VBAP-ZMENG'

' 333'.

perform bdc_field using 'VBAP-ZIEME'

'EA'.

perform bdc_field using 'VBAP-UMZIN'

' 1'.

perform bdc_field using 'VBAP-UMZIZ'

' 1'.

perform bdc_field using 'RV45A-ETDAT'

'09.08.2007'.

perform bdc_field using 'RV45A-PRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'09.08.2007'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'/EBACK'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-KWMENG'.

perform bdc_field using 'RV45A-KWMENG'

' 300'.

perform bdc_field using 'VBAP-VRKME'

'EA'.

perform bdc_field using 'VBAP-ZMENG'

' 333'.

perform bdc_field using 'VBAP-ZIEME'

'EA'.

perform bdc_field using 'RV45A-ETDAT'

'09.08.2007'.

perform bdc_field using 'RV45A-PRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'09.08.2007'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'=ITEM'.

perform bdc_field using 'VBKD-BSTDK'

'09.08.2007'.

perform bdc_field using 'KUAGV-KUNNR'

'1'.

perform bdc_field using 'KUWEV-KUNNR'

'1'.

perform bdc_field using 'VBAK-GUEBG'

'09.08.2007'.

perform bdc_field using 'VBAK-GUEEN'

'15.08.2007'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-MABNR(01)'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'/EBACK'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-KWMENG'.

perform bdc_field using 'RV45A-KWMENG'

' 100,00'.

perform bdc_field using 'VBAP-VRKME'

'NOS'.

perform bdc_field using 'VBAP-ZMENG'

' 111,00'.

perform bdc_field using 'VBAP-ZIEME'

'NOS'.

perform bdc_field using 'RV45A-ETDAT'

'09.08.2007'.

perform bdc_field using 'RV45A-PRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'09.08.2007'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'=ITEM'.

perform bdc_field using 'VBKD-BSTDK'

'09.08.2007'.

perform bdc_field using 'KUAGV-KUNNR'

'1'.

perform bdc_field using 'KUWEV-KUNNR'

'1'.

perform bdc_field using 'VBAK-GUEBG'

'09.08.2007'.

perform bdc_field using 'VBAK-GUEEN'

'15.08.2007'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-MABNR(02)'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'/EBACK'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-KWMENG'.

perform bdc_field using 'RV45A-KWMENG'

' 200,00'.

perform bdc_field using 'VBAP-VRKME'

'NOS'.

perform bdc_field using 'VBAP-ZMENG'

' 222,00'.

perform bdc_field using 'VBAP-ZIEME'

'NOS'.

perform bdc_field using 'RV45A-ETDAT'

'09.08.2007'.

perform bdc_field using 'RV45A-PRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'09.08.2007'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'=ITEM'.

perform bdc_field using 'VBKD-BSTDK'

'09.08.2007'.

perform bdc_field using 'KUAGV-KUNNR'

'1'.

perform bdc_field using 'KUWEV-KUNNR'

'1'.

perform bdc_field using 'VBAK-GUEBG'

'09.08.2007'.

perform bdc_field using 'VBAK-GUEEN'

'15.08.2007'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-MABNR(03)'.

perform bdc_dynpro using 'SAPMV45A' '4003'.

perform bdc_field using 'BDC_OKCODE'

'/EBACK'.

perform bdc_field using 'BDC_CURSOR'

'RV45A-KWMENG'.

perform bdc_field using 'RV45A-KWMENG'

' 300'.

perform bdc_field using 'VBAP-VRKME'

'EA'.

perform bdc_field using 'VBAP-ZMENG'

' 333'.

perform bdc_field using 'VBAP-ZIEME'

'EA'.

perform bdc_field using 'RV45A-ETDAT'

'09.08.2007'.

perform bdc_field using 'RV45A-PRGBZ'

'D'.

perform bdc_field using 'VBKD-PRSDT'

'09.08.2007'.

perform bdc_dynpro using 'SAPMV45A' '4001'.

perform bdc_field using 'BDC_OKCODE'

'/EBAC1'.

perform bdc_transaction using 'VA31'.

endloop.

perform close_group.

MY TEXT FILE IS :

14-08-2007 77290M60E12-26U 8

14-08-2007 77290M60E12-68M 10

14-08-2007 77290M60E12-76G 11

14-08-2007 77290M60E12-Z2S 12

Helpful answer will be rewarded

Thanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,094

Hi,

There can be few reasons,

1.File path is not proper.

2. file contents are not suitable.

3. Check fields of files compatible to your structure.

Reward if useful!

8 REPLIES 8
Read only

Former Member
0 Likes
1,095

Hi,

There can be few reasons,

1.File path is not proper.

2. file contents are not suitable.

3. Check fields of files compatible to your structure.

Reward if useful!

Read only

Former Member
0 Likes
1,094

HI,

define your internal table fiels with CHAR data type.

****Please Reward if helpful.

Thanks CSR.

Read only

Former Member
0 Likes
1,094

chk upload funcation import parameters.

file name chk.

Read only

Former Member
0 Likes
1,094

Hi

give complete path of file name

FILENAME = 'text.txt'

or use this one

data: begin of itab_string occurs 0,

record type char255,

end of itab_string.

data: L_FILETABLE TYPE FILETABLE,

L_FILETAB_H TYPE FILETABLE WITH HEADER LINE.

data: p_file1 type string.

  • selection screen .

PARAMETERS: P_FILE TYPE LOCALFILE.

at selection-screen on value-request for P_FILE.

  • IF THE USER SELECT EXTENTION BUTTON IT WILL OPEN THE LOCAL DIRECTORY FOR SELECTING THE FILE LOCATION.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

  • EXPORTING

  • WINDOW_TITLE =

  • DEFAULT_EXTENSION = 'CSV'

  • DEFAULT_FILENAME = 'C:\Documents and Settings\kiran\Desktop\STATUS.csv'

  • FILE_FILTER =

  • INITIAL_DIRECTORY = 'C:\Documents and Settings\kiran\Desktop\'

  • MULTISELECTION =

  • WITH_ENCODING =

CHANGING

FILE_TABLE = L_FILETABLE

RC = RC

  • USER_ACTION =

  • FILE_ENCODING =

EXCEPTIONS

FILE_OPEN_DIALOG_FAILED = 1

CNTL_ERROR = 2

ERROR_NO_GUI = 3

NOT_SUPPORTED_BY_GUI = 4

others = 5

.

IF SY-SUBRC <> 0.

ELSE.

LOOP AT l_filetable INTO L_FILETAB_H.

P_FILE = L_FILETAB_H-FILENAME.

move p_file to p_file1.

EXIT.

ENDLOOP.

ENDIF.

  • passing the selected file name to gui_upload for loading the data

  • into internal table

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = p_file1

  • FILETYPE = 'ASC'

  • HAS_FIELD_SEPARATOR = ' '

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • NO_AUTH_CHECK = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = itab_string

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 I000(Z00) WITH 'PLEASE PROVIDE CORRECT FILE NAME'.

ENDIF.

Reward points for all helpful answers,

kiran.M

Read only

0 Likes
1,094

Hi Kiran

What is this

RC = RC

in your coding for?Kindly explain me what is it doing

Read only

Former Member
0 Likes
1,094

HI,

CALL FUNCTION 'UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'text.txt' " You need to mention the total file path

FILETYPE = 'dat'

  • IMPORTING

TABLES

DATA_TAB = itab

EXCEPTIONS

CONVERSION_ERROR = 1

INVALID_TABLE_WIDTH = 2

INVALID_TYPE = 3

NO_BATCH = 4

UNKNOWN_ERROR = 5

GUI_REFUSE_FILETRANSFER = 6

OTHERS = 7

.

You need to mention the Totla file path,

Regards

Sudheer

Read only

0 Likes
1,094

HI experts

i tried by giving complete file path name :

(C:\Documents and Settings\sks\Desktop\text.txt" ) also but than also same error coming ....:Cannot Interpret data"

.file structure is also correct.

Read only

dev_parbutteea
Active Contributor
0 Likes
1,094

HI,

i couldn't find where you specified the file path of the text file!