Example of a Print Program

Use

The example below shows a typical print program. This simple print program creates an invoice that contains company-related information, date, page numbering, customer address, and all flight bookings of a customer.

Schematic Print Program:

*  (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 this example, the first section reads the required data from the database and fills it into internal tables (for example, BOOKINGS). In section (2), the function module OPEN_FORM is called to initialize the print output of the form S_EXAMPLE_1. Then, WRITE_FORM uses the text element HEADING to output general text and the column heading of the invoice in the MAIN window (section (3)). In section (4), the text element BOOKING in the MAIN window is used to output the bookings of a customer that are read in a loop from the internal table BOOKINGS. The address of the customer as well as company-related information is output in other form windows directly, using default text elements. CLOSE_FORM finally ends the printing of the form.

More Information

For more information, see OPEN_FORM and CLOSE_FORM as well as START_FORM and END_FORM.