Press "Enter" to skip to content

Crear Macros en SAP BPC para automatizar procesos

snatic_k8ot5v 0

Para crear macros, reqerimos el menu oculto de developer que tiene excel, por lo que el primer paso es habilitarlo en el excel, en Files->Options ->Customize Ribbon y seleccionar el checkbox de Developer


Teniendo el menu listo, procedemos a abrir la pantalla Visual Basic


Otro paso importante es activar el diccionario de referencias para que se entiendan los comandos de BPC en Vba, esto se logra en Tools->References y buscar seleccionar el checkbox de FPMXLClient

Ahora si teniendo todo esto podremos ejecutar comandos directamente en VBA que realicen cambios a BPC directamente, aqui exploramos una rutina de ejemplo utilizando los siguientes elementos de EPM:

FPMXLClient.EPMAddInAutomation: Con este comando inicializas una variable que tenga los diferentes metodos que EPM permite.

SaveWorksheetData: Salva datos utilizando como referencia la hoja donde este siendo ejecutado
RefreshActiveSheet: Refresca datos utilizando como referencia la hoja donde este siendo ejecutado
GetActiveConnection: Obtiene la conexion activa, es necesario enviarle la hoja de donde obtendra la conexion
SetContextMember: Cambiar contexto de elementos es requerido pasarle conexion, nombre tecnico de contexto y valor al que se le asignara.

Dim EPM As New FPMXLClient.EPMAddInAutomation 'asigna las propiedades de BPC a una variable

Sub savemulticurrency()
    EPM.SaveWorksheetData 'ejecuta salvar datos en la pestaña actual
    EPM.RefreshActiveSheet 'refresca los datos de la hoja actual
    Sheets("CashFlowStm ConvCap").Select
    CONNE = EPM.GetActiveConnection(ActiveSheet) 'obtener conexion de la hoja activa 
    EPM.SetContextMember CONNE, "RPTCURRENCY", "MXN" 'mueve parametro en RPTCURRENCY a MXN basado en la conexion capturada anteriormente
    EPM.RefreshActiveSheet 'refresca los datos de la hoja actual
    EPM.SaveWorksheetData  'ejecuta salvar datos en la pestaña actual
    EPM.SetContextMember CONNE, "RPTCURRENCY", "USD" 'mueve parametro en RPTCURRENCY a USD basado en la conexion capturada anteriormente
    EPM.RefreshActiveSheet 'refresca los datos de la hoja actual
    EPM.SaveWorksheetData 'ejecuta salvar datos en la pestaña actual
    EPM.SetContextMember CONNE, "RPTCURRENCY", "EUR" 'mueve parametro en RPTCURRENCY a EUR basado en la conexion capturada anteriormente
    EPM.RefreshActiveSheet 'refresca los datos de la hoja actual
    EPM.SaveWorksheetData 'ejecuta salvar datos en la pestaña actual
    MsgBox ("Monedas EUR, USD y MXN generadas exitosamente!")
End Sub

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *