Ansicht
Dokumentation

TEXT_INTERFACE - Korrespondenz: Dokument erzeugen

TEXT_INTERFACE - Korrespondenz: Dokument erzeugen

CPI1466 during Backup   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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

ADRTYP
BRFNM
BRIEFDATUM
BUKRS
DIALOG
DRUPARM
ERGEBNIS
FPROTOKOLL
PARTNR
RANTYP
STICHTAG
SUBANWDG

Ausnahmen

ADRESS
CANCELED
ELEMENT
FORM
OPTIONS

Funktionsgruppe

FVDD

PERFORM 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 )