Ir para conteúdo
  • Cadastre-se

Karllos Soares

Membros
  • Total de ítens

    1
  • Registro em

  • Última visita

Posts postados por Karllos Soares

  1. Em 01/10/2020 at 09:37, EMBarbosa disse:

    Boa tarde Marcos,

       apesar de estar liberado esse 08 e ele não estar no cálculo publicado, o resto continua o mesmo.

       Assim, é possível validar com o mesmo algoritmo desde que você o atualize para aceitar esse segundo caractere como "8".

       Foi o que fizemos com o ACBrValidador. Ele agora já está funcional. :)

    Amigo, poderia divulgar o código? Não estou conseguindo validar com o mesmo algorítimo que possuo

    IF p_uf = 'DF' THEN
      
        IF length(TRIM(p_nr_inscricao_estadual)) <> 13 OR
           substr(p_nr_inscricao_estadual, 1, 2) <> 07 THEN
        
          v_verificador := 'ERRADO';
        
        ELSE
        
          v_calculo := substr(p_nr_inscricao_estadual, 1, 1) * 4;
          v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 2, 1) * 3;
          v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 3, 1) * 2;
          v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 4, 1) * 9;
          v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 5, 1) * 8;
          v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 6, 1) * 7;
          v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 7, 1) * 6;
          v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 8, 1) * 5;
          v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 9, 1) * 4;
          v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 10, 1) * 3;
          v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 11, 1) * 2;
        
          v_digito := 11 - MOD(v_calculo, 11);
        
          IF v_digito >= 10 THEN
          
            v_digito := 0;
          
          END IF;
        
          IF substr(p_nr_inscricao_estadual, 12, 1) <> v_digito THEN
          
            v_verificador := 'ERRADO';
          
          ELSE
          
            v_calculo := substr(p_nr_inscricao_estadual, 1, 1) * 5;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 2, 1) * 4;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 3, 1) * 3;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 4, 1) * 2;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 5, 1) * 9;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 6, 1) * 8;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 7, 1) * 7;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 8, 1) * 6;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 9, 1) * 5;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 10, 1) * 4;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 11, 1) * 3;
            v_calculo := v_calculo + substr(p_nr_inscricao_estadual, 12, 1) * 2;
          
            v_digito := 11 - MOD(v_calculo, 11);
          
            IF v_digito >= 10 THEN
            
              v_digito := 0;
            
            END IF;
          
            IF substr(p_nr_inscricao_estadual, 13, 1) <> v_digito THEN
            
              v_verificador := 'ERRADO';
            
            ELSE
            
              v_verificador := 'CERTO';
            
            END IF;
          
          END IF;
        
        END IF;
      
        RETURN v_verificador;
      
      END IF;

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...