java ftp 重命名文件_FTP服务器文件重命名
*程序逻辑结构
*1. 查询FTP链接配置信息表获取源FTP及目标FTP登陆信息
*2. 建立源系统FTP链接
*3. 将源FTP服务器传输编码方式转换为ASCII
*4. 建立目标系统FTP链接
*5. 将目标FTP服务器传输编码方式转换为ASCII
*6. 将传输文件列表中源FTP目录下的源文件名重命名
*7. 关闭源FTP链接
*8. 关闭目标FTP链接
*9. 关闭RFC远程链接
配置表
参数
定义
查询获取登录信息
建立链接
转码
将传输文件列表中源FTP目录下的源文件名重命名
关闭源 链接
代码:
function zlm_frpmt_ftp_rename.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(I_SOURCE_NAME) TYPE CHAR50
*" REFERENCE(I_NEW_NAME) TYPE CHAR40
*" REFERENCE(I_DES_NAME) TYPE CHAR100
*" REFERENCE(I_DEST) TYPE CHAR10 OPTIONAL
*" EXCEPTIONS
*" FILE_IS_NOT_FOUND
*" FTP_CONNECT_FAILD
*" FTP_CHANGE_CODE_FAILD
*" FTP_CLOSE_FAILD
*" CAN_NOT_GET_CONNECTION_INFOR
*" FTP_RUN_RENAME_COMMAND_FAILD
*"----------------------------------------------------------------------
*程序逻辑结构
*1. 查询FTP链接配置信息表获取源FTP及目标FTP登陆信息
*2. 建立源系统FTP链接
*3. 将源FTP服务器传输编码方式转换为ASCII
*4. 建立目标系统FTP链接
*5. 将目标FTP服务器传输编码方式转换为ASCII
*6. 将传输文件列表中源FTP目录下的源文件名重命名
*7. 关闭源FTP链接
*8. 关闭目标FTP链接
*9. 关闭RFC远程链接
*-----------------------------------------------------------------------
**************************工作区声明区域********************************
types: begin of text,
line(120) type c,
end of text.
data:
l_wa_login type zlm_login_detail. "FTP登陆信息配置结构
* l_wa_file_list TYPE zlm_file_list. "传输文件结构
***************************内表声明区域*********************************
data:
l_tab_result type table of text with header line. "返回文本
***************************变量声明区域*********************************
data:
l_handle_s type i, "源FTP连接句柄
l_handle_d type i, "目标FTP连接句柄
l_dest type zlm_dest,
l_str_length type i, "密码长度
l_key type i value 26101957, "关键字
l_password(30) type c. "密码
data:
l_ftp_command(500) type c, "ftp命令
l_file_dir type string,
l_source_name type string, "源文件名
l_new_name type string. "新文件名
***************************常量声明区域*********************************
constants:
con_ftp_command_rename(6) type c value 'rename',
con_ascii(5) type c value 'ascii'.
******************************程序逻辑区域******************************
*"---------------------------------------------------------------------*
*" 1. 查询FTP链接配置信息表获取源FTP及目标FTP登陆信息
*"---------------------------------------------------------------------*
if i_dest is initial. "如果输入参数不为空值
l_dest = 'SAPFTPA'.
else.
l_dest = i_dest.
endif.
select single * from zlm_login_detail into l_wa_login
where dest = l_dest.
if sy-subrc <> 0.
raise can_not_get_connection_infor.
endif.
*"---------------------------------------------------------------------*
*" 2. 建立源系统FTP链接
*"---------------------------------------------------------------------*
l_str_length = strlen( l_wa_login-s_password ).
call function 'HTTP_SCRAMBLE'
exporting
source = l_wa_login-s_password "密码
sourcelen = l_str_length "长度
key = l_key "关键字
importing
destination = l_password. "密码
call function 'FTP_CONNECT'
exporting
user = l_wa_login-s_username "用户名
password = l_password "密码
host = l_wa_login-s_hostip "IP地址
rfc_destination = l_wa_login-dest "RFC逻辑目标
importing
handle = l_handle_s "源FTP连接句柄
exceptions
not_connected = 1.
if sy-subrc <> 0.
raise ftp_connect_faild.
endif.
*"---------------------------------------------------------------------*
*" 3. 将源FTP服务器传输编码方式转换为ASCII
*"---------------------------------------------------------------------*
call function 'FTP_COMMAND'
exporting
handle = l_handle_s "源FTP连接句柄
command = con_ascii "编码方式
tables
data = l_tab_result "返回文本
exceptions
others = 1.
if sy-subrc <> 0.
raise ftp_change_code_faild.
endif.
*"---------------------------------------------------------------------*
*" 4. 建立目标系统FTP链接
*"---------------------------------------------------------------------*
l_str_length = strlen( l_wa_login-p_password ).
call function 'HTTP_SCRAMBLE'
exporting
source = l_wa_login-p_password "密码
sourcelen = l_str_length "长度
key = l_key "关键字
importing
destination = l_password. "密码
call function 'FTP_CONNECT'
exporting
user = l_wa_login-p_username "用户名
password = l_password "密码
host = l_wa_login-p_hostip "IP地址
rfc_destination = l_wa_login-dest "RFC逻辑目标
importing
handle = l_handle_d "目标FTP连接句柄
exceptions
not_connected = 1.
if sy-subrc <> 0.
raise ftp_connect_faild.
endif.
*"---------------------------------------------------------------------*
*" 5. 将目标FTP服务器传输编码方式转换为ASCII
*"---------------------------------------------------------------------*
call function 'FTP_COMMAND'
exporting
handle = l_handle_d "目标FTP连接句柄
command = con_ascii "编码方式
tables
data = l_tab_result "返回文本
exceptions
others = 1.
if sy-subrc <> 0.
raise ftp_change_code_faild.
endif.
*"---------------------------------------------------------------------*
*" 6. 将传输文件列表中源FTP目录下的源文件名重命名
*"---------------------------------------------------------------------*
* 读取FTP上文件路径
select single des_addr into l_file_dir
from zftp_config
where des_name = i_des_name.
if sy-subrc <> 0.
raise file_is_not_found.
endif.
* 拼接源文件全路径
concatenate l_file_dir
i_source_name into l_source_name.
* 拼接新文件全路径
concatenate l_file_dir
i_new_name into l_new_name.
* 拼接ftp_command文件重命名命令
concatenate con_ftp_command_rename
l_source_name
l_new_name
into l_ftp_command
separated by space.
* 启动FTP命令
call function 'FTP_COMMAND'
exporting
handle = l_handle_d "目标FTP连接句柄
command = l_ftp_command "编码方式
tables
data = l_tab_result "返回文本
exceptions
others = 1.
if sy-subrc <> 0.
raise ftp_run_rename_command_faild.
endif.
*"---------------------------------------------------------------------*
*" 7. 关闭源FTP链接
*"---------------------------------------------------------------------*
call function 'FTP_DISCONNECT'
exporting
handle = l_handle_s. "源FTP连接句柄
*"---------------------------------------------------------------------*
*" 8. 关闭目标FTP链接
*"---------------------------------------------------------------------*
call function 'FTP_DISCONNECT'
exporting
handle = l_handle_d. "目标FTP连接句柄
*"---------------------------------------------------------------------*
*" 9. 关闭RFC远程链接
*"---------------------------------------------------------------------*
call function 'RFC_CONNECTION_CLOSE'
exporting
destination = l_dest "RFC远程连接
exceptions
others = 1.
if sy-subrc <> 0.
raise ftp_close_faild.
endif.
endfunction.
java ftp 重命名文件_FTP服务器文件重命名相关推荐
- java利用shh2 读取远程服务器文件/删除服务器文件
maven引入 <!-- 读取远程服务器文件--><!-- shh2 --><dependency><groupId>ch.ethz.ganymed&l ...
- 读服务器文件,读取服务器文件
读取服务器文件 内容精选 换一换 客户端IP指的是访问者(用户设备)的IP地址.在Web应用开发中,通常需要获取客户端真实的IP地址.例如,投票系统为了防止刷票,需要通过获取客户端真实IP地址,限制每 ...
- rtx服务器设置 文件,rtx 服务器 文件传输 配置
rtx 服务器 文件传输 配置 内容精选 换一换 该任务指导用户使用Loader将数据从HBase导出到SFTP服务器.创建或获取该任务中创建Loader作业的业务用户和密码.确保用户已授权访问作业执 ...
- 服务器文件监控,服务器文件监控
服务器文件监控 内容精选 换一换 云服务器无法访问文件系统,提示被拒绝,导致该云服务器的所有业务异常.原因1:文件系统状态异常.原因2:云服务器在强制umount之后,无法挂载.根据可能原因进行故障排 ...
- 电脑服务器上复制文件,远程服务器文件复制到本地电脑上
远程服务器文件复制到本地电脑上 内容精选 换一换 R-Studio这个软件是Windows电脑和Windows服务器上都能运行的.可以恢复Windows文件系统和Linux文件系统的绝好软件,我试过了 ...
- 设置路径是服务器上的文件,设置服务器文件路径
设置服务器文件路径 内容精选 换一换 为了防止您的主机被勒索病毒侵害,请创建防护策略,将重点防御的文件添加到防护策略的监控路径中,并启动机器学习.机器学习会自动聚类并收集该策略下的所有服务器的正常进程 ...
- asp.net服务器之间文件,aspnet 服务器文件
aspnet 服务器文件 内容精选 换一换 本节操作介绍本地Linux操作系统主机通过SCP向Linux云服务器传输文件的操作步骤.登录管理控制台,在ECS列表页面记录待上传文件的云服务器的弹性公网I ...
- 群晖传文件到服务器,文件上传到群晖服务器
文件上传到群晖服务器 内容精选 换一换 监控数据上报功能可以将系统中采集到的监控数据写入到文本文件,并以FTP或SFTP的形式上传到指定的服务器中.使用该功能前,管理员需要在FusionInsight ...
- 服务器连接文件,连接服务器文件
连接服务器文件 内容精选 换一换 Atlas 200 DK开发者板支持通过USB端口或者网线与Ubuntu服务器进行连接,连接示例图如图1所示.Atlas 200 DK连接Ubuntu服务器有以下场景 ...
- 服务器的权限文件夹,服务器文件夹权限设置方法
服务器文件夹权限设置方法 内容精选 换一换 当出现如下几种日志时,说明当前用户对当前文件或文件夹没有操作权限.现象1: 现象2: 现象3: 现象4: 当前用户对当前文件或文件夹没有操作权限.采 ...
最新文章
- GridSearchCV 与 RandomizedSearchCV 用法注意随机搜索可以自定义打分 or loss 函数
- CTF-RSA-tool 安装全过程
- pct_change()
- python爬虫scrapy步骤mac系统_python scrapy简单爬虫记录(实现简单爬取知乎)
- 【虚拟化】docker构建私有仓库,上传镜像至私有仓库
- python链式赋值与C++赋值的结果比较与分析
- macbook配置java环境变量_Mac系统配置JDK环境变量
- ARM中断分析之三:WinCE驱动的中断分析
- ReportViewer教程(15)-矩阵报表-5
- “3D几何与视觉技术”全球在线研讨会第五期~隐式3D形状表示学习
- Fckeditor漏洞汇总
- 迭代器——STL关键所在
- 抓取网络源码python_使用Python进行网络抓取的新手指南
- css不定高度实现垂直居中
- Django之POST GET与前后端交互
- 《扩展 jQuery》——2.3 总结
- ubuntu server 18.04 和 20.04 安装 RabbitMQ
- struts2之数据处理的三种方式
- Win32程序和控制台应用程序的项目互转设置
- Layui官网文档备份, Layui文档站点,LayuiAdmin