🧠 Explicação
O comando EXEC CICS DELETEQ TD
é utilizado para excluir completamente os dados de uma fila de dados transitórios (TDQ) intrapartição definida no CICS. Ele remove todos os registros da fila especificada, liberando o espaço alocado na memória.
Este comando não pode ser usado com filas de partição extra (extra-partition TDQs). Tentativas de fazer isso geram uma exceção INVREQ
.
É thread-safe somente quando:
-
a fila é local, ou
-
a função é enviada via conexão IPIC para um sistema remoto.
🛠️ Usos mais comuns
-
Limpar completamente uma fila TD intrapartição usada para comunicação ou armazenamento temporário.
-
Garantir que não existam registros antigos antes de reiniciar uma carga de dados.
-
Resetar uma fila de trabalho em sistemas batch ou online.
🧾 Sintaxe
EXEC CICS DELETEQ TD
QUEUE(nome-da-fila)
[SYSID(nome-sistema)]
END-EXEC.
💻 Exemplo prático em COBOL
EXEC CICS DELETEQ TD
QUEUE('WQ01')
END-EXEC.
Esse comando exclui todos os registros existentes na fila TD chamada WQ01
(fila intrapartição previamente definida no CICS).
📜 Regras
-
A fila deve estar definida como intrapartição.
-
O nome da fila (
QUEUE
) deve ter entre 1 e 4 caracteres alfanuméricos. -
O uso de
SYSID
só se aplica para exclusão remota em conexões via IPIC. -
Não se aplica a filas extra-partition.
-
A fila deve estar habilitada no CICS.
💡 Dicas
-
Use este comando com cautela, pois exclui todos os dados da fila permanentemente.
-
Ideal para uso em ambientes controlados ou em pontos de reinício de processamento.
-
Se você pretende processar item por item, use
READQ TD
com exclusão após leitura, em vez deDELETEQ TD
. -
Uma boa prática é verificar se a fila tem registros antes da exclusão (com um
READQ TD INTO
+HANDLE CONDITION NOTFND
).
✅ Conclusão
O comando EXEC CICS DELETEQ TD
é uma forma direta e eficaz de limpar completamente uma fila de dados transitórios intrapartição no ambiente CICS. Ideal para cenários de reinicialização de processos, ele deve ser utilizado com responsabilidade, pois todos os registros são permanentemente eliminados da fila.