Thursday 21 November 2024

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')