Para pesquisar um registro específico em uma tabela no COBOL, a busca pode ser realizada com o comando SEARCH.
O comando SEARCH pesquisa na tabela por meio de uma condição, e quando está condição é satisfeita se executa os COMANDOS-B. Mas quando a condição não é satisfeita, ou seja, a pesquisa chegou no fim da tabela e não encontrou resultado, então é realizado os COMANDOS-A.
Estrutura do comando:
SEARCH ALL NOME-TABELA
NO FIM
COMANDOS-A
QUANDO CAMPO-TABELA IGUAL VALOR
COMANDOS-B
SEARCH-FIM.
É necessário que a tabela seja indexada, e tem como boa prática indicar a chave da tabela em ordem ascendente ou descendente.
Exemplo de uma tabela:
01 TABELA.
03 TAB-A OCCURS 0 TO 5 TIMES
DEPENDING ON QUANTIDADE-REGISTROS
ASCENDING KEY TAB-A-CHAVE
INDEXED BY TAB-A-INDEX.
05 TAB-A-CHAVE PIC 9(009).
05
TAB-A-CAMPO2 PIC X(010).
Abaixo
temos o código que Limpa, Preenche e Pesquisa o nome do aluno na tabela usando
o comando SEARCH, sendo que a condição é quando a matricula informada for igual
a uma que esteja na tabela.
Possíveis situações:
- Chave duplicada: quando a chave da tabela é inconsistente, e apresenta os mesmos valores em alguns registros, na execução do SEARCH será apresentado somente o primeiro registro encontrado.
- Não utilizar o comando AT END: se não for encontrado resultado nada acontecerá.
Para Ctrl + C do código acesse aqui.
Consultar a relação de Termos e Abreviaturas acesse aqui.
Até o próximo post!
Nenhum comentário:
Postar um comentário