Show TOC

FunktionsdokumentationCONVERT_TEXT Dieses Dokument in der Navigationsstruktur finden

 

Der Funktionsbaustein CONVERT_TEXT stellt folgende Format-Konvertierungsmöglichkeiten zur Verfügung:

  • ITF-Text in Tabelle   ITF_LINES   RTF-Text   in Tabelle FOREIGN

  • ITF-Text in Tabelle   ITF_LINES   ASCII-Text   in Tabelle FOREIGN

  • RTF-Text in Tabelle   FOREIGN   ITF-Text   in Tabelle ITF_LINES

  • ASCII-Text in Tabelle   FOREIGN   ITF-Text   in Tabelle ITF_LINES

Für Umsetzungen innerhalb des SAPscript-Formats ITF steht der Funktionsbaustein EXCHANGE_ITF zur Verfügung.

Im einzelnen müssen folgende Angaben gemacht werden:

DIRECTION = 'EXPORT' FORMAT_TYPE = 'RTF'

Da der Ergebnistabelle Informationen über Autor, Erstellungsdatum etc. vorangestellt werden, sollte der Parameter HEADER gefüllt sein. Unbedingt erforderlich aber ist die Angabe von Stil und Formular des Textes (HEADER-TDSTYLE und HEADER-TDFORM).

In FORMATWIDTH kann die Zeilenbreite des Ergebnistextes gewählt werden.

Bei CODEPAGE müssen die Zeichensatznummern aus der Spooladministration angegeben werden. Bei der RTF-Konvertierung können die Zeichensätze 1103, 1110 oder 1133 gewählt werden. Alle anderen Zuweisungen werden ignoriert; stattdessen wird der Zeichensatz 1133 verwendet. Soll der erzeugte RTF-Text von WinWord gelesen werden, ist der Zeichensatz 1133 zu empfehlen.

Der Parameter TABLETYPE beschreibt den Typ der Tabelle FOREIGN. Soll diese Tabelle komprimiert werden, d.h. einen dateiartigen Aufbau mit Nutzung der vollen Breite von 134 Zeichen und Trennung der einzelnen logischen Zeilen durch Carriage Return und Linefeed erhalten, muß TABLETYPE = 'BIN' gewählt werden. Wählt man TABLETYPE = 'ASC', so erhält man eine normale Zeilentabelle.

WORD_LANGU ist unwirksam, SSHEET und WITH_TAB werden im Anschluß erklärt.

DIRECTION = 'EXPORT' FORMAT_TYPE = 'ASCII'

Alle ITF-Informationen gehen bei dieser Konvertierung verloren; einzige Formatierungen sind im Prinzip Newline und Tabulator. Eine gewisse Seitenformatierung kann durch entsprechende Wahl der Zeilenbreite FORMATWIDTH erreicht werden. Der ITF-Text kann in einen ASCII-Text mit beliebigem Zeichensatz CODEPAGE (Nummer aus der Spooladministration) konvertiert werden.

Der Parameter TABLETYPE beschreibt den Typ der Tabelle FOREIGN. Soll diese Tabelle komprimiert werden, d.h. einen dateiartigen Aufbau mit Nutzung der vollen Breite von 134 Zeichen und Trennung der einzelnen logischen Zeilen durch Carriage Return und Linefeed erhalten, muß TABLETYPE = 'BIN' gewählt werden. Wählt man TABLETYPE = 'ASC', so erhält man eine normale Zeilentabelle.

Zusammenfassend ist also lediglich bei den Importparametern CODEPAGE, FORMATWIDTH und TABLETYPE eine Angabe sinnvoll und wirksam; notwendig sind DIRECTION und FORMAT_TYPE.

DIRECTION = 'IMPORT' FORMAT_TYPE = 'RTF'

Unter WORD_LANGU sollte die Sprache der verwendeten MS Word-Fassung angegeben werden, damit sprachabhängige Elemente im RTF-Text interpretiert werden können. Als Defaultwert wird die SAP-Systemsprache gesetzt.

Der Parameter TABLETYPE beschreibt den Typ der Tabelle FOREIGN. Wurde diese Tabelle z.B. durch Hochladen einer lokalen Datei im Binärformat gewonnen, sind also alle Zeilen mit Ausnahme der letzten bis zum Ende gefüllt und sind eventuell Carriage Returns oder Linefeeds enthalten, muß TABLETYPE = 'BIN' gewählt werden. Ist die Tabelle eine normale Zeilentabelle, so ist TABLETYPE = 'ASC' zu setzen.

Die Parameter FORMATWIDTH und CODEPAGE sind unwirksam, SSHEET und WITH_TAB werden im Anschluß erklärt.

HEADER ist nur im Zusammenhang mit einer Druckformatumsetzung ( WITH_TAB = 'X') interessant. In diesem Fall wird der Parameter NEWHEADER mit neuen,aktuellen Werten gefüllt.

DIRECTION = 'IMPORT' FORMAT_TYPE = 'ASCII'

Die Tabelle mit dem ASCII-Text wird zeilenweise umgewandelt. Die einzelnen ITF-Zeilen werden durch Newline im ITF-Zieltext voneinander abgesetzt. Der ASCII-Tabulator wird auf den ITF-Tabulator (',,') abgebildet.

Unter CODEPAGE muß der Zeichensatz des Quelltextes (i.e. seine Nummer in der Spooladministration) angegeben werden; die Zeichen werden dann in den System-Zeichensatz umgewandelt. Ist für CODEPAGE kein Wert vorhanden, findet keine Zeichensatzkonvertierung statt.

Der Parameter TABLETYPE beschreibt den Typ der Tabelle FOREIGN. Wurde diese Tabelle z.B. durch Hochladen einer lokalen Datei im Binärformat gewonnen, sind also alle Zeilen mit Ausnahme der letzten bis zum Ende gefüllt und sind eventuell Carriage Returns oder Linefeeds enthalten, muß TABLETYPE = 'BIN' gewählt werden. Ist die Tabelle eine normale Zeilentabelle, so ist TABLETYPE = 'ASC' zu setzen.

Die Parameter FORMATWIDTH, SSHEET, WITH, TAB, WORD_LANGU und HEADER werden nicht ausgewertet.

Formatumsetzung

Wird der Parameter WITH_TAB = 'X' gesetzt, dann wird in den Fällen FORMAT_TYPE = 'ITF' und FORMAT_TYPE = 'RTF' eine Formatumsetzung angestoßen. In der Transaktion SE74 (Formatumsetzung) muß vorher angegeben werden, welche Absatz- und Zeichenmarkierungen bzw. Word-Formatvorlagen auf andere Absatz- und Zeichenmarkierungen bzw. Formatvorlagen abgebildet werden.

Umgesetzt wird:

im Fall ITF RTF:

HEADER-TDSTYLE oder HEADER-TDFORM in: SSHEET

im Fall RTF ? ITF:

SSHEET in: HEADER-TDSTYLE oder HEADER_TDFORM

im Fall ITF ? ITF (in beiden Richtungen)

In diesem Fall muß im Parameter SSHEET ein 'S' für Stil oder ein 'F' für Formular als Präfix angegeben werden.

Beispiel Beispiel

Einem ITF-Text sind der Stil 'STIL1' und das Formular 'FORM1' zugewiesen. Er soll nun nur noch durch das Formular 'FORM2' formatiert werden. Hier ist also:

HEADER-TDSTYLE = 'STIL1', HEADER-TDFORM = 'FORM1' und SSHEET = 'FFORM2'.

Ende des Beispiels.
Funktionsaufruf:

Syntax Syntax

  1. CALL FUNCTION 'CONVERT_TEXT'
    	EXPORTING CODEPAGE	= SPACE
    		DIRECTION	= 'EXPORT'
    		FORMATWIDTH	= 72
    		FORMAT_TYPE	= 'RTF'
    		HEADER		= SPACE
    		SSHEET		= SPACE
    		WITH_TAB	= SPACE
    		WORD_LANGU	= SY-LANGU
    		TABLETYPE	= 'ASC'
    	IMPORTING NEWHEADER	=
    	TABLES FOREIGN		= ?... 
    		ITF_LINES	= ?...
Ende des Quelltextes.
Export-Parameter:

CODEPAGE

Zeichensatznummern aus der Spooladministration. Ist DIRECTION = 'EXPORT', gibt CODEPAGE den Zielzeichensatz an, bei DIRECTION = 'IMPORT' den Quellzeichensatz.

Bezugsfeld: TCP02-CPCODEPAGE

Defaultwert: SPACE

DIRECTION

'IMPORT' oder 'EXPORT'

FORMATWIDTH

Defaultwert: 72

FORMAT_TYPE

Dieser Parameter kann die Werte folgender Textformate annehmen:

RTF: (RichTextFormat)

ASCII

Defaultwert: 'RTF'

HEADER

Textheader des Ausgangstextes

Der Textheader enthält beschreibende Informationen zu einem Textbaustein wie z.B. Kurztext, Ersteller, letzter Änderer usw.

Struktur: THEAD

Defaultwert: SPACE

SSHEET

Name einer Druckformatvorlage (*.dfv) bzw. Dokumentvorlage (*.dot).

Soll eine Formatumsetzung wirksam werden, muß hier der symbolische Name angegeben werden, für den in der Transaktion "Formatumsetzung" (SE74) eine Umsetzung mit dem relevanten SAPscript-Stil oder -Formular gepflegt wurde.

Zusätzlich muß der Parameter WITH_TAB auf 'X' gesetzt werden.

Defaultwert: SPACE

WITH_TAB

Wird WITH_TAB = 'X' gesetzt und zusätzlich der Parameter SSHEET versorgt, dann erfolgt eine Umsetzung von Absatz- und Zeichenformatierungen. Quell- und Zielformat können ein SAPscript-Stil, ein SAPscript-Formular oder eine MS Word-Dokumentvorlage sein. Mithilfe der Transaktion SE74 (Formatumsetzung), muß die Abbildung der jeweiligen Absatz- und Zeichenmarkierungen und/oder Word-Formatvorlagen aufeinander angegeben werden.

Defaultwert: SPACE

WORD_LANGU

Nur für RTF-Konvertierung: Sprache der Textverarbeitung, die die RTF-Datei erzeugt hat

Defaultwert: SY-LANGU

TABLETYPE

  • DIRECTION = 'IMPORT'

    Der Parameter TABLETYPE beschreibt in diesem Fall den Typ der Tabelle FOREIGN. Wurde diese Tabelle z.B. durch Hochladen einer lokalen Datei im Binärformat gewonnen, sind also alle Zeilen mit Ausnahme der letzten bis zum Ende gefüllt und sind eventuell Carriage Returns oder Linefeeds enthalten, muß TABLETYPE = 'BIN' gewählt werden. Ist die Tabelle eine normale Zeilentabelle, so ist TABLETYPE = 'ASC' zu setzen.

  • DIRECTION = 'EXPORT'

    Der Parameter TABLETYPE beschreibt wieder den Typ der Tabelle FOREIGN. Will man eine dateiartige Struktur mit voller Ausnutzung der Zeilenbreite in FOREIGN und Trennung der logischen Zeilen (Zeilenbreite FORMATWIDTH) durch Carriage Return und Linefeed erzeugen, muß TABLETYPE = 'BIN' gewählt werden. Eine normale ABAP-Zeilentabelle erhält man mit TABLETYPE = 'ASC'.

Defaultwert: 'ASC'

Import-Parameter:

NEWHADER

Textheader des SAPscript-Ergebnistextes

Struktur: THEAD

Tabellen-Parameter:

FOREIGN

Fremdtext-Tabelle

Struktur: TLINE

ITF_LINES

SAPscript-ITF-Tabelle

Struktur: TLINE

LINKS_TO_CONVERT

Nicht implementiert!