REFER_TEXT 
SAPscript-Texte können als Verweis auf die Textzeilen eines anderen Textbausteins angelegt werden. In diesem Fall werden keine Textzeilen abgespeichert, sondern nur ein Verweis auf den referierten Textbaustein. Damit wirken Änderungen des referierten Textbaustein auch im rufenden Text. Diese Verweiskette kann auch über mehrere Stufen reichen.
Der im Header spezifizierte Textbaustein soll auf einen anderen Textbaustein verweisen. Dieser wird über die Parameter REF_OBJECT, REF_NAME und REF_ID spezifiziert. Die Sprache des referierten Textes ist immer identisch mit der des referierenden Textes.
Im Normalfall existiert der referierte Text bereits auf der Datenbank. Die Textzeilen des referierten Texts können dann mittels Parameter READ_LINES in der LINES-Tabelle zurückgegeben werden. Falls der Text im Textmemory existiert, d.h. noch nicht verbucht wurde, kann der Referenztext zwar eingerichtet werden, die Textzeilen des referierten Texts können jedoch nicht mittels READ_LINES eingelesen werden.
Achtung
REFER_TEXT führt kein SAVE_TEXT durch. Um den Referenztext dauerhaft zu speichern, muß nach REFER_TEXT ein Aufruf von SAVE_TEXT erfolgen.
Behandlung im Editor:
Die evtl. in die Tabelle LINES gestellten Zeilen des referierten Textbausteins können mit dem Fullscreen-Editor nicht bearbeitet werden; sie werden nur angezeigt. Ist eine Änderung erwünscht, so muß der Text im Texteditor entsperrt werden. In diesem Fall geht der Bezug zu dem ursprünglich referierten Textbaustein verloren.
Die Referenz kann vom Benutzer im Editor über die Menüpunkte die Verbindung zu dem referierten Text auflösen. Die Textzeilen können dann verändert werden. Es besteht jetzt keine Verbindung mehr zu dem ursprünglich referierten Text.
Wollen Sie die Referenz per Programm aufheben, so löschen Sie einfach im Textheader die Felder TDREFOBJ, TDREFNAME und TDREFID.
Syntax
CALL FUNCTION 'REFER_TEXT' EXPORTING HEADER = ?... REF_OBJECT = ?... REF_NAME = ?... REF_ID = ?... CHECK_REFERENCE = 'X' READ_LINES = 'X' IMPORTING NEWHEADER = TABLES LINES = ?... EXCEPTIONS NOT_FOUND = REFERENCE_CHECK =
HEADER |
Geben Sie den Textheader des Textes an, für den die Referenz auf einen anderen Text aufgebaut werden soll. Struktur: THEAD |
REF_OBJECT |
Der Parameter enthält das Textobjekt des referierten Textes. Bezugsfeld: THEAD-TDOBJECT |
REF_NAME |
Hier spezifizieren Sie den Namen des zu referierenden Textes. Bezugsfeld: THEAD-TDNAME |
REF_ID |
REF_ID enthält die Id des zu referierenden Textes. Bezugsfeld: THEAD-TDID |
CHECK_REFERENCE |
Der Parameter legt fest, ob das Vorhandensein des referierten Textbausteins geprüft werden soll. Mögliche Werte:
Die Prüfung wird generell durchgeführt, wenn die Zeilen des zu referierenden Textes gelesen werden sollen. Defaultwert: 'X' |
READ_LINES |
Steuert, ob die Zeilen des zu referierenden Textes in der Tabelle LINES zurückgegeben werden sollen. Mögliche Werte:
Defaultwert: 'X' |
NEWHEADER |
Das Feld enthält den veränderten Header. Die Information, ob es sich um eine Textreferenz handelt, wird im Textheader gespeichert. Deshalb müssen Sie hier eine entsprechende Feldleiste angeben, ansonsten ist der Aufruf des Funktionsbausteins REFER_TEXT wirkungslos. Die Feldleiste wird i.A. identisch sein mit derjenigen, die Sie beim Parameter HEADER verwendet haben. Struktur:THEAD |
LINES |
Die Tabelle enthält die Textzeilen des referierten Textes, falls der Parameter READ_LINES den Wert 'X' besitzt. Struktur: TLINE |
NOT_FOUND |
Der angegebene Textbaustein wurde nicht gefunden |
REFERENCE_CHECK |
Der zu lesende Textbaustein hat selbst keine eigenen Textzeilen, sondern verweist auf die Zeilen eines anderen Textbausteins. Diese Verweiskette kann über mehrere Stufen gehen. Bei dem vorliegenden Text ist die Verweiskette unterbrochen, d.h. ein ursprünglich in dieser Kette liegender Textbaustein ist nicht mehr vorhanden. |