""

Technical

Implementing Materialized Views in Oracle - Execute queries faster

Let's assume that you've been convinced by Marc's excellent article about the aggregate awareness dilemma, and that after balancing all the arguments you've decided to implement the aggregates in your Oracle database. Two parts are necessary: the materialized views and the query rewrite mechanism.

What is a materialized view?

Think of it as a standard view: it's also based on a SELECT query. But while views are purely logical structures, materialized views are physically created, like tables. And like tables, you can create indexes on them. But the materialized views can be refreshed (automatically or manually, we'll see that later) against their definitions.

Let's imagine the following situation: a multinational company manages the financial accounts of its subsidiaries. For each period (year + month) and for each company, many thousands of records are saved in the data warehouse (with an account code and a MTD (month to date) value). You'll find below a very simplified schema of this data warehouse.

What happens when we want to have the sum of all accounts for each period?

Without a materialized view, all the rows have to be retrieved so that the sum can be calculated. In my case, the following query takes around 2 seconds on my test database. The explanation plan tells me that more than 1 million records had to be read in the first place.

(Query 1)

select p.year, p.month, sum(a.mtd)

from dim_period p

join account_balance a on a.period_key = p.period_key

group by p.year, p.month

So how do you avoid this reading of more than 1 million records? A solution is to maintain aggregate tables in your database. But it means a bigger ETL and a more complex Universe with @aggregate_aware functions. Although this could be a valid option, we've chosen to avoid that..

Another solution is to create a materialized view. The syntax can be quite simple:

(Query MV-1)

CREATE MATERIALIZED VIEW MV_PERIODS

BUILD IMMEDIATE

ENABLE QUERY REWRITE

COMO

select p.year, p.month, sum(a.mtd)

from dim_period p

join account_balance a on a.period_key = p.period_key

group by p.year, p.month

Let's go through the query lines.

  • CREATE MATERIALIZED VIEW MV_PERIODS => We simply create the view and give it the name MV_PERIODS.
  • BUILD IMMEDIATE => The materialized view will be built now
  • ENABLE QUERY REWRITE => If we don't specify this, then the materialized view will be created and could be accessed directly, but it wouldn't be automatically used by the query rewriting mechanism.
  • The "as select…" is the same as the original query we made.

You'll notice when executing this query that the time needed to create this materialized view is at least the time needed to execute the sub-query (+ some time needed to physically write the rows in the database). In my case it was 2.5 seconds, slightly more than the original 2 seconds.

If now I re-execute my original query, I get the same result set as before, but instead of 2 seconds I now need 16 milliseconds. So it's now 120 times faster! Oracle understood it could automatically retrieve the results from the materialized view. So it only read this table instead of doing of full read of the fact table.

 

The data freshness

Now imagine a new month is gone, and new rows have arrived in your data warehouse. You re-execute your original select query and at your great surprise, it takes a lot of time: 2 seconds! But why?

It is possible to ask Oracle to tell us if a query was rewritten with a given materialized view, and if not to give us the reasons. Let's see a possible syntax below.

SET SERVEROUTPUT ON;

DECLARE

Rewrite_Array SYS.RewriteArrayType := SYS.RewriteArrayType();

querytxt VARCHAR2(4000) := '

select p.year, p.month, sum(a.mtd)

from dim_period p, account_balance a

where a.period_key = p.period_key

group by p.year, p.month

';

no_of_msgs NUMBER;

i NUMBER;

Comenzar

dbms_mview.Explain_Rewrite(querytxt, 'MV_PERIODS',  Rewrite_Array);

no_of_msgs := rewrite_array.count;

FOR i IN 1..no_of_msgs

LAZO

DBMS_OUTPUT.PUT_LINE('>> MV_NAME  : ' || Rewrite_Array(i).mv_name);

DBMS_OUTPUT.PUT_LINE('>> MESSAGE  : ' || Rewrite_Array(i).message);

END LOOP;

END;

(The sections in red indicate which parts of the query you can update; the rest should stay as is).

Once I executed these lines, I got the following result:

>> MV_NAME  : MV_PERIODS

>> MESSAGE  : QSM-01150: query did not rewrite

>> MV_NAME  : MV_PERIODS

>> MESSAGE  : QSM-01029: materialized view, MV_PERIODS, is stale in ENFORCED integrity mode

(Technical note: to see these lines in the Oracle SQL Developer, you need to activate the DBMS output: menu View / DBMS Output and then click on the button 'Enable DMBS Output for the connection)

The line "materialized view, MV_PERIODS, is stale in ENFORCED integrity mode" means that the materialized view is not used because it does not have the right data anymore. So to be able to use the query rewrite process once again, we need to refresh the view with the following syntax:

BEGIN DBMS_SNAPSHOT.REFRESH('MV_PERIODS','C'); end;

Note that in certain situations, the final users may prefer having the data from yesterday in 1 second rather than the data of today in 5 minutes. In that case, choose the STALE_TOLERATED integrity mode (rather than the ENFORCED default) and the query will be rewritten even if the data in the materialized view is not fresh anymore.

 

Extend your materialized views

Now let's imagine that we want to have not only the account sums by periods, but also by company code. Our new SQL query is the following:

(Query 2)

select p.year, p.month, c.company_code, sum(a.mtd)

from dim_period p, account_balance a, dim_company c

where a.period_key = p.period_key

and a.company_key = c.company_key

group by p.year, p.month, c.company_code

Of course the materialized view MV_PERIODS doesn't have the necessary information (company key or company code) and cannot be used to rewrite this query. So let's create another materialized view.

(Query MV-3)

CREATE MATERIALIZED VIEW MV_PERIODS_COMPANIES

BUILD IMMEDIATE

ENABLE QUERY REWRITE

COMO

select p.year, p.month, c.company_code, sum(a.mtd)

from dim_period p, account_balance a, dim_company c

where a.period_key = p.period_key

and a.company_key = c.company_key

group by p.year, p.month, c.company_code

So now our query takes a very short time to complete. But what if, after having deleted the MV_PERIODS materialized view, you try to execute the first query (the one without the companies)? The query rewrite mechanism will work as well! Oracle will understand that it can use the content of MV_PERIOD_COMPANIES to calculate the sums quicker.

Be aware that the query will only rewrite if you had created a foreign key relationship between ACCOUNT_BALANCE.COMPANY_KEY and DIM_COMPANY.COMPANY_KEY. Otherwise you'll get the following message:

QSM-01284: materialized view MV_PERIODS_COMPANIES has an anchor table DIM_COMPANY not found in query.

 

Is basing the materialized view on the keys an option?

The materialized views we've created are very interesting but still a bit static. You may ask yourself: wouldn't have it been a better idea to base the materialized view on the keys? For example with the following syntax:

(Query MV-4)

CREATE MATERIALIZED VIEW MV_PERIODS_COMPANIES_keys

BUILD IMMEDIATE

ENABLE QUERY REWRITE

COMO

select period_key, company_key, sum(mtd)

from account_balance

group by period_key, company_key

The answer is "it depends". On the good side, this allows for a greater flexibility, as you're not limited to some fields only (as in the query MV-1 where you're limited to year and month). On the bad side, as you're not using any join, the joins will have to be made during the run-time, which has an impact on the performance query (but even then, the query time will be much better than without materialized views).

So if you want a flexible solution because you don't know yet which are the fields that the users will need, it's probably better to use the keys. But if you already know the precise queries which will come (for example for pre-defined reports), it may be worth using the needed fields in the definition of the materialized view rather than the keys.

If you have any doubts or further information on this topic, please leave a comment below.

Asistir al Webinar de Clariba "¿Por qué migrar a SAP BusinessObjects BI 4?"

¿Desea saber más sobre las razones por las cuales migrar a SAP BusinessObjects BI 4, la plataforma de inteligencia empresarial más avanzada?

Asista a nuestro seminario web el 13 de marzo, del 11:00 - 12:00 CET (Presentado en español)

REGISTRAR AQUÍ

SAP BusinessObjects BI 4 ofrece un conjunto completo de funcionalidades que son clave para el mercado actual de Business Intelligence: una gestión mejorada del rendimiento, informes, búsqueda, análisis, exploración e integración de datos. Esta nueva versión de la plataforma de BI de SAP introduce varias mejoras significativas en su entorno de BI.

Con esto en mente, Clariba lo invita a invertir una hora de su tiempo para conocer las novedades y ventajas de SAP BusinessObjects BI4, la solución de BI más avanzada le brindará a su empresa una gran cantidad de funcionalidades diseñadas para optimizar el rendimiento y brindarle Una plataforma escalable y segura.

The agenda of our webinar is the following:

  • Bienvenida e introducción
  • Qué hay de nuevo en SAP BusinessObjects BI 4
  • Beneficios de migrar a SAP BusinessObjects BI 4
  • ¿Por qué migrar con Clariba?
  • Preguntas y respuestas

For more information about SAP BusinessObjects BI 4, visit our website www.clariba.com

Atentamente,

Lorena Laborda Business Development Manager - Clariba

 

Atienda al Webinar ¿Por qué migrar a SAP BusinessObjects BI 4?

 

¿Desea conocer más acerca de los motivos para migrar un negocio sap bi-0, la plataforma más avanzada de inteligencia empresarial?

Asista a nuestro Webinar el 13 de Marzo de 11.00 a 12:00 (CET)

REGISTRO AQUÍ

 

SAP BusinessObjects BI 4 es la primera y única plataforma de Business Intelligence (BI) que proporciona un completo abanico de funcionalidades claves en el mercado actual de BI: una mejor gestión del rendimiento, informes, consultas y análisis, exploración de datos e integración . Esta nueva versión de la plataforma de SAP introduce avances significativos en su entorno de BI.

Con esto en mente, Clariba le invita a invertir una hora de su tiempo para conocer las novedades y ventajas de SAP BusinessObjects BI4, la más avanzada plataforma en el mercado de Business Intelligence, hacer que su compañía se beneficie de un gran número de prestaciones de inversión para optimizar su rendimiento, ofrecer una plataforma escalable y 100% segura.

La agenda para el webinar ¿Porqué migrar a SAP BusinessObjects BI 4? es la siguiente:

  • Introducción y bienvenida
  • Novedades en sap businessobjects bi 4
  • Ventajas de migrar a sap businessobjects bi 4
  • Porque migrar con clariba
  • Preguntas y respuestas

Para obtener más información acerca SAP BusinessObjects BI 4, visite nuestro sitio web www.clariba.com Saludos cordiales,

Lorena Laborda Business Development Manager - Clariba

Adjunte una captura de pantalla del panel de control a un correo electrónico con un "clic"

Es impresionante hasta dónde podemos llegar durante un proyecto si tratamos de cumplir con todos los requisitos de nuestros clientes, incluidos aquellos que parecen algo complicados de resolver. Durante uno de nuestros proyectos en Oriente Medio, recibimos una de esas solicitudes. Nuestro cliente nos pedía que creáramos una funcionalidad para enviar capturas de pantalla de su tablero por correo electrónico. Lo suficientemente justo.

Inmediatamente pensamos en instalar alguna herramienta gratuita para creadores de PDF y decirles que imprimieran en pdf y luego adjuntasen el documento al correo electrónico, pero hubo demasiados pasos de acuerdo con nuestro cliente. Necesitábamos lograr esta funcionalidad con un solo "clic".

En un par de horas y algunos correos electrónicos enviados a mis colegas Pierre-Emmanuel Larrouturou y Lluis Aspachs, estábamos trabajando en una solución destinada a trabajar con software de código abierto y herramientas gratuitas que encontramos en Google.

A continuación se detallan los pasos que seguimos para lograr el objetivo:

Creamos el archivo exe que hace la instantánea y lo adjuntamos a un correo electrónico

  • Busca las carpetas C: / Temp o D: / Temp para guardar la imagen.
  • Busca Outlook (Office 2003, 2007 o 2010) tanto en C: / como en D: / Drive
  • Agregamos Xcelsius_burst.bat para omitir las ventanas y autorizar el lanzamiento del exe
  • Guardamos los dos archivos dentro de C: / Drive pero también se puede agregar a D :. si el usuario crea una carpeta dedicada, solo se debe editar el archivo .bat
  • Agregamos la ruta del archivo bat a un botón de URL en Xcelsius y lo ejecutamos

Notas: compruebe las opciones de su navegador para evitar las ventanas emergentes de murciélagos si son un problema. Esta versión solo funciona si está instalada en cada máquina del cliente. Si desea instalarlo en un servidor (para evitar las múltiples instalaciones), puede crear una solución más compleja utilizando los Pstools disponibles de forma gratuita en la red y agregándolos a su servidor web (en nuestro caso, era Tomcat).

 

Puede descargar los archivos haciendo clic en el siguiente enlace. Esta solución es bastante simple, pero hizo que nuestro cliente estuviera muy contento.

Explosión del tablero de instrumentos

 

Solo para agregar más valor al artículo, hay otra forma de resolver este problema: también estamos agregando a continuación la última versión de la función Dashboard_by_email.exe, que permite que cualquier captura de pantalla (no solo de Dashboards) se adjunte automáticamente a los correos electrónicos. El programa debe ejecutarse al inicio de Windows y el usuario puede obtener la captura de pantalla directamente adjunta a su correo electrónico presionando CTRL + ALT + D. Haga clic en el enlace de abajo para descargar.

Panel de control por correo electrónico

 

We are also aware that the market is now offering add-ons for Dashboard Design which can also meet this and other requirements. You can check out what our friends at Data Savvy Tools (http://datasavvytools.com/) created for dashboard printing. We have tested their component that allows the selection of dashboard components to be printed out (and it´s great).

Háganos saber sus comentarios y estaremos más que felices de discutir estas soluciones con usted.

 

 

SAP Universe Designer Tricks and Tips: Table Mapping

You know everything there possibly is to know about SAP Universe Designer right? Well, I bet that there´s still a trick or two you can discover. For example, there is one function not frequently used in Universe Designer called Table Mapping. This option was originally included in Universe Designer to protect some data to be seen by Developers (the developers´ user group sees the data from a different table than the Business users).

In this article we are going to show how to implement this table mapping feature for the use that it was meant for and we will then apply it in a couple of real life scenarios to provide developers with a simple and effective solution that minimizes the maintenance on their systems.

In order to create a replacement rule, follow the steps below

1. Go to Tools – Manage Security – Manage Access Restriction.

Foto 1
Foto 1

2. Click New to create the new restriction

Picture2
Picture2

3. Go to Table Mapping and click Add to create the new rule

Picture3
Picture3

4. Fill in the tables you want to replace. In this case, we want the developers to see the data from the table SALES_FACT of the schema DEV_DB instead of PROD_DB (where we are storing the production data).

Imagen4
Imagen4

5. Click ok, fill in the name for the rule (In this case Developers Sales) and click ok

Picture5
Picture5

6. To apply this rule only to the user group “Developers”, click on “Add user and group”

Picture6
Picture6

7. Select the group IT, and click Ok

Picture7
Picture7

8. Apply the rule to the IT group

Picture8
Picture8

Once we have published the universe, all the reports will change the SQL code automatically between the tables DEV_DB.SALES_FACT and PROD_DB.SALES_FACT depending on the user that is logged into the system.

One important point to take into consideration is the priority of the rules: In case of conflict, the restriction with the highest priority – lowest priority index –  lowest priority number will apply.

The example we reviewed above (dynamic change between developers and business user tables) is the most typical use for this functionality. However, there are some other scenarios where the table replacement could be very useful:

Scenario 1: We are reloading data on a production table. Previously, we have created a copy of the old data in a temporary table that we want to use for reporting while the reloading has not finished.

Solution: We can add a new rule to replace the original table for the temporary one, and apply it to the group “Everyone”. As soon as the reload is completed we can delete the rule. This process is much faster than renaming the table on the universe and to change all the objects that the universe is using on this table.

Scenario 2: We have different fact tables for different departments with the same or similar table structure and  all the dimension tables are common. We are looking for the best solution that reduces future maintenance.

Solution: Instead of creating different copies of the same universe by changing the fact table, we can create one universe and use the table replacement functionality to dynamically switch the fact table depending on the user functional group (in this case would be the department) that the user belongs to.

As we have seen in these examples this table mapping feature provides the developers with simplicity, effectiveness and maintenance reduction on their systems.

Si tiene alguna pregunta, no dude en dejar un comentario a continuación.

Xcelsius in BI on Demand (BIOD)

In this blog article I am going to talk about Xcelsius in SAP BI On Demand (BIOD). What I am going to explain are the steps that you should follow to upload an existing Xcelsius Dashboard to the BIOD system. 

What is BIOD?

First of all, for those who don’t know what is BIOD I will give a brief explanation. Basically we can say that BIOD is the most complete and approachable cloud based business intelligence suite available in the market today. BIOD is software as a service; you do not need to install any software on your machines to get instant value from the system. All you need to do is Log in and provide some data. It is a cheap BI solution, due to the fact that you don’t need to make a huge investment in hardware, licenses, etc... everything is in the net.  The target for this technology is small companies, which are less likely to be able to acquire a BI system due to the costs, but with BIOD they have an accesible  way into SAP BusinessObjects analysis system. In BIOD you are able to create:

  • Xcelisus Dashboards
  • Web Intelligente reports
  • Explorador

You can get more information about BI On Demand here.

 Now, let´s see how to upload an existing XCelsius Dashboard to the BIOD system.

How to upload an Xcelsius Dashboard to BIOD?

First of all, if you don’t have a BIOD account you should create it. It s free, and with it you will able to test most of the features of this cloud system. Click here to Sign up.

Once we are logged, we will see this screen.

Now I want to show you how you should upload an existing Xcelsius file with static data to the BIOD system.

First of all we should create the DataSource, so in my Stuff panel we should select Datasets. After that we click Add New Button  -> Add Dataset

Then we should chose from which place we will select the dataset. We have several options: Create From Query (this option is only available in the BIOD Advanced version, where the connection to a universe is possible), bring data from salesforce or create an empty dataset from scratch and finally, we can upload a file (xls,xlsx or csv) which we will use in this example.

As I said before, we select an excel file as source of our dataset, in the first row of our excel file it is important to have the labels of each column. We can also edit this dataset, change the value type of each column, the label name, etc...

At the bottom of this page we can find the properties section, here we should enable the Web service. Once we have done this, the system will generate a url that will be the reference to the dataset in our dashboard.

The next step will be to upload the Xcelsius file as a template, so we select Add New -> Add Template.

We create a name for this template, uncheck the Create a new Xcelsius file check box and finally, select the xlf file that we have locally.

The screen below will then appear. In order to connect the dataset to our xlf file we should select the blue sentence (you may click here to edit the Xcelsius file). You can also attach an image of the dashboard as a thumbail for repository. The object selection will be fancier.

Once the Xcelsius editor is opened we add a connection using OnDemand -> Add Connection menu option. This will create one Flash Variables connection ([Flashvar]) and two Web Service Connections ([OD_Data1 and OD_Data2). In our case we should delete one data connection because we only have one source, but in case we need more data sources we can create as many as we want. It will also create a new tab in the XC spreadsheet that contains these cell bindings.

After that we configure the data connections. Open the Data Manager (Data -> Connections) and you will see a Connection of type FlashVars.  You should see the following:

  • get_data_url: (mandatory). This should be bound to the cell which the Web Service Url of the Web Service Connections are also bound to. If you have multiple connections this should be bound to the range which holds those connections.

Then each Web Service Connection (OD_DataN), in our case only OD_Data1 points to the set of cells to which that connection outputs its data.

These are the next steps that you should follow in order to setup the dashboard:

  • Click on My Datasets and click copy beside the dataset OD_Data1.
  • Paste the url from dataset to the WSDL URL input box of a Web Service connection

  • Click Import to import the schema.
  • Bind the web service url to the same cell as get data url (Note: if you used the Add Connection process this should already be done).
  • Bind the headers and the row values.
  • Set Refresh on Load to be true.

After these steps you can save your changes and then click the Back button to go back to Edit Connection step of creating a template. You should see your connection listed on the screen.

Click Next to go to the Edit Sample Data step, you can choose to add in your sample data from the XLF if you like, and then click Finish.

Finally we will create a visualization using this template. We select our Data Input, in this case Data Source.

 

If we go to the visualization menu we can find the object.

 

In conclusion we can say that the BIOD system is a nice tool to start testing the power of the SAP solutions without a potential heavy investment at the beginning. It can be also a good tool to make demos on and show our dashboards to customers. It is very interesting to test the explorer tool, you can see the amount of options that the BIOD brings you in terms of data analysis.  If you are interested in the advanced solution you should get in touch with SAP.

If you have any comment or doubts do not hesitate to contact us or leave a comment below.

Abordar el dilema de la conciencia agregada

In my last project I faced a situation where the customer asked me about the best option for a particular topic and this time my answer had to be "it depends". As a consultant, my duty was to provide two different options (with their corresponding pros and cons) but I could not make a decision on this, since the answer was highly dependent on the composition of IT service providers in different areas and also their road map. In general BI terms, we could define aggregation as the process of summarizing information at a certain level of detail in order to improve the performance. The Kimball Group defines Aggregate Navigation as the ability to use the right aggregated information and recommends to design an architecture with services that hide this complexity from the end user. In the BusinessObjects world the same concept is called Aggregate Awareness and the database administrators community usually refers to it as query re-write.

En SAP BusinessObjects, esto se puede lograr mediante el uso de la función @aggregate_aware, contextos y objetos incompatibles en el diseñador de universo. En un nivel de base de datos (RDBMS), ciertos proveedores proporcionan esta característica a través de vistas materializadas con opción de reescritura de consulta (Oracle, Sybase, DB2, Informix, PostgreSQL y algunos otros).

Así que aquí tenemos el dilema: ¿dónde colocar esta lógica en un entorno de cliente: en la capa física o en la capa lógica?

Ambas opciones son válidas, pero hay algunas consideraciones que deben tenerse en cuenta desde diferentes puntos de vista:

Comparación de tablas

La información que se ve en la tabla anterior ya puede ser interpretada, pero como resumen, mi recomendación sería:

Implementación de la conciencia agregada en SAP Business Objects:

  • Ideal para una arquitectura con muchas fuentes de base de datos (no todas las fuentes de base de datos admiten la característica de reescritura de la consulta y debe mantenerse en cada una de ellas)
  • Es bueno tener si el proveedor de la base de datos puede ser cambiado en el futuro (no hay cambios necesarios en el universo)
  • No hay acceso a administradores de base de datos que puedan ajustar correctamente la base de datos
  • Arquitectura de informes cerrada basada en una capa semántica fuerte en Business Objects
  • Existe la necesidad de un repositorio centralizado de metadatos

Implementación de mecanismos de reescritura de consultas en el RDBMS:

  • Ideal para una arquitectura con muchas herramientas de informes que acceden a la misma base de datos
  • Acceso a administradores de bases de datos sólidos
  • Simplifica el diseño del universo
  • No es necesario un repositorio centralizado de datos

If after reading this post you still have doubts on what direction to go for at your company or customer, do not hesitate to contact clariba at info@clariba.com or leave a comment below.

SAP BusinessObjects Mobility Solutions (Parte 2 - SAP BI Mobile)

This is the second article of the SAP Mobility Solution series.  It is time to review the second Mobile application that has been release by SAP Business Objects: SAP BI Mobile

If you have not  read the first article on SAP Explorer yet, check it out.

Just as a brief reminder that both this and the previous tool can be downloaded (if you are an SAP partner) through SAP Marketplace

If you are not an SAP partner but still feel like trying these tools you can still download the mobile applications from the app store and try out the demo servers SAP has made available.

Now let’s start reviewing the second Mobile tool from SAP Business Objects

SAP BI Mobile

The SAP BI Mobile application allows WebI and Crystal reports to be displayed and distributed through Mobile devices. The application we will review here is the Ipad version but other mobile devices are also supported. The Ipad version of this application can only be installed if you have Business Objects XI 3.1 SP3 or higher, so be prepared to patch your system if it is not at this level.

Click Here to find a complete overview of this application.

The first step to get this application running is to install the server side of the software. To do so you need to download two files from the SAP Marketplace: the BI Mobile 3.1 SP3 file and also the BI Mobile SP4 (required for Ipad support)

Instalación

The installation is also straightforward and you should only modify the default settings of the install if your Business Objects system configuration requires it.

For example, if you have a web server separated from the application server then you will have to install those two sides separately (Custom Install). In our example, since all the components are on the same machine we will install all the software on the same place (Complete Install).

You can see in the screen below how components are separated in the install process.

Once you run through the install for the BI Mobile SP3, you will also need to install SP4. This patch installation does not require any configuration and will only write the patched files on the home business objects directory.

After these two installations are complete you will notice new applications are installed on the server components of you Business Objects system.

Run both of the Configure as a service options (only on windows install) so you can also have the BI Mobile components available as services under windows.

Make sure your new Mobile services are started and remember to set them to start automatically in case they need to remain ON along with the Business Objects system.

Deploying Web Components

The web part of the BI Mobile application has also been generated during installation but for some reason they are not automatically deployed (at least in our test cases). Therefore you will need to move them yourself to the Tomcat webapps directory so they are deployed.

Browse to the following directory: $BOBJ_Home/Business Objects 12.0/java/

Locate the following files:

  • MobileBIService.war
  • MobileOTA.war
  • MOBIServer.war

Copy these files to the webapps directory located at: $BOBJ_Home/Tomcat55/webapps

When the .war files are copied to this directory they will be automatically picked up by Tomcat and new directory apps will be created. If the deployment is successful you should be able to access the Mobile default web page at:

http://yourserver:8080/MobileOTA

If a webpage comes on with options for different mobile devices, we are now ready to install/configure the mobile application on the ipad.

La aplicación móvil

First off, we need to download the application from the App Store. You would find it under the name SAP BI Mobile (do not confuse with Mobile One app)

Once downloaded, it is time to configure the settings for a new Mobile connection.  Start the app on the Ipad and click on the Settings option at the bottom.

Select the "add a connection" option where you will have to provide the following:

  • Nombre de la conexión
  • Server URL. This is the name:port of the machine where the BI Mobile web component has been installed (without http in front)
  • The CMS name that controls the BI Mobile server components
  • The Authentication method
  • Nombre de usuario y contraseña

Save the configuration and select the newly created connection.

If the connection is successful we will face the following screen on the Ipad application.

The connection to the mobile server has been successful but we have no reports to show yet. To make new reports available to the mobile application we will have to tag them as mobile compatible. This is done by adding the reports to a category called Mobile. This category can be customized as desired but for this example we will use the default value.

Select the reports we want to make available on the BI Mobile application and categorize them as Mobile.

NOTE: In most cases the category does not previously exist and you might need to create it prior to this step.

Almost immediately after this is done, you will see the categorized reports appear on the lower part of the BI Mobile application.  The reports are now ready to be downloaded to the Ipad.

Click on the green download button that appears next to each report.

When the download is completed the downloaded report will appear on the upper part of the BI Mobile application. We can now click on the report on the upper part and you will find the Mobile version of your WebI/Crystal report.

Be aware that not all WebI capabilities are supported by the BI Mobile version. To understand the limitations you can review the product guide here

On the same document we can also find some useful best practices on how to design a WebI/Crystal report for Mobile viewing and templates that can help you when designing new reports according to mobile devices´ size.

Although the variety of graphs and interaction in the BI Mobile application is still quite basic, we think SAP is in definitely on the right track.

Appendix on Business Objects XI 4.0

Although our example reviews version 3.1 of the Mobile application we also advise to review the guide for release 4.0 as it contains additional features on the BI Mobile application. The additional features include in-table graphics such as percentage bars or sparkline trends. See screenshot below:

 

Conclusion on SAP BusinessObjects Mobility Solutions

This is a promising start. Chances are that  soon SAP will extend the devices covered, support more complex graphs and take better advantage of the Ipad interaction capabilities as well.

With mobile solutions you will be able to optimize your existing investment by bringing your content to more mediums, you will be able to provide instant answers to more people, no matter where they are working from, therefore, you will boost the performace of your organization. All bets are on mobility!

 

Si está interesado o ha trabajado con esta aplicación, o si cree que podría ser útil en su organización, por favor deje un comentario a continuación.

StreamWork - el entorno de trabajo colaborativo de SAP

Estamos notando que nuestros clientes y clientes potenciales están empezando a buscar modelos y flujos de trabajo colaborativos. La razón es que quieren fomentar y mejorar el trabajo en equipo y reducir los errores humanos mediante la creación de flujos de aprobación para sus tareas internas. Por lo tanto, si ayer los usuarios de poder o TI podría modificar directamente los valores de una base de datos sin ningún control, hoy en día, con un número creciente de empleados y un creciente nivel de complejidad para los procesos, prefieren los flujos de trabajo formales para impulsar la eficiencia y siempre garantizar la aprobación De la gestión, un modelo colaborativo que puede reducir o incluso eliminar los errores provenientes de la falta de control sobre las acciones.

SAP aún no tiene ningún motor de flujo de trabajo (o al menos no lo tenemos en cuenta), pero tenemos lo que SAP llama "Social Intelligence" herramienta, que se llama StreamWork.

Esta solución parece una mezcla entre Facebook, Twitter, LinkedIn y MS Outlook / Proyectos. He tomado algunas imágenes de la pantalla de impresión durante las pruebas que he hecho en uno de nuestros clientes, para que pueda ver lo que está disponible:

 

Los usuarios pueden crear tareas / actividades y agregar participantes;

 

Añade acciones a diferentes tareas;

 

Administrar alimentos y controlar lo que están siguiendo;

 

Establecer agendas y matrices RACI;

 

Definir configuración de notificaciones y obtener recordatorios de correo electrónico en su bandeja de entrada ...

 

... en pocas palabras: pueden colaborar mientras trabajan en un proyecto.

If you want to access a free version of StreamWork, please go to www.streamwork.com and sign in. Moreover, you can find a white paper attached sap_streamwork, where you can read what SAP says about it. In my opinion, a very interesting tool, worth checking it out.

Cómo buscar de forma más rápida y eficiente con Firefox (y Chrome / Opera)

Implementing technologies in environments that are always changing often generates doubts and challenges for us consultants. Of course you can ask your colleagues, but they are not always free and sometimes they just don't know the answer.  So most of the time we are relying on the Internet to find tutorials or people who met the same problems before and explain how they have solved them. Therefore being able to search fast and efficiently makes our lives easier. Fortunately, some of the modern browsers (who said IE6?) give us this possibility. I will now give three main tips to improve the way you search the internet - if you don't have much time, jump directly to the 3rd tip, which is the most effective one.

Este artículo se centra en Firefox, pero también se mencionan navegadores alternativos.

Tip n°1: add search engines to your browser (Firefox, Internet Explorer, Chrome, Opera and Safari).

En Firefox puedes ver la casilla del motor de búsqueda en la esquina superior derecha de tu ventana.

If you click on the symbol on the left (here the Google icon), you will see a list of all the search engines you have already installed, plus an option to manage search engines. One of the best options available to look for new search engines (at least for Firefox, IE and Chrome) is the Mycroft project: http://mycroft.mozdev.org/

Por ejemplo, si buscamos cuáles son los motores de búsqueda correspondientes a SAP, encontramos (unter section 6. Computer) lo siguiente:

Simplemente haga clic en uno de ellos y confirme que desea utilizarlo como un nuevo motor de búsqueda.

Ahora puede realizar búsquedas basadas en este motor de búsqueda.

Tip n°2: assign keywords to your search engines (Firefox, Chrome and Opera).

Asignar palabras clave a sus motores de búsqueda es bastante fácil. Abra la ventana "Administrar lista de motores de búsqueda", seleccione el motor de búsqueda de su elección, haga clic en "Editar palabra clave ..." y simplemente escriba una palabra clave - y es mejor que lo haga corto, por ejemplo "g" para Google Y "w" para Wikipedia.

Una vez que haya hecho esto, no es necesario seleccionar manualmente el motor de búsqueda más! Vaya a la barra de direcciones (recuerde el atajo Ctrl + L), y simplemente escriba la palabra clave para el motor de búsqueda elegido, seguido por el término buscado. Ejemplo: "g rápido mart" si desea buscar marts rápido en Google, o "w SAP" si desea ver la página SAP Wikipedia.

Tip n°3: use bookmarks with the %s variable (Firefox, Chrome and Opera)

La característica de los motores de búsqueda tiene muchas ventajas, pero también algunas limitaciones claras.

The most obvious is that not every website has an associated search engine, like for example the very useful Business Objects Board.

La segunda limitación se debe a la naturaleza de los motores de búsqueda - que son bastante específicos del navegador, y el proceso de respaldo de ellos / restaurar no siempre es sencillo.

Afortunadamente, hay una solución aún mejor que combina todas las ventajas de los motores de búsqueda con la flexibilidad de los marcadores. La solución consiste simplemente en usar "% s" en la URL de un marcador.

Tomemos un ejemplo sencillo: a menudo se utiliza el excelente WordReference.com para traducir del inglés al italiano y al revés. Si abre el sitio web, escriba la palabra "printer", elija "English-Italian" y presione Enter, obtendrá en la página "http://www.wordreference.com/enit/printer". Ahora cree un nuevo marcador, pero reemplace la" impresora "en la URL por" S ". Usted termina teniendo una nueva URL" http://www.wordreference.com/enit/%s". Asigne una palabra clave a este marcador, por ejemplo en_it. Ahora si escribe "en_it impresora" en su barra de direcciones (una vez más recuerde Ctrl + L), que se toman a la misma página.

La gran ventaja de los marcadores es que se pueden sincronizar con bastante facilidad, ya sea con Firefox Sync o Xmarks.

Aquí hay una lista de algunos de los marcadores que utilizo casi todos los días, con URL y posible palabra clave. ¡No dudes en usarlos!

  • Acrónimo Finder (acro) http://www.acronymfinder.com/~/search/af.aspx?pid=osearch&string=exact&acronym=%s

  • Consejo de los objetos de negocio (bob) http://www.google.com/search?name=f&hl=en&q=site%3Ahttp%3A%2F%2Fforumtopics.com%2Fbusobj%2F%20%s

  • Cambridge Britsh English Diccionario (dicoen) http://dictionary.cambridge.org/search/british/?q=%s

  • Imágenes de Google (img) http://www.google.com/search?hl=en&q=%s&um=1&ie=UTF-8&tbm=isch&source=og&sa=N&tab=wi

  • Google Maps (mapas) http://maps.google.com/maps?q=%s

  • Google nosotros (ge) http://www.google.com/search?name=f&hl=en&q=%s

  • Google france (gf) http://www.google.fr/search?q=%s

  • Wikipedia English (us) http://en.wikipedia.org/?search=%s

  • Wikipedia Francés (wf) http://fr.wikipedia.org/?search=%s

  • Notas de SAP (sapnote) https://service.sap.com/sap/support/notes/%s?nlang=E

Si tienes más consejos, o si sientes que falta un marcador útil de mi lista, compártela con nosotros en un comentario a continuación.

SAP Strategy Management: Cuando la personalización genera nuevos estándares

Durante el tiempo que pasamos en nuestro cliente en Abu Dhabi, aprendimos mucho sobre la personalización SSM hasta que nos dimos cuenta de que el producto final podría ser un nuevo estándar en lugar de una personalización. Nuestro cliente tenía algunas preocupaciones sobre las características del out-of-the-box y nos pedían que modificáramos la funcionalidad añadiendo nuevas y automatizando toda la plataforma.

El mayor reto que tuvimos fue relacionado con el flujo de trabajo de aprobación. ¿Cómo puede el cliente aprobar la creación de un nuevo Objetivo Estratégico? SSM no permite al usuario realizar esta tarea y nuestro cliente planteó este tema como un riesgo. El flujo de trabajo para los componentes estratégicos se convirtió en un requisito a partir de ese momento. Nos pidieron que usáramos perla negra K2, que para nosotros era como una caja negra. Decidimos entonces fusionar nuestros equipos y dividir el trabajo para lograr el mismo objetivo.

Hemos creado un modelo de datos SSM simplificado que reduce el número de tablas necesarias para crear un Balanced Scorecard y lo conectamos a SSM. Desde nuestra interfaz pudimos rellenar cualquier componente estratégico, así como el cubo (utilizando comandos IDQL). A continuación, creamos la base de datos y un ETL dedicado (con SAP BO Data Services) que estaba poblando las tarjetas de puntuación equilibradas.

En el otro lado del escritorio, nuestro cliente estaba construyendo el flujo de trabajo en K2, creando las nuevas páginas web que ahora están reemplazando la herramienta de administración de SSM y conectando la salida directamente a nuestras tablas de interfaz.

Nos tomó un tiempo antes de que tuvimos la oportunidad de ver algo que estaba realmente trabajando, pero lo hicimos; Hemos creado una potente interfaz que crea cuadros de mando equilibrados dentro de SAP SSM.

En esta interfaz todo se ejecuta automáticamente, los KPI así como las perspectivas, los objetivos, las iniciativas y también los hitos son actualizados por un trabajo planificado de ETL en SAP BusinessObjects Data Services.

La personalización que hicimos se puede resumir de la siguiente manera:

  • Normalización y reingeniería de tablas SSM (después de realizar un análisis específico en el modelo de datos SSM) para crear nuestro DB de interfaz.
  • Conexión de nuestras tablas de interfaz a las tablas SSM.
  • Personalización de los trabajos IDQL estándar que están actualizando los cubos SSM.
  • Hacer que SSM sea de sólo lectura para evitar cambios en iniciativas o hitos de la interfaz de usuario final.
  • Hacer que las tablas de interfaz de SSM estén disponibles para el reporting y el dashboard ya que pueden ser incluidas en un universo simple.

Hasta ahora la única intervención manual que el cliente necesita hacer es crear los mapas de estrategia. Este paso se debe hacer desde la herramienta de administración SSM.

 

Para concluir, la solución que hemos explicado anteriormente se ha creado como una personalización, pero puede adaptarse a cualquier cliente que necesite este nivel de seguridad y detalle para su implementación SSM.

Parte de esta implementación podría aplicarse a las empresas que necesiten tener una cesta automatizada de KPIs que no incluya ninguna entrada manual para los valores (la parte final de esta solución puede ser considerada como un conector SSM DB). Esta solución se ha desarrollado utilizando SQL Server 2008, pero puede conectarse a cualquier fuente de datos (por ejemplo, SAP R / 3, ORACLE DB, archivos planos, etc.).

Si crees que esta solución podría funcionar también para tu empresa o tus clientes, no dudes en ponerte en contacto con nosotros por correo electrónico en info@clariba.com o dejando un comentario a continuación.

EspañolEnglish