🧠 Explicação
O comando EXEC CICS DELETEQ TS
é utilizado para excluir completamente uma fila de armazenamento temporário (Temporary Storage - TS). Ele remove todos os registros associados à fila especificada e libera o espaço utilizado, seja no armazenamento principal, auxiliar ou compartilhado.
Esse comando é thread-safe quando usado:
-
Com filas locais (armazenamento principal ou auxiliar);
-
Em conexões IPIC para regiões CICS remotas;
-
Com filas em recursos de acoplamento z/OS gerenciados por servidores TS compartilhados.
No entanto, não é thread-safe quando a chamada é feita via conexões remotas que não sejam IPIC.
🛠️ Usos mais comuns
-
Eliminar completamente o conteúdo de uma fila TS após o processamento.
-
Evitar o acúmulo de dados temporários que não serão mais utilizados.
-
Liberar espaço em memória principal, auxiliar ou compartilhada.
🧾 Sintaxe
EXEC CICS DELETEQ TS
QUEUE(nome-da-fila)
[SYSID(nome-sistema)]
END-EXEC.
📌 Alternativamente, é possível utilizar:
EXEC CICS DELETEQ TS
QNAME(nome-da-fila-16)
END-EXEC.
💻 Exemplo prático em COBOL
01 NOME-FILA PIC X(08) VALUE 'FILA1'.
EXEC CICS DELETEQ TS
QUEUE(NOME-FILA)
END-EXEC.
Este exemplo exclui completamente a fila temporária FILA1
(nome simbólico com até 8 caracteres, preenchido com espaços se necessário).
📜 Regras
-
Use QUEUE para nomes com até 8 caracteres ou QNAME para nomes com até 16 caracteres.
-
A fila não pode conter apenas zeros binários.
-
Após excluir uma fila recuperável, é necessário emitir um ponto de sincronização (SYNCPOINT) antes de regravá-la.
-
Em filas compartilhadas com uso de
SYSID
, é necessário o suporte de uma tabela TST (Temporary Storage Table). -
Não utilize
SYSID
com filas em conjuntos compartilhados se estiver usandoTSMODEL
.
💡 Dicas
-
Evite manter filas TS ocupando memória desnecessária após o uso — sempre que possível, exclua-as.
-
Ao usar
DELETEQ TS
em filas com dados críticos, assegure que a transação foi concluída corretamente (comSYNCPOINT
). -
Se for reutilizar o mesmo nome de fila, não grave novos dados imediatamente após o DELETE sem garantir um ponto de sincronização.
✅ Conclusão
O comando EXEC CICS DELETEQ TS
é essencial para o gerenciamento eficiente de recursos no CICS. Ele remove totalmente os dados temporários de uma fila, liberando memória e evitando consumo excessivo de armazenamento. Seu uso é simples, mas requer atenção especial a pontos de sincronização e ao ambiente de execução (local, remoto ou compartilhado).