Menu principal                 [Fechar]


CICS - Pesquisa sequencial de arquivos - BROWSE


Volta a página anterior

Volta ao Menu Principal


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

CICS - Pesquisa sequencial de arquivos - BROWSE

O BROWSE é uma ferramenta que permite acessar qualquer tipo de arquivo sequencialmente.

Comando STARTBR

Formato do comando:


EXEC CICS STARTBR Explicação do argumento
DATASET ('NOME ARQUIVO') Especifica-se o nome do arquivo que se deseja acessar.
RIDFLD (WORK-CHAVE) Especifica-se a chave do registro a ser posicionado.
GENERIC Indica que a chave informada é parcial, ou seja, não está sendo informada a chave toda.
KEYLENGTH (+10) Especifica-se o tamanho da chave genérica. Este arqgumento é usado em conjunto com a opção 'GRENERIC' e só pode ser usada para arquivos KSDS.
GTEQ O CICS tentará posicionar em registro com chave maior ou igual a chave informada.
EQUAL O CICS tentará posicionar em um registro com chave igual a chave informada (DEFAULT)
RBA Para arquivos ESDS, indica que a área especificada em 'RIDFLD' contém um RBA e não a chave do registro. Neste caso, a área especificada em 'RIDFLD' deve estar definida PIC S9(008) COMP.

Este comando é utilizado para especificar o registro em um arquivo, no qual a pesquisa sequencial terá início. Observar que nenhum registro é recuperado, apenas o 'POINTER' é posicionado no registro indicado no comando.

Exemplo do comando:



          EXEC     CICS  STARTBR    DATASET ('D02TAB')
                                    RIDFLD  (WORK-CHAVE)
                                    GTEQ
          END-EXEC.
      

Explicação do exemplo:

O 'POINTER' do arquivo será posicionado no registro que possua o campo chave maior ou igual ao campo 'WORK-CHAVE'.

Condição de exceção:

NOTFND: o registro informado não existe no arquivo.
Outros: DSIDERR, NOTOPEN, INVREQ, ILLOGIC, IOERR.

Comando READNEXT

Formato do comando:


EXEC CICS READNEXT Explicação do argumento
DATASET ('NOME ARQUIVO') Especifica-se o nome do arquivo que se deseja acessar.
INTO (WORK-AREA) Especifica-se a área que receberá o registro.
RIDFLD (WORK-CHAVE) Especifica-se a chave do registro a ser posicionado. Deve ser o mesmo campo especificado no comando inicial STARTBR.
KEYLENGTH (+10) Especifica-se o tamanho da chave 'GENERICA'. Apesar de nao possuir a opcao 'GENERIC' ao se especificar um tamanho menor do que o tamanho da chave tem-se uma pesquisa generica.
LENGTH (+100) Especifica-se o tamanho do registro a ser lido. Opcional se for registro fixo.

Este comando é utilizado para leitura do próximo registro do arquivo em ordem sequencial.

Exemplo do comando:>



          EXEC     CICS  READNEXT  DATASET ('D02TAB') 
                                   INTO    (WORK-TAB)
                                   RIDFLD  (WORK-CHAVE)
          END-EXEC.
      

Explicação do exemplo:

O cics irá recuperar o próximo registro do arquivo que possua o campo chave igual ao campo 'WORK-CHAVE' e o registro recuperado será colocado na área 'WORK-TAB'.

Condiçãoo de exceção:

ENDFILE: ocorre quando for encontrado final de arquivo.

Outros: DSIDERR, NOTOPEN, INVREQ, ILLOGIC, IOERR, LENGERR, DUPKEY.

Comando READPREV

Formato do comando:


EXEC CICS READNEXT Explicação do argumento
DATASET ('NOME ARQUIVO') Especifica-se o nome do arquivo que se deseja acessar.
INTO (WORK-AREA) Especifica-se a área que receberá o registro.
RIDFLD (WORK-CHAVE) Especifica-se a chave do registro a ser posicionado. Deve ser o mesmo campo especificado no comando inicial STARTBR.
KEYLENGTH (+10) Especifica-se o tamanho total da chave, pois não é possivel usar a opção 'GENERIC' para este comando. Opcional.
LENGTH (+100) Especifica-se o tamanho do registro a ser lido. Opcional se for registro fixo.

Este comando é utilizado para leitura do registro anterior do arquivo em ordem sequencial. Usado apenas em arquivos VSAM.

Exemplo do comando:



          EXEC     CICS   READPREV  DATASET ('D02TAB')
                                    INTO    (WORK-TAB)
                                    RIDFLD  (WORK-CHAVE)
          END-EXEC.
      

Explicacao do exemplo:

O CICS irá recuperar o registro anterior do arquivo que possua o campo chave igual ao campo 'WORK-CHAVE' e o registro recuperado será colocado na area 'WORK-TAB'.

Condição de exceção:

ENDFILE: ocorre quando for encontrado final logico do arquivo, uma vez que foi encontrado o inicio fisico do arquivo.

Outros: DSIDERR, NOTOPEN, INVREQ, ILLOGIC, IOERR, LENGERR, DUPKEY.

Comando RESETBR

Formato do comando:


EXEC CICS READNEXT Explicação do argumento
DATASET ('NOME ARQUIVO') Especifica-se o nome do arquivo que se deseja acessar.
RIDFLD (WORK-CHAVE) Especifica-se a chave do registro a ser reposicionado.
GENERIC Indica que a chave informada é parcial, ou seja, nao está sendo informada a chave completa.
KEYLENGTH (+10) Especifica-se o tamanho da chave genérica. Este argumento é usado em conjunto com a opção 'GENERIC' e sómente pode ser usada para arquivos KSDS.
GTEQ O CICS tentará posicionar em registro com chave maior ou igual a chave informada.
EQUAL O CICS tentarÁ posicionar em um registro com chave igual a chave informada ( DEFAULT ).
RBA Para arquivos ESDS, indica que a área especificada em 'RIDFLD' contém um RBA e não a chave do registro. Neste caso, a área especificada em 'RIDFLD' deve estar definida PIC S9(008) COMP

Este comando é utilizado para reposicionamento de um registro no arquivo para posterior leitura. Observar que nenhum registro é recuperado, apenas o 'POINTER' é posicionado no registro indicado no comando.

Este comando só pode ser executado se tiver sido executado anteriormente com sucesso o comando 'STARTBR'. A opção 'RIDFLD' deve especificar a mesma área de dados especificada na opção 'RIDFLD' do comando 'STARTBR' correspondente, porém o conteúdo desta área pode ser diferente.

Exemplo do comando:



          EXEC     CICS  RESETBR  DATASET ('D02TAB')
                                  RIDFLD  (WORK-CHAVE)
          END-EXEC.
      

Explicação do exemplo:

O 'POINTER' do arquivo será reposicionado no registro que possua o campo chave igual ao campo 'WORK-CHAVE'. Notar que 'EQUAL' é assumido no exemplo do comando acima.

Condição de exceção:

NOTFND: o registro informado não existe no arquivo.

Outros: DSIDERR, NOTOPEN, INVREQ, ILLOGIC, IOERR.

Comando ENDBR

Formato do comando:


EXEC CICS ENDBR Explicação do argumento
DATASET ('NOME ARQUIVO') Especifica-se o nome do arquivo que se deseja acessar.

Este comando é utilizado para terminar o BROWSE em um arquivo.

Este comando é obrigatorio quando for efetivada uma pesquisa sequencial pois se tal fato não ocorrer, o BROWSE não terminará, ficará suspenso. Exemplo do comando:



          EXEC     CICS  ENDBR  DATASET ('D02TAB')
          END-EXEC.
			 
      

Explicação do exemplo:

O CICS terminará o BROWSE no arquivo 'D02TAB'.

Condição de exceção:

INVREQ: ocorre se o comando for executado sem que tenha sido executado um comando 'STARTBR' com sucesso.

Outros: DSIDERR, ILLOGIC, NOTOPEN.

Consideracao final sobre a pesquisa sequencial

Se a condição de exceção NOTFND ocorrer durante a pesquisa sequencial, há a necessidade de codificar o comando RESETBR para reposicionar em um registro para posterior leitura ou codificar o comando ENDBR para terminara pesquisa sequencial




Volta para o início da página

Volta a página anterior

Volta ao Menu Principal