1
resposta

Aula 5 - Relatório em Tela

Professor, boa noite. Tudo joia?

O relatório não é exibido na tela, ou não completamente. A única coisa que aparece é o e-mail do último registro, mas na primeira linha.

Exemplo:


|----C:\PROGRAM FILES (x86)\OpenCobolIDE... ---------| ERICK@ TES| MODULO - RELATORIO||| PRESSIONE ALGUMA TECLA


Código:

       9000-RELATORIOTELA.
           MOVE ' MODULO - RELATORIO ' TO WRK-MODULO.
           DISPLAY TELA.
           MOVE 123456789 TO CLIENTES-FONE.
           START CLIENTES KEY EQUAL CLIENTES-FONE.
           READ CLIENTES
               INVALID KEY
                   MOVE 'NENHUM REGISTRO ENCONTRADO' TO WRK-MSGERRO
               NOT INVALID KEY
                   DISPLAY ' RELATORIO DE CLIENTES '
                   DISPLAY ' --------------------- '
                   PERFORM UNTIL CLIENTES-STATUS = 10
                       ADD 1 TO WRK-QTREGISTROS
                       DISPLAY CLIENTES-FONE ' '
                               CLIENTES-NOME ' '
                               CLIENTES-EMAIL
                       READ CLIENTES NEXT
                   ADD 1 TO WRK-CONTALINHA
                       MOVE 'PRESSIONE ALGUMA TECLA' TO WRK-MSGERRO
                       ACCEPT MOSTRA-ERRO

                   IF WRK-CONTALINHA > 5
                       MOVE 0 TO WRK-CONTALINHA
                       MOVE ' MODULO - RELATORIO ' TO WRK-MODULO
                       DISPLAY TELA
                       DISPLAY ' RELATORIO DE CLIENTES '
                       DISPLAY ' --------------------- '                   
                   END-IF
                   END-PERFORM
           END-READ.
               MOVE 'REGISTROS LIDOS ' TO WRK-MSGERRO.
               MOVE WRK-QTREGISTROS TO WRK-MSGERRO(17:05).
               ACCEPT MOSTRA-ERRO.

PS: usei o código do Github e o resultado foi o mesmo. Obrigado.

1 resposta

Oi, Erick,

O startkey posiciona o cursor em um determinado registro e a partir dele os dados são impressos.

Você tem em seu cadastro o fone 123456789 ? Se não precisa cadastrar ou então cadastre um telefone como 00000000 , sem nome e email e substitua no código o move 123456789 por move 0000000. Ai ele começa pelo primeiro e vai até o ultimo.

Pegou ?

Abcs