sap 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
sap ftp 处理的更多相关文章
- SAP FTP FOR ABAP programing
近来忙的不可开交,忙的一塌糊涂,呵呵,今天怀揣愧疚之心,上来分享博文一篇,算是对自己的一点安慰. 首先在SAP系统中提供了很多的FTP示例程序,如下: RSFTP001 SAPFT ...
- [SAP ABAP开发技术总结]FTP到文件服务器,服务器上文件读写
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 【ABAP系列】SAP ABAP 实现FTP的文件上传与下载
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 实现FTP的文 ...
- 【ABAP系列】SAP ABAP 从FTP服务器读取文件到本地
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 从FTP服务器 ...
- SAP ABAP: 把内表数据以excel或csv格式,通过前台或者后台的方式上传至FTP服务器
今天接到一个FTP的需求,就是每天晚上把当天某个报表的数据自动保存excel上传到FTP服务器. SAP已经有现成的FTP函数使用,可以通过函数的方式来实现,实现前先准备一些数据: User:登录FT ...
- SAP中使用FTP服务
SAP中简单的FTP技术实现基本上如下几个步骤: 1.SM59建立FTP的RFC destination. 可以通过执行SAP的标准程序RSFTP005,自动创建两个名为SAPFTP何SAPFTPA的 ...
- ABAP开发顾问必备:SAP ABAP开发技术总结
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Sap 常用Function 说明
函数名 描述 SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织VI ...
- SAP常用命令及BASIS操作
Pfcg 角色,权限参数文件配置Su53 查看权限对象 st01 跟踪St22 看dump,以分析错误 eg.找到ABAP程序出错的地方,找出fou ...
随机推荐
- pugixml 的常见读写操作
pugixml github地址 : https://github.com/zeux/pugixml pugixml 可以在github上直接下载到源码,包括两个头文件(pugixml.hpp pu ...
- Linux——使用国内镜像通过pip安装python的一些包
学习flask,安装virtualenv环境,这些带都ok,但是一安装包总是出错无法安装, http://e.pypi.python.org/这个就是官网了,清华大学提供的 建议非清华大学校内的使用这 ...
- 基于Android的rgb七彩环颜色采集器
代码地址如下:http://www.demodashi.com/demo/11892.html 一.前言. 在大学期间,看到这个rgb灯,蛮好奇的,这么漂亮的颜色采集,并且可以同步到设备rbg灯颜色, ...
- 随想录(做自己代码的測试project师)
[ 声明:版权全部.欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 非常多project师都有一个不好的习惯,由于大多数itproject师都喜欢写代码.可是不喜欢 ...
- Struts2学习小结
1 基础 使用:导入 jar 包,配置 web.xml,并引入 struts.xml 文件 DMI:动态方法调用,调用时使用!分隔 action 名与方法名,如 index ! add.action, ...
- MongoDB在Win10下的安装
原文地址:http://blog.csdn.net/polo_longsan/article/details/52430539 1.下载MongoDB在windows下的安装文件 首先去官网https ...
- python判断值是否为空
代码中经常会有变量是否为None的判断,有三种主要的写法: 第一种是`if x is None`: 第二种是 `if not x:`: 第三种是`if not x is None`(这句这样理解更清晰 ...
- [原创]个人工具 - 对APK极限压缩并对齐的工具(58.ReExtremeZipAndAlignAPK)
2014年9月13日:RootExplorer_v2.21.1_Aligned对齐后:在华为U8860(2.3.6).酷派8150S(4.0.3)上安装滑动列表时,崩溃.原版本(已对齐)则OK.(不知 ...
- 如何突破PHP程序员的技术瓶颈分析
来自:http://www.jb51.net/article/27740.htm 身边有几个做PHP开发的朋友,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议, ...
- 《Lucene in Action 第二版》第三章节的学习总结----IndexSearcher以及Term和QueryParser
本章节告诉我们怎么用搜索.通过这章节的学习,虽然搜索的内部原理不清楚,但是至少应该学会简单的编写搜索程序了本章节,需要掌握如下几个主要API1.IndexSearcher类:搜索索引的门户,发起者. ...