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 :

Comment commander SAP avec VBA


Sujet :

SAP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Points : 71
    Points
    71
    Par défaut Comment commander SAP avec VBA
    Bonjour,

    Comment faire avec VBA pour faire démarrer automatiquement des transactions Sap exemple :
    lancer manuellement trop lourd à chaque fois. Les transactions seront seront lacées après avoir appuyer sur un bouton d excel puis les transactions se lancent, afin de faire des export SAP vers excel ?

    merci les pros

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    574
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 574
    Points : 764
    Points
    764
    Par défaut
    Bonjour,

    Comme c'est assez compliqué à faire, et que la solution dépend de exactement ce que tu veux faire, il y a des logiciels payants (w..sh..tl.. par expl). Sinon c'est long à expliquer (déjà, il faut qu'on sache exactement ton cas). Si c'est un logiciel SAP où tu te connectes par le logiciel SAP GUI pour Windows alors tu peux programmer son RFC intégré depuis VBA, pour te logger (cherche SAP.Logoncontrol OU saplogonctrl sur internet) et appeler des "BAPI" (cherche dans la doc SAP pour voir s'il y a ce que tu cherches) ou modules fonction RFC cachés (s'il y en a, et il faut arriver à les trouver). Une solution est d'accéder directement aux tables de la base de donnée (soit direct en passant ou pas par le SAP GUI, par exemple module fonction RFC RFC_READ_TABLE mais il a des limites très contraignantes), et là encore il faut trouver les tables et comprendre le modèle de données. Sinon, il y a aussi "SAP GUI Scripting" (cherche sur internet) qui permet de simuler les saisies de l'utilisateur sur son "SAP GUI", et d'analyser les données affichées.

    Bref, il faut bien peser le "lancer manuellement trop lourd à chaque fois" versus "trop compliqué à faire automatiquement" (et souvent c'est le 2ème qui fait mal).

    sandra

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Points : 71
    Points
    71
    Par défaut
    Comme c'est assez compliqué à faire, et que la solution dépend de exactement ce que tu veux faire : je souhaite faire un simple export automatisé.

    oui c'est un logiciel SAP qui se connecte par le logiciel SAP GUI logon.

    Pour Windows exactement comment faire pour programmer son RFC intégré depuis VBA ? auriez vous un exemple simple svp ?

    Pour se logger et exporter automatiquement svp ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    574
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 574
    Points : 764
    Points
    764
    Par défaut
    Dans SAP, il n'y a pas de "simple export". Je voulais dire qu'il faut que tu nous dises ce que tu veux exporter comme données: c'est-à-dire quelle transaction, quel enchaînement d'écrans et de boutons pour arriver aux données à exporter, et quelles données en particulier? Perso, je ne pourrai sûrement pas te dire mais d'autres personnes le pourraient. Pour la connexion, je t'expliquais ce que tu devais chercher sur internet (cherche SAP.Logoncontrol OU saplogonctrl sur internet).
    Sandra

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Points : 71
    Points
    71
    Par défaut
    Bonjour Sandra mes réponses aux questions ci-dessous :

    Dans SAP, il n'y a pas de "simple export". Je voulais dire qu'il faut que tu nous dises ce que tu veux exporter comme données: c'est-à-dire quelle transaction,
    --> Transaction liée au reporting exemple : RMPT0015 et mettre exerice 2013 puis puis lancer la recherche en faisant "F8" ensuite arrive les data sous forme de reporting puis exporter en fichier excel ou csv dans un repétoire dans c:.

    Pour la connexion, je t'expliquais ce que tu devais chercher sur internet (cherche SAP.Logoncontrol OU saplogonctrl sur internet).

    --> ne sait pas faire la connection depuis vba.

    Résumé de mon projet : cliquer sur mon appli excel puis connection à SAP logon, puis la transaction cité plus haut se déclanche jusqu'a recuprer le fichier dans mon repoetroire c:

    merci les pros de votre aide

  6. #6
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    313
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 313
    Points : 375
    Points
    375
    Par défaut
    Bonjour debutant10

    sur quel système SAP travailles tu (je ne vois pas ce qu'est RMPT0015)?

    on ne peut pas lancer a distance un programme ou une transaction et récupérer le résultat
    on doit passer par des bapis (des fonctions de type Remote Function Call quelles soient standard SAP ou a coder)
    il faut nous dire ce que tu veux récupérer fonctionnellement

    de plus sur internet tu trouveras comment faire la connexion VBA avec SAP
    un peu de recherche google ne fait pas de mal

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    574
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 574
    Points : 764
    Points
    764
    Par défaut
    connexion depuis VBA -> voir par exemple: http://scn.sap.com/thread/3215701

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Points : 71
    Points
    71
    Par défaut
    Bonjour,

    Donc je suppose qu'il faut se connecter automatiquement avant de pouvoir interroger SAP via VBA pour qu'il me donne mon fichier xls. suite à requête dans mon cas ?

    voici mes réponses :
    on ne peut pas lancer a distance un programme ou une transaction et récupérer le résultat
    on doit passer par des bapis (des fonctions de type Remote Function Call quelles soient standard SAP ou a coder) --> comment faire par des bapis auriez vous un exemple pour que je puisse tester svp ?

    il faut nous dire ce que tu veux récupérer fonctionnellement
    --> récupérer automatiquement un export excel avec des données.

    de plus sur internet tu trouveras comment faire la connexion VBA avec SAP
    un peu de recherche google ne fait pas de mal jai trouvé cela :

    mais comment puis-je connaitre mon Numero ? conn.ApplicationServer ?

    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
    R3 As Object
    LogonControl As Object
    Conn As Object
     
    Réglez LogonControl = CreateObject ("SAP.LogonControl.1")
    Régler R3 = CreateObject ("SAP.Functions")
    Set conn = LogonControl.NewConnection
     
    conn.SystemNumber = 0 
    conn.ApplicationServer = "10.10.10.10" 'PRD 
    conn.Client = "900" 
    conn.User = "XXXXX" 
    conn.Language = "EN" 
    conn.SNC = True conn.SNCName = "p: SAPServicePRD @ corp.XXX.com " conn.SNCQuality = 3
    
    Si conn.logon (0, True) <> True Then 
       MsgBox "ERREUR - connexion à SAP a échoué" 
        Exit Function 
    End If

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    574
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 574
    Points : 764
    Points
    764
    Par défaut
    Je sais que je n'aide pas mais ça serait trop long pour t'assister; par exemple -> http://stackoverflow.com/questions/1...ameter-from-vb
    Ou chercher des exemples de ce genre:
    Set BAPIControl = CreateObject("SAP.BAPI.1")
    Call BAPIControl.connection.Logon(0, False)

    Dim Bank As Object
    Dim BapiReturn As Object
    Set Bank = BAPIControl.GetSAPObject("Bank")
    Set BankAddress = BAPIControl.DimAs(Bank, "Create", "BankAddress")
    Set BapiReturn = BAPIControl.DimAs(Bank, "Create", "Return")
    BankAddress("BANK_NAME") = "test"

    Bank.Create BankCtry:="FR", BankKey:="1234567891", _

    après, la question est de savoir s'il y a ou non une bapi pour ton besoin.

    Bonnes recherches!

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Points : 71
    Points
    71
    Par défaut
    Dans mon besoin j'interroge SAP manuellement ensuite j'exporte le résultat trop lour la manip...

    Comment faire pour interroger SAP--> récupérer automatiquement un export excel avec des données ?

Discussions similaires

  1. Piloter SAP avec vba et excel
    Par Debutant10 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/06/2013, 21h28
  2. Comment piloter SAP via VBA Access ?
    Par megapacman dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/08/2008, 14h12
  3. [VBA-A]Pb avec la commande if dans vba
    Par Chrissrare dans le forum VBA Access
    Réponses: 11
    Dernier message: 14/04/2006, 09h09
  4. [VBA] Comment utiliser Access avec Excel
    Par MxPx_23 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/02/2006, 12h00
  5. Comment recupérer la version d'Excel avec VBA ?
    Par ikoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/09/2005, 18h51

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