Volver al blog
Oracle 2 min de lectura

REP-110: Oracle Reports no puede abrir un reporte que sí existe

Un reporte deja de ejecutarse de un día para otro con REP-110 mientras el resto funciona. La causa: un archivo homónimo sin extensión en una ruta fuera de REPORTS_PATH. Cómo localizarlo y eliminarlo.

Portada del artículo: REP-110, unable to open file, en Oracle Reports

En un entorno con Oracle Reports instalado puede ocurrir que, al ejecutar un reporte, aparezca un REP-110 indicando que el archivo no se puede abrir. Lo desconcertante es el patrón: el error surge de un día para otro, afecta a un solo reporte y el resto sigue ejecutándose con normalidad. Y si lanzas ese mismo reporte con la ruta completa, o añadiendo la extensión .rdf o .rep, funciona.

El error

REP-110 · REP-1070 · REP-0110

REP-110: No se ha podido abrir el archivo 'rinnovousers.'.
REP-1070: Error al abrir o guardar un documento.
REP-0110: No se ha podido abrir el archivo 'rinnovousers.'.
Pantalla de error de Oracle Reports mostrando REP-110, REP-1070 y REP-0110 al abrir el archivo rinnovousers
El error tal como lo devuelve Oracle Reports al intentar ejecutar el reporte.

La causa

Existe, en alguna ruta que no necesariamente está dentro de REPORTS_PATH, un archivo con el mismo nombre que el reporte y sin extensión. Al resolver el nombre, Oracle Reports encuentra primero ese archivo —que no es un reporte— y falla al abrirlo. Eso explica por qué invocarlo con la ruta completa o con la extensión explícita sí funciona: se salta la resolución por nombre.

La solución

Localizar y eliminar el archivo homónimo sin extensión. Pasos:

  1. Busca en el filesystem todos los archivos que compartan el nombre del reporte.
  2. Identifica el que no tiene extensión (los .pdf del directorio cache son salidas legítimas del propio Reports; no los toques).
  3. Elimínalo y vuelve a ejecutar el reporte.
[oracle@rinnovoap1 ~]$ cd /u01
[oracle@rinnovoap1 u01]$ find . -name rinnovousers*

./app/oracle/product/101202/j2ee/home/rinnovousers          <-- sin extensión: este es el culpable
./app/oracle/product/101202/reports/cache/rinnovousersxrB0jMiM.pdf
./app/oracle/product/101202/reports/cache/rinnovouserstVHcTYZb.pdf
./app/oracle/product/101202/reports/cache/rinnovousersybPtAkG1.pdf
./app/oracle/product/101202/reports/cache/rinnovousersJESn9PWV.pdf

En el ejemplo, la búsqueda devuelve un archivo con el mismo nombre del reporte y sin extensión (tercera línea). Ese es el que hay que borrar.

Resultado

Eliminado el archivo, el reporte vuelve a ejecutarse sin errores.

Si el problema persiste, hay una segunda causa reportada para los mismos códigos de error en Reports 10: que la propiedad nombre del archivo fuente no coincida con el nombre del archivo del reporte (por ejemplo, archivo REPORTEA.rdf con la propiedad nombre en REPORTEAV3). En ese caso, corrige la propiedad para que coincida, recompila e instala de nuevo.