Chinaunix首页 | 论坛 | 博客
  • 博客访问: 668302
  • 博文数量: 194
  • 博客积分: 7067
  • 博客等级: 少将
  • 技术积分: 2008
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-09 14:48
个人简介

我很好

文章分类

全部博文(194)

文章存档

2019年(1)

2018年(1)

2017年(3)

2015年(2)

2012年(2)

2011年(1)

2010年(27)

2009年(15)

2008年(142)

分类: WINDOWS

2009-02-12 15:18:42

前段时间有朋友问如果把报表通过邮件的方式发给老总的邮箱里。当时不知怎么实现。今天在网上转了一圈发现可以把内表转为HTML格式的文档,其实也可以转为EXCEL格式的。之后在通过ASP、PHP等把报表文件转发给老总的邮箱里。网上也有通过SAP直接发邮件的方式http://jgtang82.javaeye.com/blog/186430
 ,但是很多企业没有把SAP直接连到互联网上,所以直接发是不可以的。
REPORT  ztest_nyj3.
TYPESBEGIN OF ty_vbap,
             vbeln TYPE vbeln,
             posnr TYPE posnr,
             matnr TYPE matnr,
         END OF ty_vbap.
*-ALL related Declarations
DATA:    t_header TYPE STANDARD TABLE OF w3head WITH HEADER LINE,  "Header
         t_fields TYPE STANDARD TABLE OF w3fields WITH HEADER LINE,    "Fields
         t_html TYPE STANDARD TABLE OF w3html,                          "Html
         wa_header TYPE w3head,
         w_head TYPE w3head.
DATA: it_vbap TYPE STANDARD TABLE OF ty_vbap,
           it_fcat TYPE lvc_t_fcat WITH HEADER LINE.

START-OF-SELECTION.
  SELECT vbeln posnr matnr
          FROM vbap
          INTO TABLE it_vbap
         UP TO 20 ROWS.

END-OF-SELECTION.
*-Populate the Columns
  it_fcat-coltext = 'SalesOrder'.
  APPEND it_fcat.
  it_fcat-coltext = 'ItmeNumber'.
  APPEND it_fcat.
  it_fcat-coltext = 'Material'.
  APPEND it_fcat.
*-Fill the Column heading and Filed Properties
  LOOP AT it_fcat.
    w_head-text = it_fcat-coltext.
    CALL FUNCTION 'WWW_ITAB_TO_HTML_HEADERS'
      EXPORTING
        field_nr = sy-tabix
        text     = w_head-text
        fgcolor  = 'black'
        bgcolor  = 'green'
      TABLES
        header   = t_header.

    CALL FUNCTION 'WWW_ITAB_TO_HTML_LAYOUT'
      EXPORTING
        field_nr = sy-tabix
        fgcolor  = 'black'
        size     = '3'
      TABLES
        fields   = t_fields.
  ENDLOOP.
*-Title of the Display
  wa_header-text = 'Sales Order Details'.
  wa_header-font = 'Arial'.
  wa_header-size = '2'.
*-Preparing the HTML from Intenal Table
  REFRESH t_html.
  CALL FUNCTION 'WWW_ITAB_TO_HTML'
    EXPORTING
      table_header = wa_header
    TABLES
      html         = t_html
      fields       = t_fields
      row_header   = t_header
      itable       = it_vbap.
*-Download  the HTML into frontend
  CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING
      filename                = 'C:\Sales.htm'
    TABLES
      data_tab                = t_html
    EXCEPTIONS
      file_write_error        = 1
      no_batch                = 2
      gui_refuse_filetransfer = 3
      invalid_type            = 4
      no_authority            = 5
      unknown_error           = 6
      header_not_allowed      = 7
      separator_not_allowed   = 8
      filesize_not_allowed    = 9
      header_too_long         = 10
      dp_error_create         = 11
      dp_error_send           = 12
      dp_error_write          = 13
      unknown_dp_error        = 14
      access_denied           = 15
      dp_out_of_memory        = 16
      disk_full               = 17
      dp_timeout              = 18
      file_not_found          = 19
      dataprovider_exception  = 20
      control_flush_error     = 21
      OTHERS                  = 22.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  CALL FUNCTION 'GUI_RUN'
    EXPORTING
      command          = 'C:\Sales.htm'
*     PARAMETER        =
*     CD               =
*   IMPORTING
*     RETURNCODE       =
            .

*-Display the HTML file
*  CALL METHOD cl_gui_frontend_services=>execute
*    EXPORTING
*      document               = 'C:\Sales.htm'
*      operation              = 'OPEN'
*    EXCEPTIONS
*      cntl_error             = 1
*      error_no_gui           = 2
*      bad_parameter          = 3
*      file_not_found         = 4
*      path_not_found         = 5
*      file_extension_unknown = 6
*      error_execute_failed   = 7
*      synchronous_failed     = 8
*      not_supported_by_gui   = 9
*      OTHERS                 = 10.
*  IF sy-subrc <> 0.
*    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
*  ENDIF.
阅读(1316) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~