:::: МЕНЮ ::::
Просмотр публикаций в рубрике: Справка

Оператор MESSAGE

Оператор MESSAGE служит для диалогового взаимодействия с пользователем. Существует шесть типов сообщения.

Тип Описание
S Status (Success). Сообщение отображается в статусной строке и не влияет на работу программы. Данный вид сообщения применяется для информирования об успешной выполнении операции.
status-message
W Warning. Предупредительные сообщения отображаются в статусной строке. При возникновении сообщения работа программы прерывается, а пользователю предоставляется возможность вносить исправления в полях для ввода. При нажатии на Enter в диалоговом режиме, работа программы будет восстановлена.
warning-message
E Error. Сообщение отображается в статусной строке. При возникновении данного вида сообщения обработка программы останавливается.
error-message
I Information. Информационное сообщение отображается в отдельном модальном окне. При возникновении сообщения работа программы прерывается. После закрытия диалога работа программы восстанавливается.
imformation-message
A Abend (Abort). Сообщение отображается в модальном окне. При возникновении сообщения программа завершается, а система возвращается в меню более высокого уровня. Сообщения стоит применять только в крайних ситуациях.
abend-message
X Exception. Сообщение инициирует дамп MESSAGE_TYPE_X. Данный вид сообщения стоит применять в ситуациях, когда нужно проанализировать что именно привело к ошибке во время выполнения.
x-message

Читать дальше…


Операторы для сравнения строк

Оператор Значение
CO Contains Only: Истина, если операнд1 содержит только символы из операнда2. Оператор регистрозависимый. Операнды чувствительны к ведущим/последним пробелам. Если операнд2 типа string и initial, то результатом логического выражения будет ложь, за исключением тех случаев, когда операнд1 тоже типа string и initial. В таком случае результатом логического выражения всегда будет истина. Если логическое выражение ложь, то sy-fdpos будет содержать смещение первого символа в операнде1, которого нет в операнде2. Иначе, sy-fdpos будет содержать длину операнда1.
CA Contains Any: Истина, Если операнд1 содержит хотя бы один символ из операнда2. Оператор регистрозависимый. Операнды чувствительны к ведущим/последним пробелам. Если операнд1 или операнд2 типа string и initial, то результатом логического выражения всегда будет ложь. Если результат сравнения положительный, то sy-fdpos будет содержать смещение первого символа в операнде1, который содержит операнд2. Иначе, sy-fdpos будет содержать длину операнда1.
CS Contains String: Истина, если содержимое операнда2 содержится в операнде1. Оператор регистронезависимый. Операнды чувствительны к ведущим пробелам. Если операнд1 типа string и initial, или типа C и содержит только пробельные символы, результатом логического выражения будет ложь, за исключением когда операнд2 также типа string и initial, или типа C и содержит только пробельные символы. В этом случае результатом логического выражения будет истина. Если выражение истина, то sy-fdpos будет содержать смещение операнда2 в операнде1. Если результатом сравнения будет ложь, то sy-fdpos будет содержать длину операнда1.
CP Covers Pattern: Истина, если содержимое операнда2 удовлетворяет шаблону операнда1. Операнд2 может содержать шаблонные символы: «*» — любая строка и «+» — любой символ. Оператор не чувствителен к регистру. Операнды чувствительны к ведущим пробелам. Если результат сравнения положительный, то sy-fdpos будет содержать смещение операнда2. Иначе, sy-fdpos будет содержать длину операнда1. Для поиска шаблонных символов их необходимо экранировать путем добавления в операнд2 символа «#» перед требуемым символом. Экранированные символы в операнде2 чувствительны к регистру.
CN Contains Not Only: Эквивалент операнд1 NOT CO операнд2.
NA Contains Not Any: Эквивалент операнд1 NOT CA операнд2.
NS Contains No String: Эквивалент операнд1 NOT CS операнд2.
NP No Pattern: Эквивалент операнд1 NOT CP операнд2.

Читать дальше…


Журнал приложений SAP

При выполнении программы могут возникать ситуации, которые необходимо донести до пользователя. Обычно это ошибки, предупреждения или просто сообщение об успешном выполнении процедуры. Эти сообщения не должны возникать по отдельности через команду MESSAGE. Их нужно собрать и отобразить все вместе в нужный момент. Такой набор сообщений называется журналом. Журнал содержит как заголовочную информацию (код транзакции, пользователь, дата и время создания и т.п.), так и позиционную (сами сообщения).
Для ведения журнала приложений SAP предоставляет мощный инструмент, называемый BAL (Basis Application Log). Журнал приложений применяется для отладки, поддержки и разработки как стандартный, так и Z-приложений. Лог особенно необходим при отладки фоновых задачах, веб-сервисов, рабочих процессов, т.е. где не всегда удобно, а иногда даже просто невозможно использовать стандартный отладчик.
Просмотреть журнал приложения можно в тр. SLG1.
тр. SLG1 - Журнал приложения SAP

Читать дальше…


Регулярные выражения в ABAP

Регулярное выражение (Regular expression, REGEX) — механизм поиска подстроки в тексте по предопределенному шаблону. Использование регулярных выражений имеет смысл в случаях когда у нас нет четкого понимания того, что нужно найти. К примеру, если стоит задача найти в тексте определенное слово или фразу, то подойдет обычный поиск подстроки. А когда требуется найти неизвестный e-mail или последовательность из 25-ти английских букв или цифр, например XXXXX-XXXXX-XXXXX-XXXXX-XXXXX, то без регулярных выражений просто не обойтись.
Читать дальше…