|
É usada para o armazenamento de dados transitórios do CICS.
Os dados são disponíveis para processamento 'SEQUENCIAL' para qualquer tarefa que desejar acessar.
Cada registro a ser gravado deve possuir um nome.
O nome pode variar em extensão de 1 a 4 caracteres.
Deve-se tomar o cuidado de atribuir uma identificação única para o registro.
Deve ser definido na DESTINATION CONTROL TABLE ( DCT ) o nome dos dados transitorios. Deve-se, tambem,
definir se os dados sao 'INTRA-PARTITION' ou 'EXTRA-PARTITION'.
Os dados gravados em INTRA-PARTITION possuem as seguintes caracteristicas:
- sao gerados e acessados somente pelo cics
- podem ser gravados por tarefas diferentes
- pode ser lido apenas uma vez
- pode ser definido pelo programador de aplicaçao para ser deletado logo após a leitura
- são gerados registros sequenciais de tamanho variavel
- ficam armazenados em dispositivos de acesso direto
Os dados gravados em EXTRA-PARTITION possuem as seguintes caracteristicas:
- pode ser gerado no 'CICS' e acessado via 'BATCH'
- pode ser gerado em 'BATCH' e acessado via 'CICS'
- podem ser gravados por tarefas diferentes
- deve ser definido na 'DCT' como entrada ou saida
- pode ser lido apenas uma vez
- sao gerados registros sequenciais de tamanho fixo ou variavel
- podem ficar armazenados em disco, fita ou impressora
Comando WRITEQ TD
Formato do comando:
| EXEC CICS WRITEQ TD |
Explicação do argumento |
| QUEUE ('WORK-NOME') |
Especifica-se o nome de dados atribuido ao registro.
Pode ser um literal ou uma area de dados contendo o nome a ser atribuido ao registro. |
| FROM (WORK-AREA) |
Especifica-se a area onde se encontra o registro a ser gravado. |
| LENGTH (+100) |
Especifica-se o tamanho da área de dados a ser gravada. |
Este comando é utilizado para gravar registros de dados transitórios ( TRANSIENT DATA - TD )
A opção 'LENGTH' somente precisa ser especificada caso os registros sejam gravados em outro dispositivo que não seja disco.
Exemplo do comando:
EXEC CICS
WRITEQ TD QUEUE ('WORK-NOME')
FROM (WORK-AREA)
LENGTH (+100)
END-EXEC.
|
Explicação do exemplo:
O CICS gravará o registro como dados transitórios (TD) com o nome especificado em 'WORK-NOME', os dados que estão em 'WORK-AREA' com o tamanho de 100 bytes.
Condição de exceção:
- NOSPACE: ocorre se não houver mais espaço na fila de TD para a gravação do registro.
Esta condição só ocorre quando se processam destinos de intrapartição.
- NOTOPEN: ocorre se o destino estiver fechado.
Esta condição só ocorre quando se processam destinos de extrapartição.
Estes destinos podem ser abertos e fechados pelo administrador do CICS.
- QIDERR: não existe nenhuma fila 'TD', definido na 'DCT' com o nome especificado na opção 'QUEUE'.
- LENGERR: o tamanho do registro lido É maior do que o tamanho mÁximo da fila definido na 'DCT'.
Ocorre também se for especificado um tamanho errado para registros de tamanho fixo.
Ocorre também se não for codificada a opção 'LENGTH' e a fila de destino não for disco.
- Outros: ioerr.
Comando READQ TD
Formato do comando:
| EXEC CICS READQ TD |
Explicação do argumento |
| QUEUE ('WORK-NOME') |
Especifica-se o nome de dados do registro que se deseja acessar.
Pode ser um literal ou uma area de dados contendo o nome do registro a ser lido. |
| INTO (WORK-AREA) |
Especifica-se a área onde deverá ser colocado o registro lido. |
| LENGTH (+100) |
Especifica-se o tamanho do registro a ser lido. Não pode ser maior que o tamanho especificado na 'DCT'. |
Esse comando é utilizado para ler registros de dados transitórios ( TRANSIENT DATA - TD )
Exemplo do comando:
EXEC CICS
READQ TD QUEUE ('WORK-NOME')
INTO (WORK-AREA)
LENGTH (+100)
END-EXEC.
|
Explicação do exemplo:
O CICS lera' o proximo registro de dados transitorios ( TD ) com o nome especificado em 'WORK-NOME'.
Os dados ficarao em 'WORK-AREA' com o tamanho de 100 bytes.
Condicao de excecao:
- LENGERR: o tamanho do registro lido é maior do que o tamanho maximo da fila definido na 'DCT'.
Ocorre também se for especificado um tamanho errado para registros de tamanho fixo.
Ocorre também se nao for codificada a opcao 'LENGTH' e a fila de destino nao for disco.
Ocorre também se nao for codificada a opcao 'LENGTH' e o registro for de tamanho variável.
O tamanho do registro lido é maior do que o tamanho especificado na opção 'LENGTH'.
Neste caso, a area indicada na opção será atualizado com o valor real do tamanho do registro.
- NOTOPEN: ocorre se o destino estiver fechado.
- QIDERR: não existe nenhuma fila 'TD', definido na'DCT' com o nome especificado na opção 'QUEUE'
- QZERO: não existe nenhum registro armazenado na fila de dados transitórios ( td )
- Outros: INVREQ, IOERR, LENGERR, QIDERR.
Comando DELETEQ TD
Formato do comando:
| EXEC CICS DELETEQ TD |
Explicação do argumento |
| QUEUE ('WORK-NOME') |
Especifica-se o nome da fila de dados que se deseja deletar.
Pode ser um literal ou uma area de dados contendo o nome da fila a ser deletada. |
Este comando é utilizado para deletar registros de uma fila de dados transitórios ( TRANSIENT DATA - TD )
Este comando será utilizado se a área em que foi gravado o registro de dado transitório for não-reutilizavel.
Exemplo do comando:
EXEC CICS
DELETEQ TD QUEUE ('WORK-NOME')
END-EXEC.
|
Explicação do exemplo:
O CICS deletará a fila de dados transitórios ( TD ), ou seja, deletará todos os registros pertencentes a fila especificada.
Condiçao de exceção:
QIDERR: ocorre se nao existir nenhuma fila de TD com o nome especificado na opcao 'QUEUE'.
|