;** BANCO **********************************************************************
;*  Cadastramento de Bancos                                                    *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 01/08/1999 por Anivel Agusto Rodrigues
;Ultima Alteracao: 05/11/2003 por Karen Lauar Nery
;Motivo Alteracao: Ajustes Alinhamento Codigo
;Ultima Alteracao: 23/05/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Controla_Edicao
;Ultima Alteracao: 29/12/2010 por Bruno Carvalho
;Motivo Alteracao: Ajustes Novo Layout de Teclas
;Ultima Alteracao: 01/01/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes SetaCorRegistro("Editando") 
                                                         
;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc CHAVE()

While True
  SetaCorRegistro("Editar")
  End
  SEQ=[Codigo_Banco]
  Down
  Moveto [Codigo_Banco]

  TECLA=""
  AguardaTeclasPadrao()

  Switch
    Case RetVal=-33 : SemFuncoes()
    Case RetVal="F3": SemFicha()
    Case RetVal=-94 : MsgTeclasPadrao()
    Case RetVal="F7" Or RetVal="HOME" Or RetVal="UP" Or RetVal="PGUP":
         While True
           PAGINA("Banco","MR")
           If Editar="S"
              Then CHAVE=0
                   Controla_EdicaoC()
              Else If Excluir="S"
                      Then If QuerExcluir("")
                              Then DEL
                              Else UnLockrecord
                           Endif
                      Else QuitLoop
                   Endif
           Endif
           SetaPosForm()
         EndWhile
    Case RetVal="ESC":
         CHAVE=9
         DEL
         QuitLoop
    Case RetVal="ENTER":
         If IsBlank([])
            Then If Isblank(SEQ)
                    Then SEQ="1"
                    Else SEQ=StrVal(NumVal(SEQ)+1)
                 Endif
                 []=SEQ
         Endif
         CODIGO=[]
         []=CODIGO
         Del
         Locate CODIGO
         If RetVal
            Then CHAVE=0
            Else CHAVE=1
                 Down
                 [Codigo_Banco]=CODIGO
         Endif
         If IslockRecord()
            Then Loop
         Endif
         QuitLoop
  EndSwitch
EndWhile
EndProc

;*******************************************************************************
;* Rotina para Digitacao das Informacoes                                       *
;*******************************************************************************
Proc DIGITA()

Moveto[Nome_Banco]
While True

      TECLA=" Esc=Retornar "

      If CHAVE=0
         Then TECLA=TECLA+" Del=Excluir"
      Endif

      Prompt TECLA
      SetaCorRegistro("Editando")
      Wait Field
      Until "ESC","ENTER","DEL","FIELDVIEW","F35"

      Switch
            Case RetVal="ESC":
                 If Field()="Nome_Banco"
                    Then If QuerDesfazer("")
                            Then If CHAVE=1
                                    Then DEl
                                    Else Undo
                                 Endif
                                 CHAVE=9
                                 QuitLoop
                         EndIf
                 Endif
            Case RetVal="ENTER":
                 If IsBlank([])
                    Then Loop
                 Endif
                 If Field()="Nome_Banco"
                    Then QuitLoop
                    Else Right
                 Endif
            Case RetVal="FIEDLVIEW" Or RetVal="F35":
                 EDITFIELD()
            Case RetVal="DEL":
                 If CHAVE=0
                    Then If QuerExcluir("")
                            Then DEL
                                 QuitLoop
                         Endif
                 Endif
      EndSwitch
EndWhile
EndProc

;*******************************************************************************
;* Rotina para controlar Edicao do registro                                    *
;*******************************************************************************
Proc Controla_EdicaoC()
DIGITA()
If RecordStatus("Locked") Then UnLockRecord EndIf         
EndProc

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"
CoEdit "Banco"
PickForm "F"
While True
  CHAVE()
  If CHAVE=9
     Then QuitLoop
  Endif
  Controla_EdicaoC()
EndWhile
Do_It!
ClearAll
Release Vars All
Release Procs All
