Una pregunta que muy frecuentemente recibo es ¿cómo puedo invocar un reporte de Oracle Reports desde Apex?; por este motivo en esta publicación, voy a explicar la manera en que se puede realizar dicha acción.

En primer lugar, he de mencionar que invocar un Report de Oracle, es hacer referencia a un URL, por esta razón, es posible hacer su invocación desde Apex de varias maneras.

La primer manera en que se puede llamar, es como parte de un «iframe» o «ilayer», dependiendo del navegador que se esté utilizando, para esto, debemos crear en una página, una región de tipo «PL/SQL» (contenido dinámico) y en el «Origen de Región» incluir es siguiente segmento de código:

Declare
v varchar2(2000);
Begin
v := »'<iframe src=»http://app_server:puerto/reports/rwservlet?server=nom_servidor+report=mi_reporte.rdf+userid=usuario/contraseña@instancia+desformat=dflt+destype=salida+desname=driver+paramform=yes+param=&CAMPO.»‘||
‘ height=»600″ width=»800″>’||
‘<ilayer src=»http://app_server:puerto/reports/rwservlet?server=nom_servidor+report=mi_reporte.rdf+userid=usuario/contraseña@instancia+desformat=dflt+destype=salida+desname=driver+paramform=yes+param=&CAMPO.»‘||
‘<p><a href=http://app_server:puerto/reports/rwservlet?server=nom_servidor+report=mi_reporte.rdf+userid=usuario/contraseña@instancia+desformat=dflt+destype=salida+desname=driver+paramform=yes+param=&CAMPO.»‘||
‘Haga clic aquí</a></p></ilayer>’||
‘</iframe>»’;
htp.print(v);
End;

La segunda manera, es incluir el URL hacia el reporte en un botón, utilizando esta opción lo que se debe hacer es:

  • Crear un elemento tipo botón dentro de una región.
  • En la sección «Acción al hacer clic en botón»:
  • En el campo «Acción», seleccionar «Redirigir a URL»
  • En el campo «Destino de URL», incluir el URL hacia el reporte:

http://app_server:puerto/reports/rwservlet?server=nom_servidor+report=mi_reporte.rdf+userid=usuario/contraseña@instancia+desformat=dflt+destype=salida+desname=driver+paramform=yes+param=&CAMPO.

En cualquiera de los dos casos anteriores se debe cambiar los siguientes campos:

app_server, por el nombre o dirección IP del servidor de aplicaciones ejecutando el servidor de Reports
puerto, por el puerto donde se ejecuta el servidor
nom_servidor, por el nombre del servidor de reportes que ejecutará el Report
mi_reporte.rdf, por el nombre del reporte a ejecutar
usuario/contraseña@instancia, por el usuario, contraseña y cadena de conexión de base de datos
desformat, puede mantener dflt, o cambiar por el formato de salida que desea utilizar
salida, debe cambiarlo por el dispositivo de salida a utilizar para mostrar en reporte: Screen, Printer, etc.
driver, por el nombre del controlador de impresora utilizado para el reporte, o bien, puede omitirlo.
paramform, puede utilizar «yes» para que se muestre la pantalla de parámetros o «no» para que no se muestre
param=&CAMPO., por el nombre del parámetro que desea pasar y su correspondiente valor, los puede omitir si no los tiene o puede pasar más de uno.

Share This