zoukankan      html  css  js  c++  java
  • ABAP如何将内表数据转成HTML格式文件

     

    本代码使用下列三个函数来完成将内表数据转换成本地的 HTML文件,并使用 IE打开浏览。三个函数说明如下:
    'WWW_ITAB_TO_HTML_HEADERS'  "This is used to Set the Column properties
    'WWW_ITAB_TO_HTML_LAYOUT'  "This is used to set the layout properties
    'WWW_ITAB_TO_HTML'   "Using the Columns Definitions and Internal table this Function converts the internal table data into HTML format.

    REPORT zdownload_table_html.
    *-Internal table Declaration
    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.
    *-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.

  • 相关阅读:
    FastAPI项目实战: 个人博客项目的API
    Jmeter分布式执行,java.rmi.UnmarshalException: xxxAbstractSimpleThreadGroup错误
    [转]JMeter分布式的坑
    Docker菜鸟教程-硬敲系列
    VMware EXIS 安装
    2020简单总结
    07.1 迭代器、生成器
    locust 的 ‘1’ 版本时代变化
    移动端专项测试-内存泄漏
    乘风破浪的不止姐姐,还有我们的测试工程师!
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157069.html
Copyright © 2011-2022 走看看