SAP_ABAP_内表数据保存到本地EXCEL



EXCEL_OLE_STANDARD_DAT

FORM frm_batch_output  TABLES   pt_out STRUCTURE gt_out.
  DATA:l_filename TYPE string,
       l_path TYPE string,
       l_fullpath TYPE string,
       l_title TYPE string,
       l_x_filename LIKE rlgrap-filename.


  DATABEGIN OF lt_field OCCURS 0,
         fname(40TYPE ,
       END OF lt_field.
  DATABEGIN OF lt_tab OCCURS 0,
          matnr(18),
          maktx(40),
          werks(4),
          lgort(4),
          lgort1(20),
          lgort2(20),
        END OF lt_tab.

  IF pt_out[] IS INITIAL.
    MESSAGE s208 WITH '查无需要下载的数据' DISPLAY LIKE 'I'.
    RETURN.
  ENDIF.


  CONCATENATE '补充库位下载_' sy-datum '_' sy-uzeit INTO l_title.
  CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
      window_title         l_title
*     default_extension    = 'xlsx'
      default_file_name    l_title
      file_filter          '(电子表格EXCEL)'
    CHANGING
      filename             l_filename
      path                 l_path
      fullpath             l_fullpath
    EXCEPTIONS
      cntl_error           1
      error_no_gui         2
      not_supported_by_gui 3
      OTHERS               4.
  IF sy-subrc NE 0.
    MESSAGE s398 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 DISPLAY LIKE 'E'.
    LEAVE SCREEN.
  ELSEIF l_fullpath IS INITIAL.
    MESSAGE s208 WITH '请选择保存路径' DISPLAY LIKE 'E'.
    LEAVE SCREEN.
  ENDIF.

  lt_field-fname '物料编号'.
  APPEND lt_field.
  CLEAR lt_field.

  lt_field-fname '物料描述'.
  APPEND lt_field.
  CLEAR lt_field.

  lt_field-fname '工厂'.
  APPEND lt_field.
  CLEAR lt_field.

  lt_field-fname '库位'.
  APPEND lt_field.
  CLEAR lt_field.

  lt_field-fname '补充库位一'.
  APPEND lt_field.
  CLEAR lt_field.

  lt_field-fname '补充库位二'.
  APPEND lt_field.
  CLEAR lt_field.

  LOOP AT pt_out.
    MOVE-CORRESPONDING pt_out TO lt_tab.
    APPEND lt_tab.
    CLEAR lt_tab.
  ENDLOOP.

  l_x_filename l_fullpath.
  CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
    EXPORTING
      file_name                 l_x_filename
*     create_pivot              = 0
*     DATA_SHEET_NAME           = ' '
*     PIVOT_SHEET_NAME          = ' '
*     PASSWORD                  = ' '
*     PASSWORD_OPTION           = 0
    TABLES
*     PIVOT_FIELD_TAB           =
      data_tab                  lt_tab
      fieldnames                lt_field
    EXCEPTIONS
      file_not_exist            1
      filename_expected         2
      communication_error       3
      ole_object_method_error   4
      ole_object_property_error 5
      invalid_pivot_fields      6
      download_problem          7
      OTHERS                    8.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
ENDFORM.                    " FRM_BATCH_OUTPUT

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值