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.