//open dataset
DATA: dsna(80),
linct TYPE i.
form export_file TABLES outab.
dsna = 'D:\test.txt'
DESCRIBE TABLE outab LINES linct.
OPEN DATASET dsna FOR OUTPUT IN TEXT MODE ENCODING "open file and write data
NON-UNICODE IGNORING CONVERSION ERRORS.
LOOP AT outab. "internal table
TRANSFER outab TO dsna.
ENDLOOP.
CLOSE DATASET dsna. "close file
IF sy-subrc = 0.
WRITE: / dsna, 60 '传输', linct, '条记录'.
ELSE.
WRITE: / dsna, 60 '返回值为', sy-subrc, '传输不成功'.
ENDIF.
endform. "export_file
OPEN DATASET dsna FOR OUTPUT IN TEXT MODE ENCODING "open file and write data
NON-UNICODE IGNORING CONVERSION ERRORS.
LOOP AT outab. "internal table
TRANSFER outab TO dsna.
ENDLOOP.
CLOSE DATASET dsna. "close file
IF sy-subrc = 0.
WRITE: / dsna, 60 '传输', linct, '条记录'.
ELSE.
WRITE: / dsna, 60 '返回值为', sy-subrc, '传输不成功'.
ENDIF.
endform. "export_file
//CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
PARAMETERS:DSN LIKE RLGRAP-FILENAME.
form export_filebak.
DATA: CODEPAGE TYPE ABAP_ENCOD VALUE '8400'.
DATA: O_FILE TYPE STRING.
O_FILE = DSN.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING
FILENAME = O_FILE
FILETYPE = 'DAT'
CODEPAGE = CODEPAGE
CHANGING
DATA_TAB = IOUT[] "internal table with data for downloading
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
NOT_SUPPORTED_BY_GUI = 22
ERROR_NO_GUI = 23
OTHERS = 24.
endform. "export_file
DATA: CODEPAGE TYPE ABAP_ENCOD VALUE '8400'.
DATA: O_FILE TYPE STRING.
O_FILE = DSN.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING
FILENAME = O_FILE
FILETYPE = 'DAT'
CODEPAGE = CODEPAGE
CHANGING
DATA_TAB = IOUT[] "internal table with data for downloading
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
NOT_SUPPORTED_BY_GUI = 22
ERROR_NO_GUI = 23
OTHERS = 24.
endform. "export_file
//download excel file to local computer
call function 'WS_DOWNLOAD'
exporting
codepage = 'TIBM'
filename = f_path "f_pah 为destination path
filetype = 'DAT'
tables
data_tab = itab
exceptions
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
others = 8.
endform.

