quarta-feira, 1 de fevereiro de 2012

Listagem de clientes na tela com opção de editar.


       identification division.
       program-id. listaClientes.
       author. jorgefox.
       environment division.
         configuration section.
         input-output section.
           file-control.
             select clientes assign to "clientes.dat"
             organization is indexed
             access mode is dynamic
             record key is codigo
             alternate key is nome with duplicates
             file status is fs-clientes.
       data division.
         file section.
           fd clientes.
             01 registro-clientes.
                02 codigo              pic 9999.
                02 nome                pic x(50).
                02 data-nas.
                   03 dia-nas             pic 99.
                   03 mes-nas             pic 99.
                   03 ano-nas             pic 9999.
                02 telefone               pic x(30).
                02 endereco               pic x(50).
                02 numero                 pic 9(6).
                02 complemento            pic x(30).
                02 bairro                 pic x(30).
                02 cidade                 pic x(30).
                02 cep                    pic x(8).
                02 estado                 pic AA.
                02 email                  pic x(50).
       working-storage section.
          01 fs-clientes.
             02 fs-clientes-1            pic 9.
             02 fs-clientes-2            pic 9.
             02 fs-cliente-r redefines fs-clientes-2 pic 99 comp-x.
          77 opcao                       pic x value spaces.
          77 codigop                     pic 9999 values zeros.
          77 linha                       pic 9999 value 0902.
       procedure division.
       abertura.
         open input clientes
         if fs-clientes unequal zero then
            display erase
            display "Erro ao abrir clientes.dat" at 1010 fs-clientes
            accept opcao
            close clientes
            exit program
         else
         display "deu certo"
         accept opcao
         end-if
       .
       inicio.
         display erase
         display "Listagem de clientes" at 0330
         display "+------+----------------------------------------------
      -"----------------+-------+" at 0601
         display "|codigo|                         Nome Cliente
      -"                |Dt Nasc|" at 0701
         display "+------+----------------------------------------------
      -"----------------+-------+" at 0801
         move " " to nome
         start clientes key is not less nome
         if fs-clientes=00 then
            perform imprime
            display "Digite o codigo desejado [....]" at 2201
            accept codigop at 2227
            call "aplicacao" using codigop
            exit program
         else
            display "deu erro " fs-clientes
            accept opcao
         end-if
         close clientes
         exit program
       .
       imprime.
         read clientes next
         perform until fs-clientes<>00
            display codigo at linha
            add 8 to linha
            display nome at linha
            add 61 to linha
            display dia-nas at linha "/"
            add 3 to linha
            display mes-nas at linha "/"
            add 3 to linha
            display  ano-nas at linha
            subtract 76 from linha giving linha
            add 101 to linha
            read clientes next
         end-perform
       .

Nenhum comentário:

Postar um comentário

Obrigado por contribuir para melhorar este blog, deixe sua mensagem.
Forte Abraço