Utilisation de macros pour exécuter un script SAP - Automate_Studio - Latest

Guide de l’utilisateur d’Automate Studio avec Studio Administrator

Product type
Logiciels
Portfolio
Integrate
Product family
Automate
Product
Automate > Automate Studio
Version
Latest
Language
Français
Product name
Automate Studio
Title
Guide de l’utilisateur d’Automate Studio avec Studio Administrator
Copyright
2024
First publish date
2018
Last updated
2024-09-06
Published on
2024-09-06T16:17:29.858569

Pour exécuter un script en utilisant une macro, créez la macro dans VBA (Visual Basic for Applications).

  1. Ouvrez le fichier de données associé au script à exécuter.
    Remarque : vérifiez que vous utiliser un fichier prenant en charge les macros ou .xlsm.
  2. Appuyez sur Alt+F11.
  3. Dans VBA Editor, sous Objets Microsoft Excel, double-cliquez sur la feuille qui contient les données à exécuter.
  4. Copiez et collez le code en dessous dans la fenêtre.
  5. Remplacez le chemin de fichier de données, le chemin du fichier de script et le nom de la feuille.
  6. Cliquez sur Enregistrer et fermez VBA Editor.
  7. Dans Excel, cliquez sur l'onglet Afficher puis sur Macros.
  8. Cliquez sur la macro à exécuter, puis sur Exécuter.
Remarque : Vérifiez que le module complémentaire Excel n’est pas actif(que vous n’êtes pas connecté à Connect).

Les exécutions de macro asynchrone sont prises en charge.

Macros

Exécuter un script publié

  1. Définissez des objets Addin.

    Dim StudioMacrosAddin, StudioMacros

  2. Obtenez un objet Addin depuis Excel.

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

  3. Obtenez un objet COM depuis un objet Addin.

    Set StudioMacros = StudioMacrosAddin.Object.Macros

  4. Sélectionnez le fichier publié à exécuter et définissez d’autres propriétés d’exécution.

    Dim StudioMacros.PublishedFile = "Change Material-MM02"

  5. Ouvrez le script publié.

    StudioMacros.OpenPublishedScript

  6. Exécutez AddinObject pour exécuter le script.

    StudioMacros.RunScript

Exécuter un script GUI for HTML existant

  1. Définissez des objets Addin.

    Dim StudioMacrosAddin, StudioMacros

  2. Obtenez un objet Addin depuis Excel.

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

  3. Obtenez un objet COM depuis un objet Addin.

    Set StudioMacros = StudioMacrosAddin.Object.Macros

  4. Sélectionnez le script GUI for HTML à exécuter et définissez les autres propriétés d’exécution (voir Propriétés d’un objet du module complémentaire GUI for HTML).

    Ce qui s’applique à l’exécution de la solution localement : Dim strShuttleFile = "C:\Users\Normal_Tx_Macro.txr" Ce qui suit concerne l’exécution de la solution depuis Evolve : StudioMacros.LibraryName = "Transaction" Affecter le nom de la solution pour les solutions soumises depuis Evolve. strShuttleFile = "Manage Product Master Data"

  5. Ouvrez le script à exécuter.

    StudioMacros.OpenScript (strShuttleFile)

  6. Exécutez AddinObject pour exécuter le script.

    StudioMacros.RunScript

Propriétés d’un objet du module complémentaire GUI for HTML

Les paramètres d’exécution ou les options d’exécution avancées définies dans le script ne sont pas respectées pendant l’exécution de la macro. Ils doivent être définis via les différentes propriétés exposées pour l’objet du module complémentaire.

Propriété / Fonction Valeur(s) / Paramètre Description

PublishedFile

Description d'un script publié

Sélectionne le fichier publié à exécuter

OpenPublishedScript

S. O.

Ouvre le script publié

OpenScript()

Chemin du fichier script

Ouvre le script à exécuter

LibraryName S. O. Ouvre la bibliothèque qui inclut la solution

StartRow

Numéro de ligne

Ligne Excel à partir de laquelle l'envoi des données doit commencer

EndRow

Numéro de ligne

Dernière ligne Excel à partir de laquelle les données doivent être envoyées

WriteHeader

S. O.

Écrire les en-têtes pendant l'exécution

LogColumn

Colonne/Cellule

Colonne ou cellule dans laquelle les journaux doivent être écrits

SheetName

Nom de la feuille

Nom de la feuille à utiliser pour l'exécution

RunReason

Chaîne de raison d'exécution

Spécifier la raison de cette exécution

RunSelectedRows

S. O.

True : exécution uniquement des lignes sélectionnées dans Excel

RunFilteredRows

S. O.

True : exécution uniquement des lignes affichées dans Excel

RunType

0 – Exécuter la plage définie

2 – Exécuter les cinq premières lignes

3 – Exécuter uniquement les lignes erronées

4 – Exécuter uniquement les lignes non traitées

7 – Valider la plage définie

8 – Valider les cinq premières lignes

9 – Valider uniquement les lignes erronées

10 – Valider uniquement les lignes non traitées

15 – Exécuter les lignes non traitées et erronées

16 – Valider les lignes non traitées et erronées

Sélectionner le type d'exécution dans les valeurs possibles

 

RunScript

S. O.

Exécuter le script

SyncCall

S. O.

True – Exécution du script en mode synchrone

Exemple de code : exécuter un script SAP GUI publié

 Cet exemple de code sera mis à jour avec le type d’exécution « Exécuter les lignes erronées et les lignes non traitées ».

  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 = "Change Material-MM02_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 

 

Exemple de code : exécuter un script SAP GUI existant

         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 = "Change Material-MM02"       '  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        

Problèmes connus

  1. Lorsque vous utilisez des macros, les compléments Precisely ne doivent pas être chargés (vous ne devez pas être connecté à Evolve/Studio Manager). Les compléments Automate peuvent être activés.
  2. La ligne de début est toujours la ligne 2 si vous ne définissez pas une ligne différente.
  3. Les options RunSelectedRows et RunFilteredRows s'excluent mutuellement. Le script utilisera la dernière définie.
  4. Les fichiers de données doivent utiliser le workflow de vérification des données à exécuter en utilisant les macros en mode Studio Manager.
  5. Enregistrer dans Studio Manager ne fonctionne pas lorsqu’une macro est utilisée pour exécuter le fichier de données en mode Studio Manager.