Implementación de enlaces VBA

Objective

After completing this lesson, you will be able to comprender los requisitos previos para la implementación de enlaces VBA.

Propósito de los ganchos

Los enlaces VBA permiten ampliar una determinada funcionalidad en SAP Integrated Business Planning, add-in para Microsoft Excel con el código personalizado Visual Basic for Applications (VBA).

Existen dos grupos principales de enlaces: enlaces para vistas de planificación y enlaces para libros de trabajo de datos maestros.

Enlaces VBA para vista de planificación

Es posible ampliar los libros de trabajo de la vista de planificación con implementaciones de VBA personalizadas para fines de verificación especiales. Están disponibles los siguientes enlaces:

  • IBPBEFORESEND

  • IBPAFTERREFRESH

El enlace IBPBeforeSend se llama justo antes de que SAP IBP, add-in para Microsoft Excel, envíe una solicitud de actualización al back end desde una vista de planificación (después de la validación estándar de SAP IBP). En este enlace puede implementar alguna validación adicional en los datos de la vista de planificación. El proceso de validación se puede detener si es necesario.

El enlace IBPAfterRefresh se llama después de que el usuario seleccione el botón Actualizar en el grupo de cintas Entrada de datos. Por ejemplo, puede proporcionar un mensaje que informe de que se ha procesado la actualización.

Enlaces VBA para libros de trabajo de datos maestros

Es posible ampliar los libros de trabajo de datos maestros con implementaciones de VBA personalizadas. Los enlaces VBA se pueden utilizar tanto para datos maestros como para objetos de planificación con datos de ratio. Están disponibles los siguientes enlaces:

  • IBPMDBEFOREUPDATE

  • IBPMDAFTERREFRESH

El enlace IBPMDAfterRefresh se llama cuando se crea o actualiza la hoja de trabajo de datos maestros. Con este enlace puede manipular la disposición y la apariencia de las hojas de trabajo de datos maestros, como reordenar, colorear, ocultar columnas, etc.

El enlace IBPMDBeforeUpdate se llama antes de que las modificaciones en la hoja de trabajo de datos maestros se envíen al back end. Se puede utilizar, por ejemplo, para validar que se han seguido las convenciones para fijar nombres antes de guardar los datos. Esto puede ser muy útil cuando hay una cantidad significativa de atributos definidos por el usuario en un tipo de datos maestros y varios miembros de la comunidad de usuarios están actualizando estos campos como parte de su rutina.

Requisitos previos para la implementación de enlaces VBA

Los enlaces VBA deben activarse primero para que se puedan utilizar en un código personalizado VBA.

Utilice los siguientes parámetros de configuración global en el grupo de parámetros PLAN_VIEW para habilitar sus propios scripts de Visual Basic for Applications (VBA):

  • ACTIVATE_VBA_HOOKS
  • ACTIVATE_MD_VBA_HOOKS

    El valor predeterminado es NONE. Los valores OBLIGATORIO (si no hay ninguna implementación disponible, el código de SAP IBP se detiene) y OPCIONAL (si no hay ninguna implementación del enlace VBA disponible, el código de SAP Integrated Business Planning se sigue ejecutando) son posibles para este parámetro.

¿Dónde puede actualizar el código?

Específicamente para enlaces VBA para libros de trabajo de datos maestros, el código debe formar parte de un add-in XLAM. Cuando se guarda un libro de trabajo de datos maestros como favorito, SAP IBP, add-in para Microsoft Excel, solo guarda la configuración de las hojas de trabajo y genera el libro de trabajo sobre la marcha cuando se abre a continuación. El libro binario de Microsoft Excel no se guarda con los favoritos de datos maestros, lo que significa que las hojas adicionales y el código VBA no se conservan.

SAP_IBP_VBA_Hook.xlam se puede descargar desde SAP MARKETPLACE, de forma similar al archivo SAP IBP, add-in para Microsoft Excel o Chart.xlam. A continuación, el archivo debe activarse como un add-in para Excel.

Consideraciones de rendimiento

El uso de ganchos VBA puede tener un efecto perjudicial en el rendimiento.

Análisis

Los recursos de máquina locales, la cantidad de datos que se procesan y la implementación del código VBA pueden afectar al rendimiento general de las máquinas del cliente. Puede activar un seguimiento de rendimiento en equipos cliente para analizar los tiempos de ejecución de los enlaces VBA. Si el tiempo de ejecución es más largo, considere mejorar la implementación de las partes que no funcionan bien y también reducir la cantidad de datos que se procesarán.

En uno de los capítulos anteriores, analizamos la generación de logs y traces.

Las palabras clave del archivo trace PerfTrace_nnnn.gl que están asociadas con enlaces VBA son las siguientes:

Code Snippet
12345678910
IBPBeforeSend Method [S&OP: IBPVBAHook (SAVE)] Method [S&OP: IBPVBAHook (CREATE_SIMULATION)] Method [S&OP: IBPVBAHook (SIMULATE)] IBPAfterRefresh Method [S&OP: IBPVBAHook (REFRESH)] IBPMDAfterRefresh Method [S&OP: IBPVBAHook (MASTERDATA_AFTER_REFRESH)] IBPMDBeforeUpdate Method [S&OP: IBPVBAHook (MASTERDATA_BEFORE_SAVE)]