![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: Java ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104 |
Boleto Bancário Java - Como calcular o Dígito Verificador do Código do Cedente (Módulo 11) - Boleto Caixa EconômicaQuantidade de visualizações: 2606 vezes |
|
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Código do Cedente para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104). No momento que escrevo essa dica, o Código do Cedente é um número composto por seis dígitos, que identifica a empresa no banco. Em geral esse número é fornecido pelo gerente da conta mediante a assinatura de um contrato ou convênio. Recentemente a Caixa introduziu o código de cedente com 7 dígitos. No entanto, não tive a oportunidade de encontrar um cliente com tal código. Se for o seu caso, verifique com a equipe de suporte da sua agência sobre o procedimento adotado. As informações que obtive são de que o cálculo continua sendo apenas com os seis dígitos, mas não descobri se são as seis primeiras posições ou as últimas. Se algum leitor do site souber mais a respeito, pode me enviar mensagens que atualizo essa dica. O cálculo que mostrarei é baseado no Módulo 11 e está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código abaixo. O Dígito Verificador do Código do Cedente não é usado nos cálculos da linha digitável nem do código de barras. Ele é usado somente no campo "Agência/Código cedente" do boleto bancário. Porém, é importante saber efetuar o seu cálculo corretamente, pois a homologação dos boletos e arquivos de remessa dependem dessa verificação. Dito isso, veja o código Java completo para uma função que recebe o código do cedente e retorna o seu dígito verificador: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
// vamos calcular o dígito verificador do código do
// cedente
String codigoCedente = "005507";
int digito = dvCodigoCedente(codigoCedente);
System.out.println("O dígito verificador para o código do cedente " +
codigoCedente + " é: " + digito);
}
// função que recebe o código do cedente
// e retorna o seu dígito verificador
public static int dvCodigoCedente(String cedente){
int digito = -1;
// o código do cedente possui mais que 6 dígitos?
if(cedente.length() > 6){
System.out.println("O código do cedente não pode ter " +
" mais que 6 dígitos.");
System.exit(1);
}
// primeiro vamos remover os espaços do número do cedente
cedente = cedente.trim();
// agora precisamos adicionar os zeros necessários
// para completar 6 posições
cedente = String.format("%1$6s", cedente).replace(' ', '0');
// agora vamos definir os índices de múltiplicação
String indices = "765432";
// e aqui a soma da multiplicação coluna por coluna
int soma = 0;
// fazemos a multiplicação coluna por coluna agora
// fazemos a multiplicação coluna por coluna agora
for (int i = 0; i < cedente.length(); i++){
soma = soma + Integer.parseInt(String.valueOf(cedente.charAt(i))) *
Integer.parseInt(String.valueOf(indices.charAt(i)));
}
// Obs.: Quando o Total da Soma for MENOR que o quociente (no
// caso 11), pular o 3º PASSO, ou seja, o Total da Soma deverá ser
// diminuído diretamente do quociente, obtendo-se o DV como
// resultado.
if(soma < 11){
digito = 11 - soma;
}
else{
// obtemos o resto da divisão da soma por onze
int resto = soma % 11;
// subtraímos onze pelo resto da divisão
digito = 11 - resto;
}
// atenção: Se o resultado da subtração for
// maior que 9 (nove), o dígito será 0 (zero)
if(digito > 9){
digito = 0;
}
return digito;
}
}
Ao executarmos este código Java nós teremos o seguinte resultado: O dígito verificador para o código do cedente 005507 é: 7 |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





