Стандартные подпрограммы
Как и любой другой язык программирования, АВАР/4 поддерживает стандартные подпрограммы для обеспечения модуляризации программ. Это расширяет возможности повторного использования подпрограмм и ведет к улучшению производительности и качества работы системы, а также к облегчению ее поддержания и документирования. В АВАР/4 предусмотрена возможность задания стандартных подпрограмм с помощью элемента FORM, и вызывать их из внутренних или внешних программ с помощью оператора PERFORM.
Другие характеристики стандартных подпрограмм:
• Параметры любого типа могут передаваться стандартным подпрограммам
• Вызовы могут генерироваться динамично во время обработки
• Вызовы могут быть повторными, вкладываться друг в друга и т. д.
Функции
Функции — это особый вид стандартных подпрограмм; они крайне важны для модуляризации программ и приложений АВАР/4. Модули функций хранятся в централизованной библиотеке, откуда их может затребовать любая программа АВАР/4. Модули функций — это инкапсулированные объекты, они обладают ясно заданными интерфейсами с такими параметрами, как импорт, экспорт и параметры таблиц. Модули функций располагают средствами для программирования решения исключительных ситуаций, которые случаются во время обработки этих функций.
Отчеты обращаются к одной или нескольким таблицам и показывают их содержимое в форме списка, который доступен для просмотра либо на экране, либо в напечатанном виде. Программы отчетности весьма схожи с аналогичными программами в других языках программирования — таких, как COBOL.
Логические базы данных
Для получения данных для отчетов, программы отчетности должны обратиться к нескольким логически взаимосвязанным таблицам. Следовательно, программе отчетности каждый раз приходится устанавливать контакт с каждой из таблиц. Так как многие отчеты обращаются к одним и тем же таблицам, возможно объединение различных по природе отчетов. В SAP предусмотрена особая программа, которая называется логическая база данных. Она считывает данные из нескольких баз данных и компонует их, чтобы к этим данным могли обращаться несколько отчетов одновременно. В таком случае каждому отчету для анализа и демонстрации данных приходится считывать данные только из одного источника. Это увеличивает эффективность работы программ, легкость их обслуживания и т. д.
Экраны выбора
Экраны выбора представляются перед выполнением отчета, они выступают как фильтры, ограничивающие количество записей, включенных в отчет для анализа. Экран выбора — это автоматически генерируемый для каждого отчета экран. Экраны выбора могут собирать либо параметры, либо диапазоны значений для того или иного поля в таблице.
Интерактивная отчетность
Интерактивная обработка подразумевает предоставление исходных данных или дополнительную обработку списков в отчетах в то время, когда эти отчеты выведены на экране. Во время просмотра отчета дополнительная обработка, транзакции или отчеты могут быть запущены с помощью функциональных клавиш. Запуск дополнительных отчетов относится к углубленной отчетности, упомянутой в соответствующем разделе главы 4.
Программирование диалогов
Программирование диалогов имеет отношение к разработке интерактивных приложений в SAP. Программирование диалогов основывается на концепции динамической программы (dynpro), которая состоит из экрана ввода и соответствующего кода обработки. Диалоговая программа состоит из одной или нескольких динамических программ. Элементы диалоговой программы:
• Один или несколько интерфейсов представления
• Один или несколько экранов динамических программ
• Логика исполнения.
Динамическая программа управляет только элементами ввода и их поведением на экране. Как уже упоминалось в разделе «Редактор меню», такие средства управления, как меню и кнопки управляются интерфейсом представления.
Диалоговая программа называется банком модулей, потому что содержит собрание осуществляющих обработку модулей. На рис 8.13 представлен список модулей истории заказов на закупку.
Именно в этой области особенно ясно видна динамичная философия системы SAP и ее объектно-ориентированный подход. Диалоговая программа не является программой как таковой и не использует принцип последовательной обработки. Вся обработка зависит от событий, возникающих в результате взаимодействия пользователя с интерфейсом системы.
Читать дальше