Ansicht
Dokumentation
TEXT_INTERFACE - Korrespondenz: Dokument erzeugen
CPI1466 during Backup SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3upDiese Dokumentation steht unter dem Copyright der SAP AG.
Die Korrespondenzschnittstelle ermöglicht die Erstellung eines individuell konfigurierbaren Anschreibens aus einer Transaktion oder einem Report heraus. Die vom Anwendungsprogramm zur Verfügung gestellten Daten werden parametergesteuert mit SAPSCRIPT-Textbausteinen abgemischt und zu einem Text zusammengefügt.
Die Nutzung der Schnittstelle setzt die Erledigung folgender Aufgaben voraus:
- Einbindung des Funktionsbausteins TEXT_INTERFACE
- Pflege der Tabelle TTXBF: Anlage eines Datensatzes pro Formbrief
- Pflege der Tabelle TTXBS: Anlage eines Datensatzes pro auszugebendem Textbaustein
- Editierung der Textbausteine
- Erstellung eines neuen oder Modifikation eines vorhandenen Reports , der die Ausgabe der Textbausteine steuert
- Erstellung neuer oder Modifikation vorhandener Unter-Reports zur speziellen Ausgabe einzelner Textbausteine
- Anlage eines Ausgabeformulars
Prototypen von Haupt- und Unterreports sowie von Ausgabeformularen befinden sich im System. Auf sie kann in all den Fällen zugegriffen werden, die keine Abweichung vom bisherigen Standard erfordern.
wird folgendermaßen in die aufrufende Transaktion / den aufrufenden Report eingebunden:
- Bestückung der Feldleiste ITCPO (Druckoptionen), falls vom Standard abweichend.
,,ITCPO-TDDATASET = 'TEST'.
,,ITCPO-TDNEWID = 'X'.
,,ITCPO-TDPREVIEW = 'X'.
- Export aller Datenstrukuren und Tabellen, die mit Textbausteinen abgemischt werden sollen, in das globale Memory.
,,,,EXPORT IBEPP TO MEMORY ID 'BEPP'.
,,,,EXPORT IVDSCRIPT TO MEMORY ID 'SCRI'.
- Aufruf des Funktionsbausteins TEXT_INTERFACE.
,,CALL FUNCTION 'TEXT_INTERFACE'
,,,,EXPORTING
,,,,,,PARTNR = SPAB1-PARTNR
,,,,,,ADRTYP = SPAB1-ADRTYP
,,,,,,RANTYP = '1'
,,,,,,BRFNM = TTXBF-BRFNM
,,,,,,DRUPARM = ITCPO
,,,,,,SUBANWDG = TTXBF-SUBANWDG
,,,,,,DIALOG = 'X'
,,,,IMPORTING
,,,,,,ERGEBNIS = ITCPP
,,,,EXCEPTIONS
,,,,,,ADRESS = 01
,,,,,,CANCELED = 02
,,,,,,FORM = 04
- RANTYP
- Vertragsart der aufrufenden Anwendung. Der Parameter dient als erstes Schlüsselsegment für die Auswahl von Formbriefen aus der Tabelle TTXBF. Immobilien) zugeordnet . Die Angabe ist obligatorisch.
- SUBANWDG
- Subanwendung. Der Parameter dient als zweites Schlüsselsegment für die Auswahl von Formbriefen aus der Tabelle TTXBF. Die Subanwendung faßt alle diejenigen Briefe zusammen, die aus demselben Datenpool versorgt werden. Daher ist auch die Angabe der Subanwendung sinnvoll, wenn nicht sogar zwingend. Bei Fehlen dieses Parameter käme nämlich ein Auswahlbildschirm hoch, der es gestattet, einen Brief aus der Menge aller Briefe einer Vertragsart auszuwählen, so daß sich aus einer Transaktion heraus völlig sachfremde Briefe ausgeben ließen.
- BRFNM
- Name des zu erstellenden Formbriefes. Falls dieser Parameter nicht bestückt wird, erhält der Anwender einen Auswahlbildschirm mit allen Briefnamen aus der Datei TTXBF, die der angegebenen Vertragsart und Subanwendung entsprechen. Dieser Auswahlbildschirm wird vom Funkionsbaustein POPUP_TTXBF aufgerufen. Wenn bei Aufruf von TEXT_INTERFACE Briefname oder Subanwendung und Briefname nicht bekannt sind, kann der Funktionsbaustein POPUP_TTXBF auch vorgeschaltet werden.
- DRUPARM
- Druckparameter. Übergeben Sie hier eine Feldleiste mit der Struktur ITCPO, um die Spooler- und Druckersteuerung zu beeinflussen.
- PARTNR
- Partner-Nr.
- ADRTYP
- Adreßtyp. Die Parameter PARTNR und ADRTYP können vom Ausgabereport zur Ermittlung der Empfängeranschrift herangezogen werden. Dies ist beispielsweise im Report RFVDAZB2 der Fall. Dort werden die ermittelten Adreßdaten in die Struktur ADRS gestellt.
- DIALOG
- Anwender-Dialog Druckoptionen. Wenn dieser Parameter mit dem Wert 'X' versehen wird, erhält der Anwender die Möglichkeit, auf dem Spooler-Fürungsbild die Druckoptionen zu ändern.
- ERGEBNIS
- Druckergebnis. Sie erhalten hier in der Struktur ITCPP Informationen über den soeben durchgeführten Druck.
- ADRESS
- Partneradresse nicht gefunden
- CANCELED
- Vorgang vom Anwender abgebrochen
- ELEMENT
- Ein Textelement / Textbaustein wurde nicht gefunden
- FORM
- Das Ausgabeformular ist nicht aktiv.
enthält zu jedem Formbrief einen beschreibenden Datensatz. Sie ist folgendermaßen aufgebaut:
Name Key Typ Länge/Dez Bedeutung
------------------------------------------------------------------
TTXBF-MANDT
X CLNT C 3 Mandant
TTXBF-RANTYP X CHAR C 1 Vertragsart
TTXBF-SUBANWDG X CHAR C 4 Subanwendung
TTXBF-REPID CHAR C 8 Abap-Reportname
TTXBF-XBRFBS CHAR C 50 Briefbeschreibungstext
TTXBF-TDFORM CHAR C 16 Formularname
TTXBF-JSPFB CHAR C 1 Spooler-Führungsbild ?
TTXBF-JBSTAUSW CHAR C 1 Auswahl Textbausteine
TTXBF-KTXELEMENT CHAR C 30 Kopftextelement
TTXBF-TDFIRSTPAG CHAR C 8 Startseite des Formulars
Dabei bedeutet im einzelnen:
- RANTYP
- Vertragsart (1 = Darlehen, 2 = Wertpapiere, 3 = Immobilien)
- SUBANWDG
- Subanwendung. Briefe derselben Subanwendung werden aus dem gleichen Datenpool versorgt.
- BRFNM
- Briefname. Aufgrund des zusammengesetzten Schlüssels aus RANTYP, SUBANWDG und BRFNM ist jeder Formbrief eindeutig identifiziert,
- REPID
- Name des ABAP-Reports, der die Textausgabe steuert. Als Prototyp mit breitem Anwendungsspektrum ist der Report RFVDAZB2 vorhanden.
- Kurztext von 50 Stellen, den Inhalt des Briefes charakterisierend.
- TDFORM
- Name des SAPSCRIPT-Formulars, das zur Formatierung der Textausgabe dient. JSPFPB,,Spooler-Führungsbild - ja / nein? Für Briefe, die aus Dialoganwendungen heraus ausgegeben werden, kann dieses Feld auf 1 = JA gesetzt werden, für Batch-Briefe muß es auf 0 = NEIN stehen. In diesem Fall können die Druckparameter über die Struktur ITCPO an den Funktionsbaustein TEXT_INTERFACE übergeben werden.
- JBSTAUW
- Baustein-Auswahl - ja / nein? Dieses Feld muß auf JA gesetzt werden, wenn vor der Briefausgabe eine Auswahl der auszugebenden Textbausteine durch den Anwender gewünscht ist, was jedoch nur in Dialoganwendungen sinnvoll ist.
- KTXELEMENT
- Name eines Textelements aus dem Fenster 'KOPF' des angegebenen Formulars. Dieses Textelement wird auf jeder Seite im Kopfteil ausgegeben.
- TDFIRSTPAG
- Name der Formularseite, mit der die Formularausgabe gestartet werden soll.
Die Pflege der Tabelle TTXBF geschieht mit Hilfe des Views VTDTTXBF. Nach Start der Viewpflege wird in einem Popup die Eingabe einer Vertragsart verlangt. Danach gelangt man auf ein Übersichtsbild Hier lassen sich Sätze anlegen, ändern, kopieren und löschen. Bei den ersten 3 Funktionen wird auf einen Detailbildschirm verzweigt. Hier lassen sich alle oben beschriebenen Felder der Tabelle TTXBF pflegen, mit einer Ausnahme: durch den Parameter DIALOG des Funktionsbausteins TEXT_INTERFACE ist das Feld JSPFB überflüssig geworden und wurde daher aus der Bildschirmmaske entfernt.
enthält einen Satz zu jedem Textbaustein innerhalb eines Briefes. Sie ist der Tabelle TTXBF untergeordnet. Ihr Aufbau ist wie folgt:
Name Key Typ Länge/Dez Bedeutung
-------------------------------------------------------------------
TTXBS-MANDT
X CLNT C 3 Mandant
TTXBS-RANTYP X CHAR C 1 Vertragsart
TTXBS-SUBANWDG X CHAR C 4 Subanwendung
TTXBS-BRFNM X CHAR C 15 Briefname
TTXBS-BSTLF X NUMC N 3 Laufende Nummer Baustein
TTXBS-XOBJECT CHAR C 10 Texte: Anwendungsobjekt
TTXBS-XBSTNM CHAR C 70 Textname
TTXBS-XSPRAS LANG C 1 Sprachenschlüssel
TTXBS-REPID CHAR C 8 Abap-Reportname
TTXBS-AUSWAHL CHAR C 1 Auswahlkennzeichen
TTXBS-BST_OBL CHAR C 1 Textbaustein ist oblig.
TTXBS-KOPF_BER CHAR C 1 Ausg. des TB im Fensterkopf
TTXBS-NEUE_SEITE CHAR C 1 Seitenvorschub ja/nein?
Es bedeutet im einzelnen:
- RANTYP
- siehe TTXBF
- SUBANWDG
- siehe TTXBF
- BRFNM
- siehe TTXBF
- BSTLF
- laufende Nummer des Textbausteins innerhalb des Briefes. Es empfiehlt sich, die Bausteine in Fünfer- oder Zehnerschritten durchzunumerieren, damit es später möglich ist, weitere Bausteine einzufügen.
- XOBJECT
- Textobjekt. Jeder Textbaustein ist durch einen vierfach zusammengesetzten Schlüssel aus Textobjekt, Textname, Text-ID und Sprachenschlüssel eindeutig identifiziert. Das Textobjekt dient der allgemeinen Klassifizierung, der Textname der Feinunterscheidung. Mit Hilfe der ID können Varianten gebildet werden, worauf in unserem Fall jedoch verzichtet wird.
- XBSTNM
- Textbaustein-Name.
- XSPRAS
- Sprachenschlüssel.
- REPID
- Name eines ABAP-Reports, der immer dann aufgerufen wird, wenn der jeweilige Textbaustein an der Reihe ist, ausgegeben zu werden. Der Report ersetzt die Verarbeitungslogik aus dem Hauptreport. Das Hauptanwendungsgebiet für dieses Verfahren ist die Ausgabe von Tabellen innerhalb eines Briefes. In diesem Fall muß ein bestimmter Textbaustein für jede Zeile einer internen Tabelle wiederholt ausgegeben werden. Prototyp: RFVDBEPP.
- AUSWAHL
- Wird der Baustein im Regelfall ausgegeben - ja/nein? In Batch-Briefen sollte dieses Feld in jedem Fall auf JA gesetzt werden, da kein Auswahlfenster für Textbausteine erscheint.
- BST_OBL
- Ist der Baustein für einen Brief obligatorisch - ja/nein? Falls das Feld auf JA gesetzt ist, kann der Baustein im Auswahlfenster nicht abgewählt werden.
- KOPF_BER
- Ausgabe des Bausteins im Kopfbereich des Fensters 'MAIN'. Die Ausgabe wird auf allen folgenden Seiten bis zum nächsten erzwungenen Seitenvorschub wiederholt.
- NEUE_SEITE
- Falls dieses Flag gesetzt ist, wird vor Ausgabe des Textbausteins ein Seitenvorschub erzwungen.
Die Pflege der Tabelle TTXBS geschieht mit Hilfe des Views VTDTTXBS. Nach Start der Viewpflege wird in einem Popup die Eingabe der Vertragsart, der Subanwendung und des Briefnamens verlangt. Danach gelangt man auf ein Übersichtsbild.
Hier lassen sich Sätze anlegen, ändern, kopieren und löschen. Bei den ersten 3 Funktionen wird auf einen Detailbildschirm verzweigt.
Auf diesem Bildschirm lassen sich alle oben beschriebenen Felder der Tabelle TTXBS pflegen.
Erstellung und Bearbeitung von Textbausteinen
Auf dem Detailbildschirm der Viewpflege VTDTTXBS befindet sich die Drucktaste EDITOR. Wird diese Drucktaste angeklickt, so gelangt man in dem SAPSCRIPT-Editor und kann den Baustein, der in der aktuellen Zeile von TTXBS aufgeführt ist, bearbeiten.
Zu beachten ist hierbei, daß dazu das Textobjekt und die Text-ID in den Tabellen TTXOB/TTXOT und TTXID/TTXIT angelegt sein müssen.
Sofern die Zusammenstellung eines Briefes dem Standard entspricht, kann der Code des Ausgabereports recht knapp gehalten werden:
,,REPORT RFVDAZB2.
,,TABLES: VDSCRIPT.
,,IMPORT IVDSCRIPT TO VDSCRIPT FROM MEMORY ID 'SCRI'.
In diesem Beispiel wird zunächst die Tabelle VDSCRIPT eingebunden. Danach werden die Daten, die vor Aufruf des Funktionsbausteins TEXT_INTERFACE im globalen Memory abgelegt wurden, wieder eingelesen. Druckausgabe der zum Fombrief gehörenden Textbausteine bewirkt.
Diese Form-Routine, die bei speziellen Anforderungen durch andere Routinen ersetzt werden kann, läuft folgendermaßen ab:
- IMPORT der Parameter für Briefbeschreibung, Druckoptionen und Partneradresse aus dem globalen Memory
- Lesen der Tabellen TTXBF und TTXBS aufgrund der importierten Parameter
- Aufruf einer Funktion zum Aufbau eines Auswahlfensters für Textbausteine
- Ermittlung der Partner-Adresse
- Öffnen der Formularausgabe, zunächst ohne Angabe eines bestimmten Formulars
- Starten des in TTXBF angegebenen Druckformulars
- LOOP über die Tabelle der zum Brief gehörenden Textbausteine (aus TTXBS); für jede Tabellenzeile wird der jeweilige Textbaustein gelesen und ausgegeben, es sei denn, es wurde ein Unter-Report angegeben. In diesem Fall wird an dieser Stelle die Form-Routine TEXTAUSGABE des Unterreports aufgerufen.
- Beenden des Druckformulars
- Schließen der Formularausgabe.
- Export von Ergebnis-Daten in das globale Memory.
Für die Ausgabe mancher Textbausteine ist es notwendig, eine eigene Verarbeitungslogik einzubinden. Dies ist, wie in dem nun folgenden Beispiel, vor allem dann der Fall, wenn es sich um LOOP-Bausteine handelt, d.h., Bausteine, die pro Datensatz einer internen Tabelle je einmal ausgegeben werden sollen.
Um einen solchen Fall handelt es sich bei dem Textbaustein ABR (Textobjekt: FVVD_AUSZ), der im Brief 1/AUSZ/AZB-01 vorkommt. Dieser Baustein soll je einmal für jeden Satz aus der internen Tabelle IBEPP ausgegeben werden. Daher muß hier in eine externe Form-Routine verzweigt werden, und zwar in die Routine TEXTAUSGABE des Unterreports RFVDBEPP. Die entsprechende Parametrisierung findet in der Tabelle TTXBS statt (Feld REPORTNAME).
Die Form-Routine läuft folgendermaßen ab:
- Datendeklaration
- IMPORT der internen Tabelle IBEPP aus dem globalen Memory (wohin sie von der Transaktion, die die Textschnittstelle aufgerufen hat, exportiert wurde)
- LOOP über die Tabelle IBEPP; bei jedem Durchlauf wird IBEPP nach VDBEPP kopiert, und es wird der Textbaustein, der im Hauptreport RFVDAZB2 gerade an der Reihe ist, ausgegeben
- beim letzten Datensatz: Ermittlung des Summenwertes von SBWHR und EXPORT in das globale Memory
Jede Druckausgabe in SAPscript setzt die Öffnung eines Ausgabeformulars voraus. Das Formular dient der Layout-Steuerung.
Dabei ist auf folgende Zusammenhänge zu achten:
- Die Formularfenster, die im Ausgabereport durch die Funktionsbausteine WRITE_FORM oder WRITE_FORM_LINES angesprochen werden, müssen im Formular angelegt sein, ebenso die auszugebenden, in den Fenstern enthaltenen Textelemente. In den bisher angelegten Formularen befindet sich im Hauptfenster das Textelement INCLUDE, das die parametergesteuerte Inclusion beliebiger Textbausteine ermöglicht. Für das Anschriftenfenster wurde im bisherigen Standard die Bezeichnung ADRESS vergeben. Falls dieses Fenster im Formular angelegt und mit Variablen der Struktur ADRS bestückt ist,, wird an dieser Position die
- Die Absatz- und Zeichenformate, auf die in den Textbausteinen Bezug genommen wird, müssen angelegt sein.
Für Standardanschreiben empfiehlt sich die Verwendung des Formulars FVVD_STANDARD. Die Parametrisierung findet in der Tabelle TTXBF statt (Feld FORMULAR).
Parameter
ADRTYPBRFNM
BRIEFDATUM
BUKRS
DIALOG
DRUPARM
ERGEBNIS
FPROTOKOLL
PARTNR
RANTYP
STICHTAG
SUBANWDG
Ausnahmen
ADRESSCANCELED
ELEMENT
FORM
OPTIONS
Funktionsgruppe
FVDDPERFORM Short Reference rdisp/max_wprun_time - Maximum work process run time
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 21602 Date: 20240523 Time: 124433 sap01-206 ( 266 ms )