Validar el ingreso del RUC de Ecuador en Java – Tercera parte
febrero 20, 2011 a las 5:37 pm | Publicado en Java, Programacion | 1 comentarioEtiquetas: cedula, java, ruc
En la primera parte les mostré cómo validar el RUC de una persona natural. En la segunda parte les mostré cómo validar el RUC para persona jurídica o extranjera. Ahora les mostraré cómo validar el RUC para empresas públicas.
RUC para empresas públicas
La estructura de este tipo de RUC se muestra en la siguiente figura:
La validación de este tipo de RUC se basa en el algoritmo de Módulo 11. Los coeficientes son: 3, 2, 7, 6, 5, 4, 3, 2.
El procedimiento es el siguiente:
- Se multiplican los primeros nueve dígitos del RUC por cada uno de los coeficientes que le corresponde en la misma posición.
- Se suma ese resultado.
- Se divide ese resultado para el módulo, como este RUC es módulo 11, se divide la suma para 11, y se obtiene su residuo.
- Se resta el módulo (en este caso 11) de el residuo de la división anterior.
- El resultado es el dígito verificador. Si ese número coincide con el número del RUC de la posición 9 el RUC es correcto.
Excepción: Si el residuo es cero, el dígito verificador es cero.
Ejemplo:
Coeficiente: 3 2 7 6 5 4 3 2
RUC: 1 7 6 0 0 0 1 5 5 0 0 0 1
Producto: 3 14 42 0 0 0 3 10 14
Sumatoria: 72
Residuo: 72 dividido para 11 da como respuesta 6, y como residuo 6.
Resta: 11 – 6 = 5.
5 Es el dígito verificador.
El código es el siguiente:
public class ValidaRucEP {
public static final int num_provincias = 24;
public static Boolean validaRucEP(String ruc){
int prov = Integer.parseInt(ruc.substring(0, 2));
boolean val = false;if (!((prov > 0) && (prov <= num_provincias))) {
return val;
}Integer v1,v2,v3,v4,v5,v6,v7,v8,v9;
Integer sumatoria;
Integer modulo;
Integer digito;
Integer sustraendo;
int[] d = new int[ruc.length()];for (int i = 0; i < d.length; i++) {
d[i] = Integer.parseInt(ruc.charAt(i) + «»);
}v1 = d[0]* 3;
v2 = d[1]* 2;
v3 = d[2]* 7;
v4 = d[3]* 6;
v5 = d[4]* 5;
v6 = d[5]* 4;
v7 = d[6]* 3;
v8 = d[7]* 2;
v9 = d[8];sumatoria = v1+v2+v3+v4+v5+v6+v7+v8;
modulo = sumatoria % 11;
sustraendo = modulo * 11;
digito = 11-(sumatoria – sustraendo);
System.out.println(«Digito RUC –> «+digito);
System.out.println(«Digito Calculado –> «+v9);if(digito == v9){
val = true;
}else
val = false;
return val;
}public static void main(String[] args) {
String ruc_dato = «1760001550001»;
if (validaRucEP(ruc_dato)) {
System.out.println(«El RUC es correcto»);
} else
System.out.println(«El RUC es incorrecto»);
}
}
Espero que les sirva.
Pueden descargarse el código fuente de esta explicación en el siguiente enlace: http://mygnet.net/codigos/java/varios/validar_la_cedula_y_el_ruc_de_ecuador_en_java.3335
Crea un blog o un sitio web gratuitos con WordPress.com.
Entries y comentarios feeds.