Uso de macros para ejecutar un script de SAP Fiori® - Automate_Studio - Latest

Guía del usuario de Automate Studio con Evolve

Product type
Software
Portfolio
Integrate
Product family
Automate
Product
Automate > Automate Studio
Version
Latest
Language
Español (España)
Product name
Automate Studio
Title
Guía del usuario de Automate Studio con Evolve
Copyright
2024
First publish date
2018
Last updated
2024-09-06
Published on
2024-09-06T16:15:38.715616

Para ejecutar un script con una macro, cree la macro en Visual Basic for Applications (VBA).

  1. Abra el archivo de datos que esté asociado al script que desee ejecutar.
    Nota: Asegúrese de usar una archivo habilitado para macros o archivo .xlsm.
  2. Pulse Alt+F11.
  3. En el editor de VBA, en Objetos de Microsoft Excel, haga doble clic en la hoja que contenga los datos que desee ejecutar.
  4. Copie y pegue el código de abajo en la ventana.
  5. Reemplace la ruta del archivo de datos, la del archivo de script, el nombre de la hoja y el nombre de inicio de sesión automático de abajo con la información de sus archivos y su nombre de inicio de sesión automático.
  6. Haga clic en Guardar y, a continuación, cierre el editor de VBA.
  7. En Excel, haga clic en la pestaña Vista y, a continuación, en Macros.
  8. Haga clic en la macro que desee ejecutar y, a continuación, en Ejecutar.
Nota: Asegúrese de que el complemento de Excel no esté activo (que no ha iniciado sesión en Evolve).

Se admiten las ejecuciones de macros asíncronas.

Macros

Ejecutar un script publicado

  1. Defina los objetos del complemento.

    Dim StudioMacrosAddin, StudioMacros

  2. Consiga el objeto del complemento de Excel.

    Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")

  3. Consiga el objeto COM del objeto del complemento.

    Set StudioMacros = StudioMacrosAddin.Object.Macros

  4. Seleccione el archivo publicado que desee ejecutar y defina otras propiedades de ejecución.

    Dim StudioMacros.PublishedFile = "Manage Product Master Data_MacroTest"

  5. Abra el script publicado.

    StudioMacros.OpenPublishedScript

  6. Ejecute AddinObject para ejecutar el script.

    StudioMacros.RunScript

Ejecución de un script de SAP Fiori® existente

  1. Defina los objetos del complemento.

    Dim StudioMacrosAddin, StudioMacros

  2. Consiga el objeto del complemento de Excel.

    Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")

  3. Consiga el objeto COM del objeto del complemento.

    Set StudioMacros = StudioMacrosAddin.Object.Macros

  4. Seleccione el script de SAP Fiori® que desee ejecutar y defina otras propiedades de ejecución (consulte Propiedades para un objeto de complemento de Fiori).

    Para ejecutar la solución de forma local: Dim strShuttleFile = "C:\Users\Normal_Tx_Macro.txr" Para ejecutar la solución desde Evolve: StudioMacros.LibraryName = "Transaction" Establézcalo en Nombre de solución para las soluciones enviadas desde Evolve. strShuttleFile = "Manage Product Master Data"

  5. Abra el script que va a ejecutar.

    StudioMacros.OpenScript (strShuttleFile)

  6. Ejecute AddinObject para ejecutar el script.

    StudioMacros.RunScript

Nota: En el caso de scripts en cadena con la configuración «Todo desde scripts individuales», cuando el usuario utiliza una macro para ejecutar el script en el servidor SAP, aparece el cuadro de diálogo de inicio de sesión de SAP para cada script. Esto se puede manejar usando el parámetro “StudioMacros.UseSameSAPServerForChain = True” en el código de macro, para que la sesión de SAP del primer script se use para todos los scripts en cadena posteriores.

Propiedades para un objeto de complemento de SAP Fiori®

La configuración de la ejecución o las opciones avanzadas de ejecución configuradas en el script no se respetan durante la ejecución de la macro. Se deben configurar con las diversas propiedades que se han expuesto para el objeto del complemento.

Propiedad/Función Valor(es)/Parámetro Descripción

PublishedFile

Descripción del script publicado

Selecciona el archivo publicado que se va a ejecutar

OpenPublishedScript

No disponible

Abre el script publicado

OpenScript()

Ruta del archivo de script

Abre el script para ejecutarlo

LibraryName No disponible Abre la biblioteca que incluye la solución

StartRow

Número de fila

Fila de Excel a partir de la que debe empezar la carga de datos

EndRow

Número de fila

Última fila de Excel desde la que se cargarán los datos

WriteHeader

No disponible

Escribe encabezados durante la ejecución

LogColumn

Columna/Celda

Columna o celda en la que se deben escribir los registros de la ejecución

SheetName

Nombre de la hoja

Nombre de la hoja que se usará para la ejecución

Nombre de conexión

AlfName

Nombre de conexión de SAP

Ejemplo

StudioMacros.ConnectionName = "S23"

Se utiliza en el caso de Evolve y Studio Manager.

RunReason

Cadena del motivo de la ejecución

Especifica un motivo para esta ejecución

RunSelectedRows

No disponible

Verdadero: Ejecuta solo las filas seleccionadas en Excel

RunFilteredRows

No disponible

Verdadero: Ejecuta solo las filas mostradas en Excel

RunType

0 – Ejecutar rango especificado

2 – Ejecutar las cinco primeras filas

3 – Ejecutar solo filas de error

4 – Ejecutar solo filas no procesadas

7 – Validar rango especificado

8 – Validar las cinco primeras filas

9 – Validar solo filas de error

10 – Validar solo filas no procesadas

15 – Ejecutar filas no procesadas y erróneas

16 – Validar filas no procesadas y erróneas

Selecciona el tipo de ejecución de entre los posibles valores

 

RunScript

No disponible

Ejecutar el script

SyncCall

No disponible

Verdadero: Ejecutar el script en modo síncrono

Código de muestra: Ejecutar un script de SAP Fiori® publicado

 este código de ejemplo se actualizará con el tipo de ejecución “Ejecutar filas no procesadas y erróneas”.

  Sub RunPublishedTXRfile() '---------------------------------------------- ' Macro to use WinshuttleStudioMacros addin with code '---------------------------------------------- ' ' RunPublishedfile Macro ' ' Dim StudioMacrosAddin, StudioMacros      On Error GoTo ErrHandler       ' GET ADDIN OBJECT FROM EXCEL       Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")        If StudioMacrosAddin Is Nothing Then          MsgBox "Unable to initialize object of WinshuttleStudioMacros.AddinModule addin"          Exit Sub       End If        ' Get com object from addin object       Set StudioMacros = StudioMacrosAddin.Object.Macros       If StudioMacros Is Nothing Then          MsgBox "Unable to initialize com object of Macros"          Exit Sub       End If        ' Select the published file to Run       StudioMacros.PublishedFile = "Manage Product Master Data_MacroTest"        StudioMacros.StartRow = 2       StudioMacros.EndRow = 6        ' Set True to write headers while Run       StudioMacros.WriteHeader = True    'StudioMacros.LogColumn = "H"   'StudioMacros.SheetName = "Sheet2"    'StudioMacros.ConnectionName = "S23"        ' Set RunReason to provide reason for run.       StudioMacros.RunReason = "Run Reason"         'StudioMacros.RunSelectedRows = True       'StudioMacros.RunFilteredRows = True         ' RunSpecifiedRange = 0,       ' RunFirstFiveRows = 2,       ' RunOnlyErrorRows = 3,       ' RunOnlyUnProcessedRows = 4,       ' ValidateSpecifiedRange = 7,       ' ValidateFirstFiveRows = 8,       ' ValidateOnlyErrorRows = 9,       ' ValidateOnlyUnProcessedRows = 10,       ' RunUnProcessedAndErrorRows=15,       ' ValidateUnProcessedAndErrorRows=16,              StudioMacros.RunType = 0        ' Call the Run Function to open published script       StudioMacros.OpenPublishedScript        ' Call the Run Function to run script       StudioMacros.RunScript       Exit Sub   ErrHandler:      MsgBox Err.Description   End Sub 

 

Código de muestra: Ejecutar un script de SAP Fiori® existente

         Sub RunNormalTXRfile()  '---------------------------------------------- ' Macro to use WinshuttleStudioMacros addin with code '---------------------------------------------- ' ' RunPublishedfile Macro  '   Dim StudioMacrosAddin, StudioMacros      On Error GoTo ErrHandler       ' GET ADDIN OBJECT FROM EXCEL       Set StudioMacrosAddin = Application.COMAddIns.Item("WinshuttleStudioMacros.AddinModule")         If StudioMacrosAddin Is Nothing Then          MsgBox "Unable to initialize object of WinshuttleStudioMacros.AddinModule addin"          Exit Sub       End If         ' Get com object from addin object       Set StudioMacros = StudioMacrosAddin.Object.Macros       If StudioMacros Is Nothing Then          MsgBox "Unable to initialize com object of Macros"          Exit Sub       End If                StudioMacros.StartRow = 2       StudioMacros.EndRow = 0        ' Set True to write headers while Run       StudioMacros.WriteHeader = True    'StudioMacros.LogColumn = "H"   'StudioMacros.SheetName = "Sheet2"    'StudioMacros.ConnectionName = "S23"    ' Set RunReason to provide reason for run.       StudioMacros.RunReason = "Run Reason"       'StudioMacros.RunSelectedRows = True       'StudioMacros.RunFilteredRows = True         ' RunSpecifiedRange = 0,       ' RunFirstFiveRows = 2,       ' RunOnlyErrorRows = 3,       ' RunOnlyUnProcessedRows = 4,       ' ValidateSpecifiedRange = 7,       ' ValidateFirstFiveRows = 8,       ' ValidateOnlyErrorRows = 9,       ' ValidateOnlyUnProcessedRows = 10,       ' RunUnProcessedAndErrorRows=15,       ' ValidateUnProcessedAndErrorRows=16,           StudioMacros.RunType = 0    ' Set in case of evolve subitted file   StudioMacros.LibraryName = "Transaction"   ' Set it to Solution Name in case of evolve submitted file   ' For local File,set strShuttleFile to local file path       strShuttleFile = "Manage Product Master Data"       '  Call the Run Function to open specified script       StudioMacros.OpenScript (strShuttleFile)       ' Call the Run Function to run script       StudioMacros.RunScript       Exit Sub   ErrHandler:      MsgBox Err.Description   End Sub        

Problemas conocidos

  1. Mientras use macros, no debería tener cargados los complementos de Automate (no debería tener iniciada la sesión en Evolve/Studio Manager). Los complementos de Automate se pueden habilitar.
  2. La fila de inicio siempre es la 2, a no ser que se indique otra fila.
  3. RunSelectedRows y RunFilteredRows son opciones mutuamente excluyentes. El script usará la última que se haya configurado.
  4. Los archivos de datos no deben usar el proceso de workflow de Revisión de datos para poder ejecutarse con macros en el modo Studio Manager.
  5. La opción Guardar en Studio Manager no funcionará cuando se use una macro para ejecutar el archivo de datos en el modo Studio Manager.