1:通过Cl_Gui_Frontend_Services提供的file_open_dialog方法生成选择文件对话框
REPORT z_choosing_pc_file_use_class.
TYPES: BEGIN OF rectype,
kunnr LIKE kna1-kunnr,
land1 LIKE kna1-land1,
name1 LIKE kna1-name1,
stras LIKE kna1-stras,
ort01 LIKE kna1-ort01,
pstlz LIKE kna1-pstlz,
END OF rectype.
DATA itab TYPE STANDARD TABLE OF rectype WITH HEADER LINE.
DATA: filetable TYPE filetable ,
rc TYPE i ,
wa TYPE file_table .
PARAMETERS: pc_file(80) OBLIGATORY.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pc_file.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'UPLOAD'
multiselection = 'X'
default_extension = 'TXT'
default_filename = '*.txt'
initial_directory = 'C:\SAP\'
CHANGING
file_table = filetable
rc = rc.
CALL METHOD cl_gui_cfw=>flush.
LOOP AT filetable INTO wa.
ENDLOOP.
IF wa-filename <> ''.
MOVE wa-filename TO pc_file.
ENDIF.
START-OF-SELECTION.
DATA: filename TYPE string.
filename = pc_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = filename
TABLES
data_tab = itab
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.
MESSAGE s001(00) WITH 'File Successfully Uploaded'.
ELSE.
MESSAGE e001(00) WITH 'Error during File Uploading'.
ENDIF.
END-OF-SELECTION.
LOOP AT itab.
WRITE: / itab-kunnr, itab-land1, itab-name1(30),
itab-stras(30), itab-pstlz, itab-ort01(30).
ENDLOOP.
2:通过function module WS_FILENAME_GET实现用户PC文件的选择。
REPORT z_choosing_pc_file_use_fm.
TYPES: BEGIN OF rectype,
kunnr LIKE kna1-kunnr,
land1 LIKE kna1-land1,
name1 LIKE kna1-name1,
stras LIKE kna1-stras,
ort01 LIKE kna1-ort01,
pstlz LIKE kna1-pstlz,
END OF rectype.
DATA itab TYPE STANDARD TABLE OF rectype WITH HEADER LINE.
PARAMETERS: pc_file(80) OBLIGATORY.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pc_file.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_filename = '*.txt'
def_path = 'C:\SAP\'
title = 'UPLOAD'
IMPORTING
filename = pc_file
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
WRITE sy-subrc.
EXIT.
ENDIF.
START-OF-SELECTION.
DATA: filename TYPE string.
filename = pc_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = filename
TABLES
data_tab = itab
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.
MESSAGE s001(00) WITH 'File Successfully Uploaded'.
ELSE.
MESSAGE e001(00) WITH 'Error during File Uploading'.
ENDIF.
END-OF-SELECTION.
LOOP AT itab.
WRITE: / itab-kunnr, itab-land1, itab-name1(30),
itab-stras(30), itab-pstlz, itab-ort01(30).
ENDLOOP.
abap从pc读取文件到内表
猜你喜欢
转载自caoxuhuan.iteye.com/blog/938885
今日推荐
周排行