• 【ABAP系列】SAP ABAP 从FTP服务器读取文件到本地


    公众号:matinal
    本文作者:matinal
     

    前言部分

    大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

    正文部分

    DATA: hdl TYPE i,
          key TYPE i VALUE 26101957,
          dstlen TYPE i,
          blob_length TYPE i.
    DATA filepath TYPE string .
    
    DATA: BEGIN OF blob OCCURS 0,
          line(100) TYPE x,
          END OF blob.
    
    PARAMETERS: user(64) TYPE c ,
                pwd(64) TYPE c ,
                host(64) TYPE c ,
                filename(80) TYPE c ,
                name2(80) TYPE c,
                dest LIKE rfcdes-rfcdest DEFAULT 'SAPFTP'.
    PARAMETERS: p_file LIKE rlgrap-filename
       DEFAULT 'c:	est.xls'.
    
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      PERFORM get_p_file USING p_file text-006.
    
    START-OF-SELECTION.
    TRANSLATE  user TO lowER CASE.
    
      CALL 'AB_RFC_X_SCRAMBLE_STRING'
        ID 'SOURCE'      FIELD pwd    ID 'KEY'         FIELD key
        ID 'SCR'         FIELD 'X'    ID 'DESTINATION' FIELD pwd
        ID 'DSTLEN'      FIELD dstlen.
    
    
      CALL FUNCTION 'FTP_CONNECT'
        EXPORTING
          user            = user
          password        = pwd
          host            = host
          rfc_destination = dest
        IMPORTING
          handle          = hdl.
    
    
      CALL FUNCTION 'FTP_SERVER_TO_R3'
        EXPORTING
          handle      = hdl
          fname       = filename
        IMPORTING
          blob_length = blob_length
        TABLES
          blob        = blob.
    
    
      filepath = p_file .
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename = filepath
          filetype = 'BIN'
        TABLES
          data_tab = blob.
    
    
    
      CALL FUNCTION 'FTP_DISCONNECT'
        EXPORTING
          handle = hdl.
    *&---------------------------------------------------------------------*
    *&      Form  get_p_file
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *      -->P_P_FILE  text
    *      -->P_TEXT_006  text
    *----------------------------------------------------------------------*
    FORM get_p_file  USING    l_filename
                              l_text.
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          def_filename     = space
          def_path         = l_filename
          mask             = ',*.xls ,*.xls.'
          mode             = 'O'
          title            = l_text
        IMPORTING
          filename         = l_filename
        EXCEPTIONS
          inv_winsys       = 04
          no_batch         = 08
          selection_cancel = 12
          selection_error  = 16.
    
    
    ENDFORM.                    " get_p_file
    
  • 相关阅读:
    【梦断代码】与我们队的相似之处
    梦断代码 之 你失败过吗
    梦断代码 之 程序人生
    C#中父类转换为子类
    C#中Dictionary泛型集合7种常见的用法
    Linux 常见命令 目录处理指令
    使用XSLT+XML生成网页
    我心目中的Asp.net核心对象
    配色速成
    VS.NET中JavaScript隐藏特性
  • 原文地址:https://www.cnblogs.com/SAPmatinal/p/11183188.html
Copyright © 2020-2023  润新知