CICS - Armazenamento Temporário

Existem diferentes blocos de rascunho disponíveis no CICS para salvar dados ou para transferir os dados entre transações. Existem cinco áreas de armazenamento fornecidas pelo CICS, que discutiremos neste módulo.

COMMAREA

A COMMAREA se comporta como um bloco de notas que pode ser usado para passar dados de um programa para outro, seja na mesma transação ou em transações diferentes. Deve ser definido na SEÇÃO LINKAGE usando o nome DFHCOMMAREA.

Área de Trabalho Comum

Qualquer transação na região CICS pode acessar a Área de Trabalho Comum e, portanto, o formato e o uso dela devem ser acordados por todas as transações no sistema que decidir usá-la. Existe apenas um CWA em toda a região CICS.

Área de Trabalho de Transação

A área de trabalho da transação é usada para passar dados entre os programas aplicativos executados na mesma transação. A TWA existe apenas durante a transação. Seu tamanho é definido na Tabela de controle do programa.

Fila de armazenamento temporário

Fila de armazenamento temporário (TSQ) é um recurso fornecido pelo Programa de controle de armazenamento temporário (TSP).

  • Um TSQ é uma fila de registros que podem ser criados, lidos e excluídos por diferentes tarefas ou programas na mesma região CICS.

  • Um identificador de fila é usado para identificar TSQ.

  • Um registro dentro de um TSQ é identificado pela posição relativa conhecida como o número do item.

  • Os registros no TSQ permanecem acessíveis até que todo o TSQ seja explicitamente excluído.

  • Os registros no TSQ podem ser lidos sequencialmente ou diretamente.

  • TSQs podem ser gravados no armazenamento principal ou no armazenamento auxiliar no DASD.

WRITEQ TS

Este comando é usado para adicionar itens a um TSQ existente. Além disso, podemos criar um novo TSQ usando este comando. A seguir está a sintaxe do comando WRITEQ TS -

Sintaxe

EXEC CICS WRITEQ TS
   QUEUE ('queue-name')
   FROM (queue-record)
   [LENGTH (queue-record-length)]
   [ITEM (item-number)]
   [REWRITE]
   [MAIN /AUXILIARY]
END-EXEC.

A seguir estão os detalhes dos parâmetros usados ​​no comando WRITEQ TS -

  • A QUEUE é identificada pelo nome mencionado neste parâmetro.

  • As opções FROM e LENGTH são usadas para especificar o registro que deve ser gravado na fila e seu comprimento.

  • Se a opção ITEM for especificada, o CICS atribuirá um número de item ao registro na fila e configura a área de dados fornecida nessa opção para o número do item. Se o registro iniciar uma nova fila, o número do item atribuído é 1 e os números dos itens subsequentes seguem sequencialmente.

  • A opção REWRITE é usada para atualizar um registro já presente na fila.

  • A opção PRINCIPAL / AUXILIAR é usada para armazenar registros no armazenamento principal ou auxiliar. O padrão é AUXILIAR.

READQ TS

Este comando é usado para ler a Fila de Armazenamento Temporário. A seguir está a sintaxe de READQ TS -

Sintaxe

EXEC CICS READQ TS
   QUEUE ('queue-name')
   INTO (queue-record)
   [LENGTH (queue-record-length)]
   [ITEM (item-number)]
   [NEXT]
END-EXEC.

DELETEQ TS

Este comando é usado para excluir a Fila de Armazenamento Temporário. A seguir está a sintaxe de DELETEQ TS -

Sintaxe

EXEC CICS DELETEQ TS
   QUEUE ('queue-name')
END-EXEC.

Transient Data Queue

A fila de dados transitórios é temporária por natureza, pois pode ser criada e excluída rapidamente. Ele permite apenas acesso sequencial.

  • O conteúdo da fila pode ser lido apenas uma vez, pois é destruído assim que uma leitura é realizada e, portanto, o nome Transiente.

  • Não pode ser atualizado.

  • Requer uma entrada no DCT.

WRITEQ TD

Este comando é usado para gravar filas de dados transitórios e eles são sempre gravados em um arquivo. A seguir está a sintaxe do comando WRITEQ TD -

Sintaxe

EXEC CICS WRITEQ TD
   QUEUE ('queue-name')
   FROM (queue-record)
   [LENGTH (queue-record-length)]
END-EXEC.

READQ TD

Este comando é usado para ler a fila de dados transitórios. A seguir está a sintaxe de READQ TD -

Sintaxe

EXEC CICS READQ TD
   QUEUE ('queue-name')
   INTO (queue-record)
   [LENGTH (queue-record-length)]
END-EXEC.

DELETEQ TD

Este comando é usado para excluir a fila de dados transitórios. A seguir está a sintaxe de DELETEQ TD -

Sintaxe

EXEC CICS DELETEQ TD
   QUEUE ('queue-name')
END-EXEC.