DATA LC_PATH TYPE STRING.
CONSTANTS:
CNS_X TYPE C VALUE 'X',
CNS_BIS TYPE C VALUE '\',
CNS_EXT(4) TYPE C VALUE '.XLS'.
* 下载路径选择
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE
CHANGING
SELECTED_FOLDER = LC_PATH "路径
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE CNS_S NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
W_NAME = LC_PATH.
CONCATENATE W_NAME
CNS_BIS
* P_BUKRS 2011-09-14 *A.Bohe Set Date/Time/Username
SY-DATUM
SY-UZEIT
'-'
SY-UNAME
CNS_EXT
INTO W_FILENAME.
* 下载文件格式
DATA:CST_FTYPE LIKE RLGRAP-FILETYPE VALUE 'DAT'.
* 下载文件
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = W_FILENAME "文件路径
* FILETYPE = 'ASC' "文件类型
FILETYPE = 'DAT' "文件类型
CODEPAGE = '4103' "页面编码
WRITE_FIELD_SEPARATOR = CNS_X
TRUNC_TRAILING_BLANKS = CNS_X "去除空格
WRITE_BOM = CNS_X "Byte-Order-Mark
TABLES
* DATA_TAB = IT_TXT "数据下载
DATA_TAB = IT_OUTPUT "数据下载
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22.
IF SY-SUBRC = 0.
*下载成功
MESSAGE S015.
ELSE.
MESSAGE ID SY-MSGID TYPE CNS_S NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.