Application Development 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: 

Wht I need to pass for FILE and TEXT parametres in 'FTP_R3_TO_SERVER'?

Former Member
0 Kudos

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

1 ACCEPTED SOLUTION

Former Member
0 Kudos

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

3 REPLIES 3

Former Member
0 Kudos

Hi,

The filename should be the name of the file on the FTP server not the local machine.

Regards,

Atish

Former Member
0 Kudos

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

0 Kudos

Check standard reports RSFTP007 and RSFTP008.

It would help in coding 'FTP_R3_TO_SERVER'.

Regards

Abhishek