zoukankan      html  css  js  c++  java
  • ABAP分享十: 文件的上传 方法一

      前提条件:

    PARAMETERS P_files TYPE RLGRAP-FILENAME.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_files.

    一。文件的上传

    函数: WS_FILENAME_GET 获取文件名

    " MASK 函数 第一个逗号是标识逗号,后面每两个逗号为一组 前面为名字后面为格式(后缀名),结束加句号
    " 第一个逗号是显示什么,后面指扩展名是什么


    CALL FUNCTION 'WS_FILENAME_GET' " 函数已过时  但还可以继续使用
    EXPORTING
    * DEF_FILENAME = ' ' " 默认文件名称
    * DEF_PATH = ' ' " 默认文件路径
    MASK = ',Excel(*.xls),*.XLS,text.txt,*.txt.' " 用于本地的文件的获取
    MODE = 'O' " S 保存 O 打开
    TITLE = '打开文件' " 窗口的显示名称
    IMPORTING
    FILENAME = P_FILES.
    * RC =
    EXCEPTIONS
    INV_WINSYS = 1
    NO_BATCH = 2
    SELECTION_CANCEL = 3
    SELECTION_ERROR = 4
    OTHERS = 5
    .
    IF sy-subrc <> 0.
    * Implement suitable error handling here
    ENDIF.


    DATA LV_FILES TYPE STRING.
    LV_FILES = P_FILES. " 将文件名转换成string类型的变量
    * 文件的上传 TXT文件的上传

    CALL FUNCTION 'GUI_UPLOAD' " 获取文件内容到内表中  文本文件的读取 
    EXPORTING
    filename = LV_FILES " string类型 要将文件转换为string类型
    * FILETYPE = 'ASC'
    HAS_FIELD_SEPARATOR = 'X'
    * HEADER_LENGTH = 0
    * READ_BY_LINE = 'X'
    * DAT_MODE = ' '
    * CODEPAGE = ' '
    * IGNORE_CERR = ABAP_TRUE
    * REPLACEMENT = '#'
    * CHECK_BOM = ' '
    * VIRUS_SCAN_PROFILE =
    * NO_AUTH_CHECK = ' '
    * IMPORTING
    * FILELENGTH =
    * HEADER =
    tables
    data_tab = GT_MATNRIAL    " 定义的接受内表,里面的变量与上传的文件的变量一致
    * CHANGING
    * ISSCANPERFORMED = ' '
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_READ_ERROR = 2
    NO_BATCH = 3
    GUI_REFUSE_FILETRANSFER = 4
    INVALID_TYPE = 5
    NO_AUTHORITY = 6
    UNKNOWN_ERROR = 7
    BAD_DATA_FORMAT = 8
    HEADER_NOT_ALLOWED = 9
    SEPARATOR_NOT_ALLOWED = 10
    HEADER_TOO_LONG = 11
    UNKNOWN_DP_ERROR = 12
    ACCESS_DENIED = 13
    DP_OUT_OF_MEMORY = 14
    DISK_FULL = 15
    DP_TIMEOUT = 16
    OTHERS = 17
    .
    IF sy-subrc <> 0.
    * Implement suitable error handling here
    ENDIF.   

    "EXCEL文件的读取

       DATA: LT_RAW TYPE TRUXS_T_TEXT_DATA.
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP' "获取文件的内容到内表中 excel文件
    EXPORTING
    * I_FIELD_SEPERATOR = 'X' " 判断是否具有表头
    * I_LINE_HEADER = X'
    i_tab_raw_data = LT_RAW " 系统自动的值,一般不用管理
    i_filename = P_FILES " 上传的文件路径
    TABLES
    i_tab_converted_data = GT_MATNRIAL " 显示内表
    * EXCEPTIONS
    * CONVERSION_FAILED = 1
    * OTHERS = 2
    .
    IF sy-subrc <> 0.
    * Implement suitable error handling here
    ENDIF.   

  • 相关阅读:
    Dictionary(二)
    LoveTao项目源码共享
    小功能天气预报
    对XML的收集3
    小小练习:对XML的处理
    对XML的收集4
    对XML的收集2
    小小练习:测试获取用户信息接口
    大学生免费自学各种技术网址大全 不要再报班了
    DevComponents.AdvTree 相关笔记
  • 原文地址:https://www.cnblogs.com/abapweb/p/13846295.html
Copyright © 2011-2022 走看看