IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAP Discussion :

SAP PGI : Lancer plusieurs requêtes simultanées à partir d'un script VBA


Sujet :

SAP

  1. #1
    Membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 69
    Points : 44
    Points
    44
    Par défaut SAP PGI : Lancer plusieurs requêtes simultanées à partir d'un script VBA
    Bonjour,

    j'utilise des script VBA pour lancer des transactions SAP et les exporter / enregistrer au format .xls...

    Je souhaiterai maintenant savoir si il est possible de lancer plusieur requêtes SAP en simultané grâce à un script VBA ? comme on peut le faire manuellement en ouvrant plusieurs fenêtres.

    Voici un exemple de script VBA que j'utilise et qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub Extract_Auto_ZZ80_DP_J7()
    
    
    Application.DisplayAlerts = False
    
    Dim Today As Date
    Today = Date
    
        Dim App, Connection, session As Object
        Set SapGuiAuto = GetObject("SAPGUI")
        Set App = SapGuiAuto.GetScriptingEngine
        Set Connection = App.Children(0)
        Set session = Connection.Children(0)
    
    
    
    session.findById("wnd[0]").maximize
    session.findById("wnd[0]/tbar[0]/okcd").Text = "/Nzz80"
    session.findById("wnd[0]").sendVKey 0
    
    
    
    
    session.findById("wnd[0]/tbar[1]/btn[17]").press
    session.findById("wnd[1]/usr/txtV-LOW").Text = "DP J CRI-ZPS-O"
    session.findById("wnd[1]/usr/txtENAME-LOW").Text = ""
    session.findById("wnd[1]").sendVKey 0
    session.findById("wnd[1]/tbar[0]/btn[8]").press
    session.findById("wnd[0]/usr/tabsTABSTRIP_SUBSCR_AREA/tabpUCOMM1/ssub%_SUBSCREEN_SUBSCR_AREA:ZPPGAR89:0001/ctxtLBDTER-HIGH").Text = Format(Date + 7, "dd.mm.yyyy")
    session.findById("wnd[0]/usr/tabsTABSTRIP_SUBSCR_AREA/tabpUCOMM1/ssub%_SUBSCREEN_SUBSCR_AREA:ZPPGAR89:0001/ctxtLBDTER-HIGH").SetFocus
    session.findById("wnd[0]/usr/tabsTABSTRIP_SUBSCR_AREA/tabpUCOMM1/ssub%_SUBSCREEN_SUBSCR_AREA:ZPPGAR89:0001/ctxtLBDTER-HIGH").caretPosition = 10
    session.findById("wnd[0]").sendVKey 8
    session.findById("wnd[0]/mbar/menu[1]/menu[10]").Select
    session.findById("wnd[0]/mbar/menu[5]/menu[5]/menu[2]/menu[2]").Select
    session.findById("wnd[1]/usr/sub:SAPLSPO5:0101/radSPOPLI-SELFLAG[1,0]").Select
    session.findById("wnd[1]/usr/sub:SAPLSPO5:0101/radSPOPLI-SELFLAG[1,0]").SetFocus
    session.findById("wnd[1]/tbar[0]/btn[0]").press
    
    session.findById("wnd[1]/usr/ctxtRLGRAP-FILENAME").Text = "C:\Users\ng43d34\Desktop\ZZ80\ZZ80 DP J+7" & " " & Format(Date, "ddmmyyyy") & ".xls"
    session.findById("wnd[1]/tbar[0]/btn[0]").press
    session.findById("wnd[1]/tbar[0]/btn[0]").press
    
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Bonjour,

    Je pense qu'il faut créer plusieurs variables Session

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Dim Session1 As Object
        Dim Session2 As Object
    
    ......
    
        Set Session1 = Connection.Sessions(0)
        If Not IsObject(Session1) Then
            Exit Sub
        End If
        Set Session2 = Connection.Sessions(1)
        If Not IsObject(Session2) Then
            Exit Sub
        End If
    En passant, quand tu déclares ceci
    Dim App, Connection, session As Object
    Seul Session est un Object, les deux autres sont des Variant
    Il faut déclarer explicitement le type à chaque variable

Discussions similaires

  1. Lancer plusieurs consoles simultanément
    Par othelm123 dans le forum Général Java
    Réponses: 4
    Dernier message: 29/10/2011, 02h11
  2. Lancer plusieurs programmes SAS à partir d'un seul programme.
    Par marion.bouilly dans le forum Débutez
    Réponses: 3
    Dernier message: 09/05/2011, 16h29
  3. [AC-2007] Lancer plusieurs requêtes en une fois
    Par theBinette dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/11/2009, 15h17
  4. [ODBC] Plusieurs requêtes simultanées
    Par ziko1310 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/08/2008, 09h16
  5. plusieurs requêtes simultanées
    Par hippoX dans le forum ASP.NET
    Réponses: 3
    Dernier message: 24/04/2007, 13h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo