SAP et VB

- - Dernière réponse :  sanaa - 10 mars 2015 à 12:45
Je recherche de la doc et des exemples de codes sur l'utilisation de VB pour interfacer le logiciel SAP.
Merci
Afficher la suite 

19 réponses

0
Merci
Merci de m'avertir aussi si vous avez ce
genre de renseignement...
Sinceres salutations :)
Messages postés
1
Date d'inscription
jeudi 14 février 2002
Statut
Membre
Dernière intervention
14 février 2002
0
Merci
Moi aussi, je cherche à piloter SAP par VB, ou plus exactement par Visual Basic Application.

Je suis débutant la-dedans mais je compte bien y arriver.
J'ai commandé un bouquin mais ne l'ai pas encore reçu.

Je suis interressé par correspondre avec qui a les mêmes objectifs afin de mettre nos ressources ou résultats en commun.

Bien évidemment si quelqu'un a déjà développé du code, je suis interessé de le voir ..

cyber adresse : remi.patron@shell.com
Messages postés
4
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
9 octobre 2002
0
Merci
-------------------------------
Réponse au message :
-------------------------------

Je recherche de la doc et des exemples de codes sur l'utilisation de VB pour interfacer le logiciel SAP.
Merci

J'ai les memes objectifs.
Mon but est d'automatiser des extractions de tables SAP en format text pour les traitert ensuite dans access.......
je pense qu'une solution qui permetrait de toucher le moins possible a SAP serait pas Mal,
J'ai donc pensé à un petit exe en vb qui simulerait l'utilisateur par la fonction SendKeys, en chopant les "poigné" des fenetres et les numero "TABorder" des cases qui nous intéressent.......
Qu'en pensez vous ?

je vais passer mon weekend dessus......
A+
Messages postés
1
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
21 février 2003
0
Merci
Bonjour,
je recherche egalement des infos par rapport a SAP de maniere a pouvoir l'utiliser avec Access ou Excel en lien dynamique, ou en code VB.
Merci de me dire si vous avez pu avoir des resultats.
Christophe
Messages postés
5
Date d'inscription
mercredi 26 mars 2003
Statut
Membre
Dernière intervention
8 février 2005
0
Merci
Bonjour,
pour avoir de la doc il suffit d'aller dans la doc SAP (sur 1 CD livré avec SAP) . Il faut aller dans "Composantes du système de base" -> "Frontend Services (BC-FES)" -> "SAP Automation (BC-FES-AIT)". Ensuite vous toutes les docs pour les différents langages. Pour VB ou VBA il faut regarder "SAP Automation RFC and BAPI Interfaces (BC-FES-AIT)".

Et si vous voulez voir des exemples de codes, installer "SAP interactive Excel" qui est généralement avec le CD du SAP Gui pour Windows. Et regarder le code il y a vraiment tout ce qui est possible.

@+
Messages postés
6
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
2 mars 2004
0
Merci
bonjour, j aimerai savoir si qq un a reussi. je possede ces cd en allemand seuleùent malheureusement.
si qq un accpepte de m aider pour piloter sap via vba, il peut me contacter a banouzet@yahoo.fr

merci d avance
Messages postés
5
Date d'inscription
mercredi 26 mars 2003
Statut
Membre
Dernière intervention
8 février 2005
0
Merci
Je veux bien t'aider, mais je pense que tu peux demander à SAP de te livrer gratuitement les CD en version française.
Messages postés
6
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
2 mars 2004
0
Merci
peux tu m envoyer ton email a banouzet@yahoo.fr si ca ne te derange pas.

pour sap, oui, j ai deja demandé a l informaticien de le faire, mais les connaissant, je suis sur qu il va falloir payer...

merci de la reponse
Messages postés
1
Date d'inscription
dimanche 11 avril 2004
Statut
Membre
Dernière intervention
3 juin 2004
0
Merci
Salut,
je travaille actuellement sur le meme sujet mais je ne dispose pas des docs du CD SAP. Si quelqu'ujn peut m'envoyer la doc ou meme une source, ce serai bien car la je patauge un peu dans la semoule ....

Merci ++
Messages postés
215
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
3
0
Merci
Salut à tous !!

j'ai le meme pb, mais je ne possede pas ce CD,

J'ai réussi a lancer SAPGui, mais je n'arrive pas a utiliser les fonctions:
connection.user et autres fonctions elle ne sont pas reconnu.

voici un bout de code que j'ai effectué :

Dim R3 as Object
Set R3 = createobject("SAPGUI.application")
R3.Connection.client = "160"
R3.Connection.user = "Test"
R3.Connection.password = ""
R3.Connection.language = "EN"
If R3.Connection.logon(0, False) <> True Then Exit Sub

Mais mon code Bug à la 3e ligne,
J'ai référencé SAP dans mon projet, mais ya rien a faire.

Avez vous une soluce, ou une aide quelqu'onque a m'apporter ???

merci pour votre lecture ...

Chapat'
Messages postés
5
Date d'inscription
mercredi 26 mars 2003
Statut
Membre
Dernière intervention
8 février 2005
0
Merci
Voici un bout de code qui devrait t'aider :



Dim functionCtrl As
Object
'Function Control (Collective object)



Dim sapConnection As Object 'Connection object



Dim theFunc As
Object
'Function object





Set functionCtrl = CreateObject("SAP.Functions")



Set sapConnection = functionCtrl.Connection



'Logon with initial values



sapConnection.autologon = True

sapConnection.RfcWithDialog = False

sapConnection.Client = "200"

sapConnection.User = "******"

sapConnection.Password = "******"

sapConnection.ApplicationServer = "__.__.__.__"



If sapConnection.logon(0, True) <> True Then



MsgBox "Pas de connection à SAP !"



Exit
Sub
'End program



End If



Set theFunc = functionCtrl.Add("Z_EXPORT_PALMARES")
Messages postés
215
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
3
0
Merci
Cool !! merci pour le bout de code, je vais essayer ca et je te dis ...
Mais une question me trotte dans la tete :

qu'elle est la différence entre SAPGui et SAP

car dans mon code initiale je crée l'objet SAPGui.application
et dans ton code, c'est SAP.function ...

je capte pas tout ...

merci encore pour le bout de code.
Messages postés
5
Date d'inscription
mercredi 26 mars 2003
Statut
Membre
Dernière intervention
8 février 2005
0
Merci
je sais pas à quoi sert le sapgui.application. Je sais juste que le sap.function te permet d'appeler un module fonction.
Messages postés
190
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
10 janvier 2011
0
Merci
Je suis en stage dans une entreprise faisant partie d'un grand groupe europeen. Or ce grand groupe utilise SAP comme ERP. Mais pour un service de l'entreprise SAP n'est pas assez complet pour leur gestion, j'ai donc du developper un systeme d'info sous Access leur permettant de gerer ce que SAP ne gere pas. Mais dans cette base de donnée, certaine donnée a entrer le sont deja sous SAP, se serait donc bete de faire entrer deux fois les memes info dans deux logiciels differents, mon but serait donc de recuperer les données deja sous SAP, mais ces données seront ensuite dans differentes tables, ces tables contenant aussi des infos complementaires qui seront ensuite entrée a la main.
Donc je voudrais savoir si quelqu'un a trouvé des docs interressantes sur le sujet, et aussi comme je vois la semaine prochaine l'equipe SAP pour le groupe afin de leur demander de me mettre a disposition un fichier d'interface avec les données necessaires, sous quel forme dois je leur demander?
Messages postés
4
Date d'inscription
mardi 28 juin 2005
Statut
Membre
Dernière intervention
31 mai 2007
0
Merci
Bonjour ,
Je suis en stage dans une grande entreprise qui utilise SAP R3. Je dois effectuer une extration de donnée depuis une application VBA. Grace au code donnée ci dessus j'ai réussi a me connecter a SAP par le bais de mon application. Mais je ne trouve pas le moyen de pouvoir extraire les données . Je n'ai pas en ma pocéssion les docs de SAP donc je dois me débrouillé tout seul. Si une personne ayant déjas fait cela pouvai m'aider je serai trés reconnaisant.
Merci d'avance
Messages postés
3
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
17 avril 2008
0
Merci
En cherchant sur le net je suis tombé sur ce message du forum qui me semble correspondre à mon besoin .
Je cherche à :
- lancer SAP depuis EXCEL par une macro,
- executer une transaction SAP en transmettant les paramètres de sélection par la macro,
- récupérer les données par un export excel,
- faire une deuxième opération du même type,
- fermer les applications.
As tu résolu ce type de besoin ?
Merci, Christian
Messages postés
215
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
3
0
Merci
Non pas du tout, je suis ne plus sur ce projet depuis lgpts, mais, si il y a de l'info, c'est toujours bon a prendre.
Bon courage.

ChaPaTa
/FONT>
Messages postés
1
Date d'inscription
mercredi 1 août 2007
Statut
Membre
Dernière intervention
22 avril 2008
0
Merci
Voici un bout de code qui me permet de faire exactement ce que tu veux... mais pas  exactement ce que je voulais moi, mais je vais y arriver. Je me permet de le mettre ici car après de longues recherches sur le net, j'ai rien trouvé pour m'aider....enfin voici mon bout de code (il s'agit d'une application bien particuliére qui sera à adapter en fonction du besoin que chacun peut avoir, me concernant il s'agissit de faire une recherche dans une transaction suivant plusieurs critéres, et d'en exporter le résultat sous forme de tableau excel):
Function SAP()
Dim App, Connection, session As Object
On Error GoTo 0
Set App = CreateObject("Sapgui.ScriptingCtrl.1")
Set Connection = App.OpenConnection("nom de l'application", False)
Set session = Connection.Children(0)
With session
    .findById("wnd[0]").maximize
    .findById("wnd[0]/usr/txt[0]").Text = "xxx"  'system
    .findById("wnd[0]/usr/txt[1]").Text = "xxx" 'logon
    .findById("wnd[0]/usr/pwd").Text = "xx" 'password
    .findById("wnd[0]/usr/txt[2]").Text = "xx" 'language
    .findById("wnd[0]/usr/txt[2]").SetFocus
    .findById("wnd[0]/usr/txt[2]").caretPosition = 2
    .findById("wnd[0]").sendVKey 0
    .findById("wnd[0]/tbar[0]/okcd").Text = "xxxx"
    .findById("wnd[0]").sendVKey 0
    .findById("wnd[0]/usr/ctxt[0]").Text = "critére0"
    .findById("wnd[0]/usr/ctxt[0]").caretPosition = 2
    .findById("wnd[0]/usr/btn[4]").press
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE").Columns.elementAt(1).Width = 12
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,0]").Text = "critére1"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,1]").Text = "critére2"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,2]").Text = "critére3"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,2]").SetFocus
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,2]").caretPosition = 3
    .findById("wnd[1]/tbar[0]/btn[8]").press
    .findById("wnd[0]/usr/btn[15]").press
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,0]").Text = "critére4"
    .findById("wnd[1]").sendVKey 0
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,1]").Text = "critére5"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,2]").Text = "critére6"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,3]").Text = "critére7"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,4]").Text = "critére8"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,5]").Text = "critére9"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,6]").Text = "critére10"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,7]").Text = "critére11"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,8]").Text = "critére12"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,8]").SetFocus
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,8]").caretPosition = 8
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE").verticalScrollbar.Position = 3
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,6]").Text = "critére13"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,7]").Text = "critére15"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,8]").Text = "critére16"
    .findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssub/1/2/tblSAPLALDBSINGLE/ctxt[1,8]").caretPosition = 8
    .findById("wnd[1]/tbar[0]/btn[8]").press
    .findById("wnd[0]/tbar[1]/btn[8]").press
    .findById("wnd[0]/tbar[1]/btn[45]").press
    .findById("wnd[1]/usr/sub/1/rad[1,0]").Select
    .findById("wnd[1]/usr/sub/1/rad[1,0]").SetFocus
    .findById("wnd[1]/tbar[0]/btn[0]").press
    .findById("wnd[1]/usr/ctxt").Text = "nom du fichier.xls"
    .findById("wnd[1]/usr/ctxt").caretPosition = 65
    .findById("wnd[1]/tbar[0]/btn[0]").press
    .findById("wnd[0]/tbar[0]/btn[3]").press
    .findById("wnd[0]/tbar[0]/btn[3]").press
End With
Set App = Nothing
Set Connection = Nothing
Set session = Nothing
End Function

Bonne chance.
0
Merci
Bonjour, je dois le même problème en urgence.
Svp qqun peut m'aider.