上传数据到FTP服务器

1.首先在SM59中配置TCP/IP类型的远程连接。

2.源码摘录如下:

  DATA:
    mc_password(20TYPE c,
    mi_key TYPE VALUE 26101957,
    mi_pwd_len TYPE i,

  mc_password =  pwd .
  DESCRIBE FIELD pwd LENGTH mi_pwd_len IN BYTE MODE .
*-- FTP_CONNECT requires an encrypted password to work
  CALL 'AB_RFC_X_SCRAMBLE_STRING'
       ID 'SOURCE' FIELD mc_password ID 'KEY' FIELD mi_key
       ID 'SCR'    FIELD 'X'         ID 'DESTINATION' FIELD mc_password
       ID 'DSTLEN' FIELD mi_pwd_len.

  CALL FUNCTION 'FTP_CONNECT'
    EXPORTING
      user            user                             "用户
      password        mc_password     "口令
      host            host                              "主机
      rfc_destination dest                      "RFC远程系统
    IMPORTING
      handle          hdl
    EXCEPTIONS
      not_connected   1
      OTHERS          2.
  IF sy-subrc 0.
    CALL FUNCTION 'FTP_COMMAND'
      EXPORTING
        handle        hdl
        command       cmd                      "打开某个目录,比如cd /ekpj/ekpfile/landray/kmss/resource/ldif/acrm/sap
      TABLES
        data          result
      EXCEPTIONS
        tcpip_error   1
        command_error 2
        data_error    3
        OTHERS        4.
    REFRESH result.

    CONCATENATE 'ACRM_SAP_' im_fname '_' sy-datum '.txt' INTO f_file. "编辑文件名
    CALL FUNCTION 'FTP_R3_TO_SERVER'                                                    "上传数据到FTP服务器
      EXPORTING
        handle         hdl
        fname          f_file
        character_mode 'X'
      TABLES
        text           t_table.
*   检查是否下载成功
    CALL FUNCTION 'FTP_COMMAND'
      EXPORTING
        handle        hdl
        command       'nlist'
      TABLES
        data          result
      EXCEPTIONS
        tcpip_error   1
        command_error 2
        data_error    3
        OTHERS        4.

*  Disconnect
    CALL FUNCTION 'FTP_DISCONNECT'
      EXPORTING
        handle hdl.

你可能感兴趣的:(String,server,FTP服务器,command,SAP,远程连接)