HTML-Viewer-Control verändert HTML-Quelltext

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

HTML-Viewer-Control verändert HTML-Quelltext

Beitrag von paramedic78 (ForumUser / 7 / 0 / 0 ) »
Hallo,

ich habe ein Dynpro mit einem HTML-Viewer-Control.
In dem Control soll der HTML-Quelltext aus der Datei
http://www.tarifmaster.de/SAP-HTML-orig.txt
angezeigt werden. (Ich konnte die Textdatei mit HTML nicht hier anhängen, daher der Fremdlink.

Der Quelltext wird wie folgt verarbeitet:
----------------------
DATA: html TYPE w3htmltab.
DATA: lf_html TYPE string.
DATA: lv_tag(4) TYPE c VALUE '</n>'. *Cusom Linebreak Tag

CONCATENATE

'html-quelltext zeile 1'
'html-quelltext zeile 2'
'...html-quelltext zeile n'

INTO lf_html SEPARATED BY lv_tag. " Use linebreak tag here

*To place each row into the html table, use SPLIT
SPLIT lf_html AT lvtag INTO TABLE html.
----------------------------

Die table "html" wird dann mit

load_data( IMPORTING assigned_url = url
CHANGING data_table = html ).

and das cl_gui_html_viewer geschickt.

Daraufhin wird die Seite dann zwar im HTML-Viewer zusammengebaut, aber völlig falsch. Ein Blick in den HTML-Quelltext des Viewers
zeigt dann, dass dieser HTML-Quelltext völlig sinnlos formatiert und abgeschnitten wird und damit die ganze HTML-Darstellung verändert, weil zB Textformatierungen verändert werden.

Ich habe mal den Quelltext aus dem HTML-Viewer gespeichert und als
http://www.tarifmaster.de/SAP-HTML-Output.txt hochgeladen.

Hat jemand hier eine Idee, wie ich das Problem beheben kann ?

Vielen Dank,
Swen

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: HTML-Viewer-Control verändert HTML-Quelltext

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
hi!

Du musst dir die Datentabelle die an den HTML-Viewer geschickt wird, als EINE lange Textzeile vorstellen.
Wenn du nun eine saubere Formatierung haben möchtest musst du wie folgt vorgehen:

Code: Alles auswählen.

data:
  lt_string type stringtab,
  ld_string type string.

append `<html>` to lt_string.
append `  <head>` to lt_string.
append `    <title>test</title>` to lt_string.
append `  </head>` to lt_string.
append `  <body>` to lt_string.
append `    <div>test</div>` to lt_string.
append `  </body>` to lt_string.
append `<html>` to lt_string.

concatenate lines of lt_string into ld_string separated by cl_abap_char_utilities=>cr_lf.
Damit hast du deine HTML-Seite die richtig für den Viewer formatiert ist.
Ich hab hier die `` Syntax verwendet damit die leerzeichen am Zeilenanfang erhalten bleiben.
Damit jetzt das HTML-Control die Daten richtig darstellt, muss nun dieser Text komplett ohne weitere Leerzeichen in die Datentabelle vom Typ W3HTMLTAB übertragen werden. Also in lauter Happen von 255 Zeichen Länge. Am besten du verwendest hierzu meinen Codeschnippsel

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: HTML-Viewer-Control verändert HTML-Quelltext

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
paramedic78 hat geschrieben: *To place each row into the html table, use SPLIT
SPLIT lf_html AT lvtag INTO TABLE html.
Aus der F1-Hilfe zum SPLIT-Befehl:
Falls ein Datenobjekt result1 result2 ... oder die Zeilen der internen Tabelle result_tab eine feste Länge haben und diese für ein Zwischenergebnis nicht ausreichen, wird dieses rechts abgeschnitten und sy-subrc auf 4 gesetzt. Falls die Länge größer als die Länge des Zwischenergebnisses ist, wird rechts mit Leerzeichen bzw. hexadezimal 0 aufgefüllt.

Die bescheidene Formatierung kommt daher, dass du kein CRLF mit in den HTML-Code einbaust. Also wird alles in einer Zeile ausgeben.
Die überflüssigen Leerzeichen kommen vom Auffüllen auf die 255 Zeichen der HTML-Tabelle.
Nach 255 Zeichen wird beim SPLIT hart abgeschnitten, deshalb deine Zerhackte Ausgabe.
Gruß Hendrik

Re: HTML-Viewer-Control verändert HTML-Quelltext

Beitrag von paramedic78 (ForumUser / 7 / 0 / 0 ) »
OK, danke erstmal für Eure Antworten. Die Variante von a-dead-trousers versuche ich morgen.
JHM hat geschrieben: Die bescheidene Formatierung kommt daher, dass du kein CRLF mit in den HTML-Code einbaust.
Würde das dann bedeuten, dass ich einfach \r\n an das Ende jeder HTML-Zeile setzen muss ? Wahrscheinlich wäre das zu einfach, oder ?

Vielen Dank für die schnellen Antworten,
Swen

Re: HTML-Viewer-Control verändert HTML-Quelltext

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
paramedic78 hat geschrieben: Würde das dann bedeuten, dass ich einfach \r\n an das Ende jeder HTML-Zeile setzen muss ? Wahrscheinlich wäre das zu einfach, oder ?
Nimm ADTs vorschlag: cl_abap_char_utilities=>cr_lf
Ist eine Konstante, sonst müsstes du dich mit HexWerten rumschlagen. \r\n kennt ABAP so nicht.
Gruß Hendrik

Seite 1 von 1

Vergleichbare Themen

16
Antw.
7850
Views
HTML-Viewer-Control: Quelltext nach sapevent verändern
von paramedic78 » 20.01.2013 16:37 • Verfasst in ABAP® für Anfänger
1
Antw.
2127
Views
XML mit HTML-Viewer?
von ernst » 10.12.2004 13:12 • Verfasst in ABAP Objects®
3
Antw.
4677
Views
Komprimieren von HTML im Viewer
von a-dead-trousers » 23.12.2011 10:17 • Verfasst in ABAP Objects®
1
Antw.
1655
Views
HTML-Viewer Formulare
von Stefan7777 » 21.04.2006 11:19 • Verfasst in ABAP® Core
0
Antw.
1596
Views
Dynamische Dokumente und HTML-Viewer
von webster » 02.01.2007 14:01 • Verfasst in ABAP Objects®

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 743
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2366
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8951