|
É usada para o armazenamento de dados intermediários do CICS.
É gerada e acessada apenas pelo CICS.
Pode ser acessada por varias tarefas.
Fica armazenado em memória principal ou em memória auxiliar ( DISCO ), até que seja deletada ou o CICS
pare de funcionar.
Não é necessário constar em nenhuma tabela.
Cada registro a ser gravado deve possuir um nome. O nome pode variar em extensão de 1 a 8 caracteres.
Deve-se tomar o cuidado de atribuir uma identificação única para o registro.
Pode ser gravado um ou mais registros com o mesmo nome e dentro de um conjunto de registros com o mesmo nome,
um registro específico poderá ser acessado.
Comando WRITEQ TS
Formato do comando:
| EXEC CICS WRITEQ TS |
Explicação do argumento |
|
QUEUE ('WORK-NOME')
|
Especifica-se o nome de dados atribuido ao registro. Pode ser um literal ou uma área de dados
contendo o nome a ser atribuido ao registro.
|
|
FROM (WORK-AREA)
|
Especifica-se a área onde se encontra o registro a ser gravado
|
|
LENGTH (+100)
|
Especifica-se o tamanho da área de dados a ser gravada.
|
|
ITEM (WORK-POSI)
|
Se estiver sendo incluído registros, o CICS coloca neste campo o número do registro gravado.
Se estiver sendo feito atualização, deve-se informar o número do registro a ser alterado
através deste campo. O formato deste campo é PIC S9(004) COMP.
|
|
REWRITE
|
Especifica-se que o regstro cujo número está sendo informado na opção 'ITEM' é para ser atualizado.
|
|
MAIN
|
Indica que o registro é para ser armazenado na memória principal. salvo em raras ocasiões e para
pequenas quantidades de registros, esta opção não deve ser utilizada
|
|
AUXILIARY
|
Indica que o registro é para ser armazenado na memória auxiliar. Esta opção é o default.
|
Este comando é utilizado para gravar registros em memória temporária ( TEMPORARY STORAGE - TS )
Exemplo do comando:
EXEC CICS WRITEQ TS QUEUE ('WORK-NOME')
FROM (WORK-AREA)
LENGTH (+100)
END-EXEC.
Explicação do exemplo:
O CICS gravará o registro em memoria temporaria ( TS ) 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 nao houver mais espaço em memória para a gravação do registro. A ação padrão do
CICS é suspender a tarefa até existir espaço. Caso nao queira que tal fato ocorra, deve
ser codificado um 'HANDLE CONDITION' para tal exceção.
- ITEMERR: ocorre se o número especificado em item for diferente dos números de registros existentes
na fila 'TS', caso use-se a opção 'REWRITE'.
- QIDERR: não existe nenhuma fila 'TS' com o nome especificado na memória temporária.
- INVREQ: o tamanho do registro a ser gravado é zero.
- LENGERR: o tamanho do registro lido é maior do que o tamanho especificado na opcao 'LENGTH'.
- Outros: dsiderr, illogic, notopen.
Comando READQ TS
Formato do comando:
| EXEC CICS READQ TS |
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.
|
|
ITEM (WORK-POSI)
|
Especifica-se o núumero do registro a ser lido. Esta opção deve ser usada se for necessário acessar o
registro diretamente. O formato deste campo é PIC S9(004) COMP.
|
|
NEXT
|
Especifica que o próximo registro da fila deverá ser acessado. Esta opção deve ser usada se for
necessário acessar o registro sequencialmente. Esta opção é o DEFAULT.
|
Este comando é utilizado para ler registros em memória temporária ( TEMPORARY STORAGE - TS )
Exemplo do comando:
EXEC CICS READQ TS QUEUE ('WORK-NOME')
INTO (WORK-AREA)
LENGTH (+100)
END-EXEC.
Explicação do exemplo:
O CICS lerá o próximo registro em memória temporária ( TS ) com o nome especificado em 'WORK-NOME'.
OS dados ficarão em 'WORK-AREA' com o tamanho de 100 bytes.
Condição de exceção:
- ITEMERR: ocorre se o número especificado em item for diferente dos numeros de registros existentes
na fila 'TS' ou chegou-se ao final da fila
- Outros: INVREQ, IOERR, LENGERR, QIDERR.
Comando DELETEQ TS
Formato do comando:
| EXEC CICS DELETEQ TS |
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 área de dados contendo o nome da fila a ser deletada.
|
Este comando é utilizado para deletar registros em memória temporária ( TEMPORARY STORAGE - TS )
Exemplo do comando:
EXEC CICS DELETEQ TS QUEUE ('WORK-NOME')
END-EXEC.
Explicação do exemplo:
O CICS deletará a fila de dados em memória temporária ( TS ), ou seja, deletará todos os registros
pertencentes fila especificada.
Deve-se sempre lembrar que o espaço ocupado pelos dados na memória temporária não é automaticamente
liberado apos os dados serem usados. Consequentemente, quando não necessitar mais dos dados na memória
temporária, deve-se liberar o espaço ocupado emitindo o comando acima.
Condição de exceção:
QIDERR: ocorre se não existir nenhuma fila de TS com o nome especificado na opção 'QUEUE'.
|