博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
上载和下载CSV文件
阅读量:7007 次
发布时间:2019-06-27

本文共 3633 字,大约阅读时间需要 12 分钟。

sap中把txt 、excel 、文件上载到内表中,txt和csv速度最快。

excel文件导出的csv是用,分隔符分隔的,如果单元格的文本中就有逗号,这样会和分隔符逗号混淆,最好abap产生csv文件模板,代码如下:

REPORT  ztest_bapi.TYPE-POOLS truxs.TYPES: BEGIN OF ty_csv,  name1 TYPE char10,  name2 TYPE char10,  name3 TYPE char10,  name4 TYPE char10,  END OF ty_csv.DATA: w_filename TYPE string,      w_file_path TYPE string,      w_full_path TYPE string,      lt_tabout TYPE STANDARD TABLE OF ty_csv,      ls_tabout TYPE  ty_csv.DATA: lt_title  TYPE truxs_t_text_data WITH HEADER LINE.constants: c_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB.FIELD-SYMBOLS 
TYPE ANY.ls_tabout-name1 = '物料1'.ls_tabout-name2 = '物料2'.ls_tabout-name3 = '物料3'.ls_tabout-name4 = '物料4'.APPEND ls_tabout TO lt_tabout.CALL METHOD cl_gui_frontend_services=>file_save_dialog EXPORTING default_extension = 'CSV' default_file_name = '*' file_filter = 'CSV文件(*.CSV)' CHANGING filename = w_filename path = w_file_path fullpath = w_full_path EXCEPTIONS cntl_error = 1 error_no_gui = 2 not_supported_by_gui = 3 OTHERS = 4. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'* EXPORTING* I_FIELD_SEPERATOR = ';'* I_LINE_HEADER =* I_FILENAME =* I_APPL_KEEP = ' ' TABLES i_tab_sap_data = lt_tabout CHANGING I_TAB_CONVERTED_DATA = lt_title[] EXCEPTIONS CONVERSION_FAILED = 1 OTHERS = 2 .IF sy-subrc <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.*--更改分隔符 为tab键LOOP AT lt_title ASSIGNING
. REPLACE ALL OCCURRENCES OF ';' IN
WITH c_tab. ENDLOOP.*----下载模板 CALL METHOD cl_gui_frontend_services=>gui_download EXPORTING* bin_filesize = filename = w_filename** filetype = 'DAT'* codepage = '8404'* ignore_cerr = ABAP_TRUE* replacement = '#' CHANGING data_tab = lt_title[] EXCEPTIONS file_write_error = 1 no_batch = 2 gui_refuse_filetransfer = 3 invalid_type = 4 no_authority = 5 unknown_error = 6 header_not_allowed = 7 separator_not_allowed = 8 filesize_not_allowed = 9 header_too_long = 10 dp_error_create = 11 dp_error_send = 12 dp_error_write = 13 unknown_dp_error = 14 access_denied = 15 dp_out_of_memory = 16 disk_full = 17 dp_timeout = 18 file_not_found = 19 dataprovider_exception = 20 control_flush_error = 21 not_supported_by_gui = 22 error_no_gui = 23 OTHERS = 24. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.

 

转载于:https://www.cnblogs.com/caizjian/p/6669670.html

你可能感兴趣的文章
BeanComparator实现ArrayList中的元素按多个属性复合排序
查看>>
对license数据的挖掘与分析
查看>>
listview当选中某一个item时设置背景色其他的不变
查看>>
debian打包
查看>>
zabbix 监控平台搭建过程中的报错与解决方法总结
查看>>
Java中什么是实体类和实体类的作用
查看>>
客户端putty, xshell连接linux中vim的小键盘问题
查看>>
Vue.js 2.0 由浅入深,第二天 day02
查看>>
JavaScript若干盲点总结二
查看>>
Oracle数据库 goldgate配置
查看>>
shell脚本编程进阶
查看>>
glob匹配模式
查看>>
理解Android虚拟机体系结构
查看>>
最新最强短视频SDK——来自RDSDK.COM
查看>>
谈谈yii2-GridView如何实现列表页直接修改数据
查看>>
【Github】使用Github Pages建独立博客&Github在Mac(转)
查看>>
网络营销讲解三要素
查看>>
Java人才市场年度盘点:转折与终局
查看>>
SpringMVC的基础知识整理(2)快速入门程序
查看>>
Python 学习日志(4)
查看>>