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 :

Ouvrir et exécuter SAP depuis une macro excel


Sujet :

SAP

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Ouvrir et exécuter SAP depuis une macro excel
    Bonjour,

    je suis actuellement en stage et on me demande de créer une interface via excel pour lancer et exécuter des actions sur SAP.
    En fait l'entreprise va mettre en place un système de douchette pour scanner les sorties et entrées en stock. Ce système de douchette du modèle motorola MC3100 créé lors du déchargement de ces données sur l'ordinateur un fichier qui doit actuellement être rentré sur SAP après plusieurs manœuvres. Or cela n'est pas simple pour les manutentionnaire et leur fait perdre du temps.
    On me demande donc de créer un fichier excel avec 2 boutons de contrôle de formulaire. Un pour les entrées et un pour les sorties. Mais au final les deux boutons seront affectés à la même macro puisque la marche à suivre dans les deux cas est la même.
    Ca fait plusieurs jour que je lie des forums et tente d'ouvrir SAPLogon 720 puis de lancer PGI et ensuite rentrer le nom de l'application dans l'onglet SAP que je veux atteindre sans succès. Une fois cette fenêtre d'application atteinte "Z0..." il faut aller copier l'emplacement du fichier avec le nom de celui-ci, avant de faire exécuter et fermer SAP. (dans le fichier photo sap vous voyez les différentes étapes sur Sap).

    Ne réussissant pas j'ai bidouillé en créant un lien hypertexte dans ma macro faisant appel à un raccourci que j'ai créé et lançant SAP directement sur la bonne application "Z0...". Il ne reste plus qu'a rentrer automatiquement le mot de passe en écrivant sur la fenêtre SAP mais il ne veut pas écrire le mot de passe dans la bonne fenêtre le programme me rentre le mot de passe sur excel.

    Voici mon code :
    Sub tracking()

    'Selectionne la case et copie son contenu : c'est le lien du fichier de la douchette et son nom qu'il faudra copier sur SAP
    Range("B1").Select
    Selection.Copy




    'supprime le message "Certains fichiers peuvent contaminer ou endommager... Voulez vous ouvrir ce fichier?" qui pouvait faire buguer le programme
    Application.SendKeys "{TAB}" 'pour passer de Annuler (actif par défaut) à OK
    Application.SendKeys "{ENTER}"


    ' lancer lien hypertext Macro
    Range("A1").Select 'le lien hypertext est dans la case A1, il faudra le changer en fonction de où a été placé le racourci SAP-tracking,
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

    'j'ai essayé ça mais ça n'a pas marché
    'Dim Channel As Integer
    'Channel = Application.DDEInitiate( _
    app:="Saplogon",
    'topic:="C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe")
    'Application.DDEExecute Channel, "+(&&éé&çç')"
    'Application.DDETerminate channel


    'ce qui suis n'a fais que mécrire sur excel et non sur la fenêtre SAP qui était pourtant au premier plan
    Application.SendKeys "+(&&éé&çç')"
    Application.SendKeys "{ENTER}"
    Application.SendKeys "^(a)"
    Application.SendKeys "{DELETE}"

    End Sub


    N'étant pas du tout familiarisée avec SAP et les macros pourriez vous m'aider s'il vous plait que ce soit avec ma "bidouille" début de code ou un autre moyen .photo sap.docx

  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
    Hello,

    vérifie bien avec ton entreprise comment ils veulent transmettre le mot de passe.

    je te conseille d'utiliser SAP GUI scripting, il faut que tu demandes à l'admin sap qu'il active cette fonctionnalité au niveau de l'appli sap. Tu pourras ainsi enregistrer automatiquement tes actions dans un VBS (dans SAP, ALT+F12 -> script recording). Tu pourras modifier le VBS créé pour variabiliser les valeurs entrées dans les champs.

    concernant le login, le VBS créé te connecte sur la session active, ou sinon te propose l'écran de connexion SAP et l'utilisateur doit entrer manuellement son ID et son mot de passe. Si ton entreprise est okay pour mettre en clair le mot de passe, alors tu peux trouver sur internet différents moyens pour lancer une connexion (par expl, cherche CreateObject("SAP.Logoncontrol.1")). évidemment, c'est toujours mieux de se connecter via SSO si ton entreprise l'a activé sur SAP, car le mot de passe n'est pas transmis.

    sandra

  3. #3
    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 Sandraros,

    Connais-tu une méthode pour se loguer à SSO ?
    Pour l'instant je roule mes scripts (VBA/VBS) après avoir ouvert une session, mais ce serait bien de le faire pour l'usager s'il ne l'a pas déjà fait.

    Merci !
    MPi²

  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
    Okay, donc c'est juste la connexion à SAP qui te manquait. Laisse tomber SSO, je me dis que ton entreprise ne l'a pas puisque les utilisateurs rentrent leur mot de passe pour accéder à SAP. Tu n'as qu'à implémenter la solution que je t'ai dite (de chercher sur internet createobject...), et quand ça marche tu devras expliquer à ton entreprise la solution de stockage et de transmission du mot de passe, qu'ils valident si ça leur convient.

  5. #5
    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
    En fait, je me suis immiscé dans la discussion de Nausica parce que ça m'intéresse pas mal...
    Je me suis mis à l'ouvrage pour automatiser quelques programmes qui interagissent avec SAP.
    Ici, à mon bureau, nous avons accès à SSO, ce qui nous permet de se loguer sans mot de passe.

    Par contre, si j'ouvre SAP (avec Shell, disons), j'arrive à la 1ere fenêtre où on choisit de passer par SAP (PRD ou PRD-SSO) et autres systèmes PHR, PBW,...
    C'est là que je me pose la question... comment passer outre ça et se brancher directement à PRD-SSO
    Comme on change de mot de passe à chaque mois, ça ne me donne pas grand chose d'entrer les valeurs dans une feuille.

    Avec la commande Shell, on peut appeler SAP.exe, mais comment aller chercher la ligne SSO ?
    Ou comment démarrer une session SSO sans demander de mot de passe ou autres ?
    En fait y a-t-il vraiment une méthode (?)

    Pour l'instant, je vérifie que SAP est ouvert et leur demande de l'ouvrir s'il y a lieu.
    Ça fait le travail pour l'instant, mais mon petit côté perfectionniste cherche un peu plus...
    MPi²

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Janvier 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 32
    Points : 37
    Points
    37
    Par défaut Utilisation d'évenement
    Bonjour,

    je ne sais pas si ça peut aider mais moi j'ai voulu automatiser un programme SAP via un script en .bat simplement et voici les étapes :

    - Téléchargement de sapevt.exe
    Modification de C:\Windows\System32\drivers\etc\services et rajoutant :
    sapmsPRO 3606/tcp
    sapmsTES 3607/tcp
    sapmsDEV 3608/tcp

    - Création d'un fichier config sapevt.prod dont le contenu est le suivant :
    rdisp/mshost=[IP de ton serveur de production]
    - Création d'un évenement sur SAP avec SM64 : ZEVENTPROD

    - Création d'un fichier PROD.bat dont le contenu est le suivant :

    @echo off
    Rem ===============================================================
    Rem Attention doit figurer dans le fichier C:\Windows\System32\drivers\etc\services
    Rem sapmsPROD 3606/tcp
    Rem ===============================================================
    @echo on
    @echo ----
    @echo L'evenement ZEVENTPROD est declanche sur le serveur SAP de Production !
    @echo ----
    @echo ----

    @echo off
    rem C:\programs\PROGRAM\SAP\sapevt ZEVENTPROD pf=C:\programs\PROGRAM\SAP\sapevt.prod name=PRO
    C:\programs\PROGRAM\SAP\sapevt ZEVENTPROD pf=C:\programs\PROGRAM\SAP\sapevt.prod name=PRO

    Pause


    Remarque :
    On considère que l'ID système de production est PRO et que tous les fichiers, y compris l'exe, sont dans C:\programs\PROGRAM\SAP\

    - Il suffit ensuite de créer un JOB (SM36) qui se lancera une fois que l’événement ZEVENTPROD sera enclencher (à paramétrer dans les condition de lancement).
    à toi de lancer le programme adéquat.

    En espérant que ces explications pourront servir.

    Dav

Discussions similaires

  1. Ouvrir un formulaire Access depuis une feuille Excel
    Par Pitu45 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/01/2009, 14h30
  2. Appeler une dll ou un autre module vba depuis une macro excel vba
    Par technobiz dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/11/2008, 14h24
  3. Lancer un pps depuis une macro Excel
    Par jalseth dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/06/2008, 16h19
  4. Ouvrir un fichier pdf depuis une macro
    Par Maluje dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/03/2008, 17h51
  5. [VBA-E] Execution d'un programme Perl depuis une macro Excel
    Par DaBeam dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/09/2007, 15h21

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