Menu principal                 [Fechar]


CICS - Dados transitórios ( T D )


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF.

CICS - Dados transitórios ( T D )

É 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'.

Este 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'.




Volta para o início da página

Volta a página anterior

Volta ao Menu Principal