;** Anp_Comb *******************************************************************
;*  Tabela de C¢digos de Produto da ANP (Combust¡veis e Lubrificantes)         *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 05/11/2013 por 
;Ultima Alteracao:   /  /     por 
;Motivo Alteracao: 

;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc CHAVE()
While True

  End
  Down Down
  Moveto [Codigo]

  SetaCorRegistro("Editar")
  While True

  TECLA=""
  AguardaTeclasPadrao()

 Switch
    Case RetVal=-33 : SemFuncoes()
    Case RetVal="F3": SemFicha()
    Case RetVal=-94 : MsgTeclasPadrao()
    Case (RetVal="F7" Or RetVal="UP" Or RetVal="PGUP" Or RetVal="HOME"):
         While True
           PAGINA("Anp_Comb","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
         QuitLoop
    Case Retval="ESC":
         CHAVE=9
         Del
         Return
    Case RetVal="ENTER":
              If IsBlank([])
                 Then Loop
              EndIf
              CODIGO=[Codigo]

              Del
              Locate CODIGO
              If Retval
                 Then CHAVE=0
                 Else CHAVE=1
                      End Down Down
                      [Codigo]=CODIGO
              EndIf
              If IsLockRecord()
                 Then If CHAVE=1
                         Then Del
                      EndIf
                 Else Return
              Endif            
              QuitLoop
    EndSwitch
  EndWhile
EndWhile

EndProc  ;(Chave)

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

Moveto [Produto]
While True

      TECLA=" Esc=Retornar  "

      If CHAVE=0
         Then TECLA=TECLA+"Del=Excluir  "
      EndIf
      MSGCAMPO=Field()
      Switch
        Case Field()="Produto" : MSGCAMPO="Descri‡„o do Produto"
      EndSwitch  
      
      Prompt TECLA
      SetaCorRegistro("Editando")
      Wait Field
        Message MSGCAMPO
           Until "ESC","ENTER","DEL","FIELDVIEW","F35"

      Switch

      Case Retval="ESC":
           Switch
                 Case Field()="Produto":
                      If QuerDesfazer("")
                         Then If CHAVE=1
                                 Then DEL
                                 Else Undo
                              Endif
                              CHAVE=9
                              QuitLoop
                      Endif
                 OtherWise: Left     
           EndSwitch
      Case Retval="ENTER":
           Switch
                 Case Field()="Produto" : QuitLoop
                 OtherWise              : Right
           EndSwitch
      Case Retval="FIELDVIEW" 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 "Anp_Comb"
PickForm "F"
While True
  CHAVE()
  If CHAVE=9
     Then QuitLoop
  EndIf
  Controla_EdicaoC()
EndWhile
Do_It!
ClearAll
Release Vars All
Release Procs All