*&---------------------------------------------------------------------*
*& Report ZSAP_PLM_SAP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSAP_PLM_SAP1.
DATA: USER(30) TYPE C VALUE 'sap' ,
PWD(30) TYPE C VALUE 'sapftp1234a',
HOST(64) TYPE C VALUE '10.12.38.45',
FTP_PWD(30) TYPE C,
DEST LIKE RFCDES-RFCDEST VALUE 'SAPFTPA',
KEY TYPE I VALUE 26101957,
SLEN TYPE I,
HDL TYPE I,
COMPRESS TYPE C VALUE 'N' ,
CC_ASCII(5) VALUE 'ascii',
FTPCOMMAND(100) TYPE C. "FTP㏑.
DATA: BEGIN OF RESULT OCCURS 0,
LINE(100) TYPE C,
END OF RESULT.
PARAMETERS : ftp_DIR LIKE EPSF-EPSDIRNAM default '\backup',
sap_DIR LIKE EPSF-EPSDIRNAM default 'e:\FTP\PLM\'.
SLEN = STRLEN( PWD ).
CALL FUNCTION 'HTTP_SCRAMBLE'
EXPORTING
SOURCE = PWD
SOURCELEN = SLEN
KEY = KEY
IMPORTING
DESTINATION = FTP_PWD.
CALL FUNCTION 'FTP_CONNECT'
EXPORTING
USER = USER
PASSWORD = FTP_PWD
HOST = HOST
RFC_DESTINATION = DEST
IMPORTING
HANDLE = HDL.
IF SY-SUBRC = 0.
WRITE:/ 'RFC Connection Sucessful', SY-SUBRC.
ELSE.
WRITE:/ 'RFC Connection Fails', SY-SUBRC.
CHECK 1 = 2.
ENDIF.
*---------->
DATA: I_FILENM(60),
ST_COMM(250),
WK_LPATH(60),
TB_COMM LIKE TABLE OF ST_COMM.
REFRESH: TB_COMM.
CLEAR: ST_COMM.
concatenate 'lcd' sap_dir into st_comm separated by space.
APPEND ST_COMM TO TB_COMM.
CLEAR: ST_COMM.
concatenate 'cd' ftp_dir into st_comm separated by space.
APPEND ST_COMM TO TB_COMM.
CLEAR: ST_COMM.
concatenate 'mput' '*.*' into st_comm separated by space.
APPEND ST_COMM TO TB_COMM.
CLEAR: ST_COMM.
*--------->
DATA:ST_RSLT(100) TYPE C,
TB_RSLT LIKE TABLE OF ST_RSLT.
CALL FUNCTION 'FTP_COMMAND_LIST'
EXPORTING
HANDLE = HDL
TABLES
DATA = TB_RSLT
COMMANDS = TB_COMM
EXCEPTIONS
COMMAND_ERROR = 1
TCPIP_ERROR = 2.
CASE SY-SUBRC.
WHEN '1'.
RESULT = 'N'.
WRITE :/(10) SY-SUBRC,
(10) 'Command Error'.
WHEN '2'.
RESULT = 'N'.
WRITE :/(10) SY-SUBRC,
(10) 'Tcpip Error'.
WHEN OTHERS.
RESULT = 'Y'.
ENDCASE.
CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
HANDLE = HDL.
CALL FUNCTION 'RFC_CONNECTION_CLOSE'
EXPORTING
DESTINATION = DEST
EXCEPTIONS
OTHERS = 1.