‎2007 Aug 10 5:49 AM
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
‎2007 Aug 10 5:52 AM
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!
‎2007 Aug 10 5:52 AM
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!
‎2007 Aug 10 5:52 AM
HI,
define your internal table fiels with CHAR data type.
****Please Reward if helpful.
Thanks CSR.
‎2007 Aug 10 5:54 AM
‎2007 Aug 10 5:56 AM
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
‎2007 Aug 10 6:23 AM
Hi Kiran
What is this
RC = RC
in your coding for?Kindly explain me what is it doing
‎2007 Aug 10 5:57 AM
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
‎2007 Aug 10 6:15 AM
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.
‎2007 Aug 10 5:58 AM
HI,
i couldn't find where you specified the file path of the text file!