Учебники

SAP ABAP — основной синтаксис

Исходная программа ABAP состоит из комментариев и утверждений ABAP. Каждый оператор в ABAP начинается с ключевого слова и заканчивается точкой, а в ABAP учитывается регистр ‘Not’.

Первая строка без комментариев в программе начинается со слова ОТЧЕТ. Отчет всегда будет первой строкой любой созданной исполняемой программы. За оператором следует имя программы, которая была создана ранее. Затем линия заканчивается полной остановкой.

Синтаксис —

REPORT [Program_Name]. 
 
[Statements…]. 

Это позволяет оператору занимать столько строк в редакторе, сколько ему нужно. Например, ОТЧЕТ может выглядеть так:

REPORT Z_Test123_01. 

Операторы состоят из команды и любых переменных и опций, заканчивающихся точкой. Пока в конце выписки указан период, никаких проблем не возникнет. Именно этот период отмечает, где заканчивается утверждение.

Давайте напишем код.

В строке ниже оператора REPORT просто введите этот оператор: Напишите «ABAP Tutorial».

REPORT Z_Test123_01.

Write 'This is ABAP Tutorial'. 

Четыре вещи, которые следует учитывать при написании заявлений

  • Оператор write записывает все, что в кавычках, в окно вывода.

  • Редактор ABAP преобразует весь текст в верхний регистр, кроме текстовых строк, которые заключены в одинарные кавычки.

  • В отличие от некоторых старых языков программирования, ABAP не заботится о том, где оператор начинается в строке. Вы можете воспользоваться этим и улучшить читабельность своей программы, используя отступы для обозначения блоков кода.

  • ABAP не имеет ограничений по оформлению выписок. То есть несколько операторов могут быть помещены в одну строку, или один оператор может растягиваться на несколько строк.

Оператор write записывает все, что в кавычках, в окно вывода.

Редактор ABAP преобразует весь текст в верхний регистр, кроме текстовых строк, которые заключены в одинарные кавычки.

В отличие от некоторых старых языков программирования, ABAP не заботится о том, где оператор начинается в строке. Вы можете воспользоваться этим и улучшить читабельность своей программы, используя отступы для обозначения блоков кода.

ABAP не имеет ограничений по оформлению выписок. То есть несколько операторов могут быть помещены в одну строку, или один оператор может растягиваться на несколько строк.

Обозначение двоеточия

Последовательные утверждения могут быть объединены в цепочку, если начало каждого утверждения идентично. Это делается с помощью оператора двоеточия (:) и запятых, которые используются для завершения отдельных операторов, так же как периоды заканчиваются обычными операторами.

Ниже приведен пример программы, которая может сохранить некоторые нажатия клавиш —

WRITE 'Hello'. 
WRITE 'ABAP'. 
WRITE 'World'. 

Используя обозначение двоеточия, его можно переписать следующим образом:

WRITE: 'Hello', 
       'ABAP', 
       'World'.

Как и любой другой оператор ABAP, макет не имеет значения. Это одинаково правильное утверждение —

WRITE: 'Hello', 'ABAP', 'World'.

Комментарии

Встроенные комментарии могут быть объявлены в любом месте программы одним из двух способов:

  • Комментарии в полной строке указываются звездочкой (*) в первой позиции строки, и в этом случае вся строка рассматривается системой как комментарий. Комментарии не должны заканчиваться точкой, потому что они не могут занимать более одной строки —

Комментарии в полной строке указываются звездочкой (*) в первой позиции строки, и в этом случае вся строка рассматривается системой как комментарий. Комментарии не должны заканчиваться точкой, потому что они не могут занимать более одной строки —

* This is the comment line
  • Частичные строчные комментарии обозначаются введением двойной кавычки («) после оператора. Весь текст, следующий за двойной кавычкой, рассматривается системой как комментарий. Вам не нужно заканчивать частичные строчные комментарии точкой, потому что они могут не распространяться на более чем одна строка —

Частичные строчные комментарии обозначаются введением двойной кавычки («) после оператора. Весь текст, следующий за двойной кавычкой, рассматривается системой как комментарий. Вам не нужно заканчивать частичные строчные комментарии точкой, потому что они могут не распространяться на более чем одна строка —

WRITE 'Hello'. "Here is the partial comment

Примечание. Комментарии в коде не пишутся заглавными буквами редактором ABAP.

Подавление пробелов

Команда NO-ZERO следует за оператором DATA. Он подавляет все ведущие нули числового поля, содержащего пробелы. Вывод, как правило, проще для пользователей.

пример

REPORT Z_Test123_01. 

DATA: W_NUR(10) TYPE N.
      MOVE 50 TO W_NUR.
      WRITE W_NUR NO-ZERO.

Приведенный выше код производит следующий вывод —

50

Примечание — без команды NO-ZERO вывод: 0000000050

Пустые строки

Команда SKIP помогает вставлять пустые строки на страницу.

пример

Сообщение команды выглядит следующим образом —

WRITE 'This is the 1st line'. 
SKIP. 
WRITE 'This is the 2nd line'. 

Приведенная выше команда сообщения создает следующий вывод:

This is the 1st line 
This is the 2nd line

Мы можем использовать команду SKIP для вставки нескольких пустых строк.

SKIP number_of_lines. 

Выводом будет несколько пустых строк, определяемых количеством строк. Команда SKIP также может поместить курсор в нужную строку на странице.

SKIP TO LINE line_number. 

Эта команда используется для динамического перемещения курсора вверх и вниз по странице. Обычно после этой команды выполняется оператор WRITE для вывода вывода в нужную строку.

Вставка строк

Команда ULINE автоматически вставляет горизонтальную линию поперек вывода. Также возможно контролировать положение и длину линии. Синтаксис довольно прост —

ULINE.

пример

Сообщение команды выглядит следующим образом —

WRITE 'This is Underlined'.
ULINE.

Приведенный выше код производит следующий вывод —

This is Underlined (and a horizontal line below this).

Сообщения

Команда MESSAGE отображает сообщения, определенные идентификатором сообщения, указанным в операторе REPORT в начале программы. Идентификатор сообщения представляет собой двухсимвольный код, который определяет, к какому набору из 1000 сообщений программа будет обращаться при использовании команды MESSAGE.

Сообщения пронумерованы от 000 до 999. С каждым номером связан текст сообщения длиной до 80 символов. Когда вызывается номер сообщения, отображается соответствующий текст.

Ниже приведены символы для использования с командой сообщения —

Сообщение Тип последствия
Е ошибка Появляется сообщение, и приложение останавливается в своей текущей точке. Если программа работает в фоновом режиме, задание отменяется, и сообщение записывается в журнал заданий.
W Предупреждение Появится сообщение, и пользователь должен нажать Enter, чтобы приложение продолжило работу. В фоновом режиме сообщение записывается в журнал заданий.
я Информация Откроется всплывающее окно с текстом сообщения, и пользователь должен нажать Enter, чтобы продолжить. В фоновом режиме сообщение записывается в журнал заданий.
Абенд Этот класс сообщений отменяет транзакцию, которую в данный момент использует пользователь.
S успех Это обеспечивает информационное сообщение в нижней части экрана. Отображаемая информация носит положительный характер и предназначена только для отзывов пользователей. Сообщение не препятствует программе в любом случае.
Икс выкинуть Это сообщение прерывает программу и создает короткий дамп ABAP.

Сообщения об ошибках обычно используются, чтобы не дать пользователям делать то, что они не должны делать. Предупреждающие сообщения обычно используются, чтобы напомнить пользователям о последствиях их действий. Информационные сообщения дают пользователям полезную информацию.

пример

Когда мы создаем сообщение для сообщения ID AB, команда MESSAGE — MESSAGE E011 дает следующий вывод —