我想飘啊飘 飘到梦的天堂 那会是什么时候呢

SAP 文件tXT导入到内表(之1)

什么是代码才是自己的,只有自己写过了才是自己的

REPORT  z_ppv3.


tables: marc,makt,mkpf,mseg.

*data:begin of up_info occurs 0,
*  matnr like marc-matnr,
*  maktx like makt-maktx,
*  budat like mkpf-budat,
*  erfmg like mseg-erfmg,
*
*  end of up_info.

types:begin of up_info ,
  matnr like marc-matnr,
  maktx like makt-maktx,
  budat like mkpf-budat,
  erfmg like mseg-erfmg,
  end of up_info.

  DATA: data_tab type STANDARD TABLE OF up_info,
      wa_tab LIKE LINE OF data_tab.

data: filename type string,
      lf_rc type c,
      col type  i.
data: length1 type I.

selection-screen begin of block b1 with frame title text-001.
parameters: up_s as checkbox.
* parameters: s_fname like rlgrap-filename default 'C:|up_info.txt' obligatory.
parameters: f_name like rlgrap-filename lower case.
selection-screen end of block b1.

at selection-screen on value-request for f_name.
  call function 'F4_FILENAME'  "文件选择框
    EXPORTING
      program_name  = syst-cprog
      dynpro_number = syst-dynnr
      field_name    = ''
    IMPORTING
      file_name     = f_name.

at selection-screen.
  filename = f_name.
  CALL METHOD cl_gui_frontend_services=>file_exist   "判断物理文件是否存在
    EXPORTING
      file                 = filename
    RECEIVING
      result               = lf_rc
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      wrong_parameter      = 3
      not_supported_by_gui = 4
      OTHERS               = 5.

  if lf_rc <> 'X'.
    message e000(oo) with 'The file is not exist'.
  endif.

  start-of-selection.
    if up_s = 'X'.
*      CALL FUNCTION 'GUI_UPLOAD'  " 上传文件
*      EXPORTING
*        filename = filename
*        filetype = 'DAT'
*        TABLES
*          data_tab = up_info
*          EXCEPTIONS
*            FILE_OPEN_ERROR = 1
*            FILE_READ_ERROR = 2
*            NO_BATCH  = 3
*            GUI_REFUSE_FILETRANSFER = 4
*            INVALID_TYPE = 5
*            NO_AUTHORITY = 6
*            UNKNNOWN_ERROR = 7
*            BAD_DATA_FORMAT = 8
*            HEADER_NOT_ALLOWED = 9
*            SEPARATOR_NOT_ALLOWED = 10
*            HEADER_TOO_LONG = 11
*            UNKNOWN_DP_ERROR = 12
*            ACCESS_DENTED = 13
*            DP_OUT_OF_MEMORY = 14
*            DISK_FULL = 15
*            DP_TIMEOUT = 16.
*      if sy-subrc <> 0.
*        write:sy-subrc.
*        endif.


        call method cl_gui_frontend_services=>gui_upload
         exporting
              filename                = filename
              filetype                = 'DAT'
              codepage                = '8400'  "
         changing
              data_tab                = data_tab
         exceptions
              file_open_error         = 1
              file_read_error         = 2
              no_batch                = 3
              gui_refuse_filetransfer = 4
              no_authority            = 6
              unknown_error           = 7
              bad_data_format         = 8
              unknown_dp_error        = 12
              access_denied           = 13
              others                  = 17.
        if sy-subrc <> 0.
          write:sy-subrc.
          endif.

       describe table data_tab lines length1.
       write:'length1',length1.

      write:'----------------------上传文件数据------------------------'.
*        loop at  up_info.
*          write:/,'物料号',up_info-matnr,
*                   '描述',up_info-maktx,
*                  '日期',up_info-budat,
*                   '数量',up_info-erfmg.
*          endloop.
        loop at data_tab into wa_tab.
          write:/,'物料号',wa_tab-matnr,
                   '描述',wa_tab-maktx,
                   '日期',wa_tab-budat,
                   '数量',wa_tab-erfmg.
          endloop.
      endif.

 

posted @ 2013-05-23 13:37  charles-xiao  阅读(787)  评论(0编辑  收藏  举报