Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Rep-1401. Ora-01722

Estas en el tema de Rep-1401. Ora-01722 en el foro de Oracle en Foros del Web. Hola estoy realizando una columna formula y me sale el siguiente mensaje al ejecutar el report. REP-1401: 'cf_01_t_pformula': Se ha producido un error fatal de ...
  #1 (permalink)  
Antiguo 30/07/2008, 04:07
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Rep-1401. Ora-01722

Hola estoy realizando una columna formula y me sale el siguiente mensaje al ejecutar el report.

REP-1401: 'cf_01_t_pformula': Se ha producido un error fatal de PL/SQL. ORA-01722 número no valido.

El codigo de la formula es el siguiente:

function CF_01_T_PFormula return Number is
suma number(10):=0;
begin
select nvl(sum(des.cantidad_producto),0)
into suma
from min_explotaciones_his his,
min_destinos_productos des
where his.exp_actividad = 'S'
and his.año = :p_año
and his.explotacion = :p_explotacion
and des.año = his.año
and des.id_explotacion = his.id_explotacion
and des.id_producto = 4
and des.id_destino = 52;

return suma;
end;

La columna cantidad_producto es de tipo number(10).

La verdad es que no tengo ni idea de que puede ser, a ver si me podeis echar una mano.

Gracias por adelantado.
  #2 (permalink)  
Antiguo 30/07/2008, 04:16
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Rep-1401. Ora-01722

Acabo de descubrir que si cambio

and des.id_destino = 52

por

and des.id_destino = 53

si funciona.

Pero claro yo quiero saber los datos del destino 52 que si existe en la base de datos. Aunque en el caso de que no existiera deberia devolver 0...
  #3 (permalink)  
Antiguo 30/07/2008, 09:21
 
Fecha de Ingreso: junio-2008
Ubicación: D.F.
Mensajes: 62
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Rep-1401. Ora-01722

Que Tal,

De acuerdo a lo que comentas de que al cambiar el 52 por el 53 si funciona tu formula, lo que creo es que talvez
el tipo de dato de las columnas con las que amarras ambas tablas sean diferentes, es decir que mientres en una tabla el campo es númerico que en la otra sea caracter.

Saludos.
  #4 (permalink)  
Antiguo 30/07/2008, 10:22
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: Rep-1401. Ora-01722

aunque tambien me late que podria ser el id_destino que no sea numerico y lo tubieras que tratar como

and des.id_destino = '52'
__________________
Blogzote.com :-) Mi blog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:16.