Domingo 19 Mai 2024

A instrução START fornece um meio de posicionamento dentro de um arquivo indexado ou relativo para posterior recuperação de registros seqüenciais.

Quando a instrução START é executada, o arquivo indexado ou relativo associado deve estar aberto no modo INPUT ou IO.

>>-START--file-name-1------------------------------------------->
 
>--+-------------------------------------------------------------------+-->
   '-KEY--+----+--+-EQUAL--+----+-----------------------+--data-name-1-'
          '-IS-'  |        '-TO-'                       |
                  +- = ---------------------------------+
                  +-GREATER--+------+-------------------+
                  |          '-THAN-'                   |
                  +- > ---------------------------------+
                  +-NOT LESS--+------+------------------+
                  |           '-THAN-'                  |
                  +-NOT < ------------------------------+
                  +-GREATER--+------+--OR EQUAL--+----+-+
                  |          '-THAN-'            '-TO-' |
                  '- >= --------------------------------'
 
>--+------------------------------------------+----------------->
   '-INVALID--+-----+--imperative-statement-1-'
              '-KEY-'
 
>--+----------------------------------------------+------------->
   '-NOT INVALID--+-----+--imperative-statement-2-'
                  '-KEY-'
 
>--+-----------+-----------------------------------------------><
   '-END-START-'
 

 

file-name-1

Deve nomear um arquivo com acesso sequencial ou dinâmico. file-name-1 deve ser definido em uma entrada FD na divisão de dados e não deve nomear um arquivo de classificação.

 

KEY

Quando KEY é especificada, o indicador de posição do arquivo é posicionado no registro lógico no arquivo cujo campo chave satisfaz a comparação.

Quando KEY não é especificada, KEY IS EQUAL (para a chave de registro principal) está implícito.

 

data-name-1

Pode ser qualificado; Não pode ser subscrita.

Quando a instrução START é executada, é feita uma comparação entre o valor atual no nome de dados de chave e o campo de chave correspondente no índice do arquivo.

Se FILE STATUS é especificado na entrada de controle de arquivo, a chave de status de arquivo associado é atualizado quando a instrução START é executado.

 

INVALID KEY

Se a comparação não for satisfeita por qualquer registro no arquivo, uma condição de chave inválida existe; A posição do indicador de posição do arquivo é indefinida e (se especificada) a instrução imperativa INVALID KEY é executada.

Tanto a INVALID KEY como um procedimento EXCEPTION/ERROR aplicável podem ser omitidos.

 

END-START

Este terminador de escopo explícito serve para delimitar o escopo da instrução START. END-START permite que uma instrução START condicional seja aninhada em outra instrução condicional. END-START também pode ser usado com uma instrução START imperativa.

 

Arquivos indexados

Quando a palavra-chave for especificado, o item de dados chave utilizada para a comparação é data-name-1.

Quando a frase KEY não é especificada, o item de dados-chave usado para a comparação EQUAL TO é a principal RECORD KEY.

Quando a execução instrução START for bem sucedida, a RECORD KEY ou ALTERNATIVE RECORD KEY com o qual os data-name-1 está associado torna-se a chave de referência para as declarações READ subseqüente.

 

data-name-1

Pode ser qualquer um dos seguintes:

  • O principal RECORD KEY.
  • Qualquer ALTERNATE RECORD KEY.
  • Um item de dados dentro de uma descrição de registro para um arquivo cuja posição de caráter mais à esquerda corresponde à posição de caráter mais à esquerda daquela chave de registro; Ele pode ser qualificado. O tamanho do item de dados deve ser menor ou igual ao comprimento da chave de registro para o arquivo.

Independentemente de sua categoria, data-name-1 é tratado como um item alfanumérico para os fins da operação de comparação.

O indicador de posição do arquivo aponta para o primeiro registro no arquivo cujo campo de chave satisfaz a comparação. Se o operando na comparação são de comprimentos desiguais, a comparação prossegue como se o campo mais longo estivesse truncado à direita para o comprimento do campo mais curto. Todas as outras regras de comparação numérica e alfanumérica aplicam-se, exceto que PROGRAM COLLATING SEQUENCE, se especificada, não tem efeito.

Quando a execução instrução START for bem sucedida, a RECORD KEY com o qual os data-name-1 está associado torna-se a chave de referência para as declarações leitura subseqüente.

Quando a execução da instrução START é malsucedida, a chave de referência é indefinida.

 

Arquivos relativos

Quando a palavra-chave for especificado, os data-name-1 deve especificar a tecla correspondente.

Se KEY é ou não especificada, o item de dados-chave usado na comparação é o item de dados RELATIVE KEY. Aplicam-se regras de comparação numérica.

O indicador de posição do arquivo aponta para o registro lógico no arquivo cuja chave satisfaz a comparação especificada.