HANDLE ABEND
Condições: NOTAUTH, PGMIDERR (apenas PROGRAMA)
Descrição
Use o comando HANDLE ABEND para ativar, cancelar ou reativar uma saída para processamento de finalização anormal. Você pode suspender o comando usando os comandos PUSH HANDLE e POP HANDLE.
Quando uma tarefa termina de forma anormal, o CICS procura uma saída de encerramento anormal ativa, iniciando no nível lógico do programa de aplicativo no qual o encerramento ocorreu e prosseguindo para níveis sucessivamente mais altos. A primeira saída de encerramento anormal ativa encontrada, se houver, recebe controle.
O comando HANDLE ABEND não pode interceptar anulações que são emitidas com a opção CANCELAR. Algumas interrupções internas geradas pelo CICS são emitidas com a opção CANCEL, por exemplo, os códigos de interrupção ASPx ou APSJ.
Quando o rótulo especificado em um comando HANDLE ABEND LABEL recebe controle, os registradores são definidos da seguinte maneira:
COBOL
O controle retorna ao comando HANDLE ABEND com os registros restaurados. A instrução COBOL GO TO é então executada.
Assembler
R15: Anule o rótulo. R0-14: Conteúdo no momento em que o último comando EXEC CICS foi emitido no mesmo nível de programa que o comando HANDLE ABEND foi emitido.
Se LABEL for especificado, o modo de endereçamento e a chave de execução usados são os do programa que emitiu o comando HANDLE ABEND.
Se PROGRAM for especificado, o modo de endereçamento é definido pela maneira como o programa é editado por link e a chave de execução é especificada pela opção EXECKEY na definição de recurso do programa.
Se uma COMMAREA foi estabelecida, ela será passada para o PROGRAMA especificado. Onde mais de um programa aplicativo estava envolvido na tarefa, o COMMAREA que é passado para a saída de encerramento anormal é o COMMAREA do programa que emitiu o comando HANDLE ABEND. Pode não ser o COMMAREA do programa em que o encerramento foi encerrado.
Se existir um canal atual, ele será acessível a partir do PROGRAMA especificado.
Opções
CANCEL
Especifica que uma saída estabelecida anteriormente no nível lógico do programa de aplicativo no controle é cancelada. Esta opção é o padrão.
LABEL (etiqueta)
Especifica o rótulo do programa no qual o controle se ramifica se ocorrer uma finalização anormal.
Você não pode usar esta opção para os aplicativos de linguagem assembler AMODE (64), C, C ++ ou PL / I.
PROGRAM (nome)
Especifica o nome do programa ao qual o controle é passado se a tarefa for finalizada de forma anormal. Se a condição de cancelamento for encerrada e o programa especificado ainda não estiver definido, esse programa será instalado automaticamente.
O programa nomeado nesta opção sempre deve terminar com um encerramento anormal, exceto quando o processamento é interrompido gerado como resultado da lógica do programa aplicativo.
RESET
Especifica que uma saída cancelada por um comando HANDLE ABEND CANCEL, ou pelo CICS, é reativada.
Essa opção geralmente é emitida por uma rotina de saída de encerramento anormal.
Condições
70 NOTAUTH
Ocorre quando uma verificação de segurança do recurso falha em PROGRAMA (nome).
Ação padrão: finalize a tarefa de forma anormal.
27 PGMIDERR
Valores RESP2:
- 1 - O programa não possui uma definição de recurso instalada e a instalação automática de programas não está ativa.
- 2 - O programa está desativado.
- 9 - A definição de recurso do programa instalado é para um programa remoto.
Ação padrão: finalize a tarefa de forma anormal.
Exemplos:
EXEC CICS HANDLE ABEND
PROGRAM('EXITPGM')