SAP Учебное пособие по сценариям: SE71, SE78, SCC1, VF03, SO10.

⚡ Умное резюме

SAP Скрипты образуют систему обработки текста. SAP Система, печатающая предварительно отформатированный текст в предварительно отформатированные формы. На этой странице описаны пять компонентов, набор макетов, команды управления, программа печати, типы вывода и транзакции SE71, SE78, SO10 и SCC1.

  • ???? Основное определение: SAPскрипт — это встроенная система обработки текста SAPИспользуется для печати предварительно отформатированного текста в предварительно отформатированные формы, такие как счета-фактуры.
  • 🧱 Пять компонентов: Редактор, стили и наборы макетов, редактор, программный интерфейс и таблицы базы данных, хранящие тексты и формы.
  • 📄 Вариант компоновки: Набор параметров макета не содержит данных. Он описывает страницы, окна и текстовые элементы, а программа печати заполняет его данными, выбранными из базы данных.
  • ⌨️ Команды управления: Команды, такие как NEW-PAGE, PROTECT, INCLUDE и PERFORM, вводятся с помощью символа /: в формате абзаца и управляют форматированием вывода.
  • 🇧🇷 Программа печати: Параметры OPEN_FORM, WRITE_FORM и CLOSE_FORM являются обязательными, а START_FORM и END_FORM — необязательными.
  • 📬 Типы вывода: Тип вывода, хранящийся в таблице NAST и выполняемый программой RSNAST00, определяет, будет ли документ распечатан, отправлен по факсу или отправлен по почте.
  • 🔁 Зависимость клиента: A SAPФорма скрипта зависит от клиента, поэтому он копируется между клиентами с помощью SCC1 или с помощью утилиты «Копировать с клиента» в SE71.

SAP Сценарии

Что такое SAP Сценарий?

SAP сценарий - это SAP Собственная система обработки текста. Она очень похожа на другие ведущие системы обработки текста.

Он используется для печати предварительно отформатированного текста в предварительно отформатированных формах.

Типичные документы, созданные с помощью SAPК таким формам относятся счета-фактуры, заказы на покупку, накладные и письма клиентам. Форма создается один раз в транзакции SE71, а программа печати на языке ABAP предоставляет данные во время выполнения.

Компоненты SAPСценарий

SAP Скрипты состоят из пяти основных компонентов:

Компоненты SAPСценарий

  1. Редактор для ввода и редактирования строк текста
  2. Стили и наборы макетов для макета печати. Они создаются независимо от отдельных текстов с использованием соответствующих операций ведения и присваиваются текстам позже.
  3. Композитор — это центральный выходной модуль. SAP Скрипт-композитор невидим снаружи
  4. Интерфейс программирования, который позволяет включать SAP создавать сценарии компонентов в ваших собственных прикладных программах и управлять выводом наборов макетов изнутри программ.
  5. Несколько таблиц базы данных для хранения текстов, стилей и наборов макетов.

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

Набор макетов

Для вывода документов с использованием интерфейса программирования прикладным программам R/3 необходимы так называемые наборы макетов (разновидность формы). SAP сценарий Набор макетов описывает макет отдельных страниц печати и использует текстовые элементы для предоставления определяемых выходных блоков, которые может вызывать программа печати. ​​Набор макетов можно определить как дизайн страницы для документа.

Сам по себе макет не содержит никаких данных. Выбор данных для документа осуществляется через программу печати. ​​Программа печати выбирает данные из таблицы базы данных и передает их в макет. После выполнения программы печати документ печатается на экране принтера.

Обычно SAPМакет скрипта состоит из следующих компонентов:

  1. Данные заголовка: Данные заголовка используются для информации и управления SAP печать. Данные заголовка состоят из двух частей: «Независимые от устройства» — хранят такую ​​информацию, как начальная страница, абзац по умолчанию, атрибуты языка и т. д. И «зависимые от устройства» хранят такую ​​информацию, как формат страницы, линии ориентации на дюйм и т. д.
  2. Форматы абзацев и символов: абзацы форматируются с использованием различных атрибутов. Например, стандартные атрибуты абзаца определяют левое или правое поле, выравнивание, межстрочный интервал и т. д. Атрибуты шрифта определяют семейство шрифтов, размер шрифта и т. д. Форматы символов позволяют форматировать целые блоки текста внутри абзаца.
  3. Windows и текстовые элементы: Windows — это отдельные текстовые области (адрес верхнего колонтитула, дата, нижний колонтитул) на странице. Он помогает объединить информацию, содержащуюся в документе, в определенные группы и заставить каждую группу отображаться на печатной странице в отдельной области. Для каждого окна можно определить текстовые элементы (тексты окон). Программа печати обращается к текстовым элементам по имени, форматирует их и печатает в соответствующем окне. Используемые форматы абзацев и символов должны быть определены в форме.
  4. Страницы: Они представляют собой отдельные страницы документа и должны иметь уникальное имя. Часто вы встретите разные макеты отдельных страниц: первая страница счета-фактуры отличается от последующих страниц, на которых вам не нужно повторять общую информацию, такую ​​как адрес или данные о клиенте.
  5. Страница Windows: При определении окон и страниц вы еще не определяете положение и интервал выводимых текстов. Окно страницы определяет прямоугольную область вывода на носителе вывода, указывая левый верхний край области вывода, а также ее ширину и высоту.

Команды управления

Цель «команд управления» — обеспечить управление форматированием вывода. Эти команды не интерпретируются SAP редактор сценариев, но передаются в SAP Скрипт Composer для обработки. Сюда входит, например, форматирование строк и страниц, форматирование текста в соответствии с указанными форматами абзацев и символов.

Синтаксис

Enter /: in the paragraph format

Примеры

  • НОВАЯ СТРАНИЦА – явный разрыв страницы.
  • PROTECT ………ENDPROTECT – Чтобы распечатать весь абзац на одной странице.
  • ВКЛЮЧИТЬ – включить содержимое другого текста в текущий текст.
  • PERFORM – вызвать подпрограмму любой программы ABAP.

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

Выполнение скрипта осуществляется через ABAP-программа, которая называется программой печати. Каждая программа печати должна иметь форму ВХОДА, которая будет вызываться из настройки.

Для стандартной конфигурации мы можем увидеть имя формы (имя сценария), имя программы печати и тип вывода в таблице TNAPR. Программа печати использует функции управления формой для вызова сценария.

Программа печати вызывает все или некоторые функции управления формой для выполнения сценария.

  • OPEN_FORM (Обязательный) Открывает вывод набора макетов.
  • CLOSE_FORM (Обязательный) Завершает вывод набора макетов.
  • START_FORM (Необязательно) Запускает новый набор макетов.
  • WRITE_FORM (Обязательный) Вызывает элемент набора макетов.
  • END_FORM (Необязательно) Завершает текущий набор макетов.

Как создать SAPФорма скрипта в SE71

Рабочая SAPДля вывода скрипта необходимы форма, программа печати и назначение в настройках. Ниже описаны шаги по созданию скрипта на основе пустой формы.

  1. Создайте форму: В транзакции SE71 введите имя формы и язык, затем выберите «Создать». Заполните данные заголовка начальной страницей, абзацем по умолчанию и форматом страницы.
  2. Определите формат абзаца и символов: Создайте как минимум один формат абзаца, например, AS для стандартной строки, поскольку каждый текстовый элемент ссылается на формат абзаца.
  3. Создайте страницы: Определите первую страницу, например, FIRST, и установите для нее в качестве следующей страницы значение NEXT, чтобы более длинные документы продолжались на втором макете.
  4. Создайте окна и окна страниц: Определите окна, такие как HEADER, MAIN и FOOTER, затем разместите каждое из них на странице и укажите левый верхний край, ширину и высоту.
  5. Напишите текстовые элементы: Откройте текстовый редактор в окне и пометьте каждый блок символом /E, за которым следует имя элемента. Программа печати вызовет элемент по этому имени.
  6. Активируйте форму и напишите программу печати: Активируйте форму, затем вызовите функции управления формой из программы ABAP, как показано ниже.
  7. Укажите тип выходных данных: Введите название формы, программу печати и процедуру ввода в таблицу TNAPR через настройки вывода приложения, например, NACE.
CALL FUNCTION 'OPEN_FORM'
  EXPORTING
    form     = 'Z_INVOICE'
    language = sy-langu
    device   = 'PRINTER'.

* Print the element ITEM_LINE in the window MAIN
LOOP AT lt_items INTO ls_item.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element  = 'ITEM_LINE'
      window   = 'MAIN'
      function = 'SET'
      type     = 'BODY'.
ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'.

⚠️ Предупреждение: Функция WRITE_FORM выводит на экран только те поля, которые заполнены на момент вызова. Заполните рабочую область до вызова, поскольку форма считывает глобальные поля программы печати, а не параметры функционального модуля.

Типы вывода

Тип вывода может указывать печатную форму, необходимую для внутреннего использования, или форму, которую вы хотите отправить клиенту или поставщику. Типом вывода также может быть внутреннее сообщение электронной почты, которое вы хотите отправить сотрудникам другого отдела.

Например, «Распечатка» может быть классифицирована как один из видов вывода документа фактуры, т.е. при выполнении этого типа вывода документ фактуры распечатывается. Аналогично «Факс» может быть типом вывода, т. е. при выполнении этого типа вывода отправляется факс документа фактуры.

Все типы вывода для любого документа (например, документа фактуры) будут храниться в таблице NAST. Типы вывода выполняются с помощью программы RSNAST00.

Пример: Тип вывода в документе фактуры:

  1. Перейти на VF03
  2. Введите номер платежного документа и нажмите Enter еще раз.
  3. Выберите «Вывод» в меню «Перейти» -> «Заголовок».
  4. Здесь Z101 — тип вывода вывода на печать.

Типы вывода

На скриншоте показан экран вывода транзакции VF03, где к платежному документу прикреплен тип вывода Z101.

Стандартные тексты и графика

Стандартные тексты для вашего отчета могут быть созданы с помощью транзакции SO10

Макросы графики и принтера загружаются вместе с докладе RSTXLDMC в отдельные стандартные текстовые документы или посредством транзакции SE78. Графические изображения загружаются в формате «Baseline TIFF 6.0» (.tif-файлы на ПК).

SAP Текстовые элементы Script и Standard можно экспортировать или импортировать между двумя системами с помощью программы RSTXSCRP.

Копирование скриптов между клиентами:

SAP Скрипт — объект, зависящий от клиента. В отличие от программ, изменения, вносимые в SAP сценарий в одном клиенте не будет отражаться в других клиентах. Для копирования скрипта с одного клиента на другой перейдите по ссылке SE71 и используйте опцию «Копировать из клиента», доступную в меню «Утилиты», или импортируйте запрос на транспортировку, в котором сохранен сценарий, из исходного клиента, используя транзакцию. ССС1.

Важные моменты, на которые следует обратить внимание

  1. SAP скрипт не поддерживает никаких версий. Поэтому при изменении SAP script убедитесь, что изменения хорошо задокументированы в скрипте. Это относится и к стандартным текстам.
  2. Вывод формы будет отличаться при просмотре на экране и на принтере. Поэтому всегда проверяйте вывод сценария на принтере.

SAPскрипт против Smart Forms

SAPскриптовая технология — более старая из двух форм технологий. SAPи каждая новая форма обычно создается с помощью Умные формыВ таблице ниже показано, почему.

Критерии SAPскрипт Умные формы
сделка SE71 СМАРТФОРМЫ
Зависимость от клиента Зависит от клиента, копируется с помощью SCC1. Независимый от клиента
Главное окно Требуется ровно одно главное окно. Необязательно, допускается наличие нескольких основных окон.
Логика программы Написано в отдельной печатной программе. Частично встроено в форму, которая генерирует собственный функциональный модуль.
Форматы вывода Печать, факс и почта Печать, отправка факсов, почтовая рассылка, вывод в формате XML или HTML.
Управление версиями Никаких, поэтому изменения необходимо документировать вручную. Доступно через верстак

SAPЭтот скрипт по-прежнему широко используется, поскольку существует множество стандартов. SAP Формы и программы для их печати по-прежнему зависят от этого, поскольку форма, зависящая от клиента, может быть адаптирована для каждого клиента.

Часто задаваемые вопросы (FAQ)

В таблице TNAPR хранится имя формы, программа печати и процедура ввода для каждого типа вывода. Считать ее можно с помощью транзакции SE16 или открыв настройки вывода приложения в транзакции NACE.

Графические изображения необходимо загружать в формате Baseline TIFF 6.0 через транзакцию SE78 или отчет RSTXLDMC, при этом форма должна содержать ссылку на полученный стандартный текст. Цветные файлы или файлы PNG не принимаются составителем.

Включите отладчик форм, выбрав в меню пункт «Утилиты», затем «Активировать отладчик» в транзакции SE71. После этого система будет останавливаться на каждом текстовом элементе во время выполнения программы печати, и можно будет проверить значения полей.

В транзакции SMARTFORMS выполняется преобразование на основе отчета о миграции. Затем ИИ-помощники помогают, объясняя преобразованные узлы, переписывая вызовы программ печати и перечисляя текстовые элементы, требующие ручной доработки.

SAPСкрипт не хранит историю версий, поэтому вносить изменения сложно. trace. Инструменты искусственного интеллекта сравнивают два экспортированных файла, созданных RSTXSCRP, суммируют изменения в каждом текстовом элементе и составляют документацию, которая не хранится в самой форме.

Подведем итог этой публикации следующим образом: