将excel的数据上传到sap系统上,更新到数据库表中

原创 2013年12月05日 15:50:34
*&---------------------------------------------------------------------*
*& Report  Z_INPUT_TEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  z_input_test.

DATA:
  it_tab TYPE STANDARD TABLE OF zinfo WITH HEADER LINE,
  it_zin TYPE STANDARD TABLE OF zinfo WITH HEADER LINE,
  it_exc TYPE alsmex_tabline OCCURS WITH HEADER LINE.             "excel中的数据需要先放在参照alsmex_tabline结构体的内表中row col value
FIELD-SYMBOLS: <fs>.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: in_file LIKE rlgrap-filename OBLIGATORY.                      "Local file for upload/download
SELECTION-SCREEN END OF BLOCK b1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR in_file.
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      mask             ',Excel Files,*.xls*.'
      mode             'O'
      title            '选择文件'
    IMPORTING
      filename         = in_file
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

START-OF-SELECTION.
  PERFORM excel_upload.
  PERFORM input_data.
*&---------------------------------------------------------------------*
*&      Form  EXCEL_UPLOAD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM excel_upload .
  DATA: l_col TYPE i,
        l_ans(1) type c.
  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      filename                = in_file
      i_begin_col             = '1'
      i_begin_row             = '2'
      i_end_col               = '50'
      i_end_row               = '5000'
    TABLES
      intern                  = it_exc
    EXCEPTIONS
      inconsistent_parameters = 1
      upload_ole              = 2
      OTHERS                  3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ELSE.
    IF it_exc[] IS INITIAL.
      CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
        EXPORTING
*         DEFAULTOPTION        = 'Y'
          diagnosetext1        = 'No data in excel'
*         DIAGNOSETEXT2        = ' '
*         DIAGNOSETEXT3        = ' '
          textline1            = 'Please check data in excel'
*         TEXTLINE2            = ' '
          titel                = 'Confirm'
*         START_COLUMN         = 25
*         START_ROW            = 6
*         CANCEL_DISPLAY       = 'X'
        IMPORTING
          ANSWER               = l_ans
                .
    ELSE.
      SORT it_exc BY row col value.
      LOOP AT it_exc.
        MOVE it_exc-col TO l_col.
        l_col = l_col + 1.
        ASSIGN COMPONENT l_col OF STRUCTURE it_tab TO <fs>.
        MOVE it_exc-value TO <fs>.
        AT END OF row.
          APPEND it_tab.
          CLEAR it_tab.
        ENDAT.
      ENDLOOP.
    ENDIF.
  ENDIF.
ENDFORM.                    " EXCEL_UPLOAD
*&---------------------------------------------------------------------*
*&      Form  INPUT_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form INPUT_DATA .
  select *
    into table it_zin
    from zinfo.
  LOOP AT it_tab.
    LOOP AT it_zin.
      IF it_tab-company = it_zin-company
         and it_tab-customer = it_zin-customer
         and it_tab-valid = it_zin-valid.
        it_tab-discount = it_tab-discount + it_zin-discount.
      ENDIF.
    ENDLOOP.
    modify zinfo from it_tab.
  ENDLOOP.
endform.                    " INPUT_DATA

上传excel到SAP内表.doc

  • 2011年06月21日 11:40
  • 21KB
  • 下载

上传Excel数据导入到数据库

上传文件导入到数据库 想把上传的文件导入到数据库中,首先要先获取到该文件在服务器中的路径。 controller.java String fileNames = filePath.replace("\...

excel数据上传到数据库代码

  • 2014年12月11日 13:23
  • 26KB
  • 下载

struts2上传excel文件并解析数据插入数据库

@SuppressWarnings("unchecked") public String uploadAlarmRmsJkmalfuncexperience() { String date =...

上传excel文件并将里面的数据放入数据库

注意:上传的excel文件的模板是否正确  jsp页面:       当前位置:excel导入                         信息上传...

FileUpload上传Excel文件,Aspose导入数据至数据库(web)

第一步:引用:Aspose.Cells.dll 第二步:创建类文件,AsposeExcel.csusing Aspose.Cells; using System; using System.Coll...

教育办公系统权限模块和其他模块的集成和 excel 数据上传和下载

通过前几天的准备,今天我们要讲spring-security框架和教育办公系统集成到一起.这个说起来容易,可是做不是那么容易.刚刚学习过,有很多 细节记不住.做起来很慢,总是出现错误.不过,在对错误的...

SAP SMW0 上传EXCEL模板遇到的问题

转载自:http://blog.csdn.net/heng0757/article/details/8123368 用SMW0上传图片文件或者EXCEL模板时,如果没有维护 MIME TYPE,系...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将excel的数据上传到sap系统上,更新到数据库表中
举报原因:
原因补充:

(最多只允许输入30个字)