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.