Contactame

X


Víctor González

"De nada me sirve el conocimiento si no lo comparto."

Error de límite de tamaño de OTBI en PLSQL

Por Víctor González
21 octubre, 2021

OTBI (Oracle Transactional Business Intelligence), es una herramienta que viene integrada en las aplicaciones Fusion Cloud, que permite el análisis y reporteo de información transaccional en tiempo real, la información viene fraccionada en “Áreas Temáticas” pero solo estarán disponibles las “Áreas Temáticas” de los módulos que se implementen como por ejemplo: HCM, SCM, Financials, etc.

OTBI tiene muchas ventajas como el acceso a la información en tiempo real, informes y reportes predefinidos, acceso mediante roles a los usuarios finales, creación de análisis y reportes custom de manera sencilla; pero también tiene limitantes, por ejemplo: No se pueden modificar las “Áreas Temáticas”, solo tiene un origen de datos (la Base de Datos Transaccional de SaaS) o que los análisis y reportes solo son visibles desde el Fusion.

Tomando en cuenta este último punto, para un desarrollo custom que requiere de información de la Base de Datos Transaccional de SaaS, es necesario hacer la extracción de la información mediante un Reporte de OTBI y guardar la información en la base de datos custom.

Para este ejemplo en particular abordaremos la extracción de un reporte de OTBI desde APEX mediante PLSQL en donde la información extraída del reporte se almacena en una base de datos custom para su posterior procesamiento.

Cuando realizamos una extracción de un reporte de OTBI desde PLSQL nos podemos encontrar con varios problemas como:

  • Tipos de datos incompatibles
  • Caracteres especiales en los datos origen
  • Tamaños pequeños del buffer de lectura
  • Path del reporte no encontrado

La mayoría de estos problemas se pueden solucionar de manera sencilla ya que muchas veces son errores de programación o requieren de funciones simples de PLSQL, pero en particular hay un error que es referente a:

  • Tamaño del archivo de origen demasiado grande, sobrepasa los 10 MB permitidos.

Y que dependiendo del tamaño de la información hay que aplicar una solución diferente para cada caso.

En esta ocasión vamos a mostrar una solución rápida para el caso en el que el archivo de extracción de  OTBI sobre pasa los 10 MB, que básicamente consiste en comprimir la información cambiando el formato del archivo de salida del Reporte de OTBI.

Normalmente para realizar una extracción de reportes de OTBI des PLSQL se requiere que la salida del reporte sea en XML y ya en PLSQL se hace la conversión de la información de XML a Base64 para que se puede extraer con mayor facilidad la información.

Pues bien, para dar solución a este problema lo que tenemos que hacer es cambiar la salida del reporte de OTBI a CSV y posteriormente usar la función csv_util_pkg.clob_to_csv para extraer la información.

Para realizar el cambio, ubicamos el Reporte de OTBI, damos clic en View a List y Cambiamos el valor de Default Format a Data (CSV).

Configuración original:

Cambiar por:

Después de realizar el cambio al reporte, ahora se tienen que sustituir las líneas del código en PLSQL para extraer la información del archivo CSV.

Código original:

Cambiar por:

Tip: También podemos reducir el tamaño del archivo depurando la información, que puede ser eliminado los campos que no se ocupan o agregando condiciones para reducir el número de registros.

 

Nota: Si aplicando esta solución, aun así,  el archivo sigue sobrepasando los 10 MB, es necesario aplicar otra solución más elaborada que te permite extraer información con archivos de hasta 4 GB, la cual se menciona en el artículo “Extracción de Reportes de OTBI con tamaño de hasta 4 GB mediante OIC” del mismo autor.

Cuando trabajamos en desarrollos custom, independientemente de las herramientas, es importante tomar en cuenta que existen diferentes alternativas para aplicar una solución, la cual puede ser rápida y simple o complicada y tardada, dependiendo de los skills del desarrollador.

    Suscríbete al boletín