🧠 Explicação
O comando EXEC CICS IGNORE CONDITION
informa ao CICS que determinadas condições devem ser ignoradas, ou seja, não será feito nenhum desvio em caso de erro, e o controle continuará normalmente na instrução seguinte. O erro ainda será registrado no EIB (área de comunicação do CICS), permitindo que o programa trate-o manualmente se necessário.
🔧 Usos mais comuns
-
Ignorar condições como
NOTFND
após umREAD
, quando ausência de dados é aceitável. -
Permitir que o programa verifique erros manualmente por meio do campo
EIBRESP
. -
Evitar desvios desnecessários quando a falha de um comando não compromete o processamento.
-
Substituir temporariamente um
HANDLE CONDITION
existente.
🧾 Sintaxe
EXEC CICS IGNORE CONDITION
condicao1 condicao2 ...
END-EXEC.
💻 Exemplo prático
EXEC CICS IGNORE CONDITION
NOTFND
END-EXEC.
EXEC CICS READ
DATASET('CLIENTES')
RIDFLD(CHAVE-CLI)
INTO(AREA-CLI)
END-EXEC.
IF EIBRESP = DFHRESP(NOTFND)
DISPLAY "Cliente não encontrado".
END-IF.
📌 Regras
-
Máximo de 16 condições por comando
IGNORE CONDITION
. Para mais, use outro comando separado. -
O comando se aplica somente ao programa atual.
-
O tratamento permanece ativo até:
-
O término do programa;
-
Um novo
HANDLE CONDITION
para a mesma condição, que substitui oIGNORE
; -
Ou um
LINK
para outro programa (oIGNORE
não é herdado).
-
-
Se nenhuma condição for tratada ou ignorada, o CICS executa a ação padrão (geralmente abend).
-
Apenas a primeira condição não ignorada será passada ao programa, mesmo que outras também ocorram.
💡 Dicas
-
Combine com
EIBRESP
para controlar a lógica após a execução do comando:
IF EIBRESP = DFHRESP(DUPREC)
DISPLAY "Registro duplicado!".
END-IF.
-
Use
IGNORE CONDITION
com cuidado: errar na verificação deEIBRESP
pode mascarar falhas importantes. -
Ideal para comandos
READ
,DELETE
,WRITE
, onde certos erros podem ser esperados e tratados localmente.
✅ Conclusão
O comando EXEC CICS IGNORE CONDITION
oferece controle granular sobre erros esperados em um programa CICS, evitando desvios automáticos e permitindo que o programador decida como lidar com determinadas falhas. É uma ferramenta útil, mas deve ser usada com responsabilidade para não ocultar problemas reais no fluxo da aplicação.