您的位置:首页 > Web前端 > HTML

ABAP---如何将内表数据转成HTML格式文件

2012-11-06 15:12 429 查看
转自compassbutton的博客

本代码使用下列三个函数来完成将内表数据转换成本地的 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

TYPES: BEGIN 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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: