Сценарии SAP - Программа печати

В сценариях SAP Print Programиспользуется для печати фактической формы и получения данных из таблиц базы данных, выбора формы и печати текстовых элементов в заданном формате. Он извлекает данные из базы данных и объединяет их с вводом пользователя, форматирует данные и печатает их.

Все программы печати и формы хранятся в таблице TNAPR.

В программе печати используются различные функциональные модули. Для запуска программы печати используется функциональный модуль OPEN_FORM, а для завершения программы используется функциональный модуль CLOSE_FORM.

OPEN_FORM- В программе печати эта функция должна быть вызвана до начала печати. Вы указываете имя формы и язык печати.

CALL FUNCTION 'OPEN_FORM'

START_FORM - Эта функция вызывается для использования разных форм с похожими характеристиками в одном запросе.

CALL FUNCTION ’START_FORM’

WRITE_FORM - Эта функция используется для написания текста в окне в форме с помощью текстовых элементов.

CALL FUNCTION ‘WRITE_FORM’

CONTROL_FORM - Эта функция используется для вставки управляющих команд SAP Script в программу ABAP.

CALL FUNCTION ‘CONTROL_FORM’

END_FORM - Эта функция вызывается в конце и не имеет параметров экспорта.

CALL FUNCTION ‘END_FORM’

CLOSE_FORM - Чтобы просмотреть стандартную форму и стандартную программу печати, запустите Transaction Code: NACE

Введите Типы приложений и щелкните Тип вывода вверху.

На следующем снимке экрана вы можете увидеть имя приложения для выбранной службы.

Программа печати - пример

Ниже приведен пример программы печати, которая создает счет с информацией о компании, такой как данные клиента, дата, бронирование авиабилетов и т. Д.

Раздел 1. Получение данных о клиентах

TABLES: zcustom, zbook, zpfli.  
DATA: bookings like zbook... 
select * from... 
/In this section, you are reading the data from tables in database./

Раздел 2 - Открытая форма

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./

В приведенном выше функциональном модуле параметр -

  • FORM показывает название формы.

  • DEVICE может быть ПРИНТЕР (печать с использованием катушки), ТЕЛЕФАКС (вывод факса) или ЭКРАН (вывод на экран)

  • OPTIONS показывает структуру типа ITCPO для управления различными атрибутами - предварительный просмотр печати, количество копий.

Раздел 3 - Печать заголовка таблицы

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 Функциональный модуль показывает «текстовый элемент», который нужно напечатать, а «ОКНО» показывает, какое окно формы нужно напечатать.

  • TYPE показывает область вывода окна, например TOP, BOTTOM или BODY.

  • FUNCTION сообщает текст, который нужно заменить, добавить или добавить.

Раздел 4 - Печать бронирований клиентов

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./

Раздел 5 - Закрыть форму

CALL FUNCTION 'CLOSE_FORM'  
IMPORTING 
* RESULT    = 
EXCEPTIONS 
UNOPENED    = 1 
OTHERS      = 5 
/To end the Print Program/

Вы вызываете этот функциональный модуль в конце, и он не имеет параметра экспорта.