Anfang des Inhaltsbereichs

WWW_HTML_MERGER Dokument im Navigationsbaum lokalisieren

Bedeutung

Mit dem Funktionsbaustein WWW_HTML_MERGER ersetzen Sie Platzhalter in HTML-Templates durch Daten. Wir empfehlen, daß Entwickler von WebRFC-Anwendungen diesen Funktionsbaustein verwenden, anstatt Templates aus der Datenbanktabelle WWWDATA abzurufen und die Platzhalter direkt im Coding zu ersetzen.

Hinweis

In zukünftigen R/3-Releases kann sich das Verfahren für die Ablage der Templates ändern.

Schnittstelle

WWW_HTML_MERGER hat folgende Parameter:

IMPORTING-Parameter

Funktion

TEMPLATE

Template-Kennung in WWWDATA

MERGE_TABLE

Tabelle, die mit dem Template abgemischt werden soll

MERGE_TEXTPOOL

Textpool

   

EXPORTING-Parameter

Funktion

HTML_TABLE

Der resultierende HTML-Quelltext

Funktionsbausteine, die WWW_HTML_MERGER aufrufen, müssen:

den Template-Namen übergeben

die Platzhalter und der generierte HTML-Quelltext an den Parameter MERGE_TABLE übergeben

eine Referenz an die Tabelle angeben, wo das resultierende HTML-Dokument abgelegt werden soll

WWW_HTML_MERGER ruft das Template aus der Datenbank ab. Für jede Zeile in MERGE_TABLE sucht der Funktionsbaustein vom Template-Anfang an nach den angegebenen Platzhaltern.

Wird der Platzhalter gefunden, fügt WWW_HTML_MERGER den im Feld html (tatsächlich eine Tabelle) stehende HTML-Quelltext in das Template ein.

Wird der Platzhalter nicht gefunden, überspringt WWW_HTML_MERGER die nächste Zeile in MERGE_TABLE.

Es ist möglich, mehrere Zeilen mit dem gleichen Platzhalternamen in MERGE_TABLE zu haben. Gleichzeitig kann der gleiche Platzhalter in einem Template mehrmals vorkommen.

Hinweis

MERGE_TABLE unterliegt folgenden Regeln:

Parameter MERGE_TABLE

MERGE_TABLE ist eine interne Tabelle mit folgender Struktur:

Feldname

Feldtyp

Bedeutung

Beispiel

name

char(30)

Platzhalterwert

<!platzhalter!>

command

char(1)

Legt fest, wie der Platzhalter ersetzt werden soll

Siehe Tabelle der Befehle unten

html

table

Tabelle mit HTML-Quelltext, der den Platzhalter ersetzt

‘Eingehende Aufträge’
‘für Kunden’

Hinweis

Bei dem Feld html handelt es sich um eine Tabelle mit einer Spalte des Typs char(255), die mehrere Zeilen des HTML-Quelltextes, der den Platzhalter ersetzt, enthalten kann.

Angenommen, Sie haben ein Template mit den folgenden Zeilen:

 

(vorherige Zeile)
Report:

Report: <!platzhalter!>

(folgende Zeile)
...

...

Sie haben weiterhin eine Zeile in MERGE_TABLE mit den in obiger Tabelle aufgeführten Werten.

Die Ausgabe im resultierende HTML-Dokument sehen Sie in der folgenden Tabelle:

Befehl

Bedeutung

Ausgabe im HTML-Dokument

space

Ersetzt Platzhalterzeile (Standard)

...
(vorherige Zeile)
Eingehende Aufträge
für Kunden
(folgende Zeile)
...

B

Einfügen vor der Platzhalterzeile

...
(vorherige Zeile)
Eingehende Aufträge
für Kunden Report: <!platzhalter!>
(folgende Zeile)
...

A

Nach der Platzhalterzeile einfügen

...

(vorherige Zeile)
Report: <!platzhalter!>
Eingehende Aufträge
für Kunden
(folgende Zeile)
...

R

Nur Platzhalter ersetzen

...

(vorherige Zeile)
Report: Eingehende Aufträge
(folgende Zeile)
...

Parameter MERGE_TEXTPOOL

Mit dem Parameter MERGE_TEXTPOOL können Sie Textelemente zum Einfügen in Templates übergeben.

In ABAP werden auf dem Bildschirmbild ausgegebene Texte als Textelemente in Textpools abgelegt, nicht in den Programmen selbst. Bei einer Textänderung müssen Sie daher nicht das Programm-Coding ändern, sondern nur die betroffenen Textelemente. Dadurch können Sie auch mehrsprachige Programme entwickeln, da die Übersetzung der Texte in einem separaten Prozeß erfolgen kann. Im Programm selbst geben Sie nur die Namen der Textelemente an (z.B. TEXT-xxx, wobei xxx für eine beliebige Kombination von Buchstaben und Zahlen steht).

Wenn Sie daher einen Programmnamen im Parameter MERGE_TEXTPOOL übergeben, führt WWW_HTML_MERGER folgende Aktionen aus:

Er sucht im Template einfach nur nach Vorkommen der Zeichenkette <!text-xxx!>.

Er ersetzt die Textelemente mit den Texten des Textpools, dessen Name im Parameter MERGE_TEXTPOOL angegeben wurde.

 

 

 

Ende des Inhaltsbereichs