Вы хотите отменить свою программу или просто установить RETURN-CODE ?
Я подозреваю, что установка RETURN-CODE, запись сообщения и затем завершение программы через STOP RUN
или GOBACK
- это все, что вы действительно хотите сделать.Вызывать фактический ABEND может не потребоваться.
В пакетной среде IBM RETURN-CODE, установленный вашей программой, становится RC для шага задания JCL, под которым была запущена программа.Обычно это то, что вы хотите установить и проверить.
RETURN-CODE
устанавливается с помощью MOVE
, вводя для него числовое значение.Например:
DISPLAY 'No Detail Records found in file.'
MOVE 16 TO RETURN-CODE
GOBACK.
Вы также можете создать дамп программы из программы, запущенной в Language Environment (опция IBM Mainframe), используя утилиту CEE3DMP - Создать дамп .
В старых программах IBM Mainframe COBOL вы можете увидеть вызовы подпрограммы ILBOABN0
.Этот вызов завершил вашу программу и выпустил дамп.Эта процедура теперь устарела в пользу описанной выше методики.
Наконец, действительно старые программы могут содержать код для генерации аварийных сигналов.Это может быть сделано любым количеством способов, но деление на ноль часто было любимым:
DIVIDE SOME-NUMBER BY ZERO GIVING SOME-NUMBER.
Работает каждый раз!
Лично я рекомендую установить RETURN-CODE
вместо вызова ILBOABN0
или методы исключения данных.
Примечание: Специальный регистр RETURN-CODE не является частью стандарта COBOL-85.Он доступен как расширение IBM для языка.Возможно, вам придется прибегнуть к другому механизму, если вы работаете в среде, не совместимой с IBM.