将Excel文件上传到SAP中的Itab

2020-08-19 23:34发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我尝试将Excel文件上传到Itab。 我使用GUI_UPLOAD FM。 我过去几次都成功完成了此操作,但是这次它没有正确上传数据。

内部表(调试器)中的数据如下:

MANDT MATNR BERID

PK#########!#bî#h ^ ########### [Content_Type s] .xml¢##

它应该像:

MANDT MATNR BERID

100 1002-0205-00 10040789

我已经尝试过多次更改文件类型。 我还尝试了代码页参数。 我尝试更改excel文件格式(csv,xls,xlsx)。 我还更改了功能模块的一些导入参数。

不幸的是,这一切都不起作用。 这是我的代码。 这很简单。 它应该工作。

通话功能'GUI_UPLOAD'

           出口

             文件名= iv_file_path

             文件类型='ASC'

 * HAS_FIELD_SEPARATOR =''

 * HEADER_LENGTH = 0

 * READ_BY_LINE ='X'

 * DAT_MODE =''

 * CODEPAGE =''

 * IGNORE_CERR = ABAP_TRUE

 *替换='#'

 * CHECK_BOM =''

 * VIRUS_SCAN_PROFILE =

 * NO_AUTH_CHECK =''

 *重要

 *文件长度=

 *标题=

           桌子

             data_tab = at_mdma

 *变化

 * ISSCANPERFORMED =''

           例外情况

             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

             spacer_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

             其他= 17。

         如果sy-subrc <> 0。

 *在这里实施适当的错误处理

         ENDIF.0 

您有解决此问题的想法吗?

谢谢。

亚历山大·布斯

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我尝试将Excel文件上传到Itab。 我使用GUI_UPLOAD FM。 我过去几次都成功完成了此操作,但是这次它没有正确上传数据。

内部表(调试器)中的数据如下:

MANDT MATNR BERID

PK#########!#bî#h ^ ########### [Content_Type s] .xml¢##

它应该像:

MANDT MATNR BERID

100 1002-0205-00 10040789

我已经尝试过多次更改文件类型。 我还尝试了代码页参数。 我尝试更改excel文件格式(csv,xls,xlsx)。 我还更改了功能模块的一些导入参数。

不幸的是,这一切都不起作用。 这是我的代码。 这很简单。 它应该工作。

通话功能'GUI_UPLOAD'

           出口

             文件名= iv_file_path

             文件类型='ASC'

 * HAS_FIELD_SEPARATOR =''

 * HEADER_LENGTH = 0

 * READ_BY_LINE ='X'

 * DAT_MODE =''

 * CODEPAGE =''

 * IGNORE_CERR = ABAP_TRUE

 *替换='#'

 * CHECK_BOM =''

 * VIRUS_SCAN_PROFILE =

 * NO_AUTH_CHECK =''

 *重要

 *文件长度=

 *标题=

           桌子

             data_tab = at_mdma

 *变化

 * ISSCANPERFORMED =''

           例外情况

             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

             spacer_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

             其他= 17。

         如果sy-subrc <> 0。

 *在这里实施适当的错误处理

         ENDIF.0 

您有解决此问题的想法吗?

谢谢。

亚历山大·布斯

付费偷看设置
发送
5条回答
葫芦娃快救爷爷
1楼-- · 2020-08-19 23:47

Alexander Boos

您是否将数据复制粘贴到文件中?

尝试在要上传的文件中手动键入数据以进行一次输入并检查。 如果一切正常,那么要上传的数据格式应该有问题。

注意!

蓋茨
2楼-- · 2020-08-20 00:03

它以" PK"开头,所以是邮政编码 文件,因此您可能上传了XLSX文件。 使用GUI_UPLOAD(文件类型='BIN')进入二进制表(例如,类型为SOLIX_TAB),然后使用cl_bcs_convert => solix_to_xstring将其转换为字节字符串,然后使用API​​ abap2xlsx读取XLSX文件。

或者也许您只想告诉用户以CSV格式保存Excel文件?

三十六小时_GS
3楼-- · 2020-08-20 00:05

您知道功能模块ALSM_EXCEL_TO_INTERNAL_TABLE吗?

这使用OLE。 前提条件是必须在客户端上安装MS Excel。

Baoming ROSE
4楼-- · 2020-08-19 23:52

有3个人想帮助您,提出问题以便提出更充分的答案-您为什么不理会它们?

SAP砖家
5楼-- · 2020-08-20 00:13

谢谢大家。 我将尝试您的解决方案。

一周热门 更多>