Anfang des InhaltsbereichsTextsymbole Dokument im Navigationsbaum lokalisieren

Textsymbole sind benannte Datenobjekte, die beim Programmstart aus Texten im Textpool des ABAP-Programms generiert werden. Der Datentyp ist immer der eingebaute ABAP-Typ C und die Feldlänge richtet sich nach der Länge des Texts im Textpool.

Textsymbole sind neben Programmtitel, Listenüberschriften und Selektionstexten Teil der Textelemente eines ABAP-Programms. Textelemente ermöglichen das Anlegen und Pflegen von mehrsprachigen Programmen. Alle Texte, die das Programm z.B. an Bildschirmbilder sendet können als Textelemente in Textpools abgelegt werden. Für verschiedene Sprachen können jeweils eigene Textpools angelegt werden. Um Texte zu ändern oder zu übersetzen, muß dann nicht der Programmtext geändert werden, sondern die entsprechenden Textelemente. Die Textelemente eines ABAP-Programms werden im ABAP Editor der ABAP Workbench verwaltet (siehe Strukturlink Textelementpflege).

Textsymbole haben im Textpool eine dreistellige Kennung, einen Text als Inhalt, eine belegte Länge und eine maximale Länge.

Beispiel

Beispiel für Textsymbole eines ABAP-Programms

Kennung

Inhalt

Belegte Länge

Maximale Länge

010

Text Symbol 010

15

132

030

Text Symbol 030

15

100

AAA

Text Symbol AAA

15

15

Im Programm werden Textsymbole mit folgenden Namen angesprochen:

TEXT-<idt>

Dieses Datenobjekt enthält den Text des Textsymbols der Kennung <idt> für die jeweilige Anmeldesprache und hat eine Feldlänge, die der maximalen Länge des Textsymbols entspricht. Die unbelegten Stellen sind mit Leerzeichen aufgefüllt. Textsymbole können an allen Stellen angesprochen werden, an der auch eine Variable stehen kann.

Falls das Textsymbol <idt> für die Anmeldesprache nicht im Textpool vorhanden ist, spricht der Name TEXT-<idt> das vordefinierte Datenobjekt SPACE an.

Man kann Textsymbole auch mit folgender Syntax ansprechen:

... '<textliteral>'(<idt>) ...

Ist das Textsymbol <idt> für die Anmeldesprache im Textpool vorhanden, ist diese Benennung gleichwertig zu TEXT-<idt>. Ansonsten wird das Literal '<textliteral>' als Inhalt des Textsymbols verwendet. Auch diese Ansprache ist nur möglich, wenn an der Stelle auch eine Variable stehen könnte. Durch Vorwärtsnavigation (Doppelklick auf Textliterale) kann im ABAP-Editor zu jedem Textliteral ein Textsymbol angelegt werden und das Textliteral durch die Ansprache des Textsymbols ersetzt werden.

Textsymbole sollten überall dort in Programmen verwendet werden, wo Texte in Abhängigkeit von der Anmeldesprache benötigt werden, wie zum Beispiel bei der Ausgabe auf Listen mit der WRITE-Anweisung.

Vorsicht ist geboten, wenn Programmlogik in Abhängigkeit von Feldlängen erstellt wird, z.B. bei der Listenaufbereitung. Die Feldlänge von Textsymbolen kann in unterschiedlichen Anmeldesprachen verschieden sein. Die maximale Feldlänge des Feldsymbols sollte dann schon in der Originalsprache so vorgewählt werden, daß genügend Platz für die Übersetzung in andere Sprachen zur Verfügung steht. Beispielsweise benötigt das deutsche Wort 'Feld' schon fünf Stellen für das englische 'Field'.

Beispiel

Das Beispiel zeigt die Verwendung von Textsymbolen in WRITE-Anweisungen:

SET BLANK LINES ON.

WRITE:   text-010,
       / text-aaa,
       / text-020,
       / 'Default Text 030'(030),
       / 'Default Text 040'(040).

Falls die Textsymbole der obigen Tabelle zu diesem Programm gehören sieht die Ausgabe so aus:

Diese Grafik wird im zugehörigen Text erklärt

Es gibt keine Textsymbole der Kennungen 020 und 040. Im Falle des Textsymbols 020 gibt die WRITE-Anweisung ein Leerzeichen auf die Liste aus. Dieses wird hier nur angezeigt, da die Unterdrückung von Leerzeilen aufgehoben wurde (siehe Leerzeilen erzeugen). Im Fall von Textsymbol 040 wird das im Programmtext angegebene Literal ausgegeben.

 

 

Ende des Inhaltsbereichs