Bienvenidos programadores en VBA, también en “SAP Analysis, edition for MS Office”

Aun es usual encontrar en el mundo SAP, usuarios o consultores, con su permiso, “tradicionales”, que no dejan de extrañarse que Visual Basic for Application (VBA, más conocido como “macros para Office”) pueda utilizarse en una implementación de un producto. Es innegable que el software más usado en las empresas es MS Excel, han sucumbido todos los intentos por sustituirlo, es por eso que ya son varios los productos que utilizan esta interfaz para facilitar las tareas de entrada de datos o presentación de información.


Aun es usual encontrar en el mundo SAP, usuarios o consultores, con su permiso, “tradicionales”, que no dejan de extrañarse que Visual Basic for Application (VBA, más conocido como “macros para Office”) pueda utilizarse en una implementación de un producto.  Es innegable que el software más usado en las empresas es MS Excel, han sucumbido todos los intentos por sustituirlo, es por eso que ya son varios los productos que utilizan esta interfaz para facilitar las tareas de entrada de datos o presentación de información.

SAP Analysis, edition for MS Office 1.3 (menu01)

En SAP tenemos el SAP EPM Add-in (Cliente de SAP BPC 10.0 y otros productos del portfolio SAP EPM) y SAP Analysis, edition for MS Office que se incorporan a la interfaz de los productos MS Office como complementos (Add-in).  Estos dos Add-ins no tan sólo se acoplan a las opciones de menú sino que también ofrecen la posibilidad, a través de un conjunto de rutinas (denominadas API), automatizar tareas o funcionalidades programando en VBA.

SAP Analysis, edition for MS Office 1.3 (ribbon01)

En el caso de SAP Analysis, edition for Miscrosoft Office a través de sus denominados métodos APIs y con VBA podemos hacer cosas tales como cambiar la interfaz, agregando o retirando opciones del menú o de la cinta (ribbon), recuperar valores específicos de las fuentes de datos, o iniciar una sesión.

Muestra VBA con métodos API de Analysis for Office. Las dimensiones que no estén en el eje de línea o columna se agregan a una cadena que se muestra en el cuadro de diálogo de mensaje estándar con el método API SAPAddMessage

Resulta un poco peyorativo referirnos a VBA como simplemente “macros” cuando se trata de un lenguaje de programación completo, con muchas posibilidades de personalizar y mejorar la experiencia del usuario.  Gestionando adecuadamente las expectativas y realizando un desarrollo ordenado, el uso de VBA en un proyecto de SAP BPC o SAP Analysis for MS Office no tiene que ser caótico. 

SAP BPC, «parche» para evitar el cambio de los nombres técnicos de los atributos

En SAP Business Planning and Consolidation para entornos SAP Netweaver (SAP BPC NW), dependiendo del alcance o la complejidad de la implementación que se esté realizando, la pérdida o cambio de los nombres técnicos de los objetos al realizar el “transporte” del modelo de un sistema a otro, puede llegar a ser un contratiempo importante. El último aspecto que faltaba sobre este tema era con respecto a los atributos, en la nota de referencia encontrarás una explicación detallada para aplicar este “parche”.


En SAP Business Planning and Consolidation para entornos SAP Netweaver (SAP BPC NW), dependiendo del alcance o la complejidad de la implementación que se esté realizando, la pérdida o cambio de los nombres técnicos de los objetos al realizar el “transporte” del modelo de un sistema a otro, puede llegar a ser un contratiempo importante. El último aspecto que faltaba sobre este tema era con respecto a los atributos, en la nota de referencia encontrarás una explicación detallada para aplicar este “parche”.

Desde el lanzamiento de la versión 10.0 de SAP BPC NW se han realizado varias mejoras (a fines de mes está previsto el Service Pack 10, es decir SAP BPC 10.0 SP10).  Consideramos que después de casi un año de su liberación o disponibilidad general, SAP BPC NW 10.0 es un producto estable y en gran parte gracias a los usuarios que lo han venido utilizando todo este tiempo, guste o no, la madurez y estabilización de un producto SAP depende de la cantidad de usuarios que lo utilizan y SAP BPC es el componente más utilizado del portfolio SAP Enterprise Performance Management (SAP EPM).

Referencia: SAP Note 1823400 y post relacionado

Eliminar un Environment de SAP BPC desde SAP BW

Una “regla de oro” que encajaría dentro de las buenas prácticas que inicialmente señalaba SAP sobre el uso de SAP Business Planning and Consolidation edición para entornos SAP Netweaver (SAP BPC NW) era que toda la construcción del modelo o aplicación BPC se hiciese sobre la interfaz del Administrador de BPC, evitando cualquier definición o modificación, especialmente de estructura de datos, desde el entorno SAP NW BW, plataforma sobre la que se instala SAP BPC NW.


Una “regla de oro” que encajaría dentro de las buenas prácticas que inicialmente señalaba SAP sobre el uso de SAP Business Planning and Consolidation edición para entornos SAP Netweaver (SAP BPC NW) era que toda la construcción del modelo o aplicación BPC se hiciese sobre la interfaz del Administrador de BPC, evitando cualquier definición o modificación, especialmente de estructura de datos, desde el entorno SAP NW BW, plataforma sobre la que se instala SAP BPC NW.

Ventana del programa UJAA_DELETE_APPSET

A nuestro parecer, esta regla o sugerencia se debería seguir cumpliendo, inclusive en la versión 10.0 de SAP BPC NW.  Pero sin embargo, contamos con una serie de transacciones y programas que SAP incluye a nivel de BW para realizar algunas operaciones sobre los metadatos BPC, como es caso del programa UJAA_DELETE_APPSET, el cual nos permite eliminar todo un Environment de BPC desde BW (ver nota 1817662).

Transacciones, tablas y programas de SAP BPC NW

«Navegando» por Internet encontramos «cosas» que quizás podrían ser interesantes, como el fichero MS Excel que adjuntamos en esta entrada, se trata de un listado de las transacciones, tablas y programas de SAP Business Planning and Consolidation (SAP BPC) que se pueden utilizar o consultar desde SAP NW BW.


«Navegando» por Internet encontramos «cosas» que quizás podrían ser interesantes, como el fichero MS Excel que adjuntamos en esta entrada, se trata de un listado de las transacciones, tablas y programas de SAP Business Planning and Consolidation (SAP BPC) que se pueden utilizar o consultar desde SAP NW BW.  No la hemos revisado detalladamente, pero a nivel de programas o tablas podría haber alguna que para la versión 10.0 tenga la categoría de obsoleta (debería verificar la descripción del objeto antes de utilizar), pero este detalle no le quita utilidad a estos listados.

Monitorización de los «buffers» de SAP

Complementando la entrada anterior, la transacción que nos ayuda a monitorizar los buffers de un sistema SAP nos muestra las siguientes columnas de valores:


Complementando la entrada anterior, la transacción que nos ayuda a monitorizar los buffers de un sistema SAP nos muestra las siguientes columnas de valores:

Cabecera de la ventana ST02

  • HitRatio %.  Indica el porcentaje de veces que se ha encontrado la información en el buffer.  Si la información  se encuentra en el buffer se evita el acceso a la base de datos, mejorando el rendimiento del proceso que solicita el dato. 
  • Allocated size. Señala el tamaño en KB que ocupa el buffer.  Es un poco mayor que el tamaño disponible, debido que una parte se utiliza para la administración del respectivo buffer.
  • Free Space. Espacio libre del buffer.
  • Dir size entries. Indica el número de entradas de directorio que puede contener el buffer.  Puede suceder que el buffer tenga  espacio suficiente, pero un número de entradas limitado, impidiendo la carga de datos.
  • Free Directory Entries (FreeDirEnt).  Indica, en dos columnas, el número y porcentaje de entradas libres.
  • Swaps. Indica el número de objetos que han sido desplazados del buffer para liberar espacio necesario por la entrada de otro objeto.  El Swapping es señal de falta de entradas o espacio asignado al buffer.
  • Database Access.  Indica el número de veces en que se ha accedido al buffer debido a que el objeto no se ha encontrado en el buffer.

Cuáles son los valores “ideales”

  • Hit Ratio: Este valor debe encontrarse entre un 90-95%.
  • Swap: Por norma general, debe encontrarse lo más próximo a cero.
  • Free space: El espacio libre debe encontrarse en alrededor del 25% o más.
  • Free Dir Entries: Las entradas libres deben encontrarse en alrededor del 25% o más.

Realizar un seguimiento a estos indicadores nos ayudará a evitar buffers pequeños o demasiados  grandes, los cuales pueden provocar un mal rendimiento. 

Adicionalmente se debe controlar, si se cuenta con más de un servidor de aplicaciones, que la sincronización de la actualización de los buffers sea correctamente (a través de la transacción AL12 podemos ver los tiempos de actualización de los servidores, el cual debe ser aproximadamente el mismo, alertando si este difiere en más de cinco minutos).

Referencia: ISBN 9788478979745