ABAP
Классы сообщений / ключевое слово MESSAGE
Поиск…
Вступление
Оператор MESSAGE может использоваться для прерывания потока программы для отображения коротких сообщений пользователю. Содержимое сообщений может быть определено в коде программы, в текстовых символах программы или в отдельном классе сообщений, определенном в SE91 .
замечания
Максимальная длина сообщения, включая параметры, переданные ему с помощью & , составляет 72 символа.
Определение класса сообщений
PROGRAM zprogram MESSAGE-ID sabapdemos.
Системное сообщение может быть сохранено в классе сообщений. Маркер MESSAGE-ID определяет класс сообщений sabapdemos для всей программы. Если это не используется, класс сообщения должен указываться при каждом вызове MESSAGE .
СООБЩЕНИЕ с предопределенным текстовым символом
PROGRAM zprogram MESSAGE-ID za.
...
MESSAGE i000 WITH TEXT-i00.
Сообщение отобразит текст, сохраненный в текстовом символе i00 пользователю. Поскольку тип сообщения - i (как видно на i000 ), после выхода пользователя из диалогового окна поток программы будет продолжаться с точки вызова MESSAGE .
Хотя текст не пришел из класса сообщений za , необходимо указать MESSAGE-ID .
Сообщение без предопределенного класса сообщений
PROGRAM zprogram.
...
MESSAGE i050(sabapdemos).
Может быть неудобно определять класс сообщений для всей программы, поэтому можно определить класс сообщения, из которого сообщение приходит в самой инструкции MESSAGE . В этом примере будет отображаться сообщение 050 из класса сообщений sabapdemos .
Динамические сообщения
DATA: msgid TYPE sy-msgid VALUE 'SABAPDEMOS',
msgty TYPE sy-msgty VALUE 'I',
msgno TYPE sy-msgno VALUE '050'.
MESSAGE ID mid TYPE mtype NUMBER num.
Вышеупомянутый вызов MESSAGE является синонимом вызова MESSAGE i050(sapdemos). ,
Передача параметров сообщениям
Символ & может использоваться в сообщении, чтобы позволить ему передавать параметры.
Упорядоченные параметры
Сообщение 777 класса sabapdemos :
Message with type &1 &2 in event &3
Вызов этого сообщения тремя параметрами возвращает сообщение с использованием параметров:
MESSAGE i050(sabapdemos) WITH 'E' '010' 'START-OF-SELECTION`.
Это сообщение будет отображаться как Message with type E 010 in event START-OF-SELECTION . Число рядом с символом & обозначает порядок отображения параметров.
Неупорядоченные параметры
Сообщение 888 класса sabapdemos :
& & & &
Вызов этого сообщения аналогичен:
MESSAGE i050(sabapdemos) WITH 'param1' 'param2' 'param3' 'param4'.
Это вызовет param1 param2 param3 param4 .