Code: Alles auswählen.
DATA:
html_container TYPE REF TO cl_gui_custom_container,
html_control TYPE REF TO cl_gui_html_viewer,
lv_url_html TYPE cndp_url,
ls_raw_html_line TYPE c LENGTH 255,
lt_raw_html LIKE STANDARD TABLE OF ls_raw_html_line.
CLEAR: html_control, html_container,
lt_raw_html, lv_url_html.
CREATE OBJECT html_container
EXPORTING
container_name = 'P_HTML_01'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE i001(00) WITH
'Fehler bem erstellen des HTML-Containers'.
LEAVE LIST-PROCESSING.
ENDIF.
CREATE OBJECT html_control
EXPORTING
parent = html_container
EXCEPTIONS
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE i001(00) WITH
'Fehler beim Anlegen des HTML Controls'.
LEAVE LIST-PROCESSING.
ENDIF.
"HTML-Beginn
APPEND '<HTML>' TO lt_raw_html.
"Hintergrund- und Linkfarbe
APPEND '<body bgcolor="#EAF1F6" alink="#FFFFFF"'
TO lt_raw_html.
APPEND ' style="margin:0px; overflow:hidden;">'
TO lt_raw_html.
"globale Variable mit aktuellem Step
CASE l_aktstep.
WHEN 1.
CONCATENATE: 'Scannen Lagereinheit X <br>'
INTO ls_raw_html_line.
WHEN 2.
CONCATENATE: 'Scannen Platz Y <br>'
INTO ls_raw_html_line.
WHEN 3.
CONCATENATE: 'Scannen Ebene Z <br>'
INTO ls_raw_html_line.
ENDCASE.
APPEND ls_raw_html_line TO lt_raw_html.
"HTML-Ende
APPEND '</BODY></HTML>' TO lt_raw_html.
CALL METHOD html_control->load_data
EXPORTING
type = 'text'
subtype = 'html'
IMPORTING
assigned_url = lv_url_html
CHANGING
data_table = lt_raw_html
EXCEPTIONS
OTHERS = 1.
"nach dem ersten Durchlauf des Bausteins steht im
"LV_URL_HTML = 'HTML000001.htm'
"beim zweiten Durchlauf wird die Nummer um eins hochgezählt:
" LV_URL_HTML = 'HTML000002.htm' usw.
IF sy-subrc = 0.
"Rahmen weglassen
CALL METHOD html_control->set_ui_flag
EXPORTING
uiflag = cl_gui_html_viewer=>uiflag_no3dborder.
"HTML-File anzeigen
CALL METHOD html_control->show_url
EXPORTING
url = lv_url_html.
"auch wenn hier für lv_url_html der Wert 'HTML000002.htm'
"übergeben wird, auf dem Dynpro in den Eigenschaften des
"controls steht (URL) {Mek8lQE018dG/HTML000001.htm
"muss ich hier irgendeinen Cache zurück setzen oder
"irgendeine Aktuslisierung ausführen?
ELSE.
MESSAGE i001(00) WITH 'Fehler beim Laden des HTML'.
LEAVE LIST-PROCESSING.
ENDIF.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Alexander D.