FUNCTION Y_FTP. *"---------------------------------------------------------------------- *"*"Local interface: *" IMPORTING *" VALUE(USER) *" VALUE(PWD) *" VALUE(HOST) *" TABLES *" COMMANDS *" EXCEPTIONS *" NO_SUCH_FILE *"---------------------------------------------------------------------- DATA: W_USER(12) TYPE C , W_PWD(20) TYPE C , W_HOST(64) TYPE C. DATA: HDL TYPE I, KEY TYPE I VALUE 26101957, DSTLEN TYPE I. DATA: BEGIN OF RESULT OCCURS 0, LINE(100) TYPE C, END OF RESULT. 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 = 'SAPFTP' IMPORTING HANDLE = HDL. LOOP AT COMMANDS. IF COMMANDS NE ' '. CALL FUNCTION 'FTP_COMMAND' EXPORTING HANDLE = HDL COMMAND = COMMANDS TABLES DATA = RESULT EXCEPTIONS COMMAND_ERROR = 1 TCPIP_ERROR = 2. LOOP AT RESULT. WRITE AT / RESULT-LINE. IF RESULT CS 'error'. RAISE NO_SUCH_FILE. ENDIF. ENDLOOP. REFRESH RESULT. ENDIF. ENDLOOP. CALL FUNCTION 'FTP_DISCONNECT' EXPORTING HANDLE = HDL. ENDFUNCTION.