Show TOC

FormattedTextViewLocate this document in the navigation structure

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.

Hinweis

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

id

STRING

(automatisch)

nein

contextMenuBehaviour

WDUI_CONTEXT_MENU_BEHAVIOUR

inherit

nein

contextMenuId

WDY_MD_UI_ELEMENT_REFERENCE

 

nein

dataSource

Context-Knoten

 

ja

enabled

WDY_BOOLEAN

true

ja

hAlign

WDUI_INPUT_FIELD_ALIGNMENT

auto

ja

styleClassName STRING   ja

text

Übersetzbarer Text

 

ja

textDirection

WDUI_TEXT_DIRECTION

inherit

ja

tooltip

Übersetzbarer Text

 

ja

visible

WDUI_VISIBILITY

visible

ja

Aggregationen im View Designer

Name Kardinalität Typ

Feld

0..n

AbstractFormattedTextField

Events im View Designer

Name

onAction

Hinweis

Weitere Eigenschaften, die über Vererbung zur Verfügung stehen, sind in den dazugehörigen übergeordneten Klassen definiert. Die dazugehörigen Oberflächenelemente sind:

Dynamische Programmierung

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

contextMenuBehaviour

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

contextMenuId

CONTEXT_MENU_ID

WDY_MD_UI_ELEMENT_REFERENCE

dataSource

DATA_SOURCE

OBJECT

enabled

ENABLED

WDY_BOOLEAN

hAlign

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

TEXT

WDY_MD_TRANSLATABLE_TEXT

textDirection

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

TOOLTIP

WDY_MD_TRANSLATABLE_TEXT

visible

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

onAction

ON_ACTION

Dynamische Programmierung der Aggregationen

View Designer Name Laufzeitname Kardinalität

Feld

FIELDS

0..n

Konvertierung von SAPscript-Texten in formatierte Texte

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
typerefto " convert from context " set it into the context
  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

 

&nbsp;&nbsp;&nbsp;

Tab (rendered as 4 spaces)

SYMBOL_BEGIN

 

&amp;

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

Validierung von formatiertem Text

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 …
trycatchinto

endtry.

Dynamische Erzeugung von formatiertem Text

Es gibt eine Schnittstelle für die dynamische Erstellung von formatierten Texten.

Hinweis

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 ).
datatypereftodatatypereftodatatypereftodatatyperefto'available'"#EC NOTEXT'CONNID'code'CARRID''Places &STATE& for flight &CONNID& of line &CARRID&'"#EC NOTEXT'STATE''CONNID''CARRID''TEXT'value

Ergebnis

Places <em>available</em> for flight <code><sap:field name="CONNID"/></code> of line <sap:field name="CARRID"/>

Hinweis

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.

Beispiel

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.