🧠 Explicação
O comando EXEC CICS ENDBR é utilizado para encerrar uma operação de navegação sequencial (browse) sobre um arquivo ou tabela de dados no CICS, previamente iniciada com o comando STARTBR. Ele libera os recursos e bloqueios associados à navegação.
É essencial emitir o ENDBR após terminar o browse, especialmente antes de executar comandos como READ UPDATE, para evitar abends de bloqueio. Esse comando também deve ser utilizado antes de um ponto de sincronização, garantindo a liberação correta dos recursos.
🛠️ Usos mais comuns
-
Encerrar uma navegação iniciada com
STARTBRe usada comREAD NEXT,READ PREV, etc. -
Evitar erros de bloqueio (como
AEI9) ao executarREAD UPDATEapós navegação. -
Liberar recursos do CICS associados à sessão de browse antes de um ponto de sincronização.
🧾 Sintaxe
EXEC CICS ENDBR
FILE(nome-do-arquivo)
[REQID(identificador-opcional)]
[SYSID(nome-do-sistema)]
END-EXEC.
💻 Exemplo prático em COBOL
EXEC CICS ENDBR
FILE('CLIENTES')
END-EXEC.
Neste exemplo, a navegação no arquivo CLIENTES é encerrada, liberando os recursos associados ao browse.
📋 Parâmetros e opções
| Opção | Descrição |
|---|---|
FILE(nome) |
Nome do arquivo que está sendo navegado. Obrigatório. |
REQID(valor) |
Identificador único para o browse, utilizado para controlar múltiplas operações simultâneas (opcional). |
SYSID(nome) |
Nome do sistema remoto, caso o arquivo esteja em outra região CICS (1 a 4 caracteres). |
📌 Regras
-
O
ENDBRdeve ser chamado após a navegação comSTARTBR, mesmo que nenhum registro tenha sido encontrado. -
Se o
STARTBRnão foi bem-sucedido, oENDBRnão precisa ser emitido. -
O uso da opção
UPDATEnoSTARTBRexige o uso deENDBRantes de qualquerREAD UPDATE. -
O comando é thread-safe apenas se:
-
O arquivo for local (VSAM/RLS).
-
Ou for remoto acessado via IPIC.
-
-
Não é thread-safe para arquivos BDAM, tabelas compartilhadas ou conexões não-IPIC.
💡 Dicas
-
Sempre que navegar com
STARTBR, inclua oENDBRao final — mesmo em blocos de tratamento de erro. -
Se estiver utilizando
REQID, mantenha valores distintos para cada operação paralela de browse. -
Combine
ENDBRcomSYNCPOINTpara garantir consistência e evitar acúmulo de bloqueios. -
O uso correto de
ENDBRevita abends como AEI9 (bloqueio automático).
✅ Conclusão
O comando EXEC CICS ENDBR é fundamental para encerrar corretamente uma operação de navegação sobre arquivos no CICS. Ele garante a liberação dos recursos associados, evita bloqueios indesejados e promove maior controle sobre as transações. Seu uso é simples, mas indispensável em qualquer rotina que utilize STARTBR.