Внедрение SAP R/3: Руководство для менеджеров и инженеров
Шрифт:
Экраны выбора представляются перед выполнением отчета, они выступают как фильтры, ограничивающие количество записей, включенных в отчет для анализа. Экран выбора — это автоматически генерируемый для каждого отчета экран. Экраны выбора могут собирать либо параметры, либо диапазоны значений для того или иного поля в таблице.
Интерактивная обработка подразумевает предоставление исходных данных или дополнительную обработку списков в отчетах в то время, когда эти отчеты выведены на экране. Во время просмотра отчета дополнительная обработка, транзакции или отчеты
Программирование диалогов
Программирование диалогов имеет отношение к разработке интерактивных приложений в SAP. Программирование диалогов основывается на концепции динамической программы (dynpro), которая состоит из экрана ввода и соответствующего кода обработки. Диалоговая программа состоит из одной или нескольких динамических программ. Элементы диалоговой программы:
• Один или несколько интерфейсов представления
• Один или несколько экранов динамических программ
• Логика исполнения.
Динамическая программа управляет только элементами ввода и их поведением на экране. Как уже упоминалось в разделе «Редактор меню», такие средства управления, как меню и кнопки управляются интерфейсом представления.
Диалоговая программа называется банком модулей, потому что содержит собрание осуществляющих обработку модулей. На рис 8.13 представлен список модулей истории заказов на закупку.
Именно в этой области особенно ясно видна динамичная философия системы SAP и ее объектно-ориентированный подход. Диалоговая программа не является программой как таковой и не использует принцип последовательной обработки. Вся обработка зависит от событий, возникающих в результате взаимодействия пользователя с интерфейсом системы.
Когда диалоговая программа активируется, вызываются не модули, а экраны динамических программ. Именно экраны динамических программ осуществляют необходимую функциональность посредством выполнения отдельных модулей из банка модулей.
Рис. 8.13. Банк модулей.
Динамические программы состоят из следующих компонентов:
• Экран с такими атрибутами полей, как форматы, характеристики вывода на монитор, подтверждения и т. д.
• Логика выполнения, указывающая модули для обработки.
Диалоговая программа начинает работу с той динамической программы, которая идентифицирована как начальная. Каждый экран динамической программы содержит номер следующей динамической программы, которая вызывается после окончания предыдущей. Эта цепочка прерывается после завершения работы динамической программы, в которой 0 (ноль) указан как номер следующей программы. Это стандартный, статичный способ вызова динамической программы. Вызов динамических программ также возможен посредством команд SET SCREEN и CALL SCREEN в логике выполнения.
Flow Logic вызывает модули из банка модулей при наступлении заданного события. Различные модули классифицируются согласно следующим событиям:
PROCESS BEFORE OUTPUT PBO
PROCESS AFTER INPUT PAI
Модули, ассоциированные с первым событием, отвечают за такие пункты, как инициализация, значения по умолчанию и т. д. Вторая
PROCESS ON VALUE-REQUEST POV
PROCESS ON HELP-REQUEST POH
АВАР/4 Запрос
Конечные пользователи могут создавать простые отчеты с помощью АВАР/4 Query. С помощью удобного интерфейса пользователь может указать область или предмет, который его интересует, а также соответствующие таблицы, желаемые поля и оформление списка. Система автоматически сгенерирует экран выбора (который весьма похож на программирование отчетности) и предложит ввести исходные данные.
После этого отчет будет составлен автоматически, причем дополнительно его можно записать в файловое запоминающее устройство, таблицу Microsoft Excel или файл другого типа.
SAPscripts
Программа SAPscript — это текстовый редактор SAP. Обычно текст, получаемый в результате работы программ АВАР, не имеет характеристик размера или шрифта. Программы SAPscripts позволяют SAP распечатывать профессионально оформленные отчеты, а также способны решить проблему многоязычности отчетов. Программы SAPscripts определяют вид текста, а также другие особенности формата — параграфы, элементы текста и т. д. Используя модули функций SAPscript, можно вызвать шаблоны оформления из программ АВАР; подобным же образом можно вызвать стандартные подпрограммы АВАР, находясь в шаблонах оформления.
Интерфейсы и передача пакетов данных
Перед запуском системы в нее необходимо загрузить огромные объемы данных. В системе R/3 4.0 для этого предусмотрена утилита, которая называется «Инструментальные средства для миграции прежней системы» (Legacy System Migration Workbench, LSMW). Принцип действия этой утилиты основан на отображении структуры исходных данных в структуре данных R/3. Впрочем, в более ранних системах было три метода достижения этой цели:
• Пакетный ввод: Этот подход использовался для импорта значительных объемов данных из последовательных файлов в таблицы R/3. Программа пакетного ввода считывает данные и отображает их в сессии пакетного ввода, которая симулирует ввод данных в диалоговом режиме на соответствующих экранах кодов транзакций. Различные значения считываются из записей последовательного файла и присваиваются установленным полям экрана, в соответствии со структурой сессии пакетного ввода. Это усиливает интеграцию данных так же эффективно, как и в случае экранного ввода, потому что соответствующие динамические программы выполняют все сверки данных. В SAP предусмотрена библиотека стандартных программ пакетного ввода. Пакетный ввод также позволяет использовать автоматическую регистрацию данных в журнале событий.
Прямой ввод: Этот подход пропускает стадию симуляции экранного ввода; предпочтение отдается прямому вводу и проверке достоверности данных, что ведет к ускорению процесса. В системе SAP предусмотрена библиотека стандартных модулей функций для загрузки данных, которые обычно требуются большинству пользователей — например, основные данные по материалам или заказы на покупку. Этот подход имеет недостаток — он не обеспечивает автоматической записи в журнале; в результате при сбое или прерывании загрузки может возникнуть необходимость начинать весь процесс заново.