Skrypty SAP - program do drukowania
W skryptach SAP Print Programsłuży do wydrukowania aktualnego formularza i pobrania danych z tabel bazy danych, wyboru formularza oraz wydrukowania elementów tekstowych w zdefiniowanym formacie. Pobiera dane z bazy danych i łączy je z danymi wejściowymi użytkownika, formatuje dane i drukuje.
Wszystkie programy i formularze drukowania są przechowywane w tabeli TNAPR.
W programie drukowania używane są różne moduły funkcjonalne. Do uruchomienia programu drukującego wykorzystywany jest moduł funkcjonalny OPEN_FORM, a do zakończenia programu wykorzystywany jest moduł funkcjonalny CLOSE_FORM.
OPEN_FORM- W programie drukowania tę funkcję należy wywołać najpierw, zanim będzie można rozpocząć drukowanie. Określ nazwę formularza i język drukowania.
CALL FUNCTION 'OPEN_FORM' 
    START_FORM - Ta funkcja służy do używania różnych formularzy o podobnych cechach w jednym żądaniu.
CALL FUNCTION ’START_FORM’ 
    WRITE_FORM - Ta funkcja służy do wpisywania tekstu w oknie w postaci z wykorzystaniem elementów tekstowych.
CALL FUNCTION ‘WRITE_FORM’ 
    CONTROL_FORM - Ta funkcja służy do wstawiania poleceń sterujących skryptem SAP w programie ABAP.
CALL FUNCTION ‘CONTROL_FORM’ 
    END_FORM - Ta funkcja jest wywoływana na końcu i nie ma parametrów eksportu.
CALL FUNCTION ‘END_FORM’ 
    CLOSE_FORM - Aby wyświetlić standardowy formularz i standardowy program Drukuj, uruchom Transaction Code: NACE
Wprowadź Typy aplikacji i kliknij Typ wyjścia u góry.
                
                Na poniższym zrzucie ekranu możesz zobaczyć nazwę aplikacji dla wybranej usługi.
                Program drukowania - przykład
Poniżej znajduje się przykładowy program do drukowania, który tworzy fakturę z informacjami związanymi z firmą, takimi jak dane klienta, data, rezerwacja lotu itp.
Sekcja 1 - Uzyskaj dane klientów
TABLES: zcustom, zbook, zpfli.  
DATA: bookings like zbook... 
select * from... 
/In this section, you are reading the data from tables in database./ 
    Sekcja 2 - Formularz otwarty
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./ 
    W powyższym module funkcyjnym parametr -
FORM pokazuje nazwę formularza.
DEVICE może być PRINTER (drukowanie za pomocą bufora), TELEFAX (wyjście faksu) lub EKRAN (wyjście na ekran)
OPTIONS przedstawia strukturę typu ITCPO do kontroli różnych atrybutów - Podgląd wydruku, ilość kopii.
Sekcja 3 - Wydrukuj nagłówek tabeli
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 moduł funkcyjny pokazuje „element tekstowy” do wydrukowania, a „OKNO” pokazuje, które okno formularza ma zostać wydrukowane.
TYPE pokazuje obszar wyjściowy okna, taki jak - TOP, BOTTOM lub BODY.
FUNCTION informuje, że tekst ma zostać zastąpiony, dodany lub dołączony.
Sekcja 4 - Drukowanie rezerwacji klientów
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./ 
    Sekcja 5 - Zamknij formularz
CALL FUNCTION 'CLOSE_FORM'  
IMPORTING 
* RESULT    = 
EXCEPTIONS 
UNOPENED    = 1 
OTHERS      = 5 
/To end the Print Program/ 
    Na końcu wywołujesz ten moduł funkcji i nie ma on parametru eksportu.