""

Technical

Gestión de dependencias ETL con SAP BusinessObjects Data Services (Parte 3)

Are you satisfied with the way you currently manage the dependencies in your ETL? In Part 1 of this series, I talked about the features I expect from a dependency management system, and what are the main possibilities offered (directly or indirectly) by Data Services. In Part 2, I proposed an architecture (structure and expected behavior) for a dependency management system inside Data Services. Now I will give you the implementation details, while a feedback on how it went “in real life” as well as possible improvements will come in part 4. So how do we implement this theoretical solution in Data Services?

Common SAP Dashboards (Xcelsius) bugs and how to solve them

This post is about SAP BusinessObjects Dashboards (formerly known as Xcelsius) and its intricate form of work. If you are an assiduous dashboard developer or just beginning to work with the tool, you will notice some bugs that interfere with your developing and slows you down. My main goal is to talk about the bugs or "misfortunes" that I have commonly faced in SAP BO Dashboards (Xcelsius) and the workarounds that I have found to save you some time when working with this tool. My second objective is to open a discussion where you can comment on other SAP Dashboards issues and solutions you found.

Integración de tablero en SAP Crystal Reports

In this blog article I would like to share with you how to embed a dashboard in a Crystal Report using flash variables.  First of all let’s give a scenario that leads us to do that. In this case we wanted to create a dashboard for a SAP GRC module. The problem was that we could not connect to the system directly with SAP BusinessObjects Dashboards (Xcelsius for the most nostalgic ones). Apart from that, there is a good thing about having a dashboard embedded in Crystal, you will have a dashboard that can be refreshed from Crystal Reports without needing a previous authentication. You will also be able to save the “report” (you can show the dashboard) in PDF with saved data and the dashboard will be completely clickable and navigable.

Cómo cargar y leer Web Services Data Store en Data Integrator

En este artículo, le enseñaré en 12 pasos cómo cargar y leer la información recuperada por un servicio web basado en una aplicación Java como fuente de información. Esto tiene una característica muy importante si, por ejemplo, está creando aplicaciones Java Social Media que leen información de Internet o si ha creado una aplicación Java que recupera información en Json Structure XML. Le mostraré cómo Data Services realiza solicitudes e interpreta las respuestas de un origen de datos de servicio web.

If you need background information on the first steps of my process, I have done a first post on how to use Data Services SDK libraries to construct an AWTableMetadata in a Java application, followed by the post where I explained how to access a JAVA application as a source of information using the WebService DataStore in SAP Data Services.

Si ya lees mis blogs anteriores, vamos a saltar en cómo cargar y leer Web Services Data Store en Data Integrator.

Paso 1:

Open Data Services Designer. Go to the Data Store perspective and right click with the mouse and select New.

Foto 1
Foto 1

Paso 2:

Set the name of the extractor and the URL where your web service WSDL is located (see my previous blog for reference).

Picture2
Picture2

Paso 3:

Right Click on the “f(x)” symbol and select Import. Choose the functions from the webservice that you are going to use. In this example we select “getTableTweeetsEN” and “getTableTweeetsES”.

Picture3
Picture3

Nota especial:

Para acceder a estas funciones dentro de una transformación tenemos que usar el esquema de llamada de función proporcionado por Data Services. En este caso, la función getTableTweets_EN recibe una entrada y devuelve una tabla (tabla AWTableMetadata). Este tipo de retorno viene en un formulario anidado de nuestro Servicio Web. Tendremos que resolver este esquema anidado haciendo un par de transformaciones a continuación.

Imagen4
Imagen4

Paso 4:

Seleccione el parámetro de entrada para las funciones; En este caso es un campo de una tabla llamada "WS_Parameter". Seleccionamos esa tabla como una tabla de origen y nuestro primer elemento en nuestro flujo de datos.

Picture5
Picture5

Paso 5:

Inserte una transformación en el flujo de datos como su segundo elemento. En esta primera consulta (Query1_EN). Creamos un SCHEMA llamado Schema 1, y asignamos el campo proveniente de la base de datos "Parameter" como un atributo de este Schema.

Picture6
Picture6

Paso 6:

Cree una segunda transformación (Query2_EN). Esta consulta se encargará de llamar al servicio web con el parámetro de entrada mediante el procedimiento de llamada de función. Haga clic con el botón derecho del ratón en la tabla de esquemas llamada Consulta2 y seleccione Nueva llamada de función.

Picture7
Picture7

Paso 7:

Seleccione el WS_ClaribaSMT dataSotre en el panel izquierdo, el panel derecho muestra las funciones que importamos al Data Store. Seleccionamos el primer getJsonTweet (para el idioma inglés) y clicamos en Siguiente.

Picture8
Picture8

Paso 8:

We have to map the new function call Schema with the new Schema1. This is the structure used to call a Web Service in Data Services. In this case we are calling the function getJsonTweets_EN with a parameter nombre. Structure that matches our SHEMA1. Then click Finish.

Cuadro9
Cuadro9

El resultado final contendrá la llamada a la función. También puede agregar un atributo debajo de la llamada de función. En este caso agregamos "load_date" que contiene el sysdate que representa la fecha de los datos de carga.

Cuadro10
Cuadro10

Paso 9:

La tercera consulta se encargará del reconocimiento de los datos devueltos por el servicio Web. En este caso, el Esquema se encuentra en el panel izquierdo. Para capturar esto en el integrador de datos necesitamos desacoplar este esquema hasta llegar al "objeto de retorno" que contiene los datos.

Cuadro11
Cuadro11

Hacemos clic en el panel izquierdo encima de getJsonTweetResponse y lo arrastramos hacia el panel derecho. Luego hacemos clic derecho sobre el getJsonTweetResponse desde el panel derecho y seleccionamos la opción "Unnest". Esto causará la división entre los esquemas. Procedemos a capturarlo en la próxima consulta anidada.

Cuadro12
Cuadro12

Paso 10:

Hacemos el mismo procedimiento en la consulta 4, arrastramos el getJsonTweetResponse a la derecha y lo desentrañamos.

Cuadro13
Cuadro13

Paso 11:

Query 5_EN contains the final result which be two variables that contains the header of the table plus the Load Date.

Cuadro14
Cuadro14

Paso 12:

El último paso depende de la implementación y las reglas de negocio. La tabla devuelta tendrá este formato.

Columna 1

Valor 1

Columna 2

Valor 2

Columna N ...

Valor N ...

Conclusión

Este método se aplica especialmente si está utilizando esquema de llamada de función y una matriz como tipo de devolución para su servicio web. Si su fuente es otra cosa diferente a una aplicación, la resolución del servicio web puede variar. El método para asignar la tabla final depende de usted y de sus necesidades empresariales. Una solución fácil podría ser agregar un ID a cada fila.

Si desea tener más información, lea mis blogs anteriores o deje un comentario a continuación.

Ahorrando el tablero de instrumentos con un clic en movimiento

Looking forward to add a little more to your visualizations? Spice them up with a clickable moving ticker! For those who are not familiar with Dashboard Design (formerly known as Xcelsius), a moving ticker is a banner which has a similar look to a stock market ticker displaying customized moving labels from right to left. The one described here is also clickable, which means that when you click on any label it can execute many actions such as opening URL’s.

Clickable moving ticker

 

We always try to build dashboards that people really use, and for that we need to find a balance between functionality and design. The design might not seem as important as the functionality, but trust me, in order to get the attention of users you need to build something that really catches their eyes, such as this ticker feature which is easily noticeable to do it´s constant movement.

Step by step process

In order to help you make your Dashboards eye-catching, I am going to show you how to build a clickable ticker to open URL’s with the following steps.

Let’s start by organizing our spreadsheet (find example below – Fig.1) with the following information:

  • Labels: Information that will be displayed on the ticker
  • URLs: Links that will be opened when clicking on the labels
  • Auxiliary info: cells containing Index, destination, status, key, URL to open, which will be explained later on

Spreadsheet

 

When your spreadsheet is ready follow these steps:

1) Drag and Drop the ticker object to your canvas.

The ticker object can be found under the category “Selector”.

Ticker Object Location

2) Configure the Ticker object’s properties.

In the General tab, assign the labels you would like to show on the dashboard.

Insertion type: Position

Destination: This cell is key as it will give the position number of the clicked label on the ticker.

e.g: If you click the third label of the ticker this cell will be a “3”, it it will change when you click another label.

Ticker Properties

3) Drag and Drop a URL object to your Canvas.

The URL object can be found under the category “Web Conectivity”

URL Object location

 

4) Configure the URL object’s properties and behavior.

URL: In this cell you need to build a “vlookup” formula as it is shown in fig.1.

URL Object Properties

In the behavior tab under the Trigger Behavior properties you find:

Trigger cell: This is going to be the same as the destination cell of the Ticker (Sheet1!D$4 in this case – Fig 2.).

Check the “When Value Changes” option.

Hide this button by selecting different values for the status and key cells as below:

URL Object Behavior

 

The outcome and conclusions

 After completing these steps you should have built a clickable moving ticker which will spice up your visualization.

This solution will allow you to:

  • Open Intranet/Internet URL’s from moving labels.
  • Change visibility dynamically for graphs and images from you Dashboard Design visualization.
  • Enhance the design and gain visibility of your visualizations

I hope this feature is useful to you and it brings positive feedback from your end users. Please feel free to leave a comment or question below.

Gestión de dependencias ETL con SAP BusinessObjects Data Services (Parte 2)

Are you satisfied with the way you currently manage the dependencies in your ETL? In part 1 of this article, I talked about the features I’m expecting from a dependency management system, and what are the main possibilities offered (directly or indirectly) by SAP Data Services. Now (part 2 of the article), I’m going to propose an architecture (structure and expected behavior) for a dependency management system inside Data Services. The implementation details will come in part 3, while a feedback on how it went “in real life” as well as possible improvements will come in part 4.

La arquitectura propuesta

What I’m going to develop now is the following: an improvement of the “One job with all processes inside” architecture.

Las principales características de esta arquitectura son:

  • Gestión de múltiples dependencias (un flujo puede depender de múltiples procesos)
  • Un gracioso reinicio es posible. El reinicio ETL completo también es una opción.

Primero debemos crear dos tablas, FLOW_DEPENDENCIES y FLOW_STATUS.

- La tabla FLOW_DEPENDENCIES tiene dos columnas FLOW_NAME y PREREQUISITE. Tiene una línea para cada prerrequisito.

Para el ejemplo siguiente (dependencias de flujo lógico en un trabajo) ...

ETL_Dependencies_01

... relataremos la tabla FLOW_DEPENDENCIES de la siguiente manera:

ETL_Dependencies_02

Por supuesto, no puede implementar directamente estas dependencias lógicas en los Servicios de datos, por lo que es necesario encadenarlos uno tras otro.

ETL_Dependencies_03

La tabla se actualiza manualmente cada vez que hay un nuevo requisito previo. Un flujo sin requisito previo no necesita ninguna fila en esta tabla (ver flujo A por ejemplo).

La tabla FLOW_STATUS realiza un seguimiento de los diferentes estados de flujo (ya se ejecutan, Sucesos, Fallas, Requisitos previos faltantes) para cada ejecución del trabajo principal. Las columnas 3 son JOB_KEY (que contiene una clave sustituta para cada nueva ejecución del trabajo), FLOW_NAME y STATUS.

Para dejar las cosas claras, imaginemos que ejecutaremos el trabajo por primera vez (JOB_KEY = 1).

  • El flujo A no tiene ningún requisito previo, por lo que se permite ejecutar. Tiene éxito. Se inserta una fila con STATUS = Success en la tabla FLOW_STATUS.
  • El flujo B tiene un requisito previo de acuerdo con la tabla FLOW_DEPENDENCIES (el flujo A), por lo que comprueba el estado del flujo A en la misma ejecución. Resulta que el flujo A fue exitoso, por lo que se permite que el flujo B se ejecute. Desafortunadamente, falla por una razón desconocida. Se inserta una fila con STATUS = Failure en la tabla FLOW_STATUS.
  • Se permite que el flujo C se ejecute de acuerdo con la misma lógica que para el flujo B. Se ejecuta con éxito. Se inserta una fila con STATUS = Success en la tabla FLOW_STATUS.
  • El flujo D tiene dos pre-requisitos de acuerdo con la tabla FLOW_DEPENDENCIES (flujos B y C). Comprueba el estado de ambos. A medida que el flujo B falla, el flujo D no se deja correr. Se inserta una fila con STATUS = Requisito faltante en la tabla FLOW_STATUS.
  • Se permite que el flujo E se ejecute de acuerdo con el mismo flujo lógico B. Se ejecuta correctamente. Se inserta una fila con STATUS = Success en la tabla FLOW_STATUS.
  • El flujo F tiene un requisito previo (flujo D). Pero como el estado del flujo D es "Requisito faltante", el flujo F también no se permite correr. Se inserta un estado similar en la tabla de estado de flujo.

ETL_Dependencies_04

A continuación se muestran las filas insertadas en la tabla FLOW_STATUS durante esta ejecución del trabajo.

ETL_Dependencies_05

Una vez corregida la causa del error en el flujo B, podemos volver a ejecutar el trabajo. JOB_KEY será igual a 2, e indicaremos al trabajo que debe comprobar los estados del trabajo anterior (en el que JOB_KEY = 1).

  • El trabajo comienza comprobando el estado del flujo A en la tabla FLOW_STATUS con JOB_KEY = 1. Como el estado es igual a Éxito, el flujo A no necesita ejecutarse en este trabajo. Se inserta una fila con STATUS = "Already run" en la tabla FLOW_STATUS.
  •  El estado del flujo B con JOB_KEY = 1 es "Fallo". Por lo tanto, el flujo B debe ejecutarse durante este trabajo. A continuación, el trabajo comprueba el estado del requisito previo (el flujo A) para JOB_KEY = 2. Resulta que el flujo A ya estaba ejecutado, por lo que se permite que el flujo B se ejecute. Se ejecuta con éxito. Se inserta una fila con STATUS = Success en la tabla FLOW_STATUS.
  • Los flujos restantes siguen una lógica similar.

A continuación se muestran las filas insertadas en la tabla FLOW_STATUS durante esta ejecución del trabajo.

ETL_Dependencies_06

ETL_Dependencies_07

Como puede ver, esta solución gestiona las dependencias de ETL, mantiene el rastro del historial de carga y permite fácilmente una re-ejecución parcial del ETL si una parte de éste falla. En la siguiente parte os daré los detalles de la implementación de Data Services: qué scripts / flows / functions / etc. Debemos usar ¿Cómo hacemos este sistema fácil de implementar y mantener? Hasta entonces, espero su opinión sobre esta arquitectura propuesta. ¿Se ve bien? ¿Cómo lo mejorarías? Háganme saber con un comentario a continuación.

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.

EspañolEnglish