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.
最爱江南烟雨如画:浩浩宇宙,朗朗乾坤,花花世界,滚滚红尘