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 :

Execution des commandes externes via une macro excel


Sujet :

SAP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 27
    Points : 25
    Points
    25
    Par défaut Execution des commandes externes via une macro excel
    Bonjour,

    j'essaie de transporter un OT (G50K900004 dans mon exemple)d'un serveur vers un autre (du serveur Qual vers le serveur Prod par exemple) en faisant un macro excel. En fait, j'ai pas trouvé de bon documents dessus . Donc, j'ai un bout de code qui ne marche pas (mon result est toujours égal à faux).

    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
        Set ctrl = CreateObject("SAP.Functions")
        Set sapConnection = ctrl.Connection
        sapConnection.client = "100"
        sapConnection.user = "toto"
        sapConnection.password = "pass"
        If sapConnection.Logon(1, False) <> False Then 
          boolLogon = True
          Set SxpgCommandExecute = ctrl.Add("SXPG_COMMAND_EXECUTE")
          SxpgCommandExecute.Exports("COMMANDNAME") = "stms"
          SxpgCommandExecute.Exports("TARGETSYSTEM") = "G50"
          SxpgCommandExecute.Exports("STDOUT") = "X"
          SxpgCommandExecute.Exports("STDERR") = "X"
          SxpgCommandExecute.Exports("ADDITIONAL_PARAMETERS") = "G50K900004 G50 100"
          result = SxpgCommandExecute.Call
       Else
         MsgBox "No connection to R/3 !"
         Exit
       End if
    Merci d'avance

  2. #2
    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
    il me semble que STMS c'est le nom de la transaction pour la gestion des trasports

    la commande unix est : tp

    cf le doc suivant
    http://help.sap.com/printdocu/core/P...S/BCCTSTLS.pdf

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2005
    Messages : 65
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par lanbok Voir le message
    Bonjour,

    j'essaie de transporter un OT (G50K900004 dans mon exemple)d'un serveur vers un autre (du serveur Qual vers le serveur Prod par exemple) en faisant un macro excel. En fait, j'ai pas trouvé de bon documents dessus . Donc, j'ai un bout de code qui ne marche pas (mon result est toujours égal à faux).

    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
        Set ctrl = CreateObject("SAP.Functions")
        Set sapConnection = ctrl.Connection
        sapConnection.client = "100"
        sapConnection.user = "toto"
        sapConnection.password = "pass"
        If sapConnection.Logon(1, False) <> False Then 
          boolLogon = True
          Set SxpgCommandExecute = ctrl.Add("SXPG_COMMAND_EXECUTE")
          SxpgCommandExecute.Exports("COMMANDNAME") = "stms"
          SxpgCommandExecute.Exports("TARGETSYSTEM") = "G50"
          SxpgCommandExecute.Exports("STDOUT") = "X"
          SxpgCommandExecute.Exports("STDERR") = "X"
          SxpgCommandExecute.Exports("ADDITIONAL_PARAMETERS") = "G50K900004 G50 100"
          result = SxpgCommandExecute.Call
       Else
         MsgBox "No connection to R/3 !"
         Exit
       End if
    Merci d'avance
    Bonjour,

    tu utilises quelle version de SAP, car j'avais chercher à faire des connexion Excel SAP et cela n'était plus autorisé sur la version 4.7 par la méthode que je voulais utiliser.

    Merci de ton retour,

    Philippe

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 27
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    J'utilise la version : SAP ECC 6.0

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 27
    Points : 25
    Points
    25
    Par défaut Solution
    Voila
    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
    44
    Sub Transport()
        'Log in
        Dim ObjSapFunc As Object
        Dim ObjLogCtrl As Object
        Dim ObjConnection As Object
        
        Set ObjSapFunc = CreateObject("SAP.Functions")
        Set ObjLogCtrl = CreateObject("SAP.Logoncontrol.1")
        Set ObjConnection = ObjLogCtrl.NewConnection
        
        ObjConnection.user = "toto"
        ObjConnection.password = "pass"
        ObjConnection.client = "100"
        ObjConnection.HostName = "tutu"
        ObjConnection.SystemNumber = 45
        If ObjConnection.Logon(0, True) = False Then
            MsgBox (sapConnection.IsConnected)
            End
        End If
        Set ObjSapFunc.Connection = ObjConnection
        
        'Transport
        Dim codeReturn As String
        Dim output As String
        Dim msgReturn As Object
        
        Set tp = ObjSapFunc.Add("SXPG_COMMAND_EXECUTE")
        tp.Exports("COMMANDNAME") = "MY_TRANSPORT"
        'MY_TRANSPORT est une commande extern que j'ai créée
        'elle contient le débbut de la commande tp (tp import) qui va être concatenée avec ADDITIONAL_PARAMETERS
        'Pour la creer, utilizez la transaction SM69
        tp.Exports("ADDITIONAL_PARAMETERS") = "G50K900004 G50 client100 pf=\\tutu\sapmnt\trans\bin\Votre_ficher_profil.PFL"
        'vous pouvez trouver le paramettre transdir dans le fichier profil (Votre_ficher_profil.PFL) du 
        'systeme SAP dans l'environement transport (transdir = \\$(SAPTRANSHOST)\sapmnt\trans\)
        result = tp.Call
        codeReturn = tp.Imports("EXITCODE")
        
        'Log off
        ObjConnection.Logoff
        Set ObjConnection = Nothing
        Set oLogonCtrl = Nothing
        Set ObjSapFunc = Nothing
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Format de Champ Word complèté via une macro Excel
    Par Mrfreeze117 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2015, 15h23
  2. Utliser la Commande DTEXEC depuis une macro EXCEL
    Par monseg dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/10/2009, 15h28
  3. Réponses: 5
    Dernier message: 24/03/2009, 10h20
  4. pilotage d'une application externe par une macro excel
    Par fribelle dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/11/2008, 14h52
  5. [ODBC]connexion a sybase via une macro excel
    Par ricoree78 dans le forum Sybase
    Réponses: 3
    Dernier message: 06/10/2006, 16h52

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