Usando la función debug() para ver expresiones calculadas
¿Dónde podemos usar la función?
En el designer al crear campos virtuales podemos usar la función debug(String)
En el builder, nos muestra que valores toma un expresión en el momento de la construcción
En el browser cuando creamos expresiones, por ejemplo para hacer algún cálculo en una columna
¿Cuando usar la función debug()?
Un problema común en el uso de campos virtuales es que la expresión aparenta no hacer correctamente el cálculo. Determinar cual es el problema implica saber cuales son los valores utilizados por la expresión al ser evaluada por O3. La función debug() sirve para este fin.
La función debug(String) muestra en el log el valor del texto, campo o variable que se le pase como parámetro. Esto permite ver en el log generado por la aplicación el valor que tiene un elemento usado en una expresión al momento de ser evaluada la misma.
Ejemplo:
Suponiendo que la siguiente expresión determina el valor de un campo virtual de tipo String:
cantidad < 1000 ? "MENOR_MIL" : "SUPERIOR"
Esta expresión retorna el valor "MENOR_MIL" si el campo "cantidad" es menor a 1000 y sino retorna "SUPERIOR"
Para analizar que es lo que trae el campo de entrada "cantidad", se la puede puede redefinir de la siguiente manera:
debug("--> " + cantidad);
cantidad < 1000 ? "Menor" : "Mayor"
En el log aparecería el siguiente texto:
....
Debug: --> 25
Debug: --> 23
....
Suponiendo que en vez de ser el campo de entrada un double es un String, sería conveniente ponerlo de la siguiente manera para analizar si el valor trae espacios en blanco.
debug("[" + nombre + "]");
NOTA : Actualmente esta función no figura en la ayuda del editor de expresiones.
NOTA : El log generado por defecto se encuentra en la carpeta (Instalación de O3)/logs en los archivos Designer.log, Builder.log y Browser.log para Designer, Builder y Browser respectivamente.
Activar la función debug()
El uso de esta funcíon necesita que se encienda una property en los archivos .properties que se encuentran el directorio donde se instaló O3
Para ello según donde sea necesario inspeccionar (browser,designer o builder) deberemos crear un archivo O3Browser_user.properties, O3Desginer_user.properties, o O3Builer.properties
Colocar en dicho archivo
debug = true
salvarlo.
al volver a correr el browser, designer o builder en los archivo log o en la consola si se corrió con -debug, se verán los valores que toma la expresión de la cual se quiere saber su contenido.