SAP-Skripte - Druckprogramm
In SAP-Skripten Print Programwird verwendet, um das eigentliche Formular zu drucken und die Daten aus Datenbanktabellen abzurufen, ein Formular auszuwählen und die Textelemente in einem definierten Format zu drucken. Es ruft die Daten aus der Datenbank ab und kombiniert sie mit der Benutzereingabe, formatiert die Daten und druckt sie aus.
Alle Druckprogramme und Formulare werden in einer Tabelle gespeichert TNAPR.
Im Druckprogramm werden verschiedene Funktionsmodule verwendet. Zum Starten eines Druckprogramms wird der Funktionsbaustein OPEN_FORM und zum Beenden des Programms der Funktionsbaustein CLOSE_FORM verwendet.
OPEN_FORM- Im Druckprogramm sollte diese Funktion zuerst aufgerufen werden, bevor gedruckt werden kann. Sie geben den Namen des Formulars und die Drucksprache an.
CALL FUNCTION 'OPEN_FORM'
START_FORM - Diese Funktion wird aufgerufen, um verschiedene Formulare mit ähnlichen Merkmalen in einer einzigen Anforderung zu verwenden.
CALL FUNCTION ’START_FORM’
WRITE_FORM - Mit dieser Funktion wird Text in ein Fenster des Formulars mit Textelementen geschrieben.
CALL FUNCTION ‘WRITE_FORM’
CONTROL_FORM - Mit dieser Funktion werden SAP Script-Steuerbefehle in ein ABAP-Programm eingefügt.
CALL FUNCTION ‘CONTROL_FORM’
END_FORM - Diese Funktion wird am Ende aufgerufen und hat keine Exportparameter.
CALL FUNCTION ‘END_FORM’
CLOSE_FORM - Führen Sie Folgendes aus, um das Standardformular und das Standarddruckprogramm anzuzeigen Transaction Code: NACE
Geben Sie Anwendungstypen ein und klicken Sie oben auf den Ausgabetyp.
Im folgenden Screenshot sehen Sie den Anwendungsnamen für den ausgewählten Dienst.
Druckprogramm - Beispiel
Im Folgenden finden Sie ein Beispiel für ein Druckprogramm, mit dem eine Rechnung mit unternehmensbezogenen Informationen wie Kundendaten, Datum, Flugbuchung usw. erstellt wird.
Abschnitt 1 - Kundendaten abrufen
TABLES: zcustom, zbook, zpfli.
DATA: bookings like zbook...
select * from...
/In this section, you are reading the data from tables in database./
Abschnitt 2 - Offenes Formular
CALL FUNCTION 'OPEN_FORM'
EXPORTING
DEVICE = 'PRINTER'
FORM = 'EXAMPLE1'
DIALOG = 'X'
OPTIONS =
EXCEPTIONS
CANCELLED = 1
DEVICE = 2
FORM = 3
OTHERS = 11
/In this section, you are calling OPEN_FORM function module to initialize print output./
Im obigen Funktionsbaustein ist der Parameter -
FORM zeigt den Namen des Formulars.
DEVICE kann DRUCKER (Drucken mit Spool), TELEFAX (Faxausgabe) oder BILDSCHIRM (Ausgabe auf dem Bildschirm) sein.
OPTIONS zeigt eine Struktur vom Typ ITCPO zur Steuerung der verschiedenen Attribute - Druckvorschau, Anzahl der Kopien.
Abschnitt 3 - Tabellenüberschrift drucken
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'textelement’
TYPE = 'TOP'
WINDOW = 'MAIN'
FUNCTION = 'SET'
...
/In this section, you use WRITE_FORM function to output general text elements and column
heading/
ELEMENT Der Funktionsbaustein zeigt das zu druckende 'Textelement' und 'WINDOW' zeigt an, welches Fenster des zu druckenden Formulars.
TYPE Zeigt den Ausgabebereich des Fensters wie TOP, BOTTOM oder BODY an.
FUNCTION Weist den Text an, der ersetzt, hinzugefügt oder angehängt werden soll.
Abschnitt 4 - Kundenbuchungen drucken
LOOP AT bookings WHERE
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'BOOKING'
TYPE = 'BODY'
WINDOW = 'MAIN'
...
ENDLOOP
/In this section, text element BOOKING is used to output the bookings of a customer from
the loop from BOOKING table in database./
Abschnitt 5 - Formular schließen
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
* RESULT =
EXCEPTIONS
UNOPENED = 1
OTHERS = 5
/To end the Print Program/
Sie rufen diesen Funktionsbaustein am Ende auf und er hat keinen Exportparameter.