
- •Тема 6 Первая Программа abap/4
- •1 Среда разработки (Development Environment)
- •2 Типы программ (Program types)
- •3. Создание первой программы и получение помощи
- •4 Синтаксис abap/4: оператор select, упрощенный оператор data
- •5. Системные переменные
- •6. Цепной Оператор
- •7. Оператор select single
- •9. Синтаксис программ, написанных на языке авар/4
9. Синтаксис программ, написанных на языке авар/4
Текст программы состоит из операторов (или команд), каждый оператор заканчивается точкой.
report abaptest.
write 'Customer list'.
Основные правила синтаксиса АВАР/4:
Оператор представляет собой последовательность "слов", которая завершается точкой
Слова в операторе отеляются пробелами с обеих сторон
Оператор всегда начинается с ключевого слова АВАР/4, например write или report
Литералы (последовательности символов) ограничиваются одинарной кавычкой (')
Допускается использование символа "одинарная кавычка" внутри текста самого литерала, но в этом случае одинарная кавычка удваивается. Так, оператор
write 'Customer'' s Name'
соответствует такому тексту на экране: Customer's Name.
Многие команды АВАР/4 позволяют задавать дополнительные параметры. Например, в следующей строке программного текста команда write содержит необязательное дополнение, задающее позицию, в которой текст появляется при выводе строки на экран:
write 'Customer l i s t ' at 10.
Очень удобно снабжать исходный текст комментариями, позволяющими свободно читать и документировать текст программы. Комментарии никак не влияют на выполнение программы. Любой текст после символа "звездочка" (*) в первой колонке или после символа "двойная кавычка" в любой колонке трактуется как комментарий.
Оператор может занимать несколько строк, где в одной строке присутствует несколько операторов. Однако на практике нежелательно располагать элементы программного текста в хаотическом порядке: рекомендуется следовать внутренней логике, которая соответствует стандартным соглашениям о программировании и позволяет сделать программу легко читаемой и удобной в работе.
Комбинирование операторов.
Предположим, в программе имеется последовательность операторов
write 'Customer l i s t ' .
write 'Booking' .
Из этой последовательности, используя такие символы, как двоеточие и запятая, можно скомбинировать один оператор:
write: 'Customer l i s t ', ' Booking' .
Согласно этому правилу, можно комбинировать все операторы с идентичным началом. Общая часть располагается перед двоеточием, а различные части последовательности отделяются запятыми.
Использование регистров
В большинстве случаев АВАР/4 не различает, в каком регистре набраны символы. Эти три оператора идентичны:
write 'X'.
WRITE 'X'.
wRiTe 'X'.
Символы верхнего н нижнего регистров различаются только в литералах.
Резюме
Программы ABAP/4 составлены из компонентов. Компоненты – атрибуты, исходный текст, варианты, текстовые элементы и документация. Как минимум, у программы должны быть атрибуты и исходный текст.
Отчеты ABAP/4 должны начаться с оператора report
Оператор tables распределяет заданную по умолчанию рабочую область таблицы и также предоставляет доступ программы к таблице базы данных того же самого названия.
Оператор select получает строки от таблицы базы данных. Используйте select single, чтобы получить одну строку. Используйте select/endselect, чтобы получить множество строк.
select/endselect формирует цикл. Код в цикле выполняется для каждой строки таблицы, которая удовлетворяет выражению where. Цикл заканчивается автоматически, когда все строки были обработаны. Если Вы не определяете выражение into, каждая строка помещена в заданную по умолчанию рабочую область таблицы, и записывается поверх предыдущей строки. Системная переменная sy-subrc устанавливается в 0, если какие-нибудь строки были выбраны, и устанавливается в 4, если никакие строки не были выбраны. sy-dbcnt увеличивается на 1 при каждом проходе цикла, и после endselect, она содержит число полученных строк.
Цепной оператор – двоеточие (:). Он используется, чтобы уменьшить избыточность кода, там, где два или более операторов начинаются с одного и того же слова или последовательности слов.