SAPscript-Headertabelle STXH
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Siehe Kategorie: Übersetzung.
Oftmals will man als Entwickler nur feststellen, ob ein SAPscript-Textbaustein vorhanden ist oder nicht. Hier reicht es die Tabelle STXH abzufragen.
Siehe: Tabellenbeziehungen SAPscript-Textbausteine.
Grundlagen
- SAP speichert Standardtexte (Transaktion SO10) in den Tabellen STXH, STXL und STXB ab. Die Kopftabelle STXH ist bei einem SO10-Textbaustein immer gefüllt. Die Tabelle STXL speichert Textzeilen im ITF-Format. STXL ist eine nicht-transparente Tabelle, auf die mit IMPORT FROM DATABASE / EXPORT TO DATABASE zugegriffen wird. Die Textzeilen werden in komprimierter Form abgelegt.
- Ist im Feld TDTEXTTYPE des Textheaders ein Textformat angegeben, so handelt es sich um einen Textbaustein in einem Fremdformat. Die Zeilen solcher Texte werden in der Tabelle STXB abgelegt. Diese Tabelle ist so definiert, daß auch nicht darstellbare Zeichen (HEX-Codes < SPACE) hier abgelegt werden können. STXB ist ebenfalls eine nicht-transparente Tabelle, auf die mit IMPORT FROM DATABASE / EXPORT TO DATABASE zugegriffen wird. Die Textzeilen werden komprimiert gespeichert.
- Um das Vorhandensein eines Textbausteins zu prüfen, ist es performanter die Tabelle STXH zu lesen als den Text mit dem Funktionsbaustein READ_TEXT zu lesen. Interessant ist hier auch das Feld STXH-TDTXTLINES, weil in diesem Feld die Anzahl der Textzeilen des Textbausteins abgelegt sind. So kann man feststellen, dass nicht nur der Textbaustein vorhanden ist, sondern dass auch Text darin gespeichert ist.
Tabelle STXH
Coding
Data: lv_text_exist type xfeld, lv_tdname type stxh-tdname. "füllen lv_tdname Select single TDTXTLINES "Anzahl Textzeilen in Textbaustein into lv_TDTXTLINES from stxh "Kopftabelle SAPscript-Textbausteine where TDOBJECT = 'TEXT' and TDNAME = lv_tdname and TDID = 'ST' and TDSPRAS = 'D'. if sy-subrc = 0 and lv_TDTXTLINES > 0. "Textbaustein hat Textzeilen lv_text_exist = 'X'. "Textbaustein existiert und enthält Zeichen endif.