SAP程序批量录入数据

事务码SMW0,选择二进制数据选项,点击图片左上角的查找或者按F8。然后选择包,进去之后,就可以加导入模板了。注意:当开发机第一次弄导入模板的时候,一定要在设置里维护MIME类型。

1.导入文件,读取文件名

FORM frm_file_data .
  DATA: lv_rc        TYPE i,
        lv_filetable TYPE filetable.
  CALL METHOD cl_gui_frontend_services=>file_open_dialog
    EXPORTING
      window_title            = '选择文件'
      file_filter             = 'Excel file (*.XLS;*.XLSX;*.XLSM)|*.XLS;*.XLSX;*.XLSM|' "cl_gui_frontend_services=>filetype_excel
      multiselection          = space
    CHANGING
      file_table              = lv_filetable
      rc                      = lv_rc
    EXCEPTIONS
      file_open_dialog_failed = 1
      cntl_error              = 2
      error_no_gui            = 3
      not_supported_by_gui    = 4
      OTHERS                  = 5.
  IF sy-subrc <> 0.
*  Implement suitable error handling here
  ENDIF.

  IF sy-subrc = 0 AND lv_rc = 1.
    READ TABLE lv_filetable INTO p_file INDEX 1.
  ENDIF.

ENDFORM.

下载模板

FORM frm_download_excel_fromserver CHANGING e_error TYPE char255.

  DATA:lo_objdata     LIKE wwwdatatab,
       lo_mime        LIKE w3mime,
       ls_destination LIKE rlgrap-filename,
       ls_objnam      TYPE string,
       li_rc          LIKE sy-subrc,
       ls_errtxt      TYPE string.

  CONCATENATE gv_temp '.XLSX' INTO ls_objnam.

  SELECT SINGLE relid objid FROM wwwdata
  INTO CORRESPONDING FIELDS OF lo_objdata
  WHERE srtf2    = 0
  AND relid    = 'MI'
  AND objid    = gv_temp.
  IF sy-subrc NE 0 OR lo_objdata-objid EQ space.
    CONCATENATE '不存在模板' ls_objnam ',请检查' INTO e_error.
    RETURN.
  ENDIF.

  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      def_filename     = '销售订单导入模板.xlsx'
*     mask             = ',*.xls,*.xls.'
      mode             = 'S'
    IMPORTING
      filename         = g_file
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.

  ls_destination  = g_file.

  IF sy-subrc = 0.

    CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
      EXPORTING
        key         = lo_objdata
        destination = ls_destination
      IMPORTING
        rc          = li_rc.
    IF li_rc NE 0.
      CONCATENATE '下载模板' ls_objnam '失败,请检查!' INTO e_error.
    ENDIF.

  ENDIF.



ENDFORM. "sub_download_excel_fromserver

读取EXCLE文件中的内容

CALL FUNCTION 'ZALSM_EXCEL_TO_INTERNAL_TABLE'    "读取excel文件中的内容
    EXPORTING
      filename                = p_file
      i_begin_col             = '2'
      i_begin_row             = '6'
      i_end_col               = '100'
      i_end_row               = '99999'
    TABLES
      intern                  = lt_data
    EXCEPTIONS
      inconsistent_parameters = 1
      upload_ole              = 2
      OTHERS                  = 3.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值