Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/11/2013, 07:45
Erickvk
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 16 años, 7 meses
Puntos: 8
Respuesta: procedimiento almacenado para IBAN

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Francamente no creo que los lenguajes de programación te presenten un problema para manejar esos códigos, desde le momento en que se lo maneja como cadena de texto, como es sabido.
¿No estarás intentando realizar las verificaciones incorrectamente? ¿Tomando el código entero como si fuese un número?

AL menos postea lo que intentaste para ver por qué tienes problemas.
Mi pregunta es sencilla, si uso la funcion mod de oracle MOD( m, n ), voy a tener algun problema con el tamaño de m.

en javascript al usar m % n, he usado mi cuenta corriente que el resultado es 11 y al hacer esta operacion me ha dado 60, y en java me ha dado una excepcion.

En javascript me falla porque su precision es 16 y las cuentas como minimo son 20 + las seis de control de IBAN. Para solucionarlo tanto en javascript como en java he troceado la cadena con el substring y he ido calculando el resto de cada subcadena.

El problema es actualizar la bbdd para añadir el IBAN y para ello lo que hay que hacer dos consultas a bbdd para recuperar las cuentas de dos tablas.

con un cursor ir recorriendo cada fila:
- recuperar el banco, agencia y completar con ceros hasta que tengan 4 caracteres.
- recuperar el DC y completarlo con ceros hasta que tenga 2 caracteres.
- recuperar el resto de la cuenta y completar con ceros hasta que tenga 10 caracteres.
- concatenar la cuenta banco + '' +agencia+ '' + DC + '' + cuenta;
- concatenar la cadena de control de IBAN, en españa 142800.
- despues de tener toda la cuenta realizar el modulo de 97.

SELECT MOD(cuenta ,97) FROM DUAL;
...
- luego realizar update de la tabla.