
Dieses Oberflächenelement dient der Ausgabe von formatiertem Text mittels einer einfachen, an XML angelehnten Syntax. Sie können ein FormattedTextView verwenden, um schnell und einfach größere Textabschnitte zu formatieren, beispielsweise eine Einleitung oder Copyright-Informationen. Der Text kann z.B. Links, Bilder und geordnete Listen enthalten.
Das XML-Format des FormattedTextView unterstützt eine XHTML-Untermenge sowie einige SAP-spezifische Tags (sieheUnterstützte Tags). Die XHTML-Tags dürfen keine Attribute enthalten.
Für die Verwendung von FormattedTextView gibt es die Service-Klasse CL_WD_FORMATTED_TEXT. Eine Instanz dieser Klasse repräsentiert einen formatierten Text.
Um die Entwicklungbarrierefreier Anwendungen zu ermöglichen, wird im Rahmen des Syntaxchecks die Eigenschaft tooltip nicht überprüft.
Ein gesetzter Tooltip ist bei diesem Oberflächenelement nicht zwingend erforderlich, könnte aber - wenn er detaillierte semantische Informationen enthält - durchaus Sinn machen.
| Laufzeit-Klasse |
CL_WD_FORMATTED_TEXT_VIEW |
Eigenschaften im View Designer
| Name | Typ | Anfangswert | Bindbar |
|---|---|---|---|
|
STRING |
(automatisch) |
nein |
|
|
WDUI_CONTEXT_MENU_BEHAVIOUR |
inherit |
nein |
|
|
WDY_MD_UI_ELEMENT_REFERENCE |
nein |
||
|
Context-Knoten |
ja |
||
|
WDY_BOOLEAN |
true |
ja |
|
|
WDUI_INPUT_FIELD_ALIGNMENT |
auto |
ja |
|
| styleClassName | STRING | ja | |
|
Übersetzbarer Text |
ja |
||
|
WDUI_TEXT_DIRECTION |
inherit |
ja |
|
|
Übersetzbarer Text |
ja |
||
|
WDUI_VISIBILITY |
visible |
ja |
Aggregationen im View Designer
| Name | Kardinalität | Typ |
|---|---|---|
|
0..n |
Events im View Designer
| Name |
|---|
Weitere Eigenschaften, die über Vererbung zur Verfügung stehen, sind in den dazugehörigen übergeordneten Klassen definiert. Die dazugehörigen Oberflächenelemente sind:
Für die dynamische Programmierung stehen dieselben Eigenschaften, Ereignisse und Aggregationen zur Verfügung wie im View Designer. Beachten Sie dabei die unterschiedlichen Schreibweisen.
Dynamische Programmierung der Eigenschaften
| View Designer Name | Laufzeitname | Typ |
|---|---|---|
|
CONTEXT_MENU_BEHAVIOUR |
WDUI_CONTEXT_MENU_BEHAVIOUR |
|
|
contextMenuBehaviour: inherit |
CL_WD_FORMATTED_TEXT_VIEW=>E_CONTEXT_MENU_BEHAVIOUR-INHERIT |
|
|
contextMenuBehaviour: provide |
CL_WD_FORMATTED_TEXT_VIEW=>E_CONTEXT_MENU_BEHAVIOUR-PROVIDE |
|
|
contextMenuBehaviour: suppress |
CL_WD_FORMATTED_TEXT_VIEW=>E_CONTEXT_MENU_BEHAVIOUR-SUPPRESS |
|
|
CONTEXT_MENU_ID |
WDY_MD_UI_ELEMENT_REFERENCE |
|
|
DATA_SOURCE |
OBJECT |
|
|
ENABLED |
WDY_BOOLEAN |
|
|
H_ALIGN |
WDUI_INPUT_FIELD_ALIGNMENT |
|
|
hAlign: auto |
CL_WD_FORMATTED_TEXT_VIEW=>E_H_ALIGN-AUTO |
|
|
hAlign: beginOfLine |
CL_WD_FORMATTED_TEXT_VIEW=>E_H_ALIGN-BEGIN_OF_LINE |
|
|
hAlign: center |
CL_WD_FORMATTED_TEXT_VIEW=>E_H_ALIGN-CENTER |
|
|
hAlign: endOfLine |
CL_WD_FORMATTED_TEXT_VIEW=>E_H_ALIGN-END_OF_LINE |
|
|
hAlign: forcedLeft |
CL_WD_FORMATTED_TEXT_VIEW=>E_H_ALIGN-FORCED_LEFT |
|
|
hAlign: forcedRight |
CL_WD_FORMATTED_TEXT_VIEW=>E_H_ALIGN-FORCED_RIGHT |
|
| styleClassName | STYLE_CLASS_NAME | STRING |
|
TEXT |
WDY_MD_TRANSLATABLE_TEXT |
|
|
TEXT_DIRECTION |
WDUI_TEXT_DIRECTION |
|
|
textDirection: inherit |
CL_WD_FORMATTED_TEXT_VIEW=>E_TEXT_DIRECTION-INHERIT |
|
|
textDirection: ltr |
CL_WD_FORMATTED_TEXT_VIEW=>E_TEXT_DIRECTION-LTR |
|
|
textDirection: rtl |
CL_WD_FORMATTED_TEXT_VIEW=>E_TEXT_DIRECTION-RTL |
|
|
TOOLTIP |
WDY_MD_TRANSLATABLE_TEXT |
|
|
VISIBLE |
WDUI_VISIBILITY |
|
|
visible: none |
CL_WD_FORMATTED_TEXT_VIEW=>E_VISIBLE-NONE |
|
|
visible: visible |
CL_WD_FORMATTED_TEXT_VIEW=>E_VISIBLE-VISIBLE |
Dynamische Programmierung der Ereignisse
| View Designer Name | Laufzeitname |
|---|---|
|
ON_ACTION |
Dynamische Programmierung der Aggregationen
| View Designer Name | Laufzeitname | Kardinalität |
|---|---|---|
|
FIELDS |
0..n |
Sie können SAPscript-Texte in formatierte Texte konvertieren, indem Sie die statische Methode CL_WD_FORMATTED_TEXT=> CREATE_FROM_SAPSCRIPT aufrufen.
Beispiel
|
data
formatted_text cl_wd_formatted_text. formatted_text = cl_wd_formatted_text=> create_from_sapscript( sapscript_head = sapscript_head sapscript_lines = sapscript_lines ). wd_context->set_attribute( name = my_formatted_text_attr value = formatted_text->m_xml_text ). cl_wd_formatted_text=>write_sapscript_tokens( ). |
Beachten Sie, dass nicht alle SAPscript-Eigenschaften und Formate beim FormattedTextView gültig sind. Die folgende Liste ist eine Zusammenstellung darüber, wie SAPscript-Escape-Sequenzen in formatierten Text übersetzt werden.
| Typ | Subtyp | Ersetzung | Beschreibung |
|---|---|---|---|
|
PARAGRAPH_BEGIN |
U1 |
<h1> |
U1 Header |
|
PARAGRAPH_BEGIN |
U2 |
<h2> |
U2 Header |
|
PARAGRAPH_BEGIN |
U3 |
<h3> |
U3 Header |
|
PARAGRAPH_BEGIN |
U4 |
<h4> |
U4 Header |
|
PARAGRAPH_BEGIN |
U5 |
<h5> |
U5 Header |
|
PARAGRAPH_BEGIN |
UT |
<h6> |
UT Header |
|
PARAGRAPH_BEGIN |
AS |
<p> |
AS Default Paragraph |
|
PARAGRAPH_BEGIN |
* |
<p> |
* Default Paragraph |
|
PARAGRAPH_BEGIN |
PE |
<pre> |
PE Default Paragraph |
|
PARAGRAPH_BEGIN |
B1 |
<ul> |
B1 Bullet List Item |
|
PARAGRAPH_BEGIN |
B2 |
<ul> |
B2 Bullet List Item (2) |
|
PARAGRAPH_BEGIN |
BL |
<dd> |
BL Bullet / List Comment |
|
PARAGRAPH_BEGIN |
D1 |
<dl> |
D1 Definition list |
|
PARAGRAPH_BEGIN |
N1 |
<ol> |
N1 Numbered list item |
|
PARAGRAPH_BEGIN |
N2 |
<ol> |
N2 Numbered list item (2) |
|
CTAG_BEGIN |
AB |
<code> |
AB ABAP language |
|
CTAG_BEGIN |
DS |
<acronym> |
DS DSYS reference |
|
CTAG_BEGIN |
EX |
<samp> |
EX ABAP example |
|
CTAG_BEGIN |
GL |
<dfn> |
GL glossary reference |
|
CTAG_BEGIN |
LB |
<kbd> |
LB User input |
|
CTAG_BEGIN |
LS |
<var> |
LS screen element |
|
CTAG_BEGIN |
NP |
<code> |
NP fixed width font |
|
CTAG_BEGIN |
PF |
<strong><kbd> |
PF function key |
|
CTAG_BEGIN |
SE |
<em> |
SE SAP expression |
|
CTAG_BEGIN |
ZG |
ZG protected |
|
|
CTAG_BEGIN |
ZH |
<strong> |
ZH emphasized |
|
CTAG_BEGIN |
ZK |
<em> |
ZK italic |
|
CTAG_BEGIN |
ZU |
<em> |
ZU underlined (not supported!) |
|
CTAG_BEGIN |
ZV |
ZV hidden |
|
|
COMMENT |
Comment |
||
|
ELEMENT_BEGIN |
Element |
||
|
LINE_BEGIN |
Line |
||
|
STRING |
String |
||
|
OPTION |
Option -> Not supported (just printed) |
||
|
SAP_CHAR |
SAPChar -> Not supported (just printed) |
||
|
TEMPLATE_STRING |
Template String -> Not supported (just printed) |
||
|
TAB |
|
Tab (rendered as 4 spaces) |
|
|
SYMBOL_BEGIN |
& |
Symbol Begin & End |
|
|
SYMBOL_BEGIN |
Symbol |
||
|
CTAG_BEGIN |
Comment |
||
|
PARAGRAPH_BEGIN |
<p> |
Generic paragraph |
|
|
LTAG_BEGIN |
Link (<a>) |
||
|
URL_BEGIN |
URL (<a>) |
||
|
PREFIX_BEGIN |
Prefix -> Not supported (just printed) |
||
|
SUFFIX_BEGIN |
Suffix -> Not supported (just printed) |
||
|
COMMAND_BEGIN |
Command -> Not supported (ignored) |
||
|
TEXT_END |
Text end -> Not supported (ignored) |
||
|
COMMAND |
Command -> Not supported (just printed) |
||
|
PARAGRAPH_BEGIN |
U1 |
<h1> |
U1 Header |
Sie können die Methode VALIDATE für ein formatiertes Text-Objekt aufrufen, um seine Gültigkeit zu überprüfen. Im Fehlerfall wird die Ausnahme CX_WD_GENERAL ausgelöst. Der Fehlertext ist im Attribut MSG der Ausnahme enthalten.
Beispiel
. formatted_text->validate( ). cx_wd_general ex. … ex->msg … endtry. |
Es gibt eine Schnittstelle für die dynamische Erstellung von formatierten Texten.
FORMATTED_TEXT-Parameter benötigen ein Objekt vom Typ CL_WD_FORMATTED_TEXT.
TEXT-Parameter setzen voraus, dass der Text mit Umschaltzeichen für Code-Wechsel versehen ist ("escaped text").
XML_TEXT-Parameter benötigen eine gültig formatierten Text (mit Markups etc.).
Beispiel
f1 cl_wd_formatted_text. f2 cl_wd_formatted_text. f3 cl_wd_formatted_text. f cl_wd_formatted_text. f1 = cl_wd_formatted_text=>make_text( inner_text = tag = cl_wd_formatted_text=>e_tag-em ). f2 = cl_wd_formatted_text=>make_sap_field( name = ). f2 = cl_wd_formatted_text=>make_text( inner_formatted_text = f2 tag = cl_wd_formatted_text=>e_tag- ). f3 = cl_wd_formatted_text=>make_sap_field( name = ). f = cl_wd_formatted_text=>make_text( inner_text = ). f->replace_placeholder( name = formatted_text = f1 ). f->replace_placeholder( name = formatted_text = f2 ). f->replace_placeholder( name = formatted_text = f3 ). wd_context->set_attribute( name = = f->m_xml_text ). |
Ergebnis
|
Places <em>available</em> for flight <code><sap:field name="CONNID"/></code> of line <sap:field name="CARRID"/> |
Beachten Sie, dass in produktiven Applikationen die Texte "available" und "Places..." aus einer übersetzbaren Quelle stammen müssen. Diese Texte sind im vorliegenden Beispiel nur aus Gründen der besseren Lesbarkeit hart kodiert.
Verwenden Sie die Methode REPLACE_PLACEHOLDER, um Platzhalter in formatierten Texten mit einem Text oder einem formatierten Text zu ersetzen. Diese Methode hilft bei der Einbettung von formatiertem Text in "normalen" Text. Hier besteht außerdem keine Gefahr, das XML durch die Übersetzung zu verfälschen.
Beispiele für dieses Oberflächenelement finden Sie im System in der Web-Dynpro-Applikation demo_uiel_formatted_text_edit. Dort können Sie über einen Button zwischen dem FormattedTextView und dem FormattedTextEdit umschalten.