Información adicional para el PAM de SAP BPC MS (v 7.* y 10.0)

Pareciera que la edición para plataformas Microsoft (MS) de SAP Business Planning and Consolidation (SAP BPC) estuviera relegada a un segundo plano por debajo de la edición para entornos SAP Netweaver (NW), la mayor inclusión de novedades en la versión 10.0 NW, nos genera esta sensación. Esperamos equivocarnos.


Pareciera que la edición para plataformas Microsoft (MS) de SAP Business Planning and Consolidation (SAP BPC) estuviera relegada a un segundo plano por debajo de la edición para entornos SAP Netweaver (NW), la mayor inclusión de novedades en la versión 10.0 NW, nos genera esta sensación. Esperamos equivocarnos.

(clic para ampliar) Comaptibilidad con productos de terceros de SAP BPC edición Microsoft versiones 7.0, 7.5 y 10.0

La arquitectura de ambas ediciones (MS y NW) son, en cada versión, más diferentes y la compatibilidad con otros productos también, para tener una referencia rápida sobre la compatibilidad y requisitos técnicos para SAP BPC 7.* y 10.0 en entornos Microsoft, tenemos la nota 1678822, recomendamos su consulta si estás trabajando con esta edición de SAP BPC, que complementa la información que brinda el PAM, comentada en el post anterior.

La “dimensión Time” de SAP HANA

Si alguna dimensión nunca falta en cualquier repositorio de datos o sistema de información, ese el tiempo. SAP HANA también lo tiene en cuenta y nos ofrece la posibilidad de crear estas tablas de una manera inmediata a través de la definición de un “Attibute View”, si seleccionamos el tipo de vista “Time”.


Si alguna dimensión nunca falta en cualquier repositorio de datos o sistema de información, ese el tiempo. SAP HANA también lo tiene en cuenta y nos ofrece la posibilidad de crear estas tablas de una manera inmediata a través de la definición de un “Attibute View”, si seleccionamos el tipo de vista “Time”.

Definción de una vista de atributo de tipo Time (y creación de una dimensión TIME)

En la definición de la vista deberemos indicar lo siguiente:

  • Tipo de Calendario. Deberemos indicar  entre Gregoriano y Fiscal (para este segundo caso es necesario tener la definición de la tabla T009, símil a la tabla del mismo nombre de SAP R/3 que almacena las variantes de años fiscales).
  • Esquema. Sólo necesario para el tipo de calendario Fiscal se deberá indicar la ubicación de la tabla T009. Para el caso de calendario Gregoriano estas tablas se generan en el esquema _SYS_BI.
  • Granularidad.  Nivel de detalle que tendrá la tabla y la vista. En el caso de un nivel de detalle igual o inferior a Date, se crea una tabla con todos los campos o atributos denominada M_TIME_DIMENSION en el esquema _SYS_BI. Para niveles de detalle con menor granularidad se creará en el mismo esquema una tabla con el mismo nombre seguido del nivel de detalle
  • La opción “Auto Create” creará las estructuras y contenidos, la tabla se creará, por defecto, con todos los datos comprendidos entre 1990 y 2020.

Diseño de un Attribute View de tipo tiempo y tablas de tipo tiempo definidas

Una vez introducidos estos parámetros, la tabla y vista se habrán creado, veremos el lienzo de diseño de la vista, podremos agregar más atributos a la vista y finalmente sólo quedará guardarla y activarla.

Vista previa de una dimensión TIME

Creación de una «Attibute View» de SAP HANA

Las vistas de información de SAP HANA, diferencias técnicas al margen, tienen una utilidad funcional similar a los universos de SAP BusinessObjects BI o la capa semántica de cualquier plataforma de Business Intelligence: facilitar a los usuarios el acceso a los datos, haciendo transparente la terminología técnica que los rodea y presentando sólo los datos que realmente se requieren.


Las vistas de información de SAP HANA, diferencias técnicas al margen, tienen una utilidad funcional similar a los universos de SAP BusinessObjects BI o la capa semántica de cualquier plataforma de Business Intelligence: facilitar a los usuarios el acceso a los datos, haciendo transparente la terminología técnica que los rodea y presentando sólo los datos que realmente se requieren.

De los tres tipos de vistas de información que ofrece SAP HANA, las primeras que definiremos son aquellas que nos permitirán acceder a los datos de las tablas que actúan como maestros o dimensiones, estas vistas se denominan Attribute View o Vista de Atributos.  Por ejemplo, una tabla de “Proveedores”  puede tener una gran cantidad de datos, pero quizás, para las tareas de análisis, con el código y razón social será suficiente, brindar más datos podría dificultar la comprensión o desviaría el objetivo del análisis.

Un Attribute View de SAP HANA nos permite acceder a una o más tablas y presentar ciertos atributos o campos de estas tablas como si se tratase una sola.  Para crear las vistas de información se utiliza SAP HANA Studio.

Procedimiento para crear una «Attribute View»

Podemos acceder a la ventana de definición del Attibute View, a través del panel “Quick Launch” o el botón derecho sobre un package del Content (Perspectiva Navigator).

Vías para iniciar la creación de un Attribute View

El nombre de la vista sólo puede contener letras, números y el carácter de subrayado, el nombre que se introduzca se convierte en mayúsculas.  En cuanto a la descripción, no hay ninguna restricción. En el campo paquete debemos indicar dónde lógicamente quedará vinculada nuestra vista, este paquete deberá ser creado previamente.

Ventana inicial de definición de un Attibute View

En cuanto a los tipos de vista, tenemos:

  • Standard. Basada en tablas de la base de datos.
  • Time. Para creación de una visión y datos típica de una dimensión de tiempo que incluye información del día, semana, mes, año, etc.
  • Derived. Para cuando la definición de la vista partirá de la definición de otra vista existente, ambas vistas quedan vinculadas.  Cualquier cambio en la vista de referencia se reflejará en todas las vistas que la utilicen.
  • Copy from. Similar a la de tipo Derived, con la diferencia que no existe vínculo entre las vistas, cualquier cambio en la vista de referencia no se refleja en las vistas que la utilizaron a través de esta opción.

Selecciona la tablas o tablas que utilizaremos para crear nuetra vista de atributo en SAP HANA

Seguidamente, este asistente nos mostrará nuestro Catálogo, buscaremos en el esquema que lo contiene o podremos utilizar la opción para buscar una tabla.  (Podemos seleccionar más de una tabla).

Agregando atributos a nuetras vista Attribute View

A continuación, veremos en un lienzo las tablas seleccionadas en el cual deberemos agregar los atributos que deseamos utilizar en esta vista, para ello nos ubicamos sobre un campo de la tabla, hacemos clic derecho y en el menú contextual tendremos dos opciones para este fin: “Add as Key Attribute” (para los campos o atributos clave) y “Add as Attribute” (para el resto de atributos).

Salvar y validar nuestra Vista

Luego, podremos validar y grabar (primer símbolo verde) o grabar y activar (segundo símbolo verde). En HANA, al igual que los objetos de SAP ERP o SAP BW, ante de poder utilizarlos, estos deben ser activados. 

Ventana de activación de objetos

Finalmente, podremos comprobar el funcionamiento de nuestra vista, a través de una vista previa de los datos, accediendo al «Content» (perspectiva Navigator), y luego al «package» donde hemos almacenado nuestra vista.

Comprobación del funcionamiento de nuestra vista

SQLScript para tener la lógica en la base de datos de HANA

Los desarrolladores con conocimientos en SQL (Structured Query Language) se sentirán muy cómodos con SAP HANA y especialmente con SAP HANA Studio, tanto para el diseño de datos como para el diseño de vistas de información, este conocimiento será de mucha utilidad. Pero SAP HANA tiene algo más, tiene una extensión del lenguaje estándar para acceder y manipular las estructuras de bases de datos, denominado SQLScript


Los desarrolladores con conocimientos en SQL (Structured Query Language) se sentirán muy cómodos con SAP HANA y especialmente con SAP HANA Studio, tanto para el diseño de datos como para el diseño de vistas de información, este conocimiento será de mucha utilidad.  Pero SAP HANA tiene algo más, tiene una extensión del lenguaje estándar para acceder y manipular las estructuras de bases de datos, denominado SQLScript 

Tal como lo hemos comentado en entradas anteriores, uno de los objetivos de SAP HANA es evitar el movimiento de datos entre base de datos y aplicaciones, para ello, permite que cálculos y operaciones lógicas se ejecuten en la base de datos y no en las aplicaciones, contribuyendo de este modo, a lograr menores tiempo de consulta, notorio sobre todo cuando se procesa grandes cantidades de información. 

Con las lógicas en las aplicaciones, además del tráfico que generan al recuperar los datos que van a procesar, este procesamiento se hace registro por registro, lógicas con muy pocas posibilidades de optimizar.  Por otro lado con las lógicas en la base de datos hay mayores posibilidades de tener un código estandarizado y reutilizable, facilitando las tareas de mantenimiento y desarrollo. 

SQLScript incluye una serie de operadores, funciones y sentencias, las cuales podremos utilizar en la definición de objetos tipo procedimiento que crearemos con la sentencia CREATE PROCEDURE <nombre del procedimiento> LANGUAGE SQLSCRIPT AS…

Creando tablas con SAP HANA Studio

Por el momento, quizás no sea muy usual crear o actualizar manualmente tablas en la base de datos de SAP HANA, lo usual será que estas tareas se realicen a través de procesos ETL (Extracción, Transformación y Carga), definiciones automatizadas para recuperar datos desde otras fuentes hacia HANA (por ejemplo, con SAP BusinessObjects Data Services o SLT Replication Server). Pero si se concibe la idea de desarrollar una aplicación, el primer paso será crear las tablas que se necesiten.


Por el momento, quizás no sea muy usual crear o actualizar manualmente tablas en la base de datos de SAP HANA, lo usual será que estas tareas se realicen a través de procesos ETL (Extracción, Transformación y Carga), definiciones automatizadas para recuperar datos desde otras fuentes hacia HANA (por ejemplo, con SAP BusinessObjects Data Services o SLT Replication Server).  Pero si se concibe la idea de desarrollar una aplicación, el primer paso será crear las tablas que se necesiten. 

SAP HANA Studio - Perspectiva Navigator y el Quick Launch (La apariencia se personaliza vía el menú Window)

Para la creación de tablas utilizaremos SAP HANA Studio.  En la perspectiva Navigator observaremos una estructura de árbol agrupadas en tres grandes categorías:

  • Security. (Dependiendo de tu perfil de usuario, quizás no la veas). Este nodo contiene las definiciones de roles y usuarios del sistema.
  • Catalog. Contiene los objetos de bases que han sido activados. Los objetos son organizados en esquemas.
  • Content. Contiene los objetos de la base de datos activados y no activados.

 Estos tres nodos agrupadores de objetos de base de datos pueden parecer insuficientes, si fuera necesario consultar otros tipos de objetos, una alternativa es acceder a las vistas que tiene el sistema.

Menú conxtextual del nodo Catalog en la perspectiva NavigatorPara crear una tabla, debemos utilizar el editor SQL, una vía para activar una ventana de este editor, es haciendo clic derecho sobre el nodo Catalog. Si se trata de un nuevo proyecto o aplicación quizás convendría, primero, definir un esquema:

  • create schema «PRESUPUESTO»;
  • grant select on schema » PRESUPUESTO» to _SYS_REPO with grant option;

Con la primera sentencia se crea el y esquema y con la segunda se “comunica” al sistema la existencia de la misma, si se obvia, para la definición de las tablas y especialmente al consultarlas no estarán “visibles”.

Editor SQL

Para la creación de una tabla usaremos una sentencia similar a la siguiente:

CREATE COLUMN TABLE «PRESUPUESTO».»PROYECTOS»
(
«PROY_ID» INTEGER CS_INT NOT NULL ,
«PROY_DESC» VARCHAR(60) NOT NULL ,
«PROY_ACT» VARCHAR(2)
);

El término “COLUMN” determina que esta tabla tendrá un sistema de almacenamiento y acceso basado en columnas, obviándola, estaría basado en filas. Luego, podríamos insertar datos vía las siguientes sentencias:

insert into «PRESUPUESTO».»PROYECTOS» values(1001,’Proyecto 01′,’S’);
insert into «PRESUPUESTO».»PROYECTOS» values(1002,’Proyecto 02′,’S’);

Contenido de la tabla creada

 Ejecutadas estas sentencias visualizaremos, nuestro esquema y  tabla dentro del nodo Catalog (pulsando F5),  y dentro de la tabla, nuestros datos.

También podemos crear tablas vía el menú contextual de cualquier esquema de base de datos