ZCL_FTP.md

Introduction

Class: ZCL_FTP

  • 整合SAP FTP功能
  • 本來想設計成Instance Class,但發現一個FTP連線斷線就會全斷...只好改為Static Class

History

VersionDateNameDescription
V001 2020/12/1 Huang Roy 初版

Public Method

CONNECT

  • FTP連線
  • I_HOST: 不含資料夾,僅FTP IP
  • I_US: 帳號
  • I_PW: 密碼
  • I_RFCDEST: RFC Destination,通常不需修改
ParameterLevelPass ValueOptionalType(Ref To)DefaultDescription
I_HOST Importing     SCMS_HOST   Host
I_US Importing     SCMS_FTPUS   User
I_PW Importing     SCMS_FTPPW   Password
I_RFCDEST Importing   X RFCDES-RFCDEST 'SAPFTPA' RFC Destination for FTP

COMMAND

  • 執行FTP指令
  • I_COMMAND: FTP Command
  • RT_TEXT: 回傳結果
ParameterLevelPass ValueOptionalType(Ref To)DefaultDescription
I_COMMAND Importing     TEXT255   FTP Command
RT_TEXT Returning X   RSDF_T_TEXT256   Result

DISCONNECT

  • 中斷FTP連線

EXPORT_BIN

  • Export Binary File to FTP
  • I_FULLPATH: 路徑加檔名(含副檔名),若無額外路徑,可直接放檔名。
  • I_BINLEN: Binary Length
  • IT_BIN: Binary Table
ParameterLevelPass ValueOptionalType(Ref To)DefaultDescription
I_FULLPATH Importing     TEXT255   Path+Filename(with extension)
I_BINLEN Importing     I   Binary Length
IT_BIN Importing     SOLIX_TAB   Binary

IMPORT_BIN

  • Import Binary File from FTP
  • I_FULLPATH: 路徑加檔名(含副檔名),若無額外路徑,可直接放檔名。
  • E_BINLEN: Binary Length。
  • ET_BIN: Binary Table。
ParameterLevelPass ValueOptionalType(Ref To)DefaultDescription
I_FULLPATH Importing     TEXT255   Path+Filename(with extension)
E_BINLEN Exporting     I   Binary Length
ET_BIN Exporting     SOLIX_TAB   Binary

EXPORT_TXT

  • Export text file to FTP(Encoding: UTF-8)
  • I_FULLPATH: 路徑加檔名(含副檔名),若無額外路徑,可直接放檔名。
  • IT_FSET: 欄位設定,未設定則直接輸出。
  • I_WITH_HEADER: 設定是否要header,預設為輸出含header。
  • I_SEP: 設定分隔符號,預設是tab。
  • IT_OUT: 輸出資料。
ParameterLevelPass ValueOptionalType(Ref To)DefaultDescription
I_FULLPATH Importing     TEXT255   Path+Filename(with extension)
IT_FSET Importing   X TTY_FSET   Field Setting
I_WITH_HEADER Importing   X ABAP_BOOL ABAP_TRUE Data with Header
I_SEP Importing   X ABAP_CHAR1 C_TAB Separator
IT_OUT Importing     ANY TABLE   Output data

IMPORT_TXT

  • Import text file from FTP(Default Encoding: UTF-8)
  • I_FULLPATH: 路徑加檔名(含副檔名),若無額外路徑,可直接放檔名。
  • IT_FSET: 欄位設定,未設定則按順序輸入。
  • I_CODEPAGE: 文字檔編碼,參考Table: TCP00。
  • I_START_LINE: 從第幾列開始匯入(注意表頭)。
  • I_SEP: 設定分隔符號,預設是tab。
  • ET_IN: 承接資料。
ParameterLevelPass ValueOptionalType(Ref To)DefaultDescription
I_FULLPATH Importing     TEXT255   Path+Filename(with extension)
IT_FSET Importing   X TTY_FSET   Field Setting
I_CODEPAGE Importing   X CPCODEPAGE C_UTF8 SAP Character Set ID
I_START_LINE Importing   X I 1 Start line of Import data
I_SEP Importing   X ABAP_CHAR1 C_TAB Separator
ET_IN Exporting     STANDARD TABLE   Output data

EXPORT_XLSX

  • Export Excel file to FTP(ALV直轉)
  • I_FULLPATH: 路徑加檔名(含副檔名),若無額外路徑,可直接放檔名。
  • IT_FSET: 欄位設定,未設定則按順序輸入。
  • CT_OUT: 資料。
ParameterLevelValOptType(Ref To)DefaultDescription
I_FULLPATH Importing     TEXT255   Path+Filename(with extension)
IT_FSET Importing     TTY_FSET   Field Setting
CT_OUT Changing     ANY TABLE   Output data

Sample

Export txt

Click to Expand Code




Import txt

Click to Expand Code



Export Excel

Click to Expand Code




Command - DIR

Click to Expand Code



Appendix

SAP FTP參考程式

ProgramDescription
RSFTP001 SAPFTP Version
RSFTP002 Execute FTP Command
RSFTP003 FTP put / get Test
RSFTP004 FTP Copy
RSFTP005 SAPFTP check
RSFTP006 FTP command list
RSFTP007 Test FB:FTP_SERVER_TO_R3 / FTP_R3_TO_SERVER
RSFTP008 Test FB:FTP_CLIENT_TO_R3 / FTP_R3_TO_CLIENT
RSFTP009 Test FTP put with Verify
RSFTP011 FTP Copy
posted @ 2023-05-18 22:51  TYAING  阅读(28)  评论(0)    收藏  举报