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

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

Product type
Logiciels
Portfolio
Integrate
Product family
Product
Automate > Automate Studio
Version
Latest
Language
Français
Product name
Automate Studio
Title
Guide de l’utilisateur d’Automate Studio avec Studio Administrator
Topic type
Administration
Installation
Comment faire
Aperçu
First publish date
2018
ft:lastEdition
2024-05-23
ft:lastPublication
2024-05-23T17:24:14.440011

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.

    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 :

Vérifiez que le module complémentaire Excel n’est pas actif (que vous n’êtes pas connecté à Connect ).

Remarque :

L’exécution de macro asynchrone est prise en charge.

Macros Query

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 Query Addin).

    Dim StudioMacros.PublishedFile = "Table_20150113_150602"

  5. Ouvrez le fichier script publié.

    StudioMacros.OpenPublishedScript

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

    StudioMacros.RunScript

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

    Ce qui suit concerne l'exécution du script localement : Dim strShuttleFile = "C:\Table_20140930_143519.qsq" Ce qui suit concerne l'exécution du script à partir de Evolve: StudioMacros.LibraryName= "Query"

    Définissez sur Nom de solution pour un fichier soumis à partir d’Evolve. Pour un fichier local, définissez strShuttleFile sur le chemin de fichier local strShuttleFile = "Table_MARA"

  5. Ouvrez le script à exécuter.

    StudioMacros.OpenScript (strShuttleFile)

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

    StudioMacros.RunScript

Propriétés d'un objet Query Addin

Les paramètres d'exécution ou les options d'exécution avancées définies dans le script ne sont pas respectés pendant l'exécution de la macro. Vous devez les définir en utilisant les propriétés exposées pour l'objet Addin.

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

PublishedFile

Description d'un fichier publié

Sélectionne le fichier publié à exécuter

OpenScript ()

Chemin du fichier script

Sélectionne le script à exécuter

OpenPublishedScript

S. O.

Ouvre le script publié

StartRow

Numéro de ligne

Ligne Excel à partir de laquelle les enregistrements téléchargés doivent être écrits

RecordsToFetch

Nbre d'enregistrements

Nombre d'enregistrements que doit retourner l'exécution de requête

WriteHeader

True/False

Écrire les en-têtes d'association des données téléchargées

ExtractAllRecords

True/False

Remplacer RecordsToFetch et extraire tous les enregistrements

RunReason

Chaîne de raison d'exécution

Spécifier la raison de cette exécution

LogCell

Cellule

Cellule dans laquelle les journaux doivent être écrits

SheetName

Nom de la feuille

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

ConnName

Nom de connexion SAP

Nom de connexion SAP

RunType

Type d'exécution

0 – Exécution pour extraire les enregistrements conformément aux paramètres

1 – Remplacement de RecordsToFetch et téléchargement des 50 premiers enregistrements uniquement

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 Query publié

                   Sub RunPublishedQSQfile() '---------------------------------------------- ' 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 = "Table_20150113_150602"        StudioMacros.StartRow = 2       ' if not set, then records will be fetched as per script settings       StudioMacros.RecordsToFetch = 100        ' True to fetch all records. If set false then StudioMacros.RecordsToFetch will be respected       StudioMacros.ExtractAllRecords = True        ' Set True to write headers while Run       StudioMacros.WriteHeader = True     'StudioMacros.LogCell = "H2"   'StudioMacros.SheetName = "Sheet2"     'StudioMacros.ConnectionName = "w6r-800"       ' Set RunReason to provide reason for run.       StudioMacros.RunReason = "Run Reason"      'Run = 0, RunOnlyFiftyRecords = 1       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 Query existant

                      Sub RunNormalQsqFile()  '---------------------------------------------- ' Macro to use WinshuttleStudioMacros addin with code '---------------------------------------------- ' ' RunNormalQsqFile 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      ' if not set, then records will be fetched as per script settings       StudioMacros.RecordsToFetch = 100        ' True to fetch all records. If set false then StudioMacros.RecordsToFetch will be respected       StudioMacros.ExtractAllRecords = True        ' Set True to write headers while Run       StudioMacros.WriteHeader = True   'StudioMacros.LogCell = "H2"   'StudioMacros.SheetName = "Sheet2"    'StudioMacros.ConnectionName = "w6r-800"       ' Set RunReason to provide reason for run.       StudioMacros.RunReason = "Run Reason"        'Run = 0, RunOnlyFiftyRecords = 1       StudioMacros.RunType = 0    ' Set in case of evolve subitted file   StudioMacros.LibraryName = "Query"    ' Set it to Solution Name in case of evolve submitted file   ' For local File,set strShuttleFile to local file path       strShuttleFile = "Table_MARA"        '  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 Automate ne doivent pas être chargés (vous ne devez pas être connecté à Evolve). Les compléments Automate peuvent être activés.
  2. ExtractAllRecords extrait tous les enregistrements, même si le nombre d'enregistrements est supérieur au nombre maximum d'enregistrements pouvant être téléchargés.
  3. La ligne de début est toujours la ligne 2 si vous ne définissez pas une ligne différente.
  4. Les fichiers de données ne doivent pas utiliser le workflow de vérification des données à exécuter en utilisant les macros en mode Evolve.
  5. Enregistrer dans la bibliothèque ne fonctionne pas lorsqu’une macro est utilisée pour exécuter le fichiers de données en mode Evolve.