CICS - Tratamento de condições de exceção


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

CICS - Tratamento de condições de exceção

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á.