Программирование на АВАР/4

Программирование на АВАР/4

Язык АВАР/4 — это полноценный язык программирования четвертого поколения, который зародился как язык для отчетности. Как и в случае с любым традиционным языком программирования, свойства и возможности АВАР/4 можно описать, разделив следующим образом:

• Операторы определения данных — описывают данные, которые обрабатывает программа АВАР/4 — например, DATA, TYPES, TABLES.

• Операторы запроса данных — указывают атрибуты записи данных, которые необходимо получить и обработать — например, SELECT.

• Операторы манипуляций с данными — выполняют стандартные операции сданными, например ADD, SUBTRACT, MOVE, COMPUTE.

• Операторы контроля данных — подают сигнал структурам контроля (таким, как цикл, решение, стандартные подпрограммы и т. д.) — например 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

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

Отчетные транзакции

Отчетные транзакции — это программы SAP, которые осуществляют сбор параметров в экране выбора, на выходе получаются так называемые списки (lists).

Диалоговые транзакции

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

Стандартные подпрограммы

Как и любой другой язык программирования, АВАР/4 поддерживает стандартные подпрограммы для обеспечения модуляризации программ. Это расширяет возможности повторного использования подпрограмм и ведет к улучшению производительности и качества работы системы, а также к облегчению ее поддержания и документирования. В АВАР/4 предусмотрена возможность задания стандартных подпрограмм с помощью элемента FORM, и вызывать их из внутренних или внешних программ с помощью оператора PERFORM.

Другие характеристики стандартных подпрограмм:

• Параметры любого типа могут передаваться стандартным подпрограммам

• Вызовы могут генерироваться динамично во время обработки

• Вызовы могут быть повторными, вкладываться друг в друга и т. д.

Функции

Функции — это особый вид стандартных подпрограмм; они крайне важны для модуляризации программ и приложений АВАР/4. Модули функций хранятся в централизованной библиотеке, откуда их может затребовать любая программа АВАР/4. Модули функций — это инкапсулированные объекты, они обладают ясно заданными интерфейсами с такими параметрами, как импорт, экспорт и параметры таблиц. Модули функций располагают средствами для программирования решения исключительных ситуаций, которые случаются во время обработки этих функций.