PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Simples comando IF
Versão:
12.1.7
Plataforma:
Microsoft
Complemento:
DB:
Oracle
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário MIKE_RD MIKE_RD em 23/10/2018, 12:11 h
Local: PR  Registro: 08/05/2018  Postagens: 1
Bom dia gente! Uma pergunta para quem é mestre dos magos!!!
Tenho um simples comando:

                 If Upper(ATEXTO[1])==‘I‘
          
               Alert(Upper(ATEXTO[1]))
               Alert(ATEXTO[9])
               Alert(CTOD(ATEXTO[25]))

               _CodigoImp:=getsxenum("Z35","Z35_CODIMP")
               RECLOCK("Z35",.T.)
               Z35->Z35_FILIAL      := XFILIAL()
               Z35->Z35_CODIMP      := _CodigoImp
               Z35->Z35_OPERAC := Upper(ATEXTO[1])
               Z35->Z35_AUTOR      := ATEXTO[9]
               Z35->Z35_DC      := CTOD(ATEXTO[25])
               Z35->Z35_DM       := mv_par01
                  ConfirmSx8()
                  MSUNLOCK("Z35")

          EndIf

Quando se roda a aplicação desta maneira, ele duplica a informação, como fosse passando 2 vezes a mesma função e com o erro Z35010_UNQ violated...
Porem quando eu comento do _CodigoImp ate MSUNLOCK("Z35") (sem gravar no banco) a aplicação roda uma unica vez!

Isso não é de Deus...

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário JALBERTO JALBERTO em 23/10/2018, 14:54 h
Local: RS  Registro: 20/08/2009  Postagens: 167
A forma correta de liberar o registro é Z35->( MsUnLock() )

Jorge Alberto

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal