Show TOC

HintergrundBeispiel eines Druckprogramms Dieses Dokument in der Navigationsstruktur finden

 

Im folgenden soll ein typisches Druckprogramm schematisch dargestellt werden. Dieses einfache Druckprogramm erstellt eine Rechnung mit firmenspezifischen Angaben, Datum, Seitennumerierung, Kundenadresse sowie allen Buchungen eines Kunden.

Beispiel Beispiel

In der Entwicklungsklasse SAPBC460 befindet sich das ausführliche Beispielprogramm RSTXEXP1 (zugehöriges Formular S_EXAMPLE_1).

Ende des Beispiels.

Schematisches Druckprogramm:

Syntax Syntax

  1. *	(1) Get customer data
    	TABLES: scustom, sbook, spfli.
    	DATA: bookings like sbook...
    	select * from...
    *	(2) Open form
    	CALL FUNCTION 'OPEN_FORM'
    		EXPORTING
    			DEVICE = 'PRINTER'
    			FORM = 'S_EXAMPLE_1'
    			DIALOG = 'X'
    		EXCEPTIONS
    			others = 1
    *	(3) Print table heading
    	CALL FUNCTION 'WRITE_FORM'
    		EXPORTING
    			ELEMENT = 'HEADING'
    			TYPE = 'TOP'
    			WINDOW = 'MAIN'
    			FUNCTION = 'SET'
    			...
    *	(4) Print customer bookings
    	LOOP AT bookings WHERE
    		CALL FUNCTION 'WRITE_FORM'
    			EXPORTING
    				ELEMENT = 'BOOKING'
    				TYPE = 'BODY'
    				WINDOW = 'MAIN'
    				...
    	ENDLOOP
    *	(5) Close form
    	CALL FUNCTION 'CLOSE_FORM'
    		...
Ende des Quelltextes.

In diesem Beispiel werden innerhalb des ersten Abschnitts die benötigten Daten von der Datenbank gelesen und in internen Tabellen (z.B. BOOKINGS) bereitgestellt. Im Abschnitt (2) wird der Funktionsbaustein OPEN_FORM aufgerufen, um die Druckausgabe des Formulars S_EXAMPLE_1 zu initialisieren. Danach gibt WRITE_FORM über das Textelement HEADING allgemeinen Text und die Spaltenüberschrift der Rechnung im Hauptfenster MAIN aus (Abschnitt (3)). Die Buchungen des Kunden aus Tabelle BOOKINGS werden in Abschnitt (4) in einer Schleife sukzessive ausgelesen und zwar über das Textelement BOOKING im MAIN-Fenster. Die Adresse des Kunden sowie firmenspezifische Angaben werden als Default-Textelemente in anderen Formularfenstern direkt ausgegeben. CLOSE_FORM beendet den Formulardruck schließlich.

Hinweis Hinweis

Bei jedem Formulardruck müssen die Funktionsbausteine OPEN_FORM und CLOSE_FORM paarweise verwendet werden. Ein Druckprogramm kann auch mehrere Formulare drucken, die jeweils als getrennter Spoolauftrag verwaltet oder aber zu einem einzigen Druckauftrag zusammengefaßt werden. Im letzteren Fall müssen Sie die Funktionsbausteine START_FORM und END_FORM verwenden.

Ende des Hinweises.

Weitere Informationen

Weitere Informationen finden Sie unter OPEN_FORM und CLOSE_FORM sowie unter START_FORM und END_FORM.