стандартные подпрограммы и т. д.) — например DO, WHILE, IF, CASE, PERFORM.
• Операторы событий с данными — запускают выполнение некоторых стандартных подпрограмм в зависимости от наступления определенных событий — например Pfnn, GET/SET, END-OF-PAGE, AT USER- COMMAND, AT LINE-SELECTION.
Язык АВАР/4 поддерживает почти все стандартные типы данных. На основе этих базовых типов данных АВАР/4 позволяет разрабатывать более сложные структуры или типы данных. Именно в этой области ярко проявляется влияние таких языков программирования, как COBOL.
Кроме того, АВАР/4 содержит все стандартные элементы языка программирования для манипуляций с данными — присвоение, сравнение, вычисление, сложное вычисление с участием различных типов данных и т. д. Помимо этого, в АВАР/4 предусмотрен широкий спектр функций для обработки текстовых данных, в том числе присвоение, округление, добавление пробелов, поиск конкретной строки, сравнение строк, конкатенация строк и т. д., а также различные операции для вычисления данных — подсчет периодов времени в днях, назначение будущих дат, сравнение дат и т. д.
Язык АВАР/4 предусматривает возможность доступа к таблицам данных в словаре АВАР/4 с помощью SAP OpenSQL, а также, через SQL к любой стандартной базе данных: Oracle, DB2, Informix и т. д. Для обеспечения независимости системы R/3 от лежащей в основе базы данных, OpenSQL внедряет только необходимый минимум команд и возможностей SQL. Операция соединения отношений, хотя и недоступна в рамках OpenSQL, может использоваться с помощью команд, заданных в словаре АВАР/4.
Внутренние таблицы
Это временные таблицы, которые существуют только в период работы той или иной программы АВАР/4. В языке АВАР/4 предусмотрены различные операции для обработки внутренних таблиц — такие, как сортировка, поиск, последовательный доступ и т. д.
Когда необходимо произвести примерно одинаковую обработку набора записей из таблиц базы данных, определение внутренних таблиц помогает сделать работу программы более эффективной посредством использования таких контрольных операторов, как CASE, цикл типа «DO» и т. д.
Транзакция SAP похожа на программу, написанную на одном из стандартных языков программирования, она имеет индивидуальный 4-х значный код транзакции. Транзакция может быть запущена напрямую, через командную строку в интерфейсе представления или с помощью соответствующего пункта меню. Существует два типа транзакций: отчетные и диалоговые.
Отчетные транзакции
Отчетные транзакции — это программы SAP, которые осуществляют сбор параметров в экране выбора, на выходе получаются так называемые списки (lists).
Диалоговые транзакции
Диалоговые программы состоят из двух и более интерактивных экранов, называемых dynpro. Для запуска этим транзакциям тоже иногда требуется заранее выбранная информация; это схоже с экранами отбора информации в программах отчетности, такие транзакции называются транзакциями параметров.
Как и любой другой язык программирования, АВАР/4 поддерживает стандартные подпрограммы для обеспечения модуляризации программ. Это расширяет возможности повторного использования подпрограмм и ведет к улучшению производительности и качества работы системы, а также к облегчению ее поддержания и документирования. В АВАР/4 предусмотрена возможность задания стандартных подпрограмм с помощью элемента FORM, и вызывать их из внутренних или внешних программ с помощью оператора PERFORM.
Другие характеристики стандартных подпрограмм:
• Параметры любого типа могут передаваться стандартным подпрограммам
• Вызовы могут генерироваться динамично во время обработки
• Вызовы могут быть повторными, вкладываться друг в друга и т. д.
Функции — это особый вид стандартных подпрограмм; они крайне важны для модуляризации программ и приложений АВАР/4. Модули функций хранятся в централизованной библиотеке, откуда их может затребовать любая программа АВАР/4. Модули функций — это инкапсулированные объекты, они обладают ясно заданными интерфейсами с такими параметрами, как импорт, экспорт и параметры таблиц. Модули функций располагают средствами для программирования решения исключительных ситуаций, которые случаются во время обработки этих функций.
Отчетность
Отчеты обращаются к одной или нескольким таблицам и показывают их содержимое в форме списка, который доступен для просмотра либо на экране, либо в напечатанном виде. Программы отчетности весьма схожи с аналогичными программами в других языках программирования — таких, как COBOL.
Для получения данных для отчетов, программы отчетности должны обратиться к нескольким логически взаимосвязанным таблицам. Следовательно, программе отчетности каждый раз приходится устанавливать контакт с каждой из таблиц. Так как многие отчеты обращаются к одним и тем же таблицам, возможно объединение различных по природе отчетов. В SAP предусмотрена особая программа, которая называется логическая база данных. Она считывает данные из нескольких баз данных и компонует их, чтобы к этим данным могли обращаться несколько отчетов одновременно. В таком случае каждому отчету для анализа и демонстрации данных приходится считывать данные только из одного источника. Это увеличивает эффективность работы программ, легкость их обслуживания и т. д.
Экраны выбора представляются перед выполнением отчета, они выступают как фильтры, ограничивающие количество записей, включенных в отчет для анализа. Экран выбора — это автоматически генерируемый для каждого отчета экран. Экраны выбора могут собирать либо параметры, либо диапазоны значений для того или иного поля в таблице.
Интерактивная обработка подразумевает предоставление исходных данных или дополнительную обработку списков в отчетах в то время, когда эти отчеты выведены на экране. Во время просмотра отчета дополнительная обработка, транзакции или отчеты могут быть запущены с помощью функциональных клавиш. Запуск дополнительных отчетов относится к углубленной отчетности, упомянутой в соответствующем разделе главы 4.
Программирование диалогов
Программирование диалогов имеет отношение к разработке интерактивных приложений в SAP. Программирование диалогов основывается на концепции динамической программы (dynpro), которая состоит из экрана ввода и соответствующего кода обработки. Диалоговая программа состоит из одной или нескольких динамических программ. Элементы диалоговой программы:
• Один или несколько интерфейсов представления
• Один или несколько экранов динамических программ
• Логика исполнения.
Динамическая программа управляет только элементами ввода и их поведением на экране. Как уже