En muchas ocasiones dentro de una misma página tenemos una estructura padre/hijo, donde los resultados de un reporte dependen del registro seleccionado en la región padre, el problema que se da, es que si no queremos mostrar en la región hijo, los datos del padre seleccionado, no sabemos entonces a que «padre» corresponden los registros de la región hijo.

Para evitar esto, y saber a que registro padre corresponden los registros en la región del hijo, les propongo esta fácil solución:

1. Cree una página de tipo «Informe» con el código de consulta que desee o necesite, y como última columna de la consulta, agregue el siguiente código:

CASE
WHEN deptno = :P10_DEPTNO then
‘<img src=»#IMAGE_PREFIX#check.gif»>’
ELSE
null
END AS Seleccionado

2. Cree un elemento oculto llamado P99_FILTRO

3. Haga clic en el enlace «Informe» de la región del reporte anterior

4. Haga clic en el icono «Editar» del campo de llave primaria del reporte creado

5. En la sección «Enlace de columna»

=> En el campo «Texto de enlace» escriba:
<img src=»#IMAGE_PREFIX#calmag.gif» alt=»Consultar» title=»Consultar»>

=> En la línea «Elemento 1» ingrese el siguiente par de valores: P99_FILTRO, #FILTRO#

=> Haga clic en el botón «Aplicar Cambios»

6. Ahora cree una nueva región de tipo «Informe» con el código de la consulta «Hijo» y agréguele al final la opción de filtro:

where filtro = :P99_FILTRO

Eso es todo, solo le queda ejecutar la página y hacer clic en cualquiera de los iconos de la columna empleados y ver que sucede.

Recuerde que para hacer su propia página puede utilizar los códigos de consulta propios, así como las variables que necesite, solamente debe cambiar las proporcionadas en este ejemplo.

También puede utilizar las imagenes que usted desee, en caso de que las utilizadas en este ejemplo no sean de su agrado.

Puede ver una versión de este ejemplo funcionando en mi espacio de trabajo en OTN

Share This