日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP:FTP Using SAP Functions

發布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP:FTP Using SAP Functions 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文示例如何使用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

轉載于:https://www.cnblogs.com/zhumk/archive/2006/02/27/338987.html

總結

以上是生活随笔為你收集整理的ABAP:FTP Using SAP Functions的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。