Есть несколько способов, которыми работа может закончиться. Обычные способы:
- Нормальный конец - Программы завершаются нормально без каких-либо сообщений.
- Контролируемое завершение работы - работа завершается принятием 4 за работу в WRKACTJOB или вызовом ENDJOB.
- Немедленное завершение работы - работа завершается принятием 4 на работу в WRKACTJOB или вызовом ENDJOB с OPTION (* IMMED).
- Контролируемый конец подсистемы. Подсистема, в которой выполняется задание, завершается вызовом ENDSBS.
- Непосредственный конец подсистемы. Подсистема, в которой выполняется задание, завершается вызовом ENDSBS с OPTION (* IMMED).
- Ошибка программы. Пользователь принимает C или D на сообщение.
Есть и другие, но они менее вероятны. На самом деле, опция ENDSBS (* IMMED) также не слишком вероятна, но ее легко протестировать.
Сразу отметим, что задания можно настроить так, чтобы они помещали журнал заданий в очередь только после ненормального завершения задания. В этом случае вы должны получить только журнал работ по причине 6 выше. В противном случае в журналах заданий, которые заканчивались, будет найдено следующее:
- Нормальный конец - только CPF1164 с кодом конца 0. В журнале заданий нет escape-сообщений.
CPF1164 Завершение 00/26/19 09: 06: 14.261295 QWTMCEOJ QSYS 0162 * EXT * N
Сообщение. , , , : Работа 274217 / MMURPHY / MMURPHY закончилась 26.03.199 в 09:06:14;
0,005 секунд используется; код конца 0.
- Контролируемый конец задания - опять нет экранирующих сообщений, но CPC1126 будет присутствовать. Код окончания 10 на CPF1164. Показывает профиль пользователя, который завершил работу.
CPC1126 Завершение 50 26.03.19 08: 42: 37.604265 QWTCCCNJ QSYS 0C74 * EXT * N
Сообщение. , , , : Задание 274196 / MMURPHY / MMURPHY было завершено пользователем MMURPHY.
Причина. , , , , : Пользователь MMURPHY выдал контролируемый запрос на окончание работы
274196 / MMURPHY / MMURPHY.
CPF1164 Завершение 00/26/19 08: 42: 37.607135 QWTMCEOJ QSYS 0162 * EXT * N
Сообщение. , , , : Работа 274196 / MMURPHY / MMURPHY закончилась 26.03.198 в 08:42:37;
6,291 секунды использовано; код конца 10.
- Немедленное завершение задания - опять нет экранирующих сообщений, но CPC1125 будет присутствовать. Код окончания 50 на CPF1164. Показывает профиль пользователя, который завершил работу.
CPC1125 Завершение 50 26.03.19 08: 44: 46.773821 QWTCCCNJ QSYS 0C74 * EXT * N
Сообщение. , , , : Задание 274200 / MMURPHY / MMURPHY было завершено пользователем MMURPHY.
Причина. , , , , : Пользователь MMURPHY немедленно отправил запрос о завершении работы
274200 / MMURPHY / MMURPHY.
CPF1164 Завершение 00/26/19 08: 44: 46.774951 QWTMCEOJ QSYS 0162 * EXT * N
Сообщение. , , , : Работа 274200 / MMURPHY / MMURPHY закончилась 26.03.198 в 08:44:46;
Использовано 5,661 секунды; код конца 50.
- Контролируемый конец подсистемы - аварийного сообщения нет, CPC1206 будет присутствовать. Нет указаний о том, кто выпустил ENDSBS. Код окончания 10 в CPF1164.
CPC1206 Завершение 50 26.03.19 08: 52: 59.936053 QWTMMTRS QSYS 0370 * EXT * N
От пользователя. , , , , , , , , : QSYS
Сообщение. , , , : Подсистема контролируется до конца.
CPF1164 Завершение 00/26/19 08: 52: 59.939458 QWTMCEOJ QSYS 0162 * EXT * N
Сообщение. , , , : Работа 274207 / MMURPHY / MMURPHY закончилась 26.03.199 в 08:52:59;
Использовано 16,004 секунды; код конца 10.
- Немедленный конец подсистемы - аварийного сообщения нет, CPC1207 будет присутствовать. Нет указаний о том, кто выпустил ENDSBS. Код окончания 10 в CPF1164.
CPC1207 Завершение 50 26.03.19 09: 05: 00.642584 QWTMMTRS QSYS 0370 * EXT * N
От пользователя. , , , , , , , , : QSYS
Сообщение. , , , : Подсистема немедленно завершается.
CPF1164 Завершение 00/26/19 09: 05: 00.643785 QWTMCEOJ QSYS 0162 * EXT * N
Сообщение. , , , : Работа 274213 / MMURPHY / MMURPHY закончилась 26.03.199 в 09:05:00;
Использовано 14,583 секунды; код конца 50.
- Сбой программы - до CPF1164 будут появляться управляющие сообщения, возможно, CEE9901, если программа является программой ILE RPG, возможно, другие, в зависимости от типа программы, которая завершилась ненормально. Скорее всего, вы увидите сообщение-запрос с ответом C, D или F. Все они отменяют программу, и если она является верхней программой в стеке, она отменяет задание. Однако будьте осторожны, программы CL допускают ответ R или I на сообщение с запросом, которое не отменяет работу, но повторяет или игнорирует сбойную программу. Так что не все escape-сообщения приведут к сбою задания, только неконтролируемые. Удивительно, но CPF1164 будет иметь конечный код 0, так как задание действительно не завершится с ошибкой, но оно обычно завершается после обработки управляющих сообщений, отправленных верхней программой в стеке.
Для задания, которое вызывает ENDJOB или ENDSBS, они также будут записаны в журнал, но, опять же, возможно, задание настроено на подавление журнала задания в случае успешного завершения, поэтому вы можете не увидеть Это. Сообщение ENDJOB - CPC1231 и показывает задание, которое было завершено. Это происходит, когда пользователь берет 4 за работу.
Message ID . . . . . . : CPC1231 Severity . . . . . . . : 00
Message type . . . . . : Completion
Date sent . . . . . . : 03/26/19 Time sent . . . . . . : 08:44:46
Message . . . . : ENDJOB started for job 274200/MMURPHY/MMURPHY.
Cause . . . . . : The End Job (ENDJOB) command is running for job
274200/MMURPHY/MMURPHY.
Если пользователь завершает работу, набрав в командной строке ENDJOB или ENDSBS, вы увидите сообщение с запросом, подобное этому:
From . . . . . . . . . : MMURPHY Severity . . . . . . . : 00
Message type . . . . . : Request
Date sent . . . . . . : 03/26/19 Time sent . . . . . . : 08:52:57
Message . . . . : ENDSBS SBS(MMURPHY)
К сожалению, в случае с подсистемой нет указаний о том, какие задания были завершены.