""

Technical

Introducción a la supervisión de CMC en SAP BO4 SP4

Hace unos meses, un cliente me preguntó cómo ser consciente de los problemas (desconexiones) en los diferentes servidores y servicios de su SAP BO4 SP4 sin necesidad de una persona para comprobar constantemente el estado. Luego comencé a investigar sobre la función de monitoreo en el CMC. La verdad es que no hay demasiada información en la documentación, sólo algunas páginas en la Guía del administrador de la plataforma, o las publicaciones o referencias a este tema en la web. Con este post, intentaré compilar toda esta información que he encontrado y explicaré el uso de estas características interesantes y le daré una breve introducción al monitoreo de CMC.

First of all, let me explain what is CMC monitoring: Monitoring is a new feature of the CMC that appears with SAP BusinessObjects 4 and allows Administrators to see the use and health of the BO system. For this, it uses watches, probes, metrics and alerts. There are some default ones, which allow the Administrator to start playing around with monitoring without a huge knowledge on the topic and obtain really useful information about the status of the system. Before using  this feature we need to know the actions we must perform and the existing limitations.

Además, debemos asegurarnos de que la información para el monitoreo se almacene en la base de datos de Monitoreo. Esta es una base de datos Derby y funciona independientemente de los otros dos DBs en SAP BusinessObjects. Para activar la base de datos de monitoreo necesitamos iniciar sesión en el CMC, e ir a Aplicaciones, y hacer doble clic en la Aplicación de Monitoreo. Esto abrirá la ventana Propiedades de la aplicación de supervisión. Asegúrese de que "Activar la aplicación de supervisión" esté marcada. Haga clic en Guardar y cerrar. El paso final es reiniciar el Adaptive Processing Server (APS) si no se ha comprobado. La información de la base de datos se borra cada vez que llegamos a 1 GB de información. Podemos aumentar ese tamaño en el CMC.

Supervisión

Para acceder a la sección de monitoreo de la CMC, debemos ir a Aplicaciones> Monitoreo

Monitoring default view
Monitoring default view

Como podemos ver en la imagen anterior, hay 5 diferentes pestañas en esta sección: Dashboards, Metrics, Watchlists, Probes and Alerts. Vamos a correr a través de cada uno:

1. Paneles

es la pestaña predeterminada y como su nombre indica que es un tablero que está dividido en 5 partes:

  • Salud en general: Es un icono que muestra si la BO está funcionando correctamente o no.
  • Alertas Recientes: Aquí podemos ver las alertas activadas las últimas 24 horas por el sistema.
  • Graphical view of BI Landscape: this panel includes a graphical or tabular view of the Watches within the system .We can drill down click in them.
  • Estado de KPIs: Esta parte muestra tres Indicadores de Desempeño Clave para el sistema. También podemos profundizar haciendo clic sobre ellos.
  • Métricas de nivel de implementación: podemos ver 3 métricas interesantes como los trabajos en ejecución, los usuarios y los trabajos pendientes.

2. Métrica

Las métricas son piezas individuales de información que contribuyen a conocer la salud de los diferentes componentes del sistema.

Metrics image
Metrics image

Las métricas se utilizan para medir la salud de un componente. Las métricas que definimos dependerán de los componentes que estamos monitoreando y de nuestros requerimientos. Ejemplos de métricas son el tiempo de acceso del usuario, el tiempo de ejecución de la consulta, el porcentaje de uso de la CPU, el estado de disponibilidad de un servicio del sistema, etc. Podemos utilizarlos en Relojes y Alertas, estableciendo umbrales para alertas de advertencia y peligro. Hay alrededor de 250 métricas predefinidas. Además, podemos crear nuestras propias métricas si creemos que son necesarias. Normalmente, con los predeterminados, podemos comprobar el estado de casi todo en el sistema.

Si seleccionamos una métrica, podemos observar el estado histórico y actual de la misma.

3. Listas de observación

Esta pestaña nos permite monitorear los relojes que hemos creado. Los relojes son umbrales para las métricas que nos muestran si la métrica está en un estado saludable, de advertencia o en peligro.

Watchlists image
Watchlists image

Una vez más, hemos creado relojes por defecto. Podemos cambiar estos umbrales para adaptarlos a nuestro sistema. Además, podemos crear notificaciones a los relojes, por lo tanto, podemos pedirle al reloj que envíe un correo electrónico si el sistema está en peligro, por ejemplo. Hay un montón de opciones interesantes con los relojes. Les animo a probarlos por ustedes mismos.

Finalmente, podemos decidir cuáles son los relojes que queremos ver en la pestaña del tablero de instrumentos.

4. Sondas

Nos proporcionan la capacidad de monitorear nuestro sistema SAP BusinessObjects, utilizando flujos de trabajo de aplicaciones simuladas que se ejecutan a través de scripts basados ​​en SDK.

Probes image
Probes image

Esta es la parte más interesante del monitoreo del CMC pero, al mismo tiempo, el más difícil. Como podemos crear sondas con un SDK, el poder de esta pestaña es enorme. Podríamos crear lo que queramos, pero no es muy fácil crear estas sondas. No hay ejemplos alrededor de la red o son muy difíciles de encontrar. (Voy a tratar de agregar otra entrada en este blog en el futuro con un ejemplo).

As I mentioned before, the system will provide default probes. We can choose among 9, which are:

  • Sonda de inicio de sesión de inicio de sesión de CMS: supervisa si un usuario puede iniciar sesión con éxito en el sistema SAP BusinessObjects y cuánto tiempo tarda.
  • Servicio Crystal Reports a través de la punta de prueba Page and Cache Server: supervisa la disponibilidad y el rendimiento del servicio Crystal Reports (a través de los servidores de página y caché).
  • Servicio de Crystal Reports a través de la sonda de Report Application Server: Supervisa la disponibilidad y el rendimiento del servicio Crystal Reports (a través de RAS).
  • Sonda Infoview: supervisa la disponibilidad y el rendimiento del inicio de sesión / cierre de sesión de la aplicación web InfoView.
  • Sonda de supervisión del servicio de Web Intelligence: comprueba la disponibilidad y el rendimiento del servicio Web Intelligence a través de los servidores de informes.
  • Sonda Ping de CMS: Comprueba la funcionalidad principal del CMS.
  • CMS Cache probe: Comprueba la disponibilidad de la caché CMS.
  • Sonda de conexión de base de datos de CMS: prueba la conexión con el repositorio de CMS.
  • Iniciar y detener servidores: prueba para iniciar y detener los distintos servidores del sistema.

5. Alertas

Aquí es donde aparecerán todas las alertas que hemos configurado en la lista de seguimiento.

Alerts image
Alerts image

Esta es una lista de las alertas que el sistema plantea. Podemos ver los diferentes detalles de las alertas al hacer clic en ellos. Estas alertas también pueden enviar correos electrónicos y realizar acciones, dependiendo de lo que hemos establecido en la lista de seguimiento.

Cómo usar todo en uno

Con toda la información anterior, he explicado una visión general de las diferentes pestañas de la supervisión y también lo que podemos hacer con cada una de ellas.

Si queremos aprovechar todo el potencial, es fácil ver que todas las pestañas están conectadas y necesitamos usarlas todas. Un buen ejemplo podría ser el seguimiento del tiempo de respuesta para abrir un informe en el sistema. Para ello, utilizamos la detección "Web Intelligence Service Monitoring" que inicia sesión y tratamos de abrir y actualizar un informe en Web Intelligence. Después de esto, usamos la métrica del tiempo que lleva al sistema ejecutar la sonda y la métrica que dice si la sonda fue exitosa o no. Además, creamos un whatchlist con esta métrica y si las sondas tardan más de 5 segundos, enviará un correo electrónico informando al Administrador que el sistema está funcionando un poco lento y si la sonda falla o tarda más de 15 segundos , Enviará otro correo electrónico informándole que el sistema no funciona correctamente. Podemos programar esta sonda para que se ejecute diariamente.

Con este escenario simple somos capaces de detectar cualquier problema en el sistema automáticamente, antes de que cualquier usuario lo informe. Además, las alertas de las pestañas nos mostrarán si hay algo malo que no habíamos notado antes.

Conclusión

Como conclusión, podemos ver que al jugar con todas estas características, podemos lograr cosas realmente interesantes y obtener la mayoría de todo bajo control en nuestro sistema BO. Podría parecer difícil de aprender, pero hay muchas cosas que podemos hacer sólo con la configuración predeterminada. Después de acostumbrarse a ellos, es hora de jugar con el poder de las sondas auto-creadas y agregar más opciones personalizadas a nuestro monitoreo.

Espero que esta introducción al monitoreo le haya ayudado a entender un poco más cómo CMC Monitoring funciona en SAP BO 4 SP4.

Si tiene alguna pregunta o sugerencia, por favor deje un comentario a continuación.

Uso de una aplicación Java como fuente de información con SAP Data Services

After my post on how to Utilice las bibliotecas SDK de Data Services para construir AWTableMetadata en una aplicación Java, in this post I will explain how to access a JAVA application as a source of information by using the WebService DataStore in SAP Data Services.

To do this we need:

  • Tomcat Server (where our service will be allocated Tomcat 6 BI4)
  • Axis2 Library (1.6.2)
    • Standard Binary distribution/zip
    • WAR distribution/zip
  • Eclipse (To construct our web Service)
  • Data Services Sp3

 

1. Building the web Service

Step 1: Unzip the the Axis2 WAR distribution inside of the folder…SAP BusinessObjectsTomcat6webapps replacing the actual Axis2 folder by default.

Step 2: Unzip the binary distribution of the Axis2 into a folder called Axis2 (C:Axis2axis2-1.6.2).

Step 3: Set system AXIS2_HOME variable. Go to Control panel -> System -> Advance System settings-> push the Environment Variables button and create the new one with this specification:

Step 4: Set up CATALINA_HOME variable. This is where the Apache Tomcat folder will be located. Go to Control panel -> System -> Advance System settings-> push the Environment Variables button and create the new one with this specification:

Step 5: Restart the Tomcat 6 Server. (turning off our BI4 installment during this process is recommended)

Step 6: Inside Eclipse right click to export our java application into a JAR File.

Step 7: Set the Export destination to the follow path:

 …SAPBusinessObjectsTomcat6webappsaxis2WEBINFservicesOURPROJECT.aar

 Where “OURPROJECT.aar” will be the name of our web service with .aar extension.

Step 8: Restart the Tomcat. Once Tomcat has started we have to access to this path http://localhost:8080/axis2/services and we should see this window:

Step 9: Click on our service in this case Clariba_SMT. We will redirect to the following URL:

http://localhost:8080/axis2/services/Clariba_SMT?wsdl

Copy this URL into a notepad for setting the Web Service Data Store.


2. Setting the Web Services Data Store in Data Services

Step 1: Open the Data Store perspective and right click with the mouse and select New.

Step 2: Set the new name of our extractor as “WS_ClaribaSMT” and then put the URL where our web service is located. Data integrator needs the WSDL descriptor so we put http://localhost:8080/axis2/services/Clariba_SMT?wsdl

Step 3: Import the functions from the webservice that we are going to use. We select in this example“getTableTweeetsEN” for English and “getTableTweeetsES” for Spanish language.

 

Conclusión: Now we are ready to use our Web service as a Function Call inside a transformation in a Data Services Data Flow. Keep in mind that our Java Application has to return a type of value that Data Services can interpret easily for example a Table (See my past blog for more information). Subsequently we have to do a special set of transformations to interpret the information of the Web Services, which I will cover on my next post.

If you have any related tips or suggestions, please leave a comment below.

Proporcionar datos de SSM a herramientas de generación de informes de SAP BusinessObjects - Exhausting all scenarios

In the last two months I have been in a couple of customers who were interested in the integration of SAP Strategy Management 10.0 with SAP BusinessObjects BI Platform 4.0. In this post I would like to explain what that integration is about.

First of all, a brief introduction about the solution. The SAP Strategy Management (SSM) software allows aligning the Strategy Plan of the company and its key objectives and spread it across all the organization. It is an out of the box Enterprise Performance Management solution in which you can insert the most important KPIs of your company in Balanced Scorecards or Strategy Maps and control their performance in relation to the Strategy of the company. Within SSM you can also create initiatives to implement improvements or corrective actions and link them to the objectives or KPIs.

Sometimes the customer has requirements to implement reports or further analysis on top of SSM and these cannot be covered with the standard functionality of the solution. In that case, the best option is to implement the integration between SSM and SAP BusinessObects reporting tools. Some examples of what you can do with that integration:

  • Implementar paneles de medida a medida con los KPI y objetivos de SSM
  • Implementar universos y permitir a los usuarios explotar información de SSM con Web Intelligence sin consumir licencias SSM adicionales
  • Implemente Crystal Reports perfectos en la parte superior del SSM
  • Fomentar la propiedad con Publicaciones. Por ejemplo, envíe una lista de KPI que no están funcionando bien a sus usuarios responsables

Para implementar dicha integración, puede seguir la guía de configuración de SAP SSM. Sin embargo, en algunos casos, hay falta de documentación y hay que hacer cosas fuera del script. En otros casos, la documentación existente no se ha actualizado todavía a BI 4.0 y SSM 10.0. Y finalmente, a veces la documentación es incorrecta o el software tiene errores y no se puede configurar la integración.

En este post analizaremos los siguientes escenarios:

  1. Informes de Web Intelligence sobre los modelos SSM
  2. Informes de Web Intelligence sobre un modelo de datos SSM (solución desarrollada por Clariba)
  3. Crystal Reports en la parte superior de SSM (explorando diferentes opciones)
  4. Dashboards en la parte superior de SSM (explorando diferentes opciones)

Estos escenarios se han implementado con los siguientes componentes de software:

  • SAP NetWeaver 7.3 SP08
  • SAP SSM 10.0 SP06
  • Plataforma de BI de SAP BusinessObjects 4.0 SP05
  • Informes de Crystal 2011 SP05
  • Cuadros 4.0 SP05

1. Informes de Web Intelligence sobre un modelo SSM

Según la documentación de SAP, podemos configurar el proveedor de ODBO para construir un Universo en la parte superior de los modelos SSM. El problema es que todavía tenemos que usar el Diseñador de Universo en lugar de la Herramienta de Diseño de Información del BI 4.0. A continuación se indican los pasos para configurar el proveedor ODBO e implementar su primer informe en la parte superior del SSM:

  • Vaya a su servidor BO 4.0 y asegúrese de tener un Servicio de Análisis Multimensional en el servidor BO. Detenga el servidor MDAS y el servidor de conexión en el Administrador de configuración central
  • Copie la carpeta ODBOProvider de la ruta : Archivos de programa (x86) SAP BusinessObjectsStrategy ManagementInternetPub de su servidor SSM al servidor BO
  • En el servidor SSM, ejecute el archivo SSMProviderReg.bat en el servidor BO. Asegúrese de tener derechos de administrador en el servidor BO. Una vez completado, compruebe en el regedit que es capaz de encontrar el registro SSMProvider. 1 en el registro de Windows
  • Modifique el registro de Windows para insertar la cadena siguiente en esa ruta (suponiendo que está utilizando una ventana de 64 -bit): HKEY_LOCAL_MACHINESOFTWAREWow6432NodeSAPSSMODBOProvider "servletUri" = "/ strategyServer / ODBOProviderServlet"
  • Acceda a la siguiente ruta en el servidor BO: : Archivos de programa (x86) SAP BusinessObjectsSAP BusinessObjects Enterprise XI 4.0 dataAccessconnectionServeroledb_olap

Gestión de estrategias 10.0

dbd_sqlsrvas

SAP BusinessObjects

Sqlsrv_as2005, sqlsrv_as, oledb_olap

SSMProvider. 1

  • Inicie el servidor MDAS y el servidor de conexión
  • Ahora podemos ir al Universe Designer y empezar a implementar un Universo en la parte superior de nuestro Modelo. El primer paso es definir la conexión. En la lista de conexiones (recuperada del servidor de conexión) podemos ver ahora el nuevo registro que hemos insertado, Strategy Management 10.0:
  • Defina los parámetros de conexión. Debe ser un usuario SSM con los permisos adecuados y debe informar a la dirección completa del servidor (FQDN) y su puerto.
  • Una vez conectado al servidor SSM, verá la lista de cubos disponibles. La categoría AS permite acceder a las medidas (basadas en atributos y dimensiones) en el modelo de Application Server. El adaptador SM permite el acceso a la dimensión de la estrategia, que representa las dimensiones de gestión de la estrategia Scorecard e Iniciativa. No se presentan los detalles del Scorecard que no estén relacionados con el KPI, tales como los comentarios.
  • Y finalmente veremos nuestro universo con las dimensiones disponibles, las clases estándar (Time y Scorecards) y las medidas. Puede mostrar los nombres técnicos de los objetos como detalle o puede definir jerarquías de Perspectivas, Objetivos y KPIs.
  • Ahora podemos publicar el universo e ir a la Web Intelligence para comenzar a implementar nuestros informes sobre los modelos SSM.

2. Informes de Web Intelligence sobre el modelo de datos SSM

Esa es una solución que puede implementar si tiene un conocimiento avanzado del modelo de datos SSM. Puede implementar un Universo UNX con la Herramienta de Diseño de Información enlazando todas las tablas de la Entrada y Aprobación, los Nodos del Scorecard, el Creador de Cubos o las Iniciativas. Las ventajas de esta opción son que tiene acceso a información adicional no disponible en el Cubo de SSM, como las Iniciativas, los usuarios relacionados con los KPI específicos, los atributos de los KPI, etc.

If you are interested in such an option, please, contact us. Keep in mind that it is not a supported option from SAP but we have implemented it many times and we know it works.

3. Crystal Reports on top of SSM

La integración de SAP Crystal Reports con SSM se puede realizar de 4 maneras diferentes:

  • Implementación de una consulta como un servicio Web desde el universo, construido en pasos anteriores: hemos logrado implementar ese escenario
  • Conectando Crystal Reports al Universo encima de los Modelos SSM que hemos construido en el primer paso: ese escenario no funciona aunque seguimos las instrucciones de SAP
  • Uso de una conexión OLE DB (ADO): esta opción, no explicada por SAP, está disponible si instalamos el proveedor ODBO pero no hemos logrado que funcione
  • Uso de la conexión OLAP: de acuerdo con la documentación SAP, podemos crear un informe de cubo OLAP en Crystal Reports. Debemos ser capaces de seleccionar la opción de gestión de estrategia en la siguiente pantalla para insertar datos de conexión SSM, pero no hemos podido encontrar esa opción

4. Cuadros de mando que utilizan conexiones de servicios web

Utilizando Dashboards, tiene dos formas diferentes de implementar el acceso a los datos:

  • Implementar una consulta como un servicio Web (QaaWS) para recuperar la información relevante de los universos que habíamos implementado antes.
  • Utilice los Servicios Web disponibles en SAP NetWeaver para recuperar información del SSM: de acuerdo con la documentación SAP necesita descargar el archivo WSDL SMDataServiceService y las aplicaciones CubeServiceService y llamar a las funciones dentro de ellos. Con nuestros Dashboards 4.0 SP05 no hemos podido procesar los archivos WSDL ya que la herramienta no puede cargar la URL.

Resumen

Proporcionar información de SAP Strategy Management a SAP BusinessObjects BI Platform 4.0 puede mejorar las capacidades de su sistema Strategy. Sin embargo, la integración no es tan fácil dada la falta de información sobre ese tema y la calidad de la información existente. Intentamos implementar todos los posibles escenarios de integración y hemos tenido éxito con Web Intelligence y esta es la ruta que recomendamos, ya que los escenarios relacionados con Crystal Reports y Dashboards no funcionaban al usar SSM 10.0 y BI 4.0.

Estaremos siguiendo estos temas y le informaremos si finalmente logramos resolverlos. Si tiene alguna sugerencia o si encontró una solución a estos problemas, por favor deje un comentario a continuación.

Uso de Google Chrome con SAP BusinessObjects

Todos sabemos que hay muchos navegadores de Internet disponibles, pero definitivamente Google Chrome es uno de los más utilizados hoy en día y por lo tanto hemos tenido un montón de comentarios de nuestros clientes relacionados con el uso de cromo con SAP BusinessObjects.

Un problema principal encontrado por los usuarios es que cuando se usa Google Chrome en InfoView o BiLaunchPad aparece una pantalla de error de plug-in que falta cuando se intenta modificar un informe y también se muestra una pantalla de error HTTP Status 500 al intentar iniciar sesión SAP BusinessObjects Explorer. En este blog voy a proporcionar una solución a estos problemas.

Problema al iniciar sesión en InfoView o BILaunchPad en GoogleChrome
Problema al iniciar sesión en InfoView o BILaunchPad en GoogleChrome
Problema al acceder a SAP BusinessObjects Explorer
Problema al acceder a SAP BusinessObjects Explorer

La solución que hemos encontrado es usar un complemento de Google Chrome llamado "pestaña IE", que emula Internet Explorer en Chrome.

Pasos para instalarlo:

  1. From Google Chrome, introduce the link in the url bar and install the add-on.                                                                                       https://chrome.google.com/webstore/detail/hehijbfgiekmjfkfjpbkbammjbdenadd
  1. Una vez instalado verá una pequeña carpeta con el logotipo de IExplorer en la esquina superior derecha de Google Chrome.
Carpeta con el logotipo de Explorer
Carpeta con el logotipo de Explorer
  1. Haga clic en la carpeta y aparecerá otra barra de URL
Aparece la barra de direcciones URL
Aparece la barra de direcciones URL
  1. Introduzca el enlace Infoview / BI LaunchPad en la nueva barra y comience a trabajar con ella.

Además, en caso de que necesites hacer clic en un vínculo Abrir documento y quieres que Google Chrome se abra automáticamente con él, necesitarás agregar la URL de tu servidor para que se abra correctamente, para ello debes seguir estos pasos:

  1. Haga clic derecho en la carpeta pequeña con el logotipo de IExplorer
  1. Elegir opciones
  1. Agregar el texto de la dirección del servidor en el campo URL automático

El resultado

Las aplicaciones basadas en la Web de SAP BusinessObjects se pueden utilizar con Google Chrome con éxito, consulte los siguientes ejemplos:

Modificación de un informe en InfoView
Modificación de un informe en InfoView
Visualización y gestión de espacios desde SAP BusinessObjects Explorer
Visualización y gestión de espacios desde SAP BusinessObjects Explorer

Resumen

Los principales beneficios de la aplicación de estos consejos son, con la ayuda de Google Chrome:

  • Modificar documentos en Infoview / BILaunchPad
  • Iniciar sesión y administrar espacios en SAP BusinessObjects Explorer
  • Aumente la velocidad de navegación mientras pasa por las carpetas de la plataforma

De acuerdo con el PAM oficial de SAP (Matriz de disponibilidad de productos), Google Chrome no es totalmente compatible debido a su velocidad de desarrollo rápido, por lo que el uso y actualización frecuente de este complemento es muy recomendable.

Hope this will help you have a better experience when working with SAP BusinessObjects. If any doubts or suggestions please leave a comment below.

Cómo configurar la conectividad de SQL Server para WebI desde SAP BusinessObjects BI4. 0 en Linux

Hoy en día hemos notado que algunos de nuestros clientes están siguiendo la tendencia de los productos de código abierto. De hecho, Linux es una gran opción de sistema operativo debido a que es totalmente compatible con SAP BusinessObjects BI 4 y también ayuda a las empresas a reducir costos. Sin embargo, Linux ha conservado la forma en que funciona el clásico sistema operativo Unix y por lo tanto todo se trata de derechos y comandos por lotes. Por lo tanto, un conocimiento técnico Linux avanzado es obligatorio antes de entrar en él.

El propósito de esta entrada de blog es compartir los problemas que enfrentamos en uno de nuestros clientes que ejecutan SAP BusinessObjects BI4 SP4 en una versión de Red Hat Enterprise Linux Server 6.3 usando MySQL 5.1. 61 como base de datos del sistema y cómo Los resolvió.

The issue came out when right after a production database migration (a brand new SQL Server 2008) all their WebI documents stopped running from the SAP BI4 Launchpad with an unusual error "Database Error .[ (IES 10901)" blocking every single WebI to run and the whole core business was jeopardized. Rich Client did not experience any problem in Windows. After the first analysis, we discovered that default SQL Server ODBC driver installation was only configured properly for 32bit connections in the Linux server whereas WebI requires 64bit ODBC driver connectivity for running in the SAP BI4 Launchpad.

When it came to this point we had to apply a couple of OSS notes. The first one was OSS 1607125 "How to configure SQL Server connectivity for WebI from a BI4.0 unix environment". Resolution is:

1. Abrir env.sh bajo / Sap_bobj / setup /

2. Busque la línea siguiente

$ LIBRIR: $ LIBDIR32: $ WCSCOMPONENTDIR: $ PLUGINDIST / auth / secEnterprise: $ {CRPEPATH64}: $ {CRPEPATH}: $ {MWHOME}: $ PLUGINDIST / desktop / CrystalEnterprise.Report: $ {BOBJEDIR} enterprise_xi40 / $ SOFTWAREPATH32 / ras: $ {BOBJEDIR} mysql / lib "

3. Modifique la línea anterior agregando lo siguiente

": $ {BOBJEDIR} enterprise_xi40 / linux_x64 / odbc / lib: $ {BOBJEDIR} enterprise_xi40 / $ SOFTWAREPATH32 / odbc / lib"

La línea debería verse así

LIBRARYPATH="$LIBDIR:$LIBDIR32:$WCSCOMPONENTDIR:$PLUGINDIST/auth/secEnterprise:${CRPEPATH64}:${CRPEPATH}:${MWHOME}:$PLUGINDIST/desktop/CrystalEnterprise.Report:${BOBJEDIR}enterprise_xi40/$SOFTWAREPATH32/ras:${BOBJEDIR}mysql/lib:${BOBJEDIR}enterprise_xi40/linux_x64/odbc/lib:${BOBJEDIR}enterprise_xi40/$SOFTWAREPATH32/odbc/lib”

4. Navegar a Sap_bobjenterprise_Xi40

5. Abra el archivo odbc.ini utilizando vi u otras herramientas del editor de texto.

6. Busque la entrada para Sql Server DSN. La entrada DSN predeterminada en odbc.ini se denomina "[SQL Server Native Wire Protocol]", pero se recomienda crear su propia entrada DSN utilizando los mismos parámetros especificados en el DSN predeterminado.

7. Actualizar la sección "Controlador" del DSN para que apunte a 64 versión de bits de los controladores ODBC de SQL Server

Driver=<install directory>/sap_bobj/enterprise_xi40/linux_x64/odbc/lib/CRsqls24.so

8. Reinicie el SIA

However the issue was not resolved completely. We received a new error with the following description whenever we tried to run a WebI "Receive the error : Database error: [DataDirect][ODBC lib] System information file not found. Please check the ODBCINI environment  variable.. (IES 10901) (WIS 10901)". This is a configuration issue on the Linux operating system with the environment variable ODBCINI.  Please make sure your environment variables are set correctly according to OSS note 1291142 - "Web Intelligence reporting using DataDirect drivers in Unix" (as of today it still applies to BI4). Resolution is:

1. En el perfil Unix del usuario Bobje, agregue / modifique las siguientes variables de entorno y genere el perfil

BOBJEDIR = / odbc export ODBC_HOME ODBCINI = $ BOBJEDIR / odbc.ini exportación ODBCINI LD_LIBRARY_PATH = $ BOBJEDIR / enterprise120 / / dataAccess / RDBMS / connectionServer: $ ODBC_HOME / lib: $ BOBJEDIR / enterprise120 / /: $ LD_LIBRARY_PATH exportar LD_LIBRARY_PATH

NOTA: Reemplace con linux_x86, solaris_sparc, aix_rs6000, hpux_pa-risc, dependiendo de su plataforma específica de Linux. NOTA: Debe establecer / exportar las variables env anteriores en el mismo orden que se muestra.

Asegúrese de utilizar el archivo $ HOME / .odbc.ini como su fuente predeterminada para la configuración de ODBC. Por lo tanto, modifique la variable ODBCINI de la siguiente manera:

ODBCINI = $ HOME / .odbc.ini exportación ODBCINI

2. Modifique el odbc.ini para agregar el DSN

                  [TestDSN] Controlador = / enterprise120 / /odbc/lib/CRmsss23.so Descripción = DataDirect 5.3 Dirección del controlador de protocolo de cable de SQLServer = , Base de datos = QuotedId = Yes AnsiNPW = No

NOTA: Su nombre DSN (TestDSN) debe ser el mismo nombre DSN que utilizó al crear la conexión ODBC en Windows

3. DataDirect proporciona tanto controladores OEM como OEM

Los controladores proporcionados por BI4 son controladores OEM. Básicamente, el WebI depende del ConnectionServer. De forma predeterminada, ConnectionServer está configurado para utilizar controladores NO OEM. Por lo tanto, hemos editado el servidor de conexión para permitir el uso de la marca OEM DD controlador. Los pasos son:

  • Haga una copia de seguridad de $ BOBJEDIR / enterprise120 / /dataAccess/RDBMS/connectionServer/odbc/odbc.sbo
  • Abra odbc.sbo con VI, busque DataDirect, hay 4 entradas una para cada servidor MSSQL que apoyamos.
  • Cambiar todo 4 de No a Sí

 4. Detenga todos los servidores XI

Ejecute ./stopservers, salga completamente de su shell unix y vuelva a iniciar sesión (para asegurarse de que se han configurado nuevas variables de entorno), vuelva a iniciar todos los servidores BI4.

After applying the OSS note we were able to retrieve data from SQL Server 2008 refreshing our WebI documents, however we noticed that CPU was reaching 100% every time we used a WebI in any way. Going through the log files we found errors such as "MS SQL Server 2008 |JobId:61340512 |EXIT SQLGetDiagRec with return code -1 (SQL_ERROR)" .

We took a look at the odbc.ini file and we found out that QWESD entry that was not initially there somehow appeared. As long as we were copying the information from an existing datasource we didn't need it all and we decided to remove the QEWSD= from the ini file.

Finally double check that Yes located at sqlsrv.sbo file in /opt/bi40/sap_bobj/enterprise_xi40/dataAccess/connectionServer/odbc is set to Yes.

Esperamos que nuestra experiencia sea un enfoque rápido de solución de problemas para usted. Si tiene algún consejo o sugerencia para mejorar este artículo, por favor deje un comentario a continuación.

Administración de dependencias ETL con BusinessObjects Data Services (Parte 1)

¿Está satisfecho con la forma en que actualmente gestiona las dependencias en su ETL? Las dependencias entre trabajos (o partes de trabajos) son un aspecto importante de la gestión de ETL. Se refiere a preguntas como: ¿Desea ejecutar el trabajo B si el trabajo A falló? Imagine que tiene un trabajo C con subtarea 1 (tiempo de ejecución habitual: 3 horas) y subproceso 2 (tiempo de ejecución habitual: 2 minutos). Si el subproceso 1 ha sido satisfactorio y ha fallado el subproceso 2, ¿puede reiniciar el trabajo C sin reiniciar el subproceso 1?

Tan pronto como tenga más de 1 trabajo simple, tendrá que administrar sus dependencias. En este artículo (parte 1 de una serie de artículos sobre el manejo de dependencias de ETL) enumeraré primero algunas de las características que busco en un sistema de administración de dependencia ideal. A continuación, echaré un vistazo a algunas de las posibilidades ofrecidas por SAP Data Services 4. En la parte 2 (mi siguiente post), voy a proponer la arquitectura de un posible sistema de gestión de dependencias. En la parte 3, entraré en los detalles de la implementación en Data Services. Terminaré con la parte 4 diciéndole cómo fue la implementación, y si algunas mejoras son posibles.

El sistema de gestión de dependencias ideal

En este post voy a usar la palabra "proceso" para diseñar una serie de ETL operaciones que tienen un significado juntos. Ejemplo: extraer una tabla de origen, crear una dimensión o actualizar una tabla de hechos. El objetivo aquí es administrar las dependencias entre los procesos: la actualización de una tabla de hechos probablemente sólo debería permitirse si la actualización de las dimensiones correspondientes fue exitosa.

Un sistema de gestión de dependencias debería tener al menos las siguientes características:

  • Ejecutar un proceso sólo si sus prerrequisitos se han ejecutado correctamente
  • Después de un error, ofrezca la opción de volver a ejecutar todos los procesos o sólo los procesos que fallaron
  • Trace el resultado de cada proceso (se ejecutó correctamente, falló, no se ejecutó)
  • Ejecutar dinámicamente procesos dependientes (en vez de estaticamente, es decir, basados ​​en fecha / hora)

Las posibilidades

Vamos a enumerar algunas de las posibilidades ofrecidas por Data Services, con sus respectivos pros y contras.

1) Un trabajo con todos los procesos dentro. Esto es muy fácil de implementar, dinámico en términos de tiempos de ejecución, pero no permite las ejecuciones simultáneas. Lo que es más importante, significa que los fallos tienen que ser gestionados de manera que el fallo de un proceso no detenga todo el trabajo.

2) Un proceso por trabajo, con trabajos programados en momentos específicos. Esto es muy fácil de implementar, permite ejecuciones simultáneas, pero no es lo suficientemente dinámico. Si las duraciones del proceso aumentan con los meses / años, los trabajos pueden superponerse.

3) One main job calling other jobs (for example with execution commands or Web Services).

4) Un proceso por trabajo, todos los trabajos se están programando en momentos específicos, pero la comprobación en una tabla de control si los pre-requisitos funcionaban bien. De lo contrario sólo dormir por algún tiempo antes de comprobar de nuevo.

5) Use the BOE Scheduler to manage jobs based on events (how-to is well described on the SCN). I’ve not tested it yet, but I like this approach.

De forma predeterminada, las dos primeras posibilidades sólo gestionan el lado de "flujo" de la administración de dependencias (después de A, do B). Pero no manejan el lado condicional de la gestión de dependencias (hacer B sólo si A fue exitoso). En ambos casos, una tabla de control actualizada por secuencias de comandos SQL permitiría al ETL comprobar si los procesos de requisito previo se han ejecutado correctamente.

Lo que realmente no me gusta en las soluciones 2 a 5 es el hecho de que es difcil tener una visión general de lo que está pasando. Realmente no se puede navegar dentro de todo el ETL fácilmente. La solución 1 le da este resumen, pero a costa de tener un trabajo potencialmente enorme (sin la posibilidad de que los procesos se ejecuten simultáneamente).

También tenga en cuenta que las soluciones con varios trabajos necesitarán administrar la inicialización de las variables globales.

Lo que echo de menos en todas estas soluciones es un reinicio óptimo del ETL. Si 10 de mis 50 procesos fallaron, y sólo quiero reiniciar estos 10, ¿debo iniciarlos manualmente?

En mi siguiente post de blog voy a proponer una arquitectura que aborda este reinicio óptimo.

Hasta entonces, por favor, hágamelo saber sus pensamientos sobre cómo manejar sus dependencias de ETL. ¿Alguna de las 5 soluciones antes mencionadas? ¿Una mezcla? ¿Algo más? Y lo bien que funciona para usted.

Utilice las bibliotecas SDK de Data Services para construir AWTableMetadata en una aplicación Java

Si tiene una aplicación Java que devuelve una tabla y está planeando utilizarla como fuente de información para SAP Data Services, la mejor manera es devolver una tabla con el mismo tipo de datos que la tabla de plantillas de servicios de datos "AWTableMetadata". Voy a explicar cómo hacerlo fácilmente en este artículo.

First you need to go to the libraries folder inside your SAP BusinessObjects installation (…SAP BusinessObjectsData Serviceslib). From this folder we have to import the following libraries to our Eclipse Java project.

  • Acta_adapter_sdk.jar
  • Acta_broker_client.jar
  • Acta_tool.jar

La forma más fácil es colocar estas bibliotecas dentro de la carpeta de bibliotecas Java ext para que la aplicación lo importe automáticamente. Además, si planea implementar esta aplicación en un servidor, debe colocar esta biblioteca dentro de la carpeta de la biblioteca del servidor.

  • ... .Javajdk1. 7.0 jrelibext
  • ... ..Javajre7libext
  • ... ..SAP BusinessObjectsTomcat6lib

Importe estas bibliotecas dentro del proyecto:

Import com.acta.metadata.AWAttribute;

Import com.acta.metadata.AWColumn;

Import com.acta.metadata.AWTableMetadata;

Una vez que nuestras bibliotecas se importan dentro de nuestro proyecto Java, tenemos que asignar el valor de retorno para la función encargada de construir la tabla como el mismo tipo de datos para la tabla.

Public static AWTableMetadata createAWTable () throws Exception {…]

Entonces estamos listos para construir nuestra mesa. Para hacerlo tenemos que:

  1. Declare la tabla:
    1. AWTableMetadata awTable = new AWTableMetadata () ;
    2. AwTable.setTableName ("......");
  2. Asignar filas y columnas
    1. AWAttribute [] attributes = new AWAttribute [2000] ;
    2. AWColumn [] columns = new AWColumn [2000] ;
  3. Asigne los atributos y las columnas a nuestra tabla:
    1. AwTable.setColumns (columnas);
    2. AwTable.setAttributes (atributos);

Finalmente tenemos que hacer la declaración de retorno como "return awTable".

En conclusión, una vez que tengamos nuestra función hecha podremos comunicar e intercambiar datos con servicios de datos a través de nuestra aplicación en este caso con una tabla y poder utilizar nuestra aplicación como Fuente de Datos.

Si tiene alguna duda o sugerencia, por favor deje un comentario a continuación.

Ajustar SAP Rapid Marts XI: Racionalizar las cargas delta

Ha finalizado la implementación estándar de SAP Rapid Marts XI, todo ha ido bien, pero su cliente comienza a tener problemas con respecto al consumo de tiempo de las cargas delta. En este artículo voy a explicar un par de enfoques para lograr un mejor rendimiento en las cargas delta de SAP Rapid Marts.En la imagen de abajo tenemos la infraestructura típica de SAP Rapid Marts, cargando en un solo almacén de datos.

Esta infraestructura tiene pros y contras, pero voy a destacar dos ventajas principales:

  • Evita la duplicación de información
  • Simplifica el mantenimiento desde la perspectiva del cliente

 

1st Approach: One job runs it all

Taking the architecture illustrated above as our basis, the first step to achieve better performance will be to create one single ETL job to run the different SAP Rapid Marts involved in our implementation.

Esta tarea es simple; Sólo cree un flujo de trabajo por SAP Rapid Mart que contenga todos los flujos de trabajo diferentes que forman parte de SAP Rapid Mart. Una vez realizada esta tarea, cree un trabajo ETL con todas las variables globales correspondientes, arrastre y suelte todos los flujos de trabajo y conéctelos para crear una secuencia de ejecución.

Este trabajo también nos permite aprovechar la opción "ejecutar sólo una vez" en SAP Data Services. Esta opción se establece para todos los componentes de SAP Rapid Marts y define que cada componente dentro de la misma ejecución de trabajo ETL se ejecuta sólo una vez. Si se tiene en cuenta cuántos componentes se comparten entre diferentes SAP Rapid Marts este enfoque se vuelve muy interesante.

Además, este enfoque nos permite crear una estrategia de try / catch en el proceso ETL. Algunos entornos de clientes pueden tener problemas intermitentes que pueden bloquear la ejecución de nuestras cargas diarias (es decir, errores de red). Colocaremos las sentencias try y catch para cada flujo de trabajo del trabajo, entonces dentro de la declaración de catch volveremos a colocar el flujo de trabajo que estábamos tratando de ejecutar, la siguiente imagen ilustra la idea:

The try/catch + ”Execute only once” strategy allows you to retry the execution of a component of the ETL job and continue the execution where it stopped. 

Una vez implementada esta idea, la ejecución de SAP Rapid Marts será más robusta y optimizada, pero tal vez no sea suficiente para satisfacer las expectativas de sus clientes ... así que pasemos al segundo paso.

 

2nd Approach: Working around a parallel execution

Al analizar la información de los informes de rendimiento generados en SAP Data Services Management Console después de la ejecución de un trabajo, podrá identificar los componentes con los peores tiempos de ejecución.

Estos componentes pueden variar de una implementación a otra dependiendo del entorno de su cliente; Dentro de los 10 peores tiempos de ejecución se encuentran algunos componentes que generan información de dimensiones y / o tablas de hechos del modelo. Algunos de estos componentes se pueden quitar fácilmente de su ejecución secuencial y colocarlos en un trabajo separado para ejecutarse en paralelo.

Es crítico en esta etapa asegurarse de que estos componentes están completamente eliminados de la ejecución secuencial y que cualquier salida final del componente no se utiliza en otras partes del proceso ETL (es decir, las búsquedas de tabla posteriores). Para garantizar esto, la función "Where is used" del SAP Data Services Designer será extremadamente útil.

En mi experiencia, después de aplicar estos dos pasos deberíamos experimentar una mejora considerable en el rendimiento de ejecución de las cargas delta. Para darle un ejemplo, en una de nuestras implementaciones recientes empezamos con un tiempo de ejecución de 17 horas para cinco SAP Rapid Marts que se ejecutaban secuencialmente, esto se redujo a 6 horas usando los dos enfoques que he descrito en este post.

 

Cavar más profundo

Si incluso después de aplicar los pasos anteriores aún enfrenta un mal rendimiento en componentes aislados, esta situación requerirá más análisis y personalización en un nivel inferior.

Algunos componentes del estándar SAP Rapid Mart intentan ejecutar en el ERP algunos componentes con lógica compleja, lo que puede tardar mucho tiempo (por ejemplo, SAP General Ledger RM + Nota SAP 1557975 o SAP Inventory RM + SAP Nota 1528553 )

En estos casos, la solución es dividir el proceso en varios pasos y tal vez hacer uso de tablas personalizadas en el lado ERP y el aumento de rendimiento será notable. Puedo decirles que en nuestra implementación más reciente uno de los componentes tardaba menos de 12 horas en ejecutarse, pero después de analizar y modificar el comportamiento del componente, para hacer uso de una tabla personalizada en el ERP, este componente No tardó más de 30 minutos en ejecutarse. Este proceso de personalización de un componente tomó 2 días hombre para ser completamente implementado.

Como conclusión, mi experiencia con SAP Rapid Marts es muy positiva. SAP proporciona una solución de despliegue rápido que puede estar en funcionamiento y de extremo a extremo en pocas semanas. Además, proporciona un marco extremadamente fácil de usar para asegurar que su cliente tenga la capacidad de desarrollar cualquier nivel de personalización en pocas semanas. En general, estamos frente a una solución que permitirá a sus clientes crear su propio almacén de datos en semanas en lugar de meses. Si podemos mejorar este problema de rendimiento de carga delta, la solución se vuelve aún más atractiva para sus clientes y ayuda a aumentar los niveles de satisfacción con la herramienta.

¡Eso es todo amigos! Espero que este artículo le ayude a elevar la barra en sus implementaciones SAP Rapid Marts. Si tiene alguna duda, no dude en dejar un comentario a continuación.

Problemas con la desinstalación de los servicios de datos

Me he enfrentado a un problema recientemente y quería compartir la resolución, en caso de que tenga que tratar con el mismo tema. Estaba tratando de actualizar una máquina de servicios de datos siguiendo el procedimiento de SAP (esto es copiar los archivos de configuración desinstalar y luego instalar la nueva versión - no muy sofisticado como se puede ver). Esto no era tan simple como yo primero.

Problema iniciado después de desinstalar el software, la nueva versión se negó a instalar, indicando que primero debería desinstalar la versión anterior. He desinstalado el software de nuevo ... pero Data Services todavía está allí, por lo que desinstalado de nuevo, pero esta vez el proceso falló (tiene sentido ya que el software ya está desinstalado), así que seguí intentando ... reboot ... uninstall ... reboot ... rename old path name ... Reiniciar ... ya ves a dónde va esto ...

Entonces, ¿cómo finalmente solucioné esto?

  1. Inicie el Editor del Registro (escriba regedit en una ventana de comandos o en el cuadro de diálogo Ejecutar).
  2. Take a backup of the current Registry content. To do this, with the top node of the registry (Computer) selected go to File -> Export and select a name for the backup file.
  3. Delete the Key HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 12.0EIM (Suite XX.X may vary).  NOTE: You may want to write down the key KEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 12.0EIMKeycode first as it contains the license code.
  4. Go to HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionUninstall and look for a KEY which property DisplayName is "BusinessObjects Data Services". This step is to remove the entry for the software in the Uninstall Window’s dialog.
  5. Finally delete the content of the installation directory (typically: C:Program FilesBusiness ObjectsBusiness Objects Data Services)

Ahora puede iniciar el instalador y esta vez debería funcionar.

Espero que esto pueda ayudarle si en caso de que usted está experimentando el mismo problema. Deje los comentarios a continuación si tiene alguna duda o si desea agregar algo.

 

Consejo del día - Tabla y tamaño de índice en Oracle

¿Alguna vez quiso averiguar qué tan grandes son las tablas en su almacén de datos o en su área de almacenamiento ETL? Aquí hay una sugerencia rápida.

Puede obtener el tamaño de cada tabla perteneciente a un usuario específico con el código siguiente:

Seleccione la suma (bytes) / 1048576 Size_MB, nombre_siguiente Nombre_table
de user_extents
donde segment_name en (
     select table_name de all_tables
     where owner = 'OWNER_NAME_HERE')
agrupar por segment_name
ordenar por 1 desc;

Para obtener el tamaño de los índices con los nombres de tabla correspondientes (útiles cuando los índices tienen nombres generados por el sistema), necesitamos otra consulta:

Seleccione suma (u.bytes) / 1048576 Size_MB, u.segment_name index_name, i.table_name
de user_extents u
join all_ind_columns i
     on u.segment_name = i.nombre_index
     y i.column_position = 1
where i.index_owner = 'OWNER_NAME_HERE'
group por u.segment_name, i.table_name
ordenar por 1 desc;
Si tiene alguna duda o sugerencia, deje un comentario a continuación.
EspañolEnglish