IDENTIFICATION DIVISION.
PROGRAM-ID. SEARCHALL.
AUTHOR. DORNELLES CARLOS ALBERTO.
*-----------------------------------------------------------------
* PROGRAMA : SEARCH
* OBJETIVO : COMANDO SEARCH ALL COM TABELA ORDENADA
* : CHAVE ALFA
* ANALISTA : CARLOS ALBERTO DORNELLES
* DESENVOLVEDOR : CARLOS ALBERTO DORNELLES
* LINGUAGEM : COBOL
* MODO OPERACAO : BATCH
*-----------------------------------------------------------------
* VERSAO DD.MM.AAAA HISTORICO AUTOR
* ------ ---------- --------------- ---------------------------
* 001 20.06.2021 PROGRAMA INICIAL DORNELLES CARLOS ALBERTO
*-----------------------------------------------------------------
*-----------------------------------------------------------------
ENVIRONMENT DIVISION.
*-----------------------------------------------------------------
CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
*-----------------------------------------------------------------
DATA DIVISION.
*-----------------------------------------------------------------
WORKING-STORAGE SECTION.
01 WS-TABELA-ESTADOS.
05 TAB-ESTADOS.
10 FILLER PIC X(021) VALUE "ACACRE ".
10 FILLER PIC X(021) VALUE "ALALAGOAS ".
10 FILLER PIC X(021) VALUE "AMAMAZONAS ".
10 FILLER PIC X(021) VALUE "APAMAPA ".
10 FILLER PIC X(021) VALUE "BABAHIA ".
10 FILLER PIC X(021) VALUE "CECEARA ".
10 FILLER PIC X(021) VALUE "DFDISTRITO FEDERAL ".
10 FILLER PIC X(021) VALUE "ESESPIRITO SANTO ".
10 FILLER PIC X(021) VALUE "GOGOIAS ".
10 FILLER PIC X(021) VALUE "MAMARANHAO ".
10 FILLER PIC X(021) VALUE "MGMINAS GERAIS ".
10 FILLER PIC X(021) VALUE "MSMATO GROSSO DO SUL ".
10 FILLER PIC X(021) VALUE "MTMATO GROSSO ".
10 FILLER PIC X(021) VALUE "PAPARA ".
10 FILLER PIC X(021) VALUE "PBPARAIBA ".
10 FILLER PIC X(021) VALUE "PEPERNAMBUCO ".
10 FILLER PIC X(021) VALUE "PIPIAUI ".
10 FILLER PIC X(021) VALUE "PRPARANA ".
10 FILLER PIC X(021) VALUE "RJRIO DE JANEIRO ".
10 FILLER PIC X(021) VALUE "RNRIO GRANDE DO NORTE".
10 FILLER PIC X(021) VALUE "RORONDONIA ".
10 FILLER PIC X(021) VALUE "RRRORAIAMA ".
10 FILLER PIC X(021) VALUE "RSRIO GRANDE DO SUL ".
10 FILLER PIC X(021) VALUE "SCSANTA CATARINA ".
10 FILLER PIC X(021) VALUE "SESERGIPE ".
10 FILLER PIC X(021) VALUE "SPSAO PAULO ".
10 FILLER PIC X(021) VALUE "TOTOCANTINS ".
05 TAB-ESTADOS-R REDEFINES TAB-ESTADOS.
07 WS-CAJUGUDU OCCURS 27 TIMES
ASCENDING KEY SIGLA-ESTADO
INDEXED BY IX-TAB.
10 SIGLA-ESTADO PIC X(002).
10 NOME-ESTADO PIC X(019).
01 WS-AUXILIARES.
05 NAO-ACHOU-NADA PIC 9(003) VALUE ZEROES.
05 WS-SIGLA-ESTADO PIC X(002) VALUE ZEROES.
05 VARIAVEL PIC X(019) VALUE SPACES.
05 WS-X PIC 9(002) VALUE ZEROES.
*-----------------------------------------------------------------
PROCEDURE DIVISION.
*-----------------------------------------------------------------
MOVE ZEROES TO NAO-ACHOU-NADA
MOVE "DF" TO WS-SIGLA-ESTADO
SEARCH ALL WS-CAJUGUDU
AT END
MOVE 1 TO NAO-ACHOU-NADA
WHEN SIGLA-ESTADO (IX-TAB) EQUAL WS-SIGLA-ESTADO
MOVE NOME-ESTADO (IX-TAB) TO VARIAVEL
END-SEARCH
IF NAO-ACHOU-NADA EQUAL 0
DISPLAY "Achou " WS-SIGLA-ESTADO " Nome do Estado: " VARIAVEL
ELSE
DISPLAY "Não achou - Sigla do Estado - " WS-SIGLA-ESTADO
END-IF.
STOP RUN.
Achou DF Nome do Estado: DISTRITO FEDERAL
MOVE "FN" TO WS-SIGLA-ESTADO
Não achou - Sigla do Estado - FN
|