Как к заданию аварийного завершения намеренно

Действительно ли это возможно к аварийному завершению Ваше задание намеренно через программу КОБОЛа. предположите, что у меня есть Входной файл, имеющий Заголовок, Деталь и записи Трейлера. Я запишу КОБОЛ pgm, который читает этот файл. Если никакие Подробные записи не найдены в этом файле затем, я хочу к аварийному завершению свое задание путем предоставления некоторого сообщения Аварийного завершения и некоторого Кода Аварийного завершения. Действительно ли это возможно?

5
задан Saisha 2 July 2010 в 06:25
поделиться

2 ответа

Вы хотите ОТКРЫТЬ свою программу или просто установить КОД ВОЗВРАТА ?

Я подозреваю, что установил КОД ВОЗВРАТА, написав сообщение а затем завершение программы с помощью STOP RUN или GOBACK - вот и все, что вы действительно хотите сделать. Причинение фактического ABEND может не потребоваться.

В пакетной среде IBM КОД ВОЗВРАТА, установленный вашей программой, становится RC для шага задания JCL, на котором выполнялась программа. Это обычно то, что вы хотите установить и протестировать.

КОД ВОЗВРАТА устанавливается с помощью MOVE , присваивая ему числовое значение. Например:

         DISPLAY 'No Detail Records found in file.'
         MOVE 16 TO RETURN-CODE
         GOBACK.

Вы также можете создать дамп программы из программы, запущенной в языковой среде (IBM Вариант мэйнфрейма) с помощью the CEE3DMP - Создать дамп утилита.

В старых программах на языке COBOL для мэйнфреймов IBM вы могли видеть вызовы подпрограммы ILBOABN0 . Этот звонок отменил вашу программу и выпустил дамп. Эта процедура теперь обесценена в пользу техника, изложенная выше.

Наконец, в действительно старых программах может быть код для генерации аварийных завершений. Это можно сделать любым количеством способов, но деление на ноль было часто любимый:

        DIVIDE SOME-NUMBER BY ZERO GIVING SOME-NUMBER.

Работает каждый раз!

Лично я рекомендую установить КОД ВОЗВРАТА вместо вызова ILBOABN0 или методов исключения данных.

Примечание: Специальный регистр RETURN-CODE не является частью стандарта COBOL-85. Он доступен как расширение IBM к языку. Возможно, вам придется прибегнуть к другому механизму, если вы работаете в несовместимой с IBM среде.

8
ответ дан 18 December 2019 в 14:42
поделиться

см. Следующую ссылку о том, как установить код возврата, передаваемый обратно на шаг задания JCL, а также принудительно выполнить код Abened. http://www.tek-tips.com/viewthread.cfm?qid=1058302&page=22

3
ответ дан 18 December 2019 в 14:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: