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语言连接FTP; 获取文件路径,解析ZIP文件到内表; 将已完成解析的文件备份到另一个文件夹; 删除原路径下的文件; 附件4个TXT,主程序和3个包含文件
ABAP读取本地CSV文件
SAP ABAP 通过链接下载文件 通过url下载文件
ABAP url下载文件
abap 上传文件到ftp 比较使用的实例,大家可以学习。
通过ABAP程序去读取FTP服务器的CSV文件
ABAP内表处理的效率问题(排序内表、标准内表比较)
ABAP 动态内表ABAP 动态内表
ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建ABAP内表创建
内容简介: 《SAP ABAP开发从入门到精通》以应用实例的形式,讲解了SAPABAP开发的相关知识点,详细介绍了SAPABAP开发者必须掌握的包与变更传输系统(CTS)、数据类型、数据库、模块化程序、内表、调试、ABAP数据...
【转】Mr.Go大叔 ABAP 读取EXECL数据到数据表中
在SAP ABAP里动态内表的构建,以及数据的传递,并且还附有说明的例子,简单明了.
主要是关于ABAP动态内表使用详细方法以及示例的详解
ABAP开发从入门到精通_高清自学版 SAP+ABAP开发从入门到精通 SAP开发自学必读 SAP SAP开发自学入门到精通完整版HANA开发
ABAP基础:行和内表ABAP基础:行和内表ABAP基础:行和内表ABAP基础:行和内表
abap内表使用方法,包括填充内表(详细讲解相关的方法)、读取并处理 数据库表(ABAP/4的开放式 SQL),很实用哦!
就是SAP 的ABAP语言调用 DLL文件中的函数实现一些功能, 例如可以用DLL文件连接外部数据库读取数据. 我在网上找了好久,都没有一个完整的答案, 也没有一个完整的实例, 根据网上的各种说法, 我整合到一起, 终于成功, ...
ABAP 备份文件到本地
ABAP 读取EXCEL到内表的函数和自编程序
动态内表的创建,动态内表的赋值,动态内表的读取显示