Comando HANDLE CONDITION
Formato do comando:
| EXEC CICS HANDLE CONDITION |
Explicação do argumento |
|
Condição (parágrafo)
|
Especifica-se uma condição de erro, associando a ela um parágrafo que receberá o controle do
programa caso a condição de exceção ocorra.
|
o comando acima é utilizado para especificar um parágrafo que receberá o controle caso uma condição de
exceção ( erro de leitura/gravação em um arquivo ) ocorra.
O tratamento de uma determinada exceção prevalece até que seja especificado outro 'HANDLE CONDITION'
para a mesma exceção, ou se for executado o comando que ignore esta condição de exceção.
A especificação de um 'HANDLE CONDITION' para uma exceção, não elimina o tratamento de outras condições de
exceção anteriormente especificadas.
Existe uma condição especial que engloba todas as condições de exceção que podem ocorrer, com exceção das
condições de exceção que já foram especificadas no programa de aplicação, estaá condicao é 'ERROR'.
Exemplo do comando:
EXEC CICS
HANDLE CONDITION LENGERR (0100-LENGERR)
DUPKEY (0200-DUPKEY)
ERROR (0300-ERROR)
END-EXEC.
Explicação do exemplo:
Caso ocorra algum erro de tamanho em alguma funcao do COMMAND LEVEL, o controle do programa será desviado para
o parágrafo '0100-LENGERR'.
Caso haja registro em duplicata, o controle do programa será desviado para o paragrafo '0200-DUPKEY'.
Caso ocorra algum outro tipo de erro que nao esteja previsto no comando, o controle do programa serÁ desviado
para o paragrafo '0300-ERROR'.
Comando IGNORE CONDITION
Formato do comando:
| EXEC CICS IGNORE CONDITION |
Explicação do argumento |
|
Condição
|
Pode ser especificado um label para cada condição de exceção.
|
O comando acima é utilizado para ignorar uma determinada condição de exceção. Caso ocorra a condição de
exceção especificada a execução do programa continuará na instrucao seguinte a instrução que originou
a condição de exceção.
Exemplo do comando:
EXEC CICS
IGNORE CONDITION LENGERR
END-EXEC.
Explicação do exemplo:
Caso ocorra algum erro de tamanho em alguma funcao do COMMAND LEVEL, apos a execução deste comando, o CICS
irá ignora-lo, ou seja, o programa continuará com sua execução normalmente.
Observação:
Caso nao sejam codificados os comandos HANDLE e nem IGNORE CONDITION para uma determinada condição de exceção
e esta vier a ocorrer, o programa cancelará.
|