ABAP上传数据到FTP服务器

本文详细介绍了如何利用ABAP编程语言将企业内部的数据上传到FTP服务器,包括建立FTP连接、设置传输参数、执行文件上传操作的步骤和关键代码片段,旨在帮助ABAP开发者实现数据的远程同步。
摘要由CSDN通过智能技术生成
*&---------------------------------------------------------------------*
*& Report ZIF010
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZIF010.

*--------------------------------------------------------------------*
*
*--------------------------------------------------------------------*
DATA:
  gt_dcxmllines TYPE dcxmllines,
  gs_dcxmllines LIKE LINE OF gt_dcxmllines,
  gv_size       TYPE i,
  gv_file_name  TYPE text200.

TYPES: BEGIN OF ts_out,
         line TYPE text1000,
       END OF ts_out.

DATA: lt_out     TYPE STANDARD TABLE OF ts_out WITH HEADER LINE,
      lt_ok     TYPE STANDARD TABLE OF ts_out WITH HEADER LINE,
      ls_out     TYPE ts_out,
      lt_ok_bin TYPE dcxmllines,
      lt_out_bin TYPE dcxmllines.

DATA: lt_data TYPE TABLE OF /1MD/MD______09E WITH HEADER LINE.

DATA: lv_output_length TYPE i.
*--------------------------------------------------------------------*
*
*--------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-t00.
PARAMETERS: p_date TYPE datum OBLIGATORY DEFAULT sy-datum.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-t01.
PARAMETERS: p_user TYPE text30 OBLIGATORY,
            p_pwd  TYPE text30 OBLIGATORY,
            p_host TYPE text70 OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b2.


INITIALIZATION.
  p_user = 'site_mdg_ts' .
  p_pwd = 'YXbi%MDts#2018$'.
  p_host = '10.1.20.20'.

*--------------------------------------------------------------------*
*
*--------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
  PERFORM f_set_selection_screen.


START-OF-SELECTION.
  PERFORM f_get_data.

END-OF-SELECTION.
  CHECK NOT lt_out[] IS INITIAL.

  CALL FUNCTION 'SCMS_TEXT_TO_BINARY'
    EXPORTING
*     FIRST_LINE    = 0
*     LAST_LINE     = 0
*     APPEND_TO_TABLE       = ' '
      mimetype      = 'text/plain'
      encoding      = '8400'
    IMPORTING
      output_length = lv_output_length
    TABLES
      text_tab      = lt_out
      binary_tab    = lt_out_bin
    EXCEPTIONS
      failed        = 1
      OTHERS        = 2.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

* 获取文件名
  PERFORM f_get_file_name CHANGING gv_file_name.
* 传到FTP
*  PERFORM f_binary_data_to_ftp TABLES gt_dcxmllines
*                               USING  p_user
*                                      p_pwd
*                                      p_host
*                                      gv_file_name
*                                      gv_size.

  PERFORM f_binary_data_to_ftp TABLES lt_out_bin
                             USING  p_user
                                    p_pwd
                                    p_host
                                    gv_file_name
                                    lv_output_length.

*  MESSAGE S000 WITH 'File' GV_FILE_NAME 'transfer completely'.

   "add   ]
    CLEAR ls_out.
    ls_out-line = 6.
    append ls_out to lt_ok.
    CLEAR ls_out.
    DESCRIBE TABLE lt_data LINES  ls_out-line.
    append ls_out to lt_ok.

     CALL FUNCTION 'SCMS_TEXT_TO_BINARY'
      EXPORTING
*       FIRST_LINE    = 0
*       
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值