Show TOC

Beispiel eines DruckprogrammsLocate this document in the navigation structure

Verwendung

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

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

Schematisches Druckprogramm:

*  (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'
                ...
         

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

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.

Weitere Informationen

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