quarta-feira, outubro 07, 2015

HISTOGRAM vs READ LOGICAL

READ

A declaração READ é usada para ler registros do Adabas. Os registos podem ser recuperados a partir da base de dados:
  • na ordem em que são fisicamente armazenados no banco de dados (READ IN PHYSICAL SEQUENCE), ou
  • na ordem dos Internal Sequence Numbers (READ BY ISN), ou
  • na ordem dos valores de um campo descritor (READ IN LOGICAL SEQUENCE).
FIND

A declaração FIND é usado para selecionar a partir do Adabas os registros que atendam a um critério de pesquisa especificado.

HISTOGRAM

A declaração histogram é usado tanto para ler apenas os valores de um campo de banco de dados, ou determinar o número de registros que atendam a um critério de pesquisa especificado. A declaração HISTOGRAM não fornece acesso a qualquer no banco de dados a campos diferente do especificado na declaração HISTOGRAM.

Testando

Você pode recuperar dados das listas invertidas do Adabas, reduzindo a quantidade de trabalho que o Adabas precisa fazer em seu nome.

Descrição :

O Programa 1 usa um READ LOGICAL para recuperar registros em uma sequência específica e usa a lógica BREAK para produzir contagens.
DEFINE DATA LOCAL
1 VEH    VIEW VEHICLES
  2 YEAR
  2 MAKE
END-DEFINE
LIMIT 54
READ VEH BY MODEL-YEAR-MAKE
  AT BREAK OF MAKE
    DISPLAY
            OLD (YEAR)
            OLD (MAKE)
            COUNT (MAKE)
  END-BREAK
END-READ
END
Resultado do programa 1
YEAR          MAKE           MAKE
----- -------------------- --------
 
 1977 AMERICAN MOTOR              2
 1977 BMW                         2
 1977 CHRYSLER                    8
 1977 DATSUN                      1
 1977 FIAT                        3
 1977 FORD                       17
 1977 GENERAL MOTORS             21
O programa 2 usa um HISTOGRAM para simplificar a lógica (elimina o processamento BREAK). Toda a informação é recuperada das listas invertidas; Nenhuma informação é recuperada dos registros de dados. Mesmo com a máscara de edição, os resultados não são tão bonitos como no Programa 1 O
DEFINE DATA LOCAL
1 VEH    VIEW VEHICLES
  2 MODEL-YEAR-MAKE
END-DEFINE
LIMIT 7
HISTOGRAM VEH FOR MODEL-YEAR-MAKE
  DISPLAY
          MODEL-YEAR-MAKE (EM=XXXX^X(20))
          *NUMBER
END-HISTOGRAM
END
Resultado do programa 2
     MODEL-YEAR-MAKE         NMBR
------------------------- -----------
 
1977 AMERICAN MOTOR                 2
1977 BMW                            2
1977 CHRYSLER                       8
1977 DATSUN                         1
1977 FIAT                           3
1977 FORD                          17
1977 GENERAL MOTORS                21
programa 3 melhora a exibição para corresponder ao Programa 1.
DEFINE DATA LOCAL
1 VEH    VIEW VEHICLES
  2 MODEL-YEAR-MAKE     2 REDEFINE MODEL-YEAR-MAKE
    3 #YEAR (N4)        (HD='Year')
    3 #MAKE (A20)       (HD='Make')
END-DEFINE
LIMIT 7
HISTOGRAM VEH FOR MODEL-YEAR-MAKE
  DISPLAY
          #YEAR
          #MAKE
          *NUMBER
END-HISTOGRAM
END
Resultado do programa 3
Year          Make            NMBR
----- -------------------- -----------
 
 1977 AMERICAN MOTOR                 2
 1977 BMW                            2
 1977 CHRYSLER                       8
 1977 DATSUN                         1
 1977 FIAT                           3
 1977 FORD                          17
 1977 GENERAL MOTORS                21


0 comentários:

Enviar um comentário