sap ftp 处理

【转】

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

sap ftp 处理

时间: 2024-10-30 23:00:18

sap ftp 处理的相关文章

本文示例如何使用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.             

[SAP ABAP开发技术总结]FTP,文件读写

声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 20.3.     FTP FTP_CONNECT FTP_COMMAND FTP_DISCONNECT 20.4.     文件读写 DATA: file TYPE string VALUE `jzjflights.dat`,      wa   TYPE spfli.OPEN DATASET file FOR OUTPUT IN BINARY MODE.SELECT *    

sap abap 程序 中使用 FTP . &lt;转载&gt;

原博 http://blog.csdn.net/sunfeng8848/article/details/3500305 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 'CH21027

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

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 实现FTP的文件上传与下载 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 在SAP的实际应用中,经常会需要将生成的文件上传到FTP,或从FTP下载相关文档数据.本例实现将本地指定文件上传到FTP,及从FTP下载文件到本地的功能. 从FTP复制文件共有两种方式,一种是直接复制文件,另

ABAP表抛FTP通用程序

主要功能: 1.支持R3所有表(标准.自建)下传,下传方式为FTP 2.支持输出字段选择及顺序调整 3.支持动态条件,不同的表会有不同的选择条件,根据不同的条件选择需要下传的数据 4.支持单表.多表.以及输出数据再次加工(需自己写输出逻辑扩展程序,可参考YTEMPLET) 5.支持多表查询,及多表查询的动态选择条件 6.支持大数据量表分批取数.以及分批下传(已通过BSEG大数据量表测试) 7.支持单文件下传(只生产一个文件,默认是分批下传,会产生多个文件) 8.其它支持参看选择屏幕 程序创建好后

Sterling B2B Integrator与SAP交互 - 02 安装配置

系统组成: 1. 服务器OS及硬件: OS: Red Hat Enterprise Linux Server release 6.6 Hardware: Virtual Machine, x86_64,2 core, 8GB RAM, 100GB HDD 2. 软件: Java JDK 1.7.0 update 26 IBM DB2 Database V9.7 Sterling B2B Integrator 5.2.4 继续装插件 SAP Suite Adapter for JCo 3.x -

常用的SAP标准函数

Function Module Description ABAP4_CALL_TRANSACTION Call transaction code, also see SAPGUI_SET_FUNCTIONCODE ADDR_PERS_COMP_COMM_GET Get additional user address details not retrived by SUSR_USER_ADDRESS_READ (i.e. email address) BAPI_COMPANYCODE_GET_PE

SAP SM开头的 TCODE

SM01 锁定事务SM02 系统消息SM04 显示在线用户SM12 删除,显示锁对象(不可删除被lock的传输请求)SM13 看UPDATE REQUESTSM21 查看系统日志SM30|SM31 维护table|view数据SM32 维护表SM35 进程监控SM36 定义后台jobSM37 查看后台jobSM39 作业分析SM49 执行外部OS命令SM50|SM66 超时用户, 进程状态(正在运行的程序)函数SM51  SAP SERVERS信息SM53  查看在线SM54  维护表试图SM5

ABAP开发顾问必备:SAP ABAP开发技术总结

声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html 该文档是根据我过去多年学习文档与工作文档总结而成,项目开发过程中我都会参考此文档,主要ABAP很多细节上的东西不可能你记得很牢固,或者你记得一时,但过不了几天做别的项目就会