Функция CONDITION в качестве результата возвращает информацию, связанную с условием, которое отслеживается в настоящий момент. Вы можете получить следующую информацию:
В функции CONDITION могут быть указаны следующие режимы (значащими являются только заглавные буквы режимов, остальные игнорируются):
Condition name | Возвращает имя условия, которое отслеживается в настоящий момент. |
Description | Возвращает любую описательную строку, связанную с условием, которое отслеживается в настоящий момент. Если описательные строки отсутствуют, то в качестве результата возвращается пустая строка. |
Instruction | Возвращает ключевое слово инструкции, выполнявшейся в момент обнаружения условия, которое отслеживается в настоящий момент. Ключевыми словами могут быть CALL или SIGNAL. Если Вы не укажете режим, то будет принят режим по умолчанию. |
Status | Возвращает состояние условия, которое отслеживается в настоящий момент. Оно может меняться в процессе выполнения и принимать следующие значения: |
ON - отслеживание условия включено | |
OFF - отслеживание условия выключено | |
DELAY - обработка любого последующего условия требуемого типа задерживается. |
Если нет условий, которые требуется отслеживать (т.е. не существует условия, которое отслеживается в настоящий момент), то функция CONDITION в качестве результата возвращает пустую строку для всех четырех режимов.
Ниже приведено насколько примеров: CONDITION() -> 'CALL' /* возможно */ CONDITION('C') -> 'FAILURE' CONDITION('I') -> 'CALL' CONDITION('D') -> 'FailureTest' CONDITION('S') -> 'OFF' /* возможно */
Прим. | Информация об условии, выдаваемая функцией CONDITION, в случае обращения процедуры к подпрограммам сохраняется и восстанавливается (включая информацию, получаемую по CALL ON). Поэтому, когда подпрограмма, вызванная по CALL ON, завершается, то условием, отслеживаемым в настоящий момент, становится то, которое имело место перед выполнением инструкции CALL. Функция CONDITION возвращает значения перед тем, как отслеживаемое условие было обнаружено. |