以下为正文

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:\test.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 

评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

【ABAP系列】SAP ABAP SY-SUBRC的含义解析