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.