Сценарии 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/
Вы вызываете этот функциональный модуль в конце, и он не имеет параметра экспорта.