05-28-2008 4:25 AM
Hi Experts,
In the follwoing FM, am getting SY-SUBRC as 0, so, am guessing my FTP connection is get success,
call function 'FTP_CONNECT'
EXPORTING
user = p_userID
password = g_password
host = p_host
rfc_destination = c_dest
IMPORTING
handle = g_dhdl
EXCEPTIONS
NOT_CONNECTED.
So, in next step, I am using the below FM for transferring the data from internal table to FTP Server.
CALL FUNCTION 'FTP_R3_TO_SERVER'
EXPORTING
HANDLE = g_dhdl, usually, its coming as 1
FNAME = 'c:\datafile.txt'
CHARACTER_MODE = 'X'
TABLES
TEXT = it_text "internal table with one field, where all data records were appendedEXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3
OTHERS = 4.
Issues:
1) but, here, am getting TCPIP_ERROR = 1 error!! so, pls. let me know that, Wht does it mean? How can I rectify it?
2) If I change some parameters, etc,. some tmes am getting DATA_ERROR?
3) mainly, pls. let me know, Wht I have to pass for FNAME?
4) mainly, pls. let me know, Wht I have to pass for TEXT?
Edited by: Srinivas on May 27, 2008 11:27 PM
05-28-2008 4:38 AM
Hi,
see the program.
REPORT RSFTP007 .
DATA: USER(64) TYPE C,
PWD(64) TYPE C,
HOST(64) TYPE C,
FILENAME(80) TYPE C,
FILENAME2(80) TYPE C,
DEST LIKE RFCDES-RFCDEST VALUE 'SAPFTP'.
DATA: HDL TYPE I,
KEY TYPE I VALUE 26101957,
DSTLEN TYPE I,
BLOB_LENGTH TYPE I.
DATA: BEGIN OF BLOB OCCURS 0,
LINE(100) TYPE X,
END OF BLOB.
CALL SCREEN '0100'.
DESCRIBE FIELD PWD LENGTH DSTLEN.
CALL 'AB_RFC_X_SCRAMBLE_STRING'
ID 'SOURCE' FIELD PWD ID 'KEY' FIELD KEY
ID 'SCR' FIELD 'X' ID 'DESTINATION' FIELD PWD
ID 'DSTLEN' FIELD DSTLEN.
CALL FUNCTION 'FTP_CONNECT'
EXPORTING USER = USER PASSWORD = PWD HOST = HOST
RFC_DESTINATION = DEST
IMPORTING HANDLE = HDL.
CALL FUNCTION 'FTP_SERVER_TO_R3'
EXPORTING HANDLE = HDL FNAME = FILENAME
IMPORTING BLOB_LENGTH = BLOB_LENGTH
TABLES BLOB = BLOB.
WRITE: AT / 'Get ',FILENAME,' Length: ',BLOB_LENGTH.
CONCATENATE FILENAME '.test' INTO FILENAME2.
CALL FUNCTION 'FTP_R3_TO_SERVER'
EXPORTING HANDLE = HDL
FNAME = FILENAME2
BLOB_LENGTH = BLOB_LENGTH
TABLES BLOB = BLOB.
WRITE: AT / 'Put ',FILENAME2.
CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING HANDLE = HDL.
Pls. reward if useful..
05-28-2008 4:32 AM
Hi,
The filename should be the name of the file on the FTP server not the local machine.
Regards,
Atish
05-28-2008 4:38 AM
Hi,
see the program.
REPORT RSFTP007 .
DATA: USER(64) TYPE C,
PWD(64) TYPE C,
HOST(64) TYPE C,
FILENAME(80) TYPE C,
FILENAME2(80) TYPE C,
DEST LIKE RFCDES-RFCDEST VALUE 'SAPFTP'.
DATA: HDL TYPE I,
KEY TYPE I VALUE 26101957,
DSTLEN TYPE I,
BLOB_LENGTH TYPE I.
DATA: BEGIN OF BLOB OCCURS 0,
LINE(100) TYPE X,
END OF BLOB.
CALL SCREEN '0100'.
DESCRIBE FIELD PWD LENGTH DSTLEN.
CALL 'AB_RFC_X_SCRAMBLE_STRING'
ID 'SOURCE' FIELD PWD ID 'KEY' FIELD KEY
ID 'SCR' FIELD 'X' ID 'DESTINATION' FIELD PWD
ID 'DSTLEN' FIELD DSTLEN.
CALL FUNCTION 'FTP_CONNECT'
EXPORTING USER = USER PASSWORD = PWD HOST = HOST
RFC_DESTINATION = DEST
IMPORTING HANDLE = HDL.
CALL FUNCTION 'FTP_SERVER_TO_R3'
EXPORTING HANDLE = HDL FNAME = FILENAME
IMPORTING BLOB_LENGTH = BLOB_LENGTH
TABLES BLOB = BLOB.
WRITE: AT / 'Get ',FILENAME,' Length: ',BLOB_LENGTH.
CONCATENATE FILENAME '.test' INTO FILENAME2.
CALL FUNCTION 'FTP_R3_TO_SERVER'
EXPORTING HANDLE = HDL
FNAME = FILENAME2
BLOB_LENGTH = BLOB_LENGTH
TABLES BLOB = BLOB.
WRITE: AT / 'Put ',FILENAME2.
CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING HANDLE = HDL.
Pls. reward if useful..
05-28-2008 4:38 AM
Check standard reports RSFTP007 and RSFTP008.
It would help in coding 'FTP_R3_TO_SERVER'.
Regards
Abhishek