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

FTP Sub command Error in FTP_R3_TO_SERVER in Program

toshitjawale
Explorer
0 Likes
1,520

Hello Experts,

I am getting FTP Sub command Error while using FM : FTP_R3_TO_SERVER.

I have also maintained table : SXPGCOSTAB and SAPFTP_SERVERS.

Please suggest.

Find below code :

* get the hexa decimal password
CALL FUNCTION 'HTTP_SCRAMBLE'
EXPORTING
SOURCE = lv_pass
SOURCELEN = LV_PWD_LEN
KEY = LC_KEY
IMPORTING
DESTINATION = LV_PASS.

* connect to FTP server
CALL FUNCTION 'FTP_CONNECT'
EXPORTING
USER = lv_uname
PASSWORD = LV_PASS
HOST = lv_IP
RFC_DESTINATION = LC_RFC_DEST
IMPORTING
HANDLE = LV_HANDLE.

* passive On
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
HANDLE = LV_HANDLE
COMMAND = 'set passive on'
TABLES
DATA = LI_RESULT
EXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3.

REFRESH LI_RESULT.

CALL FUNCTION 'FTP_COMMAND'
EXPORTING
HANDLE = LV_HANDLE
* COMMAND = 'ascii'
COMMAND = 'dir'
TABLES
DATA = LI_RESULT
EXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3.

lv_date = sy-datum - 1.
CONCATENATE 'SalesOps_inventory_data_' lv_date(4) '_' lv_date+4(2) '_' lv_date+6(2) '.csv' into lv_filename.
* Transfer data in internal table li_data to FTP

DATA: lv_blob_length TYPE i.

lv_blob_length = '16384'.


CALL FUNCTION 'FTP_R3_TO_SERVER'
EXPORTING
HANDLE = LV_HANDLE
FNAME = lv_filename
blob_length = lv_blob_length
CHARACTER_MODE = 'X'
TABLES
TEXT = GT_FINAL_FTP
EXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3
OTHERS = 4.
IF sy-SUBRC is not INITIAL.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

* Disconnect the FTP connection
CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
HANDLE = LV_HANDLE.

* Disconnect the RFC connection between SAP and FTP.
CALL FUNCTION 'RFC_CONNECTION_CLOSE'
EXPORTING
DESTINATION = LC_RFC_DEST
EXCEPTIONS
OTHERS = 1.

Hello Experts,

I am getting FTP Sub command Error while using FM : FTP_R3_TO_SERVER.

I have also maintained table : SXPGCOSTAB and SAPFTP_SERVERS.

Please suggest.

Find below code :

* get the hexa decimal password
CALL FUNCTION 'HTTP_SCRAMBLE'
EXPORTING
SOURCE = lv_pass
SOURCELEN = LV_PWD_LEN
KEY = LC_KEY
IMPORTING
DESTINATION = LV_PASS.

* connect to FTP server
CALL FUNCTION 'FTP_CONNECT'
EXPORTING
USER = lv_uname
PASSWORD = LV_PASS
HOST = lv_IP
RFC_DESTINATION = LC_RFC_DEST
IMPORTING
HANDLE = LV_HANDLE.

* passive On
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
HANDLE = LV_HANDLE
COMMAND = 'set passive on'
TABLES
DATA = LI_RESULT
EXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3.

REFRESH LI_RESULT.

CALL FUNCTION 'FTP_COMMAND'
EXPORTING
HANDLE = LV_HANDLE
* COMMAND = 'ascii'
COMMAND = 'dir'
TABLES
DATA = LI_RESULT
EXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3.

lv_date = sy-datum - 1.
CONCATENATE 'SalesOps_inventory_data_' lv_date(4) '_' lv_date+4(2) '_' lv_date+6(2) '.csv' into lv_filename.
* Transfer data in internal table li_data to FTP

DATA: lv_blob_length TYPE i.

lv_blob_length = '16384'.


CALL FUNCTION 'FTP_R3_TO_SERVER'
EXPORTING
HANDLE = LV_HANDLE
FNAME = lv_filename
blob_length = lv_blob_length
CHARACTER_MODE = 'X'
TABLES
TEXT = GT_FINAL_FTP
EXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3
OTHERS = 4.
IF sy-SUBRC is not INITIAL.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

* Disconnect the FTP connection
CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
HANDLE = LV_HANDLE.

* Disconnect the RFC connection between SAP and FTP.
CALL FUNCTION 'RFC_CONNECTION_CLOSE'
EXPORTING
DESTINATION = LC_RFC_DEST
EXCEPTIONS
OTHERS = 1.

2 REPLIES 2
Read only

Sandra_Rossi
Active Contributor
0 Likes
1,174

SY-SUBRC = 2? What message do you get?

Read only

toshitjawale
Explorer
0 Likes
1,174

Yes , Sy-subrc = 2 .Which is

COMMAND_ERROR = 2