Archivo mensual: julio 2013

VBA for SAP EPM Add-in: Mejor una megaformula antes que varias fórmulas intermedias (#VBAforEPMAddin)


Cuando diseñemos formularios con el EPM Add-in, tal vez algún dato requerirá un tratamiento adicional y para lograr el resultado deseado, quizás se requiera más de una operación intermedia.  Por ejemplo, recuperamos un ID y se desea uniformizar la longitud de cada porción que lo conforma y se opta por la siguiente solución:

En este ejemplo utilizamos 5 fórmulas intermedias

Las fórmulas utilizadas resultan legibles, pero a costa de mayor tiempo de recálculo e incremento considerable del tamaño del libro, lo que deriva en un incremento importante del tiempo de apertura

La definición anterior resulta clara para la gran mayoría, pero dependiendo de la cantidad de filas que se recuperen y/o si se almacena con todos los datos, la apertura del libro y su recalculo, demandará más tiempo que si se opta por una solución basada en evitar las fórmulas intermedias y definir una sola fórmula que realice todos los cálculos, la cual pasaría a denominarse, según la terminología MS Excel, megafórmula.

Las 5 fórmulas intermedias serían sustituidas por una megaformula, obtenemos menor tiempo de actualización y un libro de menor tamañoLa sugerencia final es evitar la definición de fórmulas o local members que no tendrán uso real para el usuario, que a menudo se definen para cálculos internos o intermedios y terminan ocultándose. Dependiendo del vólumen de datos que se esté procesando, valorar si mayor eficiencia se logrará con una sola fórmula, aunque su diseño y comprensión resulte un poco más complejo.

VBA for SAP EPM Add-in: Declaración de variables indispensable (#VBAforEPMAddin)


En VBA, como en muchos otros lenguajes de programación, tenemos la “libertad” de hacer muchas cosas pero algunas de ellas resultan poco recomendables. Uno de los casos más frecuentes, relacionados a este tema, es el uso de variables.

En VBA tenemos la opción por defecto de utilizar variables sin declararlas.  Los programas declarando todas las variables que se utilizarán, señalando el tipo de datos adecuado es muy probable que obtenga el mismo resultado si codificamos sin declarar las variables a emplear. Entre uno y otro estilo redundará en el tiempo de procesamiento. 

Por ejemplo, con la siguiente rutina, dependiendo de las características del ordenador, su ejecución con las variables correctamente tipificadas tardó 15 segundos y retirando la declaración de variables (comentando estas líneas) esta rutina tardo 55 segundos (pruebas realizadas en una máquina virtual con 1 CPU (2.4GHz) y 2 GB de memoria).

Rutina para comprobar la eficiencia que se logra en VBA al declarar adecuadamente todas las variables que se utilizarán(aquí código)

Una buena práctica es utilizar Option Explicit a nivel de módulo para no olvidar la declaración de variables en ninguna parte de cada proyecto.  Por defecto, cualquier variable no declarada, será de tipo Variant, la cual ocupa más espacio en memoria e internamente para VBA requiere mayor tratamiento.

Eficiencia de formularios EPM Add-in = Últimas versiones de componentes SAP BPC + VBA (#VBAforEPMAddin)


Nuestro nuevo interés por VBA (Visual  Basic for Applications o Macros para MS Office) es porque tiene un uso necesario y casi inevitable al diseñar formularios e informes en SAP EPM Add-in, el complemento para MS Excel, MS Word y MS PowerPoint que actúa como interfaz cliente para la gran mayoría de productos del portfolio SAP EPM (Enterprise Performance Management), entre los que destaca SAP BPC (Business Planning and Consolidation).

Nos parece, que después de Java, Visual Basic y VBA son los lenguajes de programación que más información obtendremos en Internet. Quizás por este motivo encontremos que con bastante facilidad muchas personas incursionan en la automatización de rutinas en este lenguaje. No se necesita ni una interfaz en particular o documentación especializada, todo está relativamente accesible.

Pero dependiendo de la complejidad de lo que se esté implementando, el resultado puede ser no muy satisfactorio para el usuario, especialmente porque los tiempos de procesamiento son relativamente elevados.

Con SAP EPM Add-in la eficiencia de nuestros desarrollos para SAP BPC dependerá en parte por el tiempo de acceso a los datos, el cual está en manos de este componente y del servidor de SAP BPC. Pero por otra parte, si utilizamos VBA, la calidad de la codificación también influirá en la velocidad que finalmente percibirá el usuario al utilizar los formularios que diseñemos.

Para la mejora de la velocidad en el acceso de datos, SAP va presentando mejoras como la que comentábamos en una entrada anterior, por lo que resulta siempre recomendable utilizar las últimas actualizaciones del servidor y cliente de SAP BPC.  Para el caso de mejorar la eficiencia de VBA hay una serie de buenas prácticas que habríamos aplicado en el desarrollo de cualquier otra aplicación Visual Basic que son totalmente recomendables también con SAP EPM Add-in, algunas de ellas iremos revisando en próximas entradas.

Preguntas clave para preparar una presentación


Conocer gran parte de los aspectos que abordan las siguientes preguntas nos ayudarán a preparar adecuadamente una presentación o ponencia:

Perfil de la audiencia

  • ¿Cuál es la edad media?
  • ¿Cuál es el nivel de estudios?
  • ¿A qué profesiones pertenecen?
  • ¿Qué número de asistentes se espera?
  • ¿Cuál es su conocimiento previo sobre el tema?
  • ¿Cuáles son sus expectativas con respecto a la presentación?
  • ¿Cómo puedo solucionarles su problema?
  • ¿Qué tienen en común?

 Tema

  • ¿Qué aspectos se desea tratar y con que nivel de profundidad?
  • ¿Existe algún mensaje clave que se desea trasladar?
  • ¿Cuál es su postura con respecto al tema?

Duración

  • ¿De cuánto tiempo se dispone en total, incluyendo sección para preguntas y respuestas?
  • ¿Habrá más ponentes?
  • ¿A qué hora tendrá lugar?

 Lugar

  • ¿Cuáles son las dimensiones del escenario y de la sala?
  • ¿Cuál es la geometría de la sala?
  • ¿Cómo estarán dispuestos los asientos en relación al escenario?

Tecnología

  • ¿Cuál es el tamaño de la pantalla y la distancia de la persona más alejada?
  • ¿Cuál es la resolución y relación de aspecto del proyector?
  • ¿Existe monitor de retorno? En caso negativo, ¿puede usarse el propio portátil?
  • ¿Cómo es el sistema de audio?
  • ¿De qué tipo de micrófono se dispone?
  • ¿Existe posibilidad de conexión a Internet para el ponente? En caso negativo, ¿hay cobertura para móviles o 3G?
  • ¿Existe WiFi para la audiencia?

Referencia: EAN 9788498752205

¿app.FT.com, un ejemplo a seguir para una estrategia móvil?


En estos tiempos pocos pagarían por tener un politono en su móvil o después de conocer WhatsApp, muy pocos seguirían gastando por enviar un mensaje de texto.  De un modo u otro, somos víctimas de la oportunidad o novedad que muy bien aprovechan unos pocos. Si pensamos en el negocio de las App Stores que han montado Apple y Google, seguro que en el futuro lo encontraremos tan absurdo, como los ejemplos anteriores, el tener que pagarles a estos “gigantes” el 30% de los exiguos ingresos que podríamos generar por la venta de nuestras aplicaciones o suscripciones a través de sus “tiendas”.

Pagina inicial de app.FT.com

El optar por una App Store como canal de venta, además de estar de acuerdo con la política de reparto de ingresos, también implica cumplir una serie de normas en cuanto al contenido y forma que deben presentar nuestras aplicaciones, ¿alguien aceptaría estas condiciones en el mundo de Internet?  Financial Times no lo aceptó, es por ello que valiéndose, principalmente, de tecnología HTML5, desarrolló una aplicación Web, la cual se puede descargar en los dispositivos móviles sin tener que pasar por ninguna tienda de aplicaciones que ofrece toda la funcionalidad necesaria para ofrecer sus contenidos con total libertad y sin tener que compartir sus ingresos por suscripciones.

Instalando app.FT.com en la pantalla inicio del dispositivo

Seguir el ejemplo de Financial Times puede resultar difícil, porque, al menos por ahora, las App Store se han posicionado en las mentes de los consumidores como un canal seguro o fiable de distribución, que tratándose de esta empresa, gracias a su reputación y trayectoria lo pudo superar. Consideramos que un diseño de calidad y brindando la información de contacto necesaria en la aplicación, puede ser una apuesta que podría tenerse presente e inclusive podría enfocarse una apuesta en paralelo.

Aplicaciones Nativas, Aplicaciones Web y Aplicaciones Híbridas


A menudo mencionamos estos términos, especialmente hacemos referencia al de “aplicaciones nativas” en el relativamente nuevo mundo de aplicaciones para dispositivos móviles. Una breve definición sobre los posibles tipos de aplicaciones que se pueden desarrollar en los denominados dispositivos móviles inteligentes encontramos en el documento de referencia:

Aplicaciones nativas. Las aplicaciones nativas residen en el dispositivo y se instalan a través de una tienda de aplicaciones (Google Play o Apple App Store).  Son programas desarrollados específicamente para una plataforma y sus interfaces siguen los estándares y normas de dicha plataforma. Los usuarios acceden a estas aplicaciones a través de los iconos que se encuentran en la pantalla de inicio del dispositivo.

La aplicación del Financial Times (app.ft.com) es el mejor ejemplo de aplicación web, con funcionalidades tan igual o supeiores que otras aplicaciones nativas

Aplicaciones Web. Se ejecutan desde un navegador.  La primera vez que se accede a estas aplicaciones se utiliza una página Web: el usuario navega a una URL y tiene opción de “instalar” dicha página en la pantalla inicio del dispositivo, creando un acceso directo.  Las aplicaciones Web pueden llegar el mismo aspecto que las aplicaciones nativas, difieren en la capacidad que tienen las aplicaciones nativas para acceder a las características propias del dispositivo, tales como el acceso a la cámara, teléfono o GPS.

JC Penney es una Aplicación hibrida, nos ofrece la misma aplicación Web embebida en un navegador para iPhone

Aplicaciones híbridas. Se trata de aplicaciones nativas que utilizan el navegador.  Utilizan el mismo procedimiento de instalación que las aplicaciones nativas (a través de una tienda de aplicaciones), pero gran parte de estas aplicaciones de diseña utilizando páginas web.  Se utilizan este tipo de aplicaciones como contenedores de aplicaciones web existentes, es una manera económica y rápida de lograr presencia en las tiendas de aplicaciones.

Referencia: ISBN 978-84-415-3338-7 y recomendable el siguiente enlace: Aplicaciones web vs. aplicaciones nativas vs. aplicaciones híbridas

En BPC, no te quedes con los parámetros por defecto


La configuración por defecto de SAP BPC NW 10.0 (SAP Business Planning and Consolidation) apenas tiene cuatro parámetros de escaso impacto real en el funcionamiento del sistema.  Si se elabora un prototipo, o sólo se tiene algún modelo con algunos formularios de entrada de datos y otros informes, quizás el sistema no reclame más parametrización de la que nos deja la instalación.

En el transcurso de la vida de esta herramienta, útil para automatizar los procesos financieros/contables (tales como la planificación, presupuesto y consolidación), ha ido incorporando funcionalidades y características, que en muchos casos, para que sean activadas será necesario que se agregue o ajuste un parámetro a nivel global, a nivel de cada Environment (antes AppSet) o a nivel de cada combinación Environment y Modelo.

Por ejemplo, por defecto, la carga de datos transaccionales con valores cero no se cargan en BPC NW, agregando el parámetro DW_WRITE_ZERO_DATA con el valor igual a 1, a nivel de Environment,  todos los datos provenientes de infocubos BW, utilizando los procesos estándar de BPC, serán tomados en cuenta en los procesos de carga (Ref.: SAP Note 1874809).

Además de tener presente los parámetros propios de SAP BPC, en muchos casos también se deberá ajustar los parámetros de la plataforma sobre la que se tiene desplegada esta herramienta, ya sea SAP NetWeaver o Microsoft Server.

Algunos parámetros deberán ser revisados con regular periodicidad, para que sigan correspondiendo a las características propias a cada instalación, cuestiones tales como las variaciones en el volumen de datos, pueden derivar en modificar los valores asignados a ciertos parámetros.

Mejoras en el rendimiento de los informes SAP BPC NW/EPM Add-in


Si nuestro modelo SAP BPC (SAP Business Planning and Consolidation) cuenta con un volumen de datos maestros importante, además de complejas jerarquías, es probable que nuestros informes, diseñados con el componente cliente SAP EPM  Add-in 10.0, tengan un pobre rendimiento, especialmente en la utilización de filtros.

La actualización SP11 de SAP BPC 10.0 NW introduce un nuevo tratamiento de las sentencias MDX, lenguaje con el que finalmente se accede a los datos solicitados a través de los informes diseñados  con EPM Add-in.  La activación de esta funcionalidad requiere el seguimiento de varios pasos indicados en las notas 1858256 y 1858257.  Así mismo, es necesario contar la actualización SP14 Patch 2 o superior del componente cliente SAP EPM Add-in 10.0.

SAP BPC 10.0 SP11 para septiembre 2013


Para el 9 de septiembre de 2013 esta prevista la publicación de la siguiente actualización de SAP Business Planning and Consolidation 10.00 (SAP BPC) tanto para la edición para plataformas Microsoft como para SAP NetWeaver

Por las notas previas que se están publicando, relacionadas a la actualización SP11 para SAP BPC 10.0 NW, presumimos que será una actualización importante, destacamos las siguientes:

  • 1884353 – Enhance parallel framework to support customization
  • 1868007 – Add “clear all members” option for loading from InfoObject
  • 1851508 – Improve the performance of Data Manager convert process
  • 1858256 – Support member set formula in MDX query
  • 1863105 – SQE debugging tool

Adelántate a las actualizaciones aplicando notas, también en SAP BPC NW


Puede ser que por algún motivo no sea posible pasar a un nivel de actualización superior de un producto SAP o simplemente tienes una necesidad puntual que es cubierta con una nota y que es incluida en la actualización y no ves la necesidad de  invertir esfuerzos o correr mayores riesgos, que siempre existen, al aplicar una actualización.

En SAP Business Planning and Consolidation para SAP NetWeaver (SAP BPC NW), al igual que otros productos SAP, puedes instalar actualizaciones parciales a través de la aplicación de notas.  Identifica las palabras claves que mejor describen el problema o necesidad, búscala en la página de SAP Support, puede ser que encuentres notas con la solución y con la posibilidad de aplicarlas. 

Por ejemplo, en SAP BPC 10.0 NW, la grabación de comentarios, desde las actualizaciones iniciales hasta el SP08, han tenido problemas de rendimiento, esta funcionalidad se mejora con la actualización SP09, si este es un problema puntual que adolece tu instalación, puedes aplicar la nota 1751550 para solucionarlo y quizás esperar para más adelante la aplicación de una actualización que incluya más correcciones y novedades que justifiquen el esfuerzo.