gui_download和ws_filename_get
*&---------------------------------------------------------------------* *& Report Z100 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT Z100 MESSAGE-ID ZHQ NO STANDARD PAGE HEADING. TABLES SSCRFIELDS. SELECTION-SCREEN FUNCTION KEY 1. SELECTION-SCREEN FUNCTION KEY 2. SELECTION-SCREEN FUNCTION KEY 3. TYPES:BEGIN OF LS_TEMPLATE, NAME TYPE CHAR50, END OF LS_TEMPLATE. DATA GS_TEMPLATE TYPE LS_TEMPLATE. DATA GT_TEMPLATE TYPE TABLE OF LS_TEMPLATE WITH HEADER LINE. PARAMETERS P_FILE TYPE RLGRAP-FILENAME. INITIALIZATION. TYPE-POOLS ICON. "第一种方法:引入图标 SSCRFIELDS-FUNCTXT_01 = '@3N@下载模板'. WRITE ICON_ICON_LIST AS ICON TO SSCRFIELDS-FUNCTXT_02+0(4). SSCRFIELDS-FUNCTXT_02+4(*) = '发起OA流程审批'. WRITE ICON_BIW_INFO_CATALOG AS ICON TO SSCRFIELDS-FUNCTXT_03+0(4). SSCRFIELDS-FUNCTXT_03+4(*) = '下载报表'. AT SELECTION-SCREEN. DATA UCOMM TYPE SYUCOMM. UCOMM = SSCRFIELDS-UCOMM. MESSAGE S000 WITH UCOMM DISPLAY LIKE 'E'. IF UCOMM = 'FC01'. DATA LV_FILE TYPE STRING. GS_TEMPLATE-NAME = '姓名'. APPEND GS_TEMPLATE TO GT_TEMPLATE. MESSAGE 'MANU1' TYPE 'S'. CALL FUNCTION 'WS_FILENAME_GET' EXPORTING * DEF_FILENAME = ' ' * DEF_PATH = ' ' MASK = ',excel,*.xls,' MODE = 'S' * TITLE = ' ' IMPORTING FILENAME = LV_FILE * RC = * EXCEPTIONS * INV_WINSYS = 1 * NO_BATCH = 2 * SELECTION_CANCEL = 3 * SELECTION_ERROR = 4 * OTHERS = 5 . CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING * BIN_FILESIZE = FILENAME = LV_FILE * FILETYPE = 'ASC' * APPEND = ' ' * WRITE_FIELD_SEPARATOR = ' ' * HEADER = '00' * TRUNC_TRAILING_BLANKS = ' ' * WRITE_LF = 'X' * COL_SELECT = ' ' * COL_SELECT_MASK = ' ' * DAT_MODE = ' ' * CONFIRM_OVERWRITE = ' ' * NO_AUTH_CHECK = ' ' * CODEPAGE = ' ' * IGNORE_CERR = ABAP_TRUE * REPLACEMENT = '#' * WRITE_BOM = ' ' * TRUNC_TRAILING_BLANKS_EOL = 'X' * WK1_N_FORMAT = ' ' * WK1_N_SIZE = ' ' * WK1_T_FORMAT = ' ' * WK1_T_SIZE = ' ' * WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE * SHOW_TRANSFER_STATUS = ABAP_TRUE * VIRUS_SCAN_PROFILE = '/SCET/GUI_DOWNLOAD' * IMPORTING * FILELENGTH = TABLES DATA_TAB = GT_TEMPLATE * FIELDNAMES = * 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. * Implement suitable error handling here ENDIF. ENDIF. START-OF-SELECTION. MESSAGE '导入成功' TYPE 'I'. END-OF-SELECTION.