使用GUI端上载函数,S/4正常上传可以获取数据,但是在WEBGUI上无法正常获取数据,改成用字节流上传即可避免这个问题

*&---------------------------------------------------------------------*
*---------------------------------------------------------------------*
* Report ZPW_EXCELUPLOAD
*---------------------------------------------------------------------*
REPORT ZGXTS_WEBUPLOAD.FIELD-SYMBOLS : <gt_data>       TYPE STANDARD TABLE .SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME .PARAMETERS : p_file TYPE ibipparms-path OBLIGATORY,p_ncol TYPE i OBLIGATORY DEFAULT 10.
SELECTION-SCREEN END OF BLOCK b1 .*--------------------------------------------------------------------*
* at selection screen
*--------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.DATA: lv_rc TYPE i.DATA: lt_file_table TYPE filetable,ls_file_table TYPE file_table.CALL METHOD cl_gui_frontend_services=>file_open_dialogEXPORTINGwindow_title = 'Select a file'CHANGINGfile_table   = lt_file_tablerc           = lv_rc.IF sy-subrc = 0.READ TABLE lt_file_table INTO ls_file_table INDEX 1.p_file = ls_file_table-filename.ENDIF.START-OF-SELECTION .PERFORM read_file .PERFORM process_file.*---------------------------------------------------------------------*
* Form READ_FILE
*---------------------------------------------------------------------*
FORM read_file .DATA : lv_filename      TYPE string,lt_records       TYPE solix_tab,lv_headerxstring TYPE xstring,lv_filelength    TYPE i.lv_filename = p_file.CALL FUNCTION 'GUI_UPLOAD'EXPORTINGfilename                = lv_filenamefiletype                = 'BIN'IMPORTINGfilelength              = lv_filelengthheader                  = lv_headerxstringTABLESdata_tab                = lt_recordsEXCEPTIONSfile_open_error         = 1file_read_error         = 2no_batch                = 3gui_refuse_filetransfer = 4invalid_type            = 5no_authority            = 6unknown_error           = 7bad_data_format         = 8header_not_allowed      = 9separator_not_allowed   = 10header_too_long         = 11unknown_dp_error        = 12access_denied           = 13dp_out_of_memory        = 14disk_full               = 15dp_timeout              = 16OTHERS                  = 17."convert binary data to xstring"if you are using cl_fdt_xl_spreadsheet in odata then skips this step"as excel file will already be in xstringCALL FUNCTION 'SCMS_BINARY_TO_XSTRING'EXPORTINGinput_length = lv_filelengthIMPORTINGbuffer       = lv_headerxstringTABLESbinary_tab   = lt_recordsEXCEPTIONSfailed       = 1OTHERS       = 2.IF sy-subrc <> 0."Implement suitable error handling hereENDIF.DATA : lo_excel_ref TYPE REF TO cl_fdt_xl_spreadsheet .TRY .lo_excel_ref = NEW cl_fdt_xl_spreadsheet(document_name = lv_filenamexdocument     = lv_headerxstring ) .CATCH cx_fdt_excel_core."Implement suitable error handling hereENDTRY ."Get List of Worksheetslo_excel_ref->if_fdt_doc_spreadsheet~get_worksheet_names(IMPORTINGworksheet_names = DATA(lt_worksheets) ).IF NOT lt_worksheets IS INITIAL.READ TABLE lt_worksheets INTO DATA(lv_woksheetname) INDEX 1.DATA(lo_data_ref) = lo_excel_ref->if_fdt_doc_spreadsheet~get_itab_from_worksheet(lv_woksheetname )."now you have excel work sheet data in dyanmic internal tableASSIGN lo_data_ref->* TO <gt_data>.ENDIF.ENDFORM.*---------------------------------------------------------------------*
* Form PROCESS_FILE
*---------------------------------------------------------------------*
FORM process_file .DATA : lv_numberofcolumns   TYPE i,lv_date_string       TYPE string,lv_target_date_field TYPE datum.FIELD-SYMBOLS : <ls_data>  TYPE any,<lv_field> TYPE any."you could find out number of columns dynamically from table <gt_data>lv_numberofcolumns = p_ncol .LOOP AT <gt_data> ASSIGNING <ls_data> FROM 2 ."processing columnsDO lv_numberofcolumns TIMES.ASSIGN COMPONENT sy-index OF STRUCTURE <ls_data> TO <lv_field> .IF sy-subrc = 0 .CASE sy-index .
*          when 1 .
*          when 2 .WHEN 10 .lv_date_string = <lv_field> .PERFORM date_convert USING lv_date_string CHANGING lv_target_date_field .WRITE lv_target_date_field .WHEN OTHERS.WRITE : <lv_field> .ENDCASE .ENDIF.ENDDO .NEW-LINE .ENDLOOP .
ENDFORM.*---------------------------------------------------------------------*
* Form DATE_CONVERT
*---------------------------------------------------------------------*
FORM date_convert USING iv_date_string TYPE string CHANGING cv_date TYPE datum .DATA: lv_convert_date(10) TYPE c.lv_convert_date = iv_date_string ."date format YYYY/MM/DDFIND REGEX '^\d{4}[/|-]\d{1,2}[/|-]\d{1,2}$' IN lv_convert_date.IF sy-subrc = 0.CALL FUNCTION '/SAPDMC/LSM_DATE_CONVERT'EXPORTINGdate_in             = lv_convert_datedate_format_in      = 'DYMD'to_output_format    = ' 'to_internal_format  = 'X'IMPORTINGdate_out            = lv_convert_dateEXCEPTIONSillegal_date        = 1illegal_date_format = 2no_user_date_format = 3OTHERS              = 4.ELSE." date format DD/MM/YYYYFIND REGEX '^\d{1,2}[/|-]\d{1,2}[/|-]\d{4}$' IN lv_convert_date.IF sy-subrc = 0.CALL FUNCTION '/SAPDMC/LSM_DATE_CONVERT'EXPORTINGdate_in             = lv_convert_datedate_format_in      = 'DDMY'to_output_format    = ' 'to_internal_format  = 'X'IMPORTINGdate_out            = lv_convert_dateEXCEPTIONSillegal_date        = 1illegal_date_format = 2no_user_date_format = 3OTHERS              = 4.ENDIF.ENDIF.IF sy-subrc = 0.cv_date = lv_convert_date .ENDIF.ENDFORM .

SAP-WEB-GUI无法上传excel问题相关推荐

  1. 页面因excel版本问题,无法上传excel文件

    在工作中遇到上传excel时,却无法正常上传,一直提示错误,F12查看后,并没有发送任何接口请求: 猜测是前端问题,后经前端开发提示,可能是本地excel版本问题,然后下载了wps,问题解决!在此记录 ...

  2. 解决在eggjs下只有xls、xlsx的文件类型无法上传

    今天突然碰到在eggjs下很奇怪的问题,就是只有xls.xlsx的文件类型无法上传,上传请求一直卡着,其他doc.img.txt.zip都可以正常上传.上传的配置文件如下: config.multip ...

  3. php sql文件太大导致无法上传,sql文件太大无法导入phpmyadmin

    1.打开php.ini. 找到 upload_max_filesize . memory_limit . post_max_size 这三个参数! (在默认的情况下,phpmyadmin只允许最大的上 ...

  4. uniapp小程序发布过程中,图片跟音频资源超过200K无法上传

    uniapp开发小程序,项目中图片跟音频资源太多造成小程序上传失败,可进行静态资源分包处理. 1.打开项目,在项目静态资源文件夹下创建多个存放静态资源的文件夹 2.每个文件夹内存放的静态资源不不可超过 ...

  5. Gitlab上传代码时报错文件太大无法上传

    1.查看报错截图 Delta compression using up to 8 threads Total 19 (delta 13), reused 7 (delta 7), pack-reuse ...

  6. gif动图文件太大无法上传?教你一招在线调整动图大小

    大家在使用微信的时候,肯定会遇到gif动图太大,超过上传的限制的问题.微信官方限制的动图尺寸是240 ×240,但是在实际使用的时候,是不需要严格按照标准来执行的,因为在微信聊天的时候,发送的gif图 ...

  7. 计算机证件照无法上传,为何不能上传照片

    新浪系统在调整图片显示,又要把博客全部过渡到新版本,系统有些混乱,很多显示都会异常,过一段时间会恢复正常! 也有可能是电脑速度"慢"的问题 1.网络故障(新浪系统.地方连接等): ...

  8. vue图片文件太大无法上传

    makeStlBlob() {// 源文件let imgurl;if (this.isShapeIndex < 0) {imgurl = this.userUploadImages[this.u ...

  9. 电脑无法上传html文件类型,HTML5 - 限制文件上传(HTML5 - Restrict file upload)

    HTML5 - 限制文件上传(HTML5 - Restrict file upload) 上面的代码也允许上传.txt或任何类型的文件. 如何限制 html5中的其他文件类型 ? Above code ...

  10. mobaXterm无法上传,打开,下载文件解决方案

    问题 除此之外,sftp也无法连接 解决办法 修改配置文件 vim /etc/ssh/sshd_config 修改后 执行systemctl restart sshd,重启sshd服务 重启mobaX ...

最新文章

  1. Redis5新特性Streams作消息队列
  2. 你的肠道菌群是遗传自你父母,还是后天环境塑造的?
  3. css超出一行省略号:text-overflow和white-space超出隐藏显示省略号
  4. Python中的协程
  5. 一步步编写操作系统 79 在c代码中内联汇编
  6. 好戏连台,BCH独领风骚
  7. java通过桥访问excel_通过jdbc-odbc桥来访问excel文件
  8. Flask知识点查阅
  9. ssis组件_用于SSIS的Melissa Data Quality免费组件
  10. 小云(云层-陈霁)的发展史
  11. treeview的checkbox展开节点
  12. 解决Unity中文显示乱码问题
  13. 称重仪表显示ol怎么解决_地磅称重时仪表显示出现跳数如何解决?
  14. 数据库较长数据导出到excel单元格变成科学计数法
  15. mysql 磁盘满_mysql磁盘满了如何恢复
  16. Hadoop-Spark企业应用实战
  17. 香槟分校计算机专业毕业生去向,数据会告诉你 伊利诺伊大学香槟分校计算机系有多可怕...
  18. MySQL之——mysqldump参数详细说明
  19. 第k大元素(时间复杂度为O(n))
  20. 七大排序----SevenSort(希尔排序)

热门文章

  1. java list 时间排序_Java collections.sort()根据时间排序list
  2. Failed to start reboot.target: 连接超时
  3. MYCNCART博客系统
  4. 【2021 最新】100 道大厂大数据必考面试题+答案详解
  5. docker初学记录--运行应用程序
  6. android配置jni cmake,Android JNI之青春期 Cmake(android studio)
  7. PeopleSoft介绍
  8. 2021年高处安装、维护、拆除考试及高处安装、维护、拆除考试技巧
  9. 设计心理学2-与复杂共处【读书笔记】
  10. SpringBoot、SpringCloud版本中GA/PRE/SNAPSHOT的详解