Seleccionar página

Invocando un reporte de Oracle Reports desde Apex

Escrito por: Eddie Molina

Oracle ACE Pro. Oracle APEX Cloud Developer Certified Professional. Presidente de ORAUGCRC (Grupo de Usuarios Oracle de Costa Rica). Miembro de líderes de LAOUC. Conferencista, consultor, desarrollador y capacitador en tecnologías Oracle, especialmente Oracle Application Express con más de 30 años de experiencia.

14/11/2013

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.

También te puede gustar…

APEX 26.1 Nuevas APIs

APEX 26.1 Nuevas APIs

Continuemos conociendo un poco más de las cosas nuevas que trae la versión 26.1 de Oracle Application Express. En esta...

JSON y APEX_JSON

JSON y APEX_JSON

Con la llegada de APEX 26.1 hace apenas dos semanas y las nuevas funcionalidades que ofrece, cobra notoriedad el...

La nueva cara de APEX

La nueva cara de APEX

Hace apenas unos días que fue liberada la versión 26.1 de APEX. Una versión que va a marcar un antes y un después en...

Share This