CONVERT_TEXT 
Der Funktionsbaustein CONVERT_TEXT stellt folgende Format-Konvertierungsmöglichkeiten zur Verfügung:
ITF-Text in Tabelle in Tabelle FOREIGN
ITF-Text in Tabelle in Tabelle FOREIGN
RTF-Text in Tabelle in Tabelle ITF_LINES
ASCII-Text in Tabelle 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:
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.
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.
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.
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.
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
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'.
Syntax
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 = ?...
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 |
Defaultwert: 'ASC' |
NEWHADER |
Textheader des SAPscript-Ergebnistextes Struktur: THEAD |
FOREIGN |
Fremdtext-Tabelle Struktur: TLINE |
ITF_LINES |
SAPscript-ITF-Tabelle Struktur: TLINE |
LINKS_TO_CONVERT |
Nicht implementiert! |