Publicaciones

  • Cómo hacer un DECODE en los mappings de OWB

    Para los que estamos acostumbrados a utilizar el operador decode del SQL de Oracle sorprende bastante que no esté incluída en la sintaxis que se puede utilizar dentro del generador de expresiones de Oracle Warehouse Builder.

    Pero todo tiene solución. Si para un campo se quiere seleccionar un valor en función del contenido de otro o más campos, se puede utilizar el objeto EXPRESSION, conectar en la entrada todos los campos implicados, y en la expresión del campo de salida olvidarnos del DECODE y utilizar en su lugar un CASE WHEN ..., que sí está soportado.

    Por ejemplo:
    CASE WHEN entrada1 = 0 THEN 'Falso'
            WHEN entrada2 = 1 THEN 'Cierto'
            ELSE 'Indefinido'
    END

  • La sintaxis del operador IN en Cognos

    Foros IT

    Dentro de los informes de Cognos, cuando se definen filtros, aunque la mayoría de las condiciones se pueden expresar con SQL estandard, resulta que cuando quieres comparar un valor con una lista, es decir, cuando quieres utilizar el operador IN, la sintaxis no es la misma que la de SQL.

    En lugar de la coma que separa los diferentes valores hay que poner un punto y coma.

    Ejemplo:

    • La condición que en SQL sería:
        WHERE campo IN ('valor_1', 'valor_2', 'valor_n')
    • En un filtro de Cognos Report Studio se ha de poner como
        [campo] IN ('valor_1' ; 'valor_2' ; 'valor_n')
    • Y si estamos filtrando miembros de una dimensión o jerarquía tenemos que utilizar también una sintaxis diferente
        [nivel_jerarquia] IN ([miembro_1] , [miembro_2] , [miembro_n])

    Es algo muy tonto, pero si no lo sabes puede llegar a desesperarte bastante..

  • Problema con Workflow que no funciona al utilizar un mapping correcto

    Tengo un problema con OWB y OWF. Tengo un proceso de carga definido con Oracle Workflow. Este proceso se me queda 'enganchado' en un mapping y no encuentro cómo solucionarlo.
    Lo extraño es que si ejecuto el flujo completo el proceso se queda parado con este mapping, pero si ejecuto todos los mappings por separado desde el mismo Control Center todo funciona correctamente.
    Desde el Control Center he hecho un drop de todos los flows y he vuelto a desplegarlos con la opción Create para asegurarme de que está utilizando la última versión.
    En el Centro de Control el flujo se queda en estado de ejecución, pero si lo examino obtengo el siguiente mensaje de error:

    VENTAS
     Description : Runtime User : OWBOWNER Started : 2009-02-03 15:20:59.0
    Status
    Log
    INFORMATIONAL
      RPE-02075: Fallo de Oracle Workflow al procesar la solicitud de ejecución para la actividad VTAS_FRAQ:MAP_STG_CARGA_VENTA. Puede que los objetos dependientes no se hayan desplegado todavía.
    INFORMATIONAL
      ORA-01403: No se ha encontrado ningún dato
      ORA-01403: No se ha encontrado ningún dato
      ORA-01403: No se ha encontrado ningún dato
    INFORMATIONAL
      WB_RT_WORKFLOW_UTIL_10G.

  • Video tutorial de una instalación de Pentaho sobre Linux

    Foros IT

    Para aprender cómo instalar Pentaho sobre Linux puedes seguir el video tutorial que se ha publicado en el blog de Omar. El vídeo dura unos 40 minutos, durante los que Omar Palomino realiza y va explicando paso a paso una instalación de la versión Deployment de Pentaho 1.7 sobre una distribución Linux Fedora 9. Los pasos principales son:

    • Instalación de JDK
    • Instalación de Apache Tomcat
    • Instalación de ANT
    • Instalación de Pentaho, versión Deployment

    Si prefieres Descarga video tutorial pentahodescargartelo para visualizarlo con más calidad, podrás distinguir mejor lo que va escribiendo en la linea de comandos.

  • El listener de Oracle

    Foros IT

    Cómo arrancar el listener de Oracle

    Para que desde fuera del servidor donde está instalada la base de datos Oracle se pueda acceder a la misma el servicio denominado listener ha de estar activado, o como se suele decir, el listener de Oracle ha de estar escuchando.

    Puede pasar que la base de datos esté correctamente levantada y no se pueda conectar desde otros servidores, que también están correctamente configurados (TNSNAMES correcto, etc.). En estos casos puede ser que el listener tenga algún problema, o simplemente que no haya sido iniciado. En ese caso tan sólo habría que arrancar el listener.

    Consultar el estado del mismo, arrancarlo o pararlo es muy sencillo. Sólo hay que abrir una sesión de línea de comandos (consola, terminal, etc. ) con el usuario con el que se ha instalado la base de datos, y ejecutar el comando lsnrctl con los siguientes parámetros para cada caso: