В SAP Scripts 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 — Чтобы просмотреть стандартную форму и стандартную программу печати, запустите код транзакции: 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./
В приведенном выше функциональном модуле параметр —
-
ФОРМА показывает название формы.
-
УСТРОЙСТВО может быть ПРИНТЕР (печать с использованием катушки), ТЕЛЕФАКС (вывод факса) или ЭКРАН (вывод на экран)
-
ОПЦИИ показывает структуру типа ITCPO для управления различными атрибутами — Предварительный просмотр печати, количество копий.
ФОРМА показывает название формы.
УСТРОЙСТВО может быть ПРИНТЕР (печать с использованием катушки), ТЕЛЕФАКС (вывод факса) или ЭКРАН (вывод на экран)
ОПЦИИ показывает структуру типа 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 показывает «текстовый элемент», который должен быть напечатан, а «WINDOW» показывает, какое окно формы должно быть напечатано.
-
TYPE показывает область вывода окна, например, TOP, BOTTOM или BODY.
-
FUNCTION указывает текст, который нужно заменить, добавить или добавить.
Функциональный модуль ELEMENT показывает «текстовый элемент», который должен быть напечатан, а «WINDOW» показывает, какое окно формы должно быть напечатано.
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/
Вы вызываете этот функциональный модуль в конце, и у него нет параметра экспорта.