🧠 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 usando TSMODEL.

💡 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 (com SYNCPOINT).

  • 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).