‎2008 Apr 14 5:22 AM
Hi all,
I have written a program to populate an internal table from database table and download the data to a file on presentation server(Desktop).
I have also wriiten a program to upload the data from the same file on presentation server to populate the internal table.
I got a data interpretation error.
Database table i used is SBOOK.
The fields that caused the data interpretation error while uploading the data from presentation server to populate internal table are, LUGGWEIGHT ( Luggage Weight - Decimal Value), FORCURAM ( Foreign Currency) and LOCCURAM(Local Currency).
Is there anyway i can fix this error. How to make the interpretation correctly.
Thanks for your time. <REMOVED BY MODERATOR>
Thanks,
Shiv
Edited by: Sivaram Naga on Apr 14, 2008 6:24 AM
Edited by: Alvaro Tejada Galindo on Apr 14, 2008 3:27 PM
‎2008 Apr 14 6:05 AM
i think u have created flat file check the entries in sbook table and try to recreate flat file according to it
‎2008 Apr 14 5:31 AM
Dear Sivaram,
Please specify which FM you are using ,and what is the file format into which you are downloading...
Regards,
Talwinder
‎2008 Apr 14 5:56 AM
‎2008 Apr 14 6:00 AM
Hi,
use Gui_Download like below
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
filename = 'C:\Documents and Settings\saptrng\Desktop\desktop\xyz.txt'
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = 'X'
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
tables
data_tab = itab
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
‎2008 Apr 14 6:05 AM
i think u have created flat file check the entries in sbook table and try to recreate flat file according to it
‎2008 Apr 14 6:20 AM
Hi Singh and KPN,
Thanks for your quick answer.
I need to add some more.
I populated the internal table with 10 fields from database table and downloaded the internal table records to a file on my desktop using GUI_DOWNLOAD Function Module.
Later, I commented out the above Function Module and Select Query and used the GUI_UPLOAD function module to upload the same file to populate the internal table and have written those entries to output using LOOP AT ITAB.
Out of 10 fields 7 fields(including a date field in it) caused no problem at all, They have been successfully written to output.
I checked each field by commenting out rest of the fields. Thats how i came to know the only three fields with decimal values are causing errors. I am not sure whether their floating point nature is causing the problem.
I hope you are clear now.
Kindly help me out in fixing the problem.
PLEASE HELP ME OUT
Thanks,
Shiv
Edited by: Sivaram Naga on Apr 14, 2008 8:00 PM
‎2008 Apr 14 7:12 PM
please paste how you declared the internal table,
for both FMs, upload and download
‎2008 Apr 14 7:51 PM
REPORT zpbfileupload1.
TABLES: sbook.
DATA: BEGIN OF itab OCCURS 0,
carrid LIKE sbook-carrid,
connid LIKE sbook-connid,
fldate LIKE sbook-fldate,
bookid TYPE sbook-bookid,
customid TYPE sbook-customid,
custtype TYPE sbook-custtype,
class TYPE sbook-class,
*luggweight TYPE sbook-luggweight,
passname TYPE sbook-passname,
smoker TYPE sbook-smoker,
forcuram TYPE sbook-forcuram,
loccuram TYPE sbook-loccuram,
END OF itab.
* Download Part
*SELECT * FROM sbook INTO CORRESPONDING FIELDS OF TABLE itab UP TO 20 ROWS.
*
*
* CALL FUNCTION 'GUI_DOWNLOAD'
* EXPORTING
* filename = 'C:\users\vamc\documents\bookinginfo.txt'
*
* tables
* data_tab = itab.
* Upload Part
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'C:\users\vamc\documents\bookinginfo.txt'
tables
data_tab = ITAB.
loop at itab.
write: / itab-carrid, itab-connid, itab-bookid, itab-fldate, itab-customid, itab-custtype, itab-class, itab-passname, itab-smoker.
endloop.
‎2008 Apr 14 8:26 PM
i just added
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
to both upload and download and it is working perfect.
‎2008 Apr 14 8:29 PM
Take a look at this weblog
[Taking good care of Z Data|https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3340] [original link is broken] [original link is broken] [original link is broken];
Already does what you need -;)
Greetings,
Blag.
‎2008 Apr 14 8:33 PM
Hi,
Please refer the code below:
* Download internal table to presentation server file(PC)
* Separating fields/columns by a tab
DATA: ld_filename TYPE string,
* Pre version 4.7 declaration e_file like rlgrap-filename.
DATA: begin of it_datatab occurs 0,
col1(50) type c,
col2(50) type c,
col3(50) type c,
* etc....
end of it_datatab.
"Write select statement to get the data from some table and store it in it_datatab.
"Use below code to download the data
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = ld_filename
filetype = 'ASC'
* APPEND = 'X'
write_field_separator = 'X'
* CONFIRM_OVERWRITE = 'X'
TABLES
data_tab = it_datatab[]
EXCEPTIONS
file_open_error = 1
file_write_error = 2
OTHERS = 3.
Thanks,
Sriram Ponna.