Ir para conteúdo

Erro divide by zero error encountered.


lucasbernardo

Posts Recomendados


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  17
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  195
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  38

Bom dia! Estou com uma sql funcionava perfeita depois que atualizei para 12.1.17.232 ele esta retornando erro.

select TMOV.IDMOV [ID], 
       TMOV.NUMEROMOV [NRO NOTA FISCAL],
       TMOV.DATAEMISSAO [ DATA EMISSAO],
       TMOV.DATASAIDA [DATA ENTRADA],
       TMOV.PLACA [PLACA],
       TMOV.PESOBRUTO [PESO BRUTO],
       TMOV.PESOLIQUIDO [PESO LIQUIDO],
       FCFO.CODCFO [CODIGO],
       FCFO.NOME [FORNECEDOR],
       FCFO.CGCCFO [CNPJ],
       FCFO.INSCRESTADUAL [INSCRICAO],
       upper(FCFO.CIDADE) [CIDADE],
       FCFO.TELEFONE [TELEFONE],
       FCFO.CODETD [ESTADO] ,
       FCFO.PESSOAFISOUJUR [TIPO PESSOA],
       TPRD.DESCRICAO [PRODUTO],
       TITMMOV.QUANTIDADEORIGINAL [M3],
       TITMMOV.PRECOUNITARIO [PRECO UNITARIO],
       TITMMOV.VALORLIQUIDO [VR DO PRODUTO],
       TMOVCOMPL.CAMPO01 [NRO NF PRODUTOR],
       TMOVCOMPL.CAMPO02 [VOLUME M3 NF PRODUTOR],
       TMOVCOMPL.CAMPO03 [VALOR NF PRODUTOR],
       TMOVCOMPL.CAMPO04 [DATA NF PRODUTOR],
       TMOVCOMPL.CAMPO05 [ESSENCIA],
       TMOVCOMPL.CAMPO06 [PRECO NF CARVAO PRODUTOR],
       TMOVCOMPL.CAMPO07 [M3 DA DESCARGA],
       isnull(TMOVCOMPL.CAMPO08,0) [TAXA FLORESTAL],
       isnull(TMOVCOMPL.CAMPO09,0) [OUTROS ACRÉSCIMOS],
       TMOVCOMPL.CAMPO10 [VALOR M3 NEGOCIADO],
       TMOVCOMPL.CAMPO21 [DESCONTO],
             
       case when FCFO.PESSOAFISOUJUR='J' then 0
            when FCFO.PESSOAFISOUJUR='F' AND FCFO.CODETD='MG' and (TMOVCOMPL.CAMPO07-TMOVCOMPL.CAMPO02)>= (TMOVCOMPL.CAMPO02*0.10) then (TMOVCOMPL.CAMPO02*1.10)
            else TMOVCOMPL.CAMPO07
       end [M3 NF PAGAR] ,           
       
       case when FCFO.PESSOAFISOUJUR='F' AND FCFO.CODETD='MG' then 
         (CAST(TMOVCOMPL.CAMPO07*TMOVCOMPL.CAMPO10 AS DECIMAL(10,2))+                             /*Preço Negociado * Metragem Descarregada */
         isnull(TMOVCOMPL.CAMPO08,0) +                                                                      /*Taxa Floresta */   
         isnull(TMOVCOMPL.CAMPO09,0) -                                                                      /*Outros Acréscimos */
         isnull (TMOVCOMPL.CAMPO21,0) -                                                              /*Outros Descontos*/
         CAST((TMOVCOMPL.CAMPO07*TMOVCOMPL.CAMPO10) * (TMOVCOMPL.CAMPO12/100) AS DECIMAL(10,2)))   /*Desconto Umidade*/
         *0.015
          else 0
       end [VALOR INSS],   
       
       cast(TMOVCOMPL.CAMPO07 as decimal(10,4))* cast(TMOVCOMPL.CAMPO10 as decimal(10,4)) [SUBTOTAL1],
       
       cast(TMOVCOMPL.CAMPO07 as decimal(10,4))* cast(TMOVCOMPL.CAMPO10 as decimal(10,4)) -      /* Preço Negociado * Metragem Descarregada */
       CAST((TMOVCOMPL.CAMPO07*TMOVCOMPL.CAMPO10) * (TMOVCOMPL.CAMPO12/100) AS DECIMAL(10,2))   /* Preço Negociado * Metragem Descarregada menos desconto umidade*/
       [SUBTOTAL2],
       
       cast(TMOVCOMPL.CAMPO07 as decimal(10,4))* cast(TMOVCOMPL.CAMPO10 as decimal(10,4)) -      /* Preço Negociado * Metragem Descarregada */
       cast((TMOVCOMPL.CAMPO07*TMOVCOMPL.CAMPO10) * (TMOVCOMPL.CAMPO12/100) AS DECIMAL(10,2)) +  /* Preço Negociado * Metragem Descarregada menos desconto umidade*/
       isnull(TMOVCOMPL.CAMPO08,0) +                                                             /*Taxa Floresta */   
       isnull(TMOVCOMPL.CAMPO09,0) -                                                              /*Outros Acréscimos */
       isnull (TMOVCOMPL.CAMPO21,0)                                                              /*Outros Descontos*/     
       [SUBTOTAL4],
       
       case when FCFO.PESSOAFISOUJUR='J' AND FCFO.CODETD='MG' then 
         cast(TMOVCOMPL.CAMPO07 as decimal(10,4))* cast(TMOVCOMPL.CAMPO10 as decimal(10,4)) -      /* Preço Negociado * Metragem Descarregada */
         cast((TMOVCOMPL.CAMPO07*TMOVCOMPL.CAMPO10) * (TMOVCOMPL.CAMPO12/100) AS DECIMAL(10,2)) +  /* Preço Negociado * Metragem Descarregada menos desconto umidade*/
         isnull(TMOVCOMPL.CAMPO08,0) +                                                             /*Taxa Floresta */   
         isnull(TMOVCOMPL.CAMPO09,0) -                                                              /*Outros Acréscimos */
         isnull (TMOVCOMPL.CAMPO21,0)                                                              /*Outros Descontos*/
       else 0
       end
        [VRNFE],
              
       cast(TMOVCOMPL.CAMPO07 as decimal(10,4))* cast(TMOVCOMPL.CAMPO10 as decimal(10,4)) -      /* Preço Negociado * Metragem Descarregada */
       cast((TMOVCOMPL.CAMPO07*TMOVCOMPL.CAMPO10) * (TMOVCOMPL.CAMPO12/100) AS DECIMAL(10,2)) +   /* Preço Negociado * Metragem Descarregada menos desconto umidade*/ 
       isnull(TMOVCOMPL.CAMPO08,0) + /* TAXA FLORESTAL */
       isnull(TMOVCOMPL.CAMPO09,0) -  /*OUTROS ACRÉSCIMOS */
       case when FCFO.PESSOAFISOUJUR='F' AND FCFO.CODETD='MG' then 
         (CAST(TMOVCOMPL.CAMPO07*TMOVCOMPL.CAMPO10 AS DECIMAL(10,2))+                             /*Preço Negociado * Metragem Descarregada */
         isnull(TMOVCOMPL.CAMPO08,0) +                                                                      /*Taxa Floresta */   
         isnull(TMOVCOMPL.CAMPO09,0) -                                                                      /*Outros Acréscimos */    
         CAST((TMOVCOMPL.CAMPO07*TMOVCOMPL.CAMPO10) * (TMOVCOMPL.CAMPO12/100) AS DECIMAL(10,2)))   /*Desconto Umidade*/
         *0.015 - isnull(TMOVCOMPL.CAMPO21,0)                                                                /*Outros Descontos*/
          else 0
       end 
       [SUBTOTAL3],
                   
                   case when FCFO.PESSOAFISOUJUR='J' AND FCFO.CODETD='MG' then 0
                        when TMOVCOMPL.CAMPO03 > cast(TMOVCOMPL.CAMPO07 as decimal(10,4))* cast(TMOVCOMPL.CAMPO10 as decimal(10,4))
                            then TMOVCOMPL.CAMPO03 - cast(TMOVCOMPL.CAMPO07 as decimal(10,4))* cast(TMOVCOMPL.CAMPO10 as decimal(10,4))
                        else 0
                        end +
                         
                  (case when FCFO.PESSOAFISOUJUR='J' AND FCFO.CODETD='MG' then 0
                       else 
                   case when (TMOVCOMPL.CAMPO07>TITMMOV.QUANTIDADEORIGINAL) and   (TMOVCOMPL.CAMPO07-TMOVCOMPL.CAMPO02)> (TMOVCOMPL.CAMPO02*0.10) then  TMOVCOMPL.CAMPO02*0.10
                      when (TMOVCOMPL.CAMPO07>TITMMOV.QUANTIDADEORIGINAL) and  (TMOVCOMPL.CAMPO07-TMOVCOMPL.CAMPO02)< (TMOVCOMPL.CAMPO02*0.10) then  (TMOVCOMPL.CAMPO07-TMOVCOMPL.CAMPO02)
                      else 0
                      end 
                   end *
              
                   case when FCFO.PESSOAFISOUJUR='J' then 0
                   when FCFO.PESSOAFISOUJUR='F' AND FCFO.CODETD='MG' then 0
                   when TMOVCOMPL.CAMPO07>TITMMOV.QUANTIDADEORIGINAL then TITMMOV.PRECOUNITARIO
                   else 0
                   end )
                   [DEVOLUÇÃO],
              
         case when FCFO.PESSOAFISOUJUR='J' AND FCFO.CODETD='MG' then 0
              when TMOVCOMPL.CAMPO07 < TITMMOV.QUANTIDADETOTAL then (TITMMOV.QUANTIDADETOTAL-TMOVCOMPL.CAMPO07)
              end [DEVOLUÇÃO METRAGEM]  ,  
             
        case when FCFO.PESSOAFISOUJUR='J'  then 0
           else 
           (cast(TMOVCOMPL.CAMPO07 as decimal(10,4))* cast(TMOVCOMPL.CAMPO10 as decimal(10,4))  - 
            case when FCFO.PESSOAFISOUJUR='F' AND FCFO.CODETD='MG' then ((TMOVCOMPL.CAMPO07*TMOVCOMPL.CAMPO10)+TMOVCOMPL.CAMPO08)*0.015
              else 0
            end 
            + ( isnull(TMOVCOMPL.CAMPO08,0)+ isnull(TMOVCOMPL.CAMPO09,0) ))   
            /
            case when FCFO.PESSOAFISOUJUR='J' then 0
                 when FCFO.PESSOAFISOUJUR='F' AND FCFO.CODETD='MG' and (TMOVCOMPL.CAMPO07-TMOVCOMPL.CAMPO02)>= (TMOVCOMPL.CAMPO02*0.10) then (TMOVCOMPL.CAMPO02*1.10)
                 else TMOVCOMPL.CAMPO07
               end 
           end [PRECO CARVAO NFE], 
           
       case when FCFO.PESSOAFISOUJUR='J' AND FCFO.CODETD='MG' then 0
              else 0
              end [COMPLEMENTO DE VALOR],
       
       case when FCFO.PESSOAFISOUJUR='J' AND FCFO.CODETD='MG' then 0
              else 
               case when (TMOVCOMPL.CAMPO07>TITMMOV.QUANTIDADEORIGINAL) and   (TMOVCOMPL.CAMPO07-TMOVCOMPL.CAMPO02)> (TMOVCOMPL.CAMPO02*0.10) then  TMOVCOMPL.CAMPO02*0.10
                    when (TMOVCOMPL.CAMPO07>TITMMOV.QUANTIDADEORIGINAL) and  (TMOVCOMPL.CAMPO07-TMOVCOMPL.CAMPO02)< (TMOVCOMPL.CAMPO02*0.10) then  (TMOVCOMPL.CAMPO07-TMOVCOMPL.CAMPO02)
                    else 0
                    end 
          end [COMPLEMENTO DE METRAGEM],
              
       case when FCFO.PESSOAFISOUJUR='J' AND FCFO.CODETD='MG' then 0
            when TMOVCOMPL.CAMPO07>TITMMOV.QUANTIDADEORIGINAL then TITMMOV.PRECOUNITARIO
            else 0
            end [PRECO DO COMPLEMENTO DE METRAGEM] ,      
            
       CAST((TMOVCOMPL.CAMPO07*TMOVCOMPL.CAMPO10) * (TMOVCOMPL.CAMPO12/100) AS DECIMAL(10,2)) [DESCONTO UMIDADE],
       
       isnull(TMOVCOMPL.CAMPO13,0) [DENSIDADE],
       isnull(TMOVCOMPL.CAMPO14,0) [BASE SECA],
       isnull(TMOVCOMPL.CAMPO12,0) [UMIDADE],
       isnull(TMOVCOMPL.CAMPO15,0) [PRECO TONELADA]
            
              
from TMOV (nolock)  

inner join FCFO (nolock) on FCFO.CODCFO=TMOV.CODCFO     

inner join TITMMOV (nolock) on TITMMOV.CODCOLIGADA=TMOV.CODCOLIGADA and
                               TITMMOV.IDMOV=TMOV.IDMOV

inner join TMOVCOMPL (nolock) on TMOVCOMPL.CODCOLIGADA=TMOV.CODCOLIGADA and
                                 TMOVCOMPL.IDMOV=TMOV.IDMOV
                               
inner join TPRD (nolock) on TPRD.IDPRD=TITMMOV.IDPRD                               
where TMOV.CODCOLIGADA=:$CODCOLIGADA and
      TMOV.IDMOV=:IDMOV1

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  885
  • Tópicos/Dia:  0.13
  • Meu Conteúdo:  8.802
  • Conteúdo/Dia:  1.34
  • Reputação:   291
  • Pontos/Conquistas:  106.268
  • Conteúdo Resolvido:  0
  • Dias Ganho:  185
  • Status:  Offline
  • Idade:  51
  • Dispositivo:  Windows

Isso não tem qualquer ligação direta com a atualização da versão. Pode ter algo se mudou alguma tabela e tal, mas creio que não seja o caso. Você tem que analisar sua sentença, pois, em algum local dela que faz uma divisão está vindo zero para esta parte e não é possível fazer divisão por zero. Você deve encontrar qual problema está gerando isso, se na base em si, ou se teria que tratar alguma condição se vier zero para não gerar o erro.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  17
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  195
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  38

Bom dia, Jair!!!

Obrigado. Resolvido!!

Editado por lucasbernardo
Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.