1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > sap 服务器 拷贝文件 本文示例如何使用SAP FTP Function将文件从应用服务器传输

sap 服务器 拷贝文件 本文示例如何使用SAP FTP Function将文件从应用服务器传输

时间:2021-02-02 01:46:05

相关推荐

sap 服务器 拷贝文件 本文示例如何使用SAP FTP Function将文件从应用服务器传输

本文示例如何使用SAP FTP Function将文件从应用服务器传输到另外一个FTP服务器上。

DATA: BEGIN OF ig_ftp_result OCCURS 0,

line(100),

END OF ig_ftp_result.

DATA: l_path(128) TYPE c. "文件路径,必须以/结尾

DATA: l_filename(128) TYPE c. "文件名

DATA: l_ftpcommand(100) TYPE c. "FTP命令

DATA: l_handle TYPE i. "HAND

"源路径,必须以/结尾

DATA: cons_source(128) TYPE c . " VALUE ‘/usr/sap/SY-SYSID/SYS/src/‘.

DATA: cons_dens LIKE zftpt-zpath. "目标路径

CONSTANTS cons_key TYPE i VALUE 26101957.

*// INITIALIZATION

INITIALIZATION.

*服务器上下载文件的路径

CONCATENATE ‘/usr/sap/‘ sy-sysid ‘/SYS/src/‘ INTO cons_source.

*// START OF SELECTION

START-OF-SELECTION.

PERFORM frm_ftp_file.

FORM frm_ftp_file .

DATA:

l_dstlen TYPE i, "DESTINATION LEN

l_pw(64) TYPE c. "密码

* 连接FTP服务器

l_pw = ‘password‘.

*-- FTP_CONNECT requires an encrypted password to work

* CREATE THE NEW PW BASE ON LOGIN FTP PASS WORD.

CALL ‘AB_RFC_X_SCRAMBLE_STRING‘ "PASS WORD BUILD FUNCTION

ID ‘SOURCE‘ FIELD l_pw "PASS WORD

ID ‘KEY‘ FIELD cons_key "THE KEY TO CREATE NEW PW

ID ‘SCR‘ FIELD ‘X‘

ID ‘DESTINATION‘ FIELD l_pw "PASS WORD

ID ‘DSTLEN‘ FIELD l_dstlen. "NEW PASS WORD LEN

DO 3 TIMES.

* OPEN THE FTP SERVER.

CALL FUNCTION ‘FTP_CONNECT‘

EXPORTING

user = ‘username‘ "USER

password = l_pw "PASS WORD

host = ‘192.168.1.10‘

rfc_destination = ‘SAPFTPA‘ "DEFAULT

IMPORTING

handle = l_handle

EXCEPTIONS

not_connected = 1

OTHERS = 2.

IF sy-subrc = 0.

EXIT.

ENDIF.

ENDDO.

IF sy-subrc <> 0.

WRITE :/ sy-datum, sy-uzeit, sy-uname, ‘CONNECT FTP FAILED!‘. "MESSAGEG

STOP.

ENDIF.

* Change local directory

CLEAR l_ftpcommand.

CONCATENATE ‘lcd‘ cons_source INTO l_ftpcommand SEPARATED BY space.

PERFORM frm_ftp_command USING l_ftpcommand pr_return.

IF pr_return = ‘1‘.

WRITE:/ sy-datum, sy-uzeit, sy-uname, ‘FTP改变本地路径错误!‘.

STOP.

ENDIF.

* Change ftp directory

IF cons_dens <> ‘‘.

CLEAR l_ftpcommand.

CONCATENATE ‘cd‘ cons_dens INTO l_ftpcommand SEPARATED BY space.

PERFORM frm_ftp_command USING l_ftpcommand pr_return.

IF pr_return = ‘1‘.

WRITE:/ sy-datum, sy-uzeit, sy-uname, ‘改变FTP路径出现错误!‘.

STOP.

ENDIF.

ENDIF.

* Change TRANSFER MODE

CLEAR l_ftpcommand.

* l_ftpcommand = ‘binary‘.

l_ftpcommand = ‘ascii‘.

PERFORM frm_ftp_command USING l_ftpcommand pr_return.

IF pr_return = ‘1‘.

WRITE:/ sy-datum, sy-uzeit, sy-uname, ‘改变FTP传输模式出现错误!‘.

STOP.

ENDIF.

* Put File into FTP SERVER

CLEAR l_ftpcommand.

CONCATENATE ‘put‘ l_filename INTO l_ftpcommand SEPARATED BY space.

PERFORM frm_ftp_command USING l_ftpcommand pr_return.

IF pr_return = ‘1‘.

WRITE:/ sy-datum, sy-uzeit, sy-uname, ‘文件传输中出现错误!‘.

STOP.

ENDIF.

* 断开FTP服务器

CALL FUNCTION ‘FTP_DISCONNECT‘

EXPORTING

handle = l_handle.

WRITE:/ sy-datum, sy-uzeit, sy-uname, ‘文件传输成功!‘.

ENDFORM. " FRM_FTP_FILE

************************************************************************

*& FORM FRM_FTP_COMMAND *

************************************************************************

*& FTP Command *

************************************************************************

FORM frm_ftp_command USING pr_command pr_ret.

CALL FUNCTION ‘FTP_COMMAND‘

EXPORTING

handle = l_handle

command = pr_command

* COMPRESS =

* RFC_DESTINATION =

* VERIFY =

* IMPORTING

* FILESIZE =

* FILEDATE =

* FILETIME =

TABLES

data = ig_ftp_result

EXCEPTIONS

tcpip_error = 1

command_error = 2

data_error = 3

OTHERS = 4

.

* Disconnect

IF sy-subrc <> 0.

pr_ret = ‘1‘.

CALL FUNCTION ‘FTP_DISCONNECT‘

EXPORTING

handle = l_handle.

EXIT.

ENDIF.

ENDFORM. "FRM_FTP_COMMAND

版权声明:本文为博主原创文章,未经博主允许。

原文:/champaignwolf/article/details/47271595

sap 服务器 拷贝文件 本文示例如何使用SAP FTP Function将文件从应用服务器传输到另外一个FTP服务器上。...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。