Utilisation de macros pour exécuter un script Transaction - Automate_Studio - 20.3

Aide en ligne d'Automate Studio avec Connect

Product type
Logiciels
Portfolio
Integrate
Product family
Automate
Product
Automate > Automate Studio
Version
20.3
Language
Français
Product name
Automate Studio
Title
Aide en ligne d'Automate Studio avec Connect
Topic type
Administration
Installation
Comment faire
Référence
First publish date
2018

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 script, le nom de feuille et le nom de connexion automatique en dessous par les informations de vos fichiers et votre nom de connexion automatique.
  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 :

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 Transaction

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 (voir Propriétés d'un objet Addin Transaction).

    Dim StudioMacros.PublishedFile = "MM02_MacroTest"

  5. Ouvrez le script publié.

    StudioMacros.OpenPublishedScript

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

    StudioMacros.RunScript

Exécuter un script Transaction 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 Transaction à exécuter et définissez d'autres propriétés d'exécution (voir Propriétés d'un objet Transaction Addin).

    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 = "MM02"

  5. Ouvrez le script à exécuter.

    StudioMacros.OpenScript (strShuttleFile)

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

    StudioMacros.RunScript

Remarque :

Dans le cas de scripts de chaîne avec les paramètres « Tout depuis un script individuel », lorsque l'utilisateur utilise une macro pour exécuter le script sur un serveur SAP de type SAP Trust, la boîte de dialogue de connexion SAP apparaît pour chaque script. Vous pouvez gérer cela en utilisant le paramètre « StudioMacros.UseSameSAPServerForChain = True » dans le code de la macro, ain que la session SAP du premier script soit utilisée pour tous les scripts suivants de la chaîne.

Propriétés d’un objet du module complémentaire Transaction

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

NA

Ouvre le script publié

OpenScript()

Chemin du fichier script

Ouvre le script à exécuter

LibraryName Nom de la bibliothèque 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

NA

É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

Nom de connexion

Nom de connexion SAP

Nom de connexion SAP

Exemple

StudioMacros.ConnectionName = "w6r"

Utilisé dans le cas d'Evolve et de Studio Manager.

RunReason

Chaîne de raison d'exécution

Spécifier la raison de cette exécution

RunSelectedRows

NA

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

RunFilteredRows

NA

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

RunType

0 – Exécuter la plage définie

1 – Exécuter et arrêter en cas d'erreurs

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

5 – Déboguer la plage définie

6 – Déboguer uniquement la première ligne

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

11 – Simuler la plage définie

12 – Simuler les cinq premières lignes

13 – Simuler uniquement les lignes avec des erreurs

14 – Simuler 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

17 – Simuler les lignes non traitées et erronées

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

 

RunScript

NA

Exécuter le script

SyncCall

NA

True – Exécution du script en mode synchrone

Exemple de code : exécuter un script Transaction 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 = "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 = "w6r-800"        ' Set RunReason to provide reason for run.       StudioMacros.RunReason = "Run Reason"         'StudioMacros.RunSelectedRows = True       'StudioMacros.RunFilteredRows = True         ' RunSpecifiedRange = 0,       ' RunAndStopOnErrors = 1,       ' RunFirstFiveRows = 2,       ' RunOnlyErrorRows = 3,       ' RunOnlyUnProcessedRows = 4,       ' DebugSpecifiedRange = 5,       ' DebugFirstRowOnly = 6,       ' ValidateSpecifiedRange = 7,       ' ValidateFirstFiveRows = 8,       ' ValidateOnlyErrorRows = 9,       ' ValidateOnlyUnProcessedRows = 10,       ' SimulateSpecifiedRange = 11,       ' SimulateFirstFiveRows=12,       ' SimulateOnlyErrorRows=13,       ' SimulateOnlyUnprocessedRows=14,   ' RunUnProcessedAndErrorRows=15,       ' ValidateUnProcessedAndErrorRows=16,       ' SimulateUnProcessedAndErrorRows=17        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 Transaction 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 = "w6r-800"    ' Set RunReason to provide reason for run.       StudioMacros.RunReason = "Run Reason"       'StudioMacros.RunSelectedRows = True       'StudioMacros.RunFilteredRows = True         ' RunSpecifiedRange = 0,       ' RunAndStopOnErrors = 1,       ' RunFirstFiveRows = 2,       ' RunOnlyErrorRows = 3,       ' RunOnlyUnProcessedRows = 4,       ' DebugSpecifiedRange = 5,       ' DebugFirstRowOnly = 6,       ' ValidateSpecifiedRange = 7,       ' ValidateFirstFiveRows = 8,       ' ValidateOnlyErrorRows = 9,       ' ValidateOnlyUnProcessedRows = 10,       ' SimulateSpecifiedRange = 11,       ' SimulateFirstFiveRows=12,       ' SimulateOnlyErrorRows=13,       ' SimulateOnlyUnprocessedRows=14,   ' RunUnProcessedAndErrorRows=15,       ' ValidateUnProcessedAndErrorRows=16,       ' SimulateUnProcessedAndErrorRows=17         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 = "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. Les macros créées dans Transaction ou Query v10.x ne sont pas converties automatiquement au format Studio 20.3. Les macros au format Studio 20.3 ne sont pas compatibles avec la version 10.x. Pour pouvoir les exécuter, vous devez les convertir manuellement.
  2. Lorsque vous utilisez des macros, les compléments Winshuttle ne doivent pas être chargés (vous ne devez pas être connecté à Evolve/Studio Manager). Les compléments Winshuttle peuvent être activés.
  3. La ligne de début est toujours la ligne 2 si vous ne définissez pas une ligne différente.
  4. Les options RunSelectedRows et RunFilteredRows s'excluent mutuellement. Le script utilisera la dernière définie.
  5. Les fichiers de données doivent utiliser le workflow de vérification des données à exécuter en utilisant les macros en mode Evolve/Studio Manager.
  6. Enregistrer dans Evolve/Studio Manager ne fonctionne pas lorsqu’une macro est utilisée pour exécuter le fichier de données en mode Evolve/Studio Manager.