ABAP 连接ftp 并且下载某个文件到本地路径下

ABAP通过URL获取文件到及调用过程中遇到的问题 背景:最近在做电子档案的项目,需要从开票系统中获取发票打印文件到SAP,为保证发票主要信息传输不受影响,对方系统开票时不会直接生成打印文件返回SAP,而是预生成文件的URL地址,URL地址被访问时才会真正的生成打印文件,因此SAP这边需要根据URL来获取文件。证书导入后发现还是不行,于是检查服务器网络设置,发现服务器网络未对外网开放,网络设置好后,HTTP_GET测试OK,但是API调用仍是失败。API调用很简单,只是简单的调用URL并获取返回参数,主要是第一次做外网系统的调用,中间遇到不少网络问题。... 阅读详情

DATA :  
        p_host   TYPE char64 VALUE '192.168.100.64 21',"  IP
        p_folder TYPE char255 VALUE '/aa/bb/',  "ftp 路径
        p_uname  TYPE char30 VALUE 'sys' , "用户名称
        p_pwd    TYPE char30 VALUE 'psword' . "用户密码

    DATA : dest     LIKE rfcdes-rfcdest  VALUE 'SAPFTP',
           compress TYPE c  VALUE 'N'.

    DATA: hdl     TYPE i,
          key     TYPE i VALUE 26101957,
          slen    TYPE i,
          cmd(80) TYPE c.

    slen = strlen( p_pwd ).

* "获取加密密码 保存到P_PWD
    CALL FUNCTION 'HTTP_SCRAMBLE'
      EXPORTING
        source      = p_pwd
        sourcelen   = slen
        key         = key
      IMPORTING
        destination = p_pwd.

* 连接ftp服务器
    CALL FUNCTION 'FTP_CONNECT'
      EXPORTING
        user            = p_uname
        password        = p_pwd
        host            = p_host
        rfc_destination = dest
      IMPORTING
        handle          = hdl.  "连接的句柄

"下载的操作  start   ...
 "执行FTP命令 CD 打开目标ftp的文件夹
"now open the target ftp folder
DATA :  ftp_url      TYPE char255 .
ftp_url = p_folder  . "拼接ftp url   比如要下载的文件在ftp 路径/aa/bb/ 下,那么 ftp_url = '/aa/bb'

"进入ftp要下载文件的路径
concatenate 'cd' ftp_url into cmd SEPARATED BY space."这个拼接是在cd后面加一个空格
CALL FUNCTION 'FTP_COMMAND'
  EXPORTING
    handle        = hdl
    command       = cmd
    compress      = compress
  TABLES
    data          = result
  EXCEPTIONS
    command_error = 1
    tcpip_error   = 2.
*LOOP AT result.
*  WRITE AT / result-line.
*ENDLOOP.
*REFRESH result.


DATA fname  like rcgiedial-iefile."本地路径
fname = 'C:\temp\'."下载目录  C:\temp  这个是你要下载到本地什么位置 
* 打开本地ftp文件夹
concatenate 'lcd' fname into cmd SEPARATED BY space." 同样拼接加一个空格
CALL FUNCTION 'FTP_COMMAND'
  EXPORTING
    handle        = hdl
    command       = cmd
    compress      = compress
  TABLES
    data          = result
  EXCEPTIONS
    command_error = 1
    tcpip_error   = 2.

*LOOP AT result.
*  WRITE AT / result-line.
*ENDLOOP.
*REFRESH result.

DATA :  ftp_filename      TYPE char255 .ut
ftp_filename = 'aa.DOCX' "这个就是你要下载的文件名称
"将ftp文件夹目标文件中放入本地文件   
CONCATENATE 'get ' ftp_filename INTO cmd SEPARATED BY space."同理不多说了
CALL FUNCTION 'FTP_COMMAND'
  EXPORTING
    handle        = hdl
    command       = cmd
    compress      = compress
  TABLES
    data          = result
  EXCEPTIONS
    command_error = 1
    tcpip_error   = 2.
*LOOP AT result.
*  WRITE AT / result-line.
*ENDLOOP.
*REFRESH result.


IF SY-SUBRC <> 0.
    message '下载失败,失败原因可能是C盘下没有temp路径,请建立再次下载'  TYPE  'I'.
ELSE.
    message '下载成功到C:\temp\路径下'  TYPE  'I'.
ENDIF.
*   断开FTP连接
CALL FUNCTION 'FTP_DISCONNECT'
  EXPORTING
    handle = hdl.
* 断开RFC链接
CALL FUNCTION 'RFC_CONNECTION_CLOSE'
  EXPORTING
    destination = dest
  EXCEPTIONS
    OTHERS      = 1.

sap abap 程序 中使用 FTP  SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}.L0S31 {font-style: italic;color: #808080;}.L0S32 {color: #3399FF;}.L0S33 {color: 阅读详情

相关推荐

SAP 连接FTP服务器上传文件示例(先决条件和解决办法)

SAP

qq_55488207的博客 4883

ABAP url文件下载

通过ABAP 访问url下载文件到本地 完整样例代码

weixin_42396921的博客 1445

SAP ABAP FTP文件传输实战:从配置到代码的完整指南

文件传输协议(FTP)作为一种经典的数据交换方式,其核心原理是通过客户端与服务器之间的命令和数据通道,实现可靠的文件上传与下载。在SAP ABAP开发领域,利用FTP进行批量、非实时文件传输,是连接SAP系统与外部环境的关键技术,尤其适用于处理供应商清单、客户报表、银行对账等结构化数据文件。其技术价值在于通过标准化的函数模块和集中化的RFC目的地配置,实现了安全、可维护的自动化数据交换流程。本文聚焦于SAP ABAP FTP处理,深入解析如何通过SM59事务码配置连接,并运用FTP_CONNECT、FTP_

weixin_33835103的博客 489

SAP_ABAP_FTP文件上传下载步骤

步骤如下: 1、FTP_CONNECT与FTP服务器建立连接; 2、FTP_COMMAND在FTP服务器执行命令(比如,cd dir更改FTP目录、lcd dir更改本地目录、put file上传文件); 3、FTP_DISCONNECT断开连接。...

SAP旅途 3157

ABAP FTP文件处理

ABAP FTP测试程序

m0_48421450的博客 3265

ABAP从FTP下载文件并解析到内表移动文件位置.zip

实现功能:利用ABAP语言连接FTP; 获取文件路径,解析ZIP文件到内表; 将已完成解析的文件备份到另一个文件夹; 删除原路径下的文件; 附件4个TXT,主程序和3个包含文件

ABAP:下载服务器文件到本机

对服务器的文件进行读写操作,SAP提供了OPEN DATASET语句。而下载文件到本地,则可以调用GUI_DOWNLOAD函数。由于我们只需要将文件原原本本地进行复制,所以采用BINARY MODE才是比较好的办法,可以支持TXT、PDF、WORD以及任意形式的文件下载。 DATA: dset TYPE string,      subrc LIKE sy-subrc,      le

君之水 1187

abap 上传文件到ftp

abap 上传文件到ftp 比较使用的实例,大家可以学习。

【ABAP系列】SAP ABAP 实现FTP的文件上传与下载

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:【ABAP系列】SAP ABAP 实现FTP的文件上传与下载 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。 正文部分 在SAP的实际应用中,经常会需要将生成的文件上传到FTP,或从FT...

ARICK2014的博客 1483

ABAP url下载文件

ABAP url下载文件

ABAP 外部链接下载文件

SAP ABAP 通过链接下载文件 通过url下载文件

ABAP连接FTP服务器

ABAP连接FTP服务器

SAP技术备份 2997

ComfyUI面部修复FaceDetailer保姆级教程:从模型选择到参数调优全解析

本文提供ComfyUI面部修复FaceDetailer的保姆级教程,深度解析从模型选择到参数调优的全过程。针对常见的五官模糊、肤色不均等问题,详细对比了BBox与Segm检测器的优劣,并给出SD1.5与SDXL模型的核心参数联动策略与实战方案,帮助用户精准掌控AI绘画中的面部修复效果。

weixin_29073241的博客 470

SAP ABAP 实现FTP的文件上传与下载

操作步骤和代码,点击进入:SAP ABAP 实现FTP的文件上传与下载

matinal 當冬夜漸暖 。公众号:matinal 5850

黑暗中的爆破(船讯网Ais爬虫暨爬虫实战js逆向学习经验分享)

船讯网 爬虫 js逆向 python

returnadsss的博客 1575

pytorch转onnx转paddlepaddle

1.pt转onnx 可查看我之前的文章:https://blog.youkuaiyun.com/oyjwin/article/details/117778583?spm=1001.2014.3001.5501

oyjwin的博客 1458

SAP ABAP 从FTP服务器读取文件到本地

点击进入:SAP ABAP 从FTP服务器读取文件到本地

matinal 當冬夜漸暖 。公众号:matinal 1903

常见消息队列:ActiveMQ、RabbitMQ、RocketMQ、Kafka的区别总结

常见消息队列:ActiveMQ、RabbitMQ、RocketMQ、Kafka的区别。

qq_30713721的博客 3471

SAP ABAP-FTP操作记录&解析相关XML文件

文章目录前言一、连接FTP服务器二、关于FTP命令三、相关代码示例1.连接FTP服务器2.打开指定目录3.查询该目录下所有文件,并获取文件名4.解析相关文件5.上传相关文件6.剪切相关文件至其他目录7.关闭连接 前言 关于SAP-FTP上操作说明网上可参考的内容略显单薄,特此种下树苗,为后来人好乘凉 一、连接FTP服务器 在敲代码前,先进行连接测试,确保FTP服务器与sap相通. 维护相关配置表 SM30->SAPFTP_SERVERS_V FTP服务器IP,PORT 由FTP团队提供 例如:I

大步甩起来 1662

Vue3 - 超详细最新 wangEditor V5 富文本编辑器安装引入及使用教程,提供工具栏配置、基础富文本功能、API使用示例教程等(新手小白快速引入并植入到项目中)

vue3,wangEditorv5富文本编辑器,wangEditorv5官方文档,vue3最新安装wangEditorv5富文本详细使用教程,vue3使用wangEditorv5编辑器示例代码,vue3网站网页安装植入富文本编辑器教程,vue3wangEditor使用api,vue3安装富文本控制台出现报错如何解决,vue3wangEditor-v5工具栏配置,vue3中使用富文本编译器wangEditor5的方法,wangeditor5在vue3中的全使用过程,vue3超详细最新wangedi

🏆 前端领域优质创作者 4253

【TC3xx芯片】TC3xx芯片看门狗复位的默认行为分析

TC3xx芯片看门狗复位的默认行为分析

qq_36056498的博客 350

SAP ABAP 与FTP文件交互-进站 文件上传到FTP服务器

report z04ftp2. 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 value 'CH2102761402

王小磊 8634

vue2学习笔记2-老规矩,从Hello World开始,了解Vue实例和模板

想要把“Hello,World”放置在页面上,首先需要准备一个HTML的块级元素div,来承接内容。

l_q_l的专栏 1255

java 登陆ftp获取文件的修改时间_从FTP服务器下载文件

货铺QQ群号:834508274微信群不能扫码进了,可以加我微信SAPliumeng拉进群,申请时请提供您哪个模块顾问,否则是一律不通过的。进群统一修改群名片,例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接,小程序等,进群看公告,谢谢配合不修改昵称会被不定期踢除,谢谢配合*程序逻辑结构*1. 查询FTP链接配置信息表获取源FTP及目标FTP登陆信息*2. 建立源系统FTP链...

weixin_33764387的博客 698

在zcu102开发板上使用PetaLinux运行Qt程序

请注意,上述步骤只是一个概述,并且可能需要根据特定的开发环境和要求进行适当的调整。如果你是一个初学者或者对于这些领域不太熟悉,建议在尝试之前阅读相关的文档和教程,或者寻求专业人士的帮助。在"Projects"菜单中,选择"Build & Run"选项,并在"Build"步骤中选择正确的工具链。注意:如果Qt程序依赖于其他库文件,需要将这些库文件一起复制到PetaLinux工程的根文件系统目录中,并在Qt程序中正确地配置库文件路径。如果一切顺利,PetaLinux系统将启动,并自动运行Qt程序。

UhxzCombined的博客 698

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: ABAP 连接ftp 上传文件
下一篇: win10安装office提示:错误1907 无法注册字体
Da_Lian_
博客等级 码龄9年 37粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值