VBA for SAP EPM Add-in: No te olvides de los «pequeños detalles» (#VBAforEPMAddin)

Cuando revisamos un código VBA por optimizar, podemos ver detalles aparentemente “insignificantes” o poco relevantes pero cuando se ejecutan de manera conjunta con datos reales, podrían repercutir en los tiempos de procesamiento. Cuando utilizamos VBA en nuestros formularios EPM Add-in (cliente para SAP BPC – SAP Business Planning and Consolidation) restamos importancia a pequeños detalles como los siguientes:


Cuando revisamos un código VBA por optimizar, podemos ver detalles aparentemente “insignificantes” o poco relevantes pero cuando se ejecutan de manera conjunta con datos reales, podrían repercutir en los tiempos de procesamiento. Cuando utilizamos VBA en nuestros formularios EPM Add-in (cliente para SAP BPCSAP Business Planning and Consolidation) restamos importancia a pequeños detalles como los siguientes:

  • Declara todas las variables
  • Señalar siempre el alcance de las funciones (públicas o privadas)
  • No dejes funciones de evento vacías, si no las usas, elimínalas (olvídate de “quizás la use más adelante”)
  • Las referencias a objetos siempre entre With y End With
  • Si utilizarás un objeto de MS Excel en más de una sentencia, será mejor que utilices una variable objeto que referencia alobjeto.
  • Las funciones de tratamiento de cadenas son más eficientes las de MS Excel que las de VBA.
  • Salvo para e tratamiento de errores, olvídate del “Go To”, terminarás perdiendo el control.

VBA for SAP EPM Add-in: No todas las “instrucciones clave” agilizan siempre la ejecución del código (#VBAforEPMAddin)

Si buscamos en Internet qué hacer para agilizar la ejecución de nuestro código VBA de nuestros formularios EPM Add-in (cliente de SAP BPC – SAP Business Planning and Consolidation), seguro que encontraríamos sugerencias que señalan, entre otras cosas, el uso de las siguientes sentencias:


Si buscamos en Internet qué hacer para agilizar la ejecución de nuestro código VBA de nuestros formularios EPM Add-in (cliente de SAP BPCSAP Business Planning and Consolidation), seguro que encontraríamos sugerencias que señalan, entre otras cosas, el uso de las siguientes sentencias:

  • Application.Interactive
  • Application.ScreenUpdating
  • Application.Calculation
  • Application.EnableEvents

Podríamos utilizar estas instrucciones al iniciar nuestras rutinas, pero como en todo, “el café para todos” no siempre resulta lo más aconsejable, dependiendo de la complejidad de las rutinas, en ocasiones será necesario revisar el código vía las opciones de Debug que tenemos en la interfaz para trabajar con VBA y comprobar si la aplicación de todas estas instrucciones resultan aconsejable, en especial, la desactivación del cálculo automático de MS Excel.

Por otro lado, recomendamos especial cuidado en el uso generalizado de estas sentencias en todos los procedimientos, dado que una llamada a una subrutina podría dejar estos parámetros con los valores no deseados al retornar el control al procedimiento que lo invocó.

El «después» de la actualización SP11 de SAP BPC 10.0 NW

Lo usual que se puede esperar de un nuevo modelo, versión o actualización de cualquier cosa es que nos brinde mejoras o soluciones a problemas, pero en informática, casi siempre no es así. No sorprende que lo que tango gustaba ya no existe o lo que funcionaba bien genera nuevos problemas.


Lo usual que se puede esperar de un nuevo modelo, versión o actualización de cualquier cosa es que nos brinde mejoras o soluciones a problemas, pero en informática, casi siempre no es así.  No sorprende que lo que tango gustaba ya no existe o lo que funcionaba bien genera nuevos problemas.

SAP no es la excepción a esta regla, todo lo contrario, pero con la salvedad que con relativa prontitud nos brinda nuevas actualizaciones que solucionan los problemas originados de la actualización anterior.  En el caso de la última actualización SP11 de SAP Business Planning and Consolidation for NW (SAP BPC) hemos encontrado tres notas que deberían aplicarse luego de esta actualización, en especial 1912030 si es que tienes modelos de Consolidación, la cual señala lo siguiente:

After install note 1775713 or upgrade BPC (Business Planning and Consolidation) to versions between Support Package SP09 and SP11, Balance Carry Forward gets performance issue.

Las otras dos notas son las siguientes:

La «Nota Central» de HANABPC para BPC NW 10.0 on HANA

Sea con la expresión “Collective Note” o con “Central Note” existen notas centrales que recopilan, a modo de índice, las notas SAP sobre un determinado producto, componente o inclusive, necesidad, como puede ser la mejora de rendimiento de una herramienta.


Sea con la expresión “Collective Note” o con “Central Note” existen notas centrales que recopilan, a modo de índice, las notas SAP sobre un determinado producto, componente o inclusive, necesidad, como puede ser la mejora de rendimiento de una herramienta.

En el caso del componente HANABPC esta nota es la 1734706, en este documento se señalan las notas de cada Service Pack (SP) relacionadas al componente que posibilita el uso de SAP Business Planning and Consolidation 10.0 NW (SAP BPC) sobre la plataforma SAP HANA.  En la actualidad este componente se encuentra en  el nivel de actualización SP05 (para HANABPC 800) y SP02 (para HANABPC 801) que corresponden al SP11 de SAP BPC 10.0 NW

Se debe recordar que existen dos versiones de componentes HANABPC, la 800 para BPC 10.0 NW para entornos NW 7.30 y la 801 para BPC 10.0 NW para NW 7.31 y 7.40.  La nota 1734706 debe ser consultada cuando se publique una actualización para ver las correcciones o mejoras que incluyen. Para SAP BPC NW 7.5 existe una versión para HANA (aquí y aquí posts al respecto) pero apenas vemos novedades para este componente.

“Write-back optimizing on HANA” para SAP BPC on HANA (#HANABPC)

La actualización SP11 de SAP Business Planning and Consolidation 10.0 NW (SAP BPC) y la del componente HANABPC 800.SP05/801.SP02, para los usuarios SAP BPC on HANA es la más importante desde que en la actualización SAP BPC 10.0 SP06 (marzo 2012) se introdujera la posibilidad de llevar BPC a la plataforma SAP HANA.


La actualización SP11 de SAP Business Planning and Consolidation 10.0 NW (SAP BPC) y la del componente HANABPC 800.SP05/801.SP02, para los usuarios SAP BPC on HANA es la más importante desde que en la actualización SAP BPC 10.0 SP06 (marzo 2012) se introdujera la posibilidad de llevar BPC a la plataforma SAP HANA.

A diferencias de anteriores actualizaciones, el último service pack de HANABPC no tan sólo incluye correcciones, sino también mejoras como las comentadas en las últimas entradas (aquí, aquí y aquí).

Las nuevas funcionalidades de BPC on HANA como la «Desagregación de datos» o el procesamiento del RUNALLOCATION en la capa SAP HANA, son posibles porque ahora existe una tabla de hechos en HANA Database, similar a la que se tiene en la arquitectura de SAP BPC NW clásico, utilizada en las operaciones de grabación de datos (operación denominada en BPC como Write-Back). 

La nueva característica se denomina “Write-back optimizing on HANA” y permite grabar los datos calculados inmediatamente (en la tabla de hechos en HANA), evitando la intervención de la capa de aplicación y BW, obteniéndose considerables mejoras en el procesamiento de los datos.  SAP ofrece mecanismos de sincronización entre la tabla in-memory en HANA y la correspondiente tabla de hechos en BW.

Referencia: SAP Note 1902743