Problem
Auf einem Adobe Formular soll ein Langtext (z.B. Langtext zu einem Vorgang eines Auftrags) gedruckt werden. Dieser Langtext enthält selbst INCLUDE Textbausteine.
Wird der Test wie auf der Seite "Langtexte drucken" beschrieben ausgegeben, werden die INCLUDE Bausteine nicht rekursiv aufgelöst und somit nicht gedruckt.
Lösung
Das Problem lässt sich lösen, wenn der Textknoten von INCLUDE Text auf dynamischer Text umgestellt wird.
Voraussetzungen
Der gesamte Text muss an das Formular als Tabelle vom Typ TLINE (TLINE_T) übergeben werden. Dazu zunächst im Programm den Text mit dem Funktionsbaustein READ_TEXT auslesen und anschließend die Includes mit dem Baustein TEXT_INCLUDE_REPLACE auflösen
CALL FUNCTION 'READ_TEXT' EXPORTING id = 'AVOT' language = gv_spras name = ls_ltxa1-tdname object = 'AUFK' TABLES lines = lt_ltxa1 EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. CALL FUNCTION 'TEXT_INCLUDE_REPLACE' EXPORTING header = ls_ltxa1 TABLES lines = lt_ltxa1.
Die Tabelle LT_LTXA1 wird nun an das Formular übergeben.
Formular
Im Formular wird nun ein neuer Textknoten (TEXT_TABLE) wie folgt erstellt.
Abschließend wird die Datenbindung des Textfeldes im Formular auf den neuen Textknoten angepasst.