*-----------------------------------------------------------------
IDENTIFICATION DIVISION.
*-----------------------------------------------------------------
PROGRAM-ID. SEARCHALL.
AUTHOR. DORNELLES CARLOS ALBERTO.
*-----------------------------------------------------------------
* PROGRAMA : SEARCH
* OBJETIVO : COMANDO SEARCH ALL COM TABELA ORDENADA
* : CHAVE NUMERICA
* 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-PRODUTOS.
05 TAB-PRODUTOS.
10 FILLER PIC X(021) VALUE "01ARROZ ".
10 FILLER PIC X(021) VALUE "02FEIJAO ".
10 FILLER PIC X(021) VALUE "03SAL ".
10 FILLER PIC X(021) VALUE "04MACARRAO ".
10 FILLER PIC X(021) VALUE "05AZEITE ".
10 FILLER PIC X(021) VALUE "06CARNE ".
10 FILLER PIC X(021) VALUE "07BISCOITO ".
10 FILLER PIC X(021) VALUE "08SABAO ".
10 FILLER PIC X(021) VALUE "09SABONETE ".
10 FILLER PIC X(021) VALUE "10PAPEL HIGIENICO ".
10 FILLER PIC X(021) VALUE "11AGUA SANITARIA ".
10 FILLER PIC X(021) VALUE "12ALFACE ".
10 FILLER PIC X(021) VALUE "13CHEIRO VERDE ".
10 FILLER PIC X(021) VALUE "14REPOLHO ".
10 FILLER PIC X(021) VALUE "15CAFE ".
10 FILLER PIC X(021) VALUE "16NESCAFE ".
10 FILLER PIC X(021) VALUE "17PAO ".
10 FILLER PIC X(021) VALUE "18MEXERICA ".
10 FILLER PIC X(021) VALUE "19LARANJA ".
10 FILLER PIC X(021) VALUE "20ABACATE ".
10 FILLER PIC X(021) VALUE "21MAMAO PAPAIA ".
10 FILLER PIC X(021) VALUE "22MAMAO FORMOSA ".
10 FILLER PIC X(021) VALUE "23MELAO AMARELO ".
10 FILLER PIC X(021) VALUE "24SABAO EM PO ".
10 FILLER PIC X(021) VALUE "25SHAMPOO ".
10 FILLER PIC X(021) VALUE "26CREME RINSE ".
10 FILLER PIC X(021) VALUE "27GEL DENTAL ".
05 TAB-PRODUTOS-R REDEFINES TAB-PRODUTOS.
07 WS-CAJUGUDU OCCURS 27 TIMES
ASCENDING KEY COD-PRODUTO
INDEXED BY IX-TAB.
10 COD-PRODUTO PIC 9(002).
10 NOME-PRODUTO PIC X(019).
01 WS-AUXILIARES.
05 NAO-ACHOU-NADA PIC 9(003) VALUE ZEROES.
05 WS-COD-PRODUTO PIC 9(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 23 TO WS-COD-PRODUTO
SEARCH ALL WS-CAJUGUDU
AT END
MOVE 1 TO NAO-ACHOU-NADA
WHEN COD-PRODUTO (IX-TAB) EQUAL WS-COD-PRODUTO
MOVE NOME-PRODUTO (IX-TAB) TO VARIAVEL
END-SEARCH
IF NAO-ACHOU-NADA EQUAL 0
DISPLAY "ACHOU " WS-COD-PRODUTO " Nome do produto: " VARIAVEL
ELSE
DISPLAY "NAO ACHOU"
END-IF.
STOP RUN.
ACHOU 23 Nome do produto: MELAO AMARELO
MOVE 28 TO WS-COD-PRODUTO
NAO ACHOU - Código do produto - 28
|