Valores Null en IReport

Estoy diseñando un reporte de activod fijos. Tengo una tabla1 base donde están todos los activos, la cual es la base del reporte. Otra tabla2 en donde se cargan las depreciaciones de los activos y cuando este ya no tiene más depreciación se registra en otra tabla3.
Ahora, al reporte se le da un periodo de depreciación, esto esta registrado en la tabla2. Cuando el periodo para el cual se esta generando el reporte no esta en tabla2 para un activo, se debe visualizar la información de este activo que esta en tabla3.
Mi problema es que cuando no lo consigue en tabla2 para ese periodo, trae una fila null, en su lugar quiero imprimir los valore que están en tabla3. Para esto tengo que sobreponer ambos campos en el reporte, y no he logrado indicar cuando se imprime uno o el otro.
El Ireport tiene una opción de Imprimir cuando ... El cual debe ser una expresión boolean. Esto es lo que no he podido hacer
2

2 respuestas

Respuesta
2
Esto lo puedes resolver también con la función NVL, por ejemplo seria algo así:
select   nvl(tabla2.campoX, tabla3.campoX)  valorX
    from tabla1, tabla2, tabla3
 where
Con esto estas seleccionando el campoX de la tabla1, en caso este de ser nulo, selecciona el campoX de la tabla2.
Gracias, esta muy buena tu propuesta. Pero resolví de otra forma. Cree una variable y le asigne algo como esto
( campo1 != null ? campo1 : campo2 )
Y funciona perfectamente.
Respuesta

También podemos combinar campos con constantes dentro de la variable del iReport:

( $F{subtipoAccion.descripcion} != null ? $F{subtipoAccion.descripcion}.toString() : " ok " )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas