Auxílios do VisualAge Generator

Instrução RETR (Recuperar)

RETR (Recuperar) obtém dados de uma tabela com base em um argumento de pesquisa.

>>-RETR--dataitem1--tabela----+---------------------+----------->
                              '-coluna de pesquisa--'
 
>----dataitem2----+--------------------+--;--------------------><
                  '-coluna de retorno--'
 

Atributo Descrição
dataitem1 O literal ou nome do item de dados. O item de dados pode ser subscrito, qualificado ou ambos.
tabela O nome de uma tabela.
coluna de pesquisa O nome de uma coluna na tabela. O padrão é a primeira coluna da tabela.
dataitem2 O nome do item de dados (não pode ser um literal). O item de dados pode ser subscrito, qualificado ou ambos. Esse item recebe o valor da coluna de retorno.
coluna de retorno O nome de uma coluna na tabela. O padrão é a segunda coluna da tabela.

Considerações sobre Definição para RETR

Se o valor em dataitem1 for encontrado na coluna de pesquisa de uma linha da tabela, os dados da coluna de retorno da mesma linha serão deslocados para dataitem2. Se os dados na coluna de pesquisa não forem exclusivos, a primeira ocorrência na tabela é a usada.

A palavra de função especial EZETST está carregada com um valor dependendo dos resultados da instrução RETR. O conteúdo de EZETST será:

Quando EZETST contém um número de linha, ele pode ser usado como um subscrito para outras instruções que fazem referência a outras colunas nessa mesma linha da tabela.

Ambientes de Destino para RETR

Suportado em todos os ambientes sem considerações de compatibilidade.

Exemplos para RETR

No exemplo a seguir, uma tabela (INFO) possui 50 linhas e 3 colunas chamadas STATE (estado), POPULATION (população) e AREA (área). A primeira coluna possui uma entrada para cada um dos 50 estados, a segunda coluna contém a população de cada estado e a terceira coluna contém a área em milhas quadradas de cada estado.

INFO:

STATE POPULATION AREA
Alabama 3,500,000 51,600
Alaska 302,000 586,000
. . .
. . .

Uma instrução RETR poderia ser usada para pegar as informações de área da tabela acima, baseada em um estado correspondente.

MOVE 'ALASKA' TO ITEM;
RETR ITEM INFO.STATE AMOUNT AREA;

AMOUNT agora tem 586,000 nele. EZETST contém 2, o número de linha do estado correspondente. Se nenhuma correspondência for feita, EZETST é definido para 0 e os conteúdos de AMOUNT não são alterados. Se a correspondência for encontrada, você agora pode obter a população do ALASKA pela seguinte instrução:

MOVE INFO.POPULATION[EZETST] TO PEOPLE;

Você também poderia codificar:

PEOPLE = INFO.POPULATION[EZETST];


[ Início da Página | Página Anterior | Próxima Página | Índice ]