FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
Utilisation DI API SAP B1 HANA
Utilisation DI API SAP B1 HANA
Débuté par EJ, 10 déc. 2017 11:29 - 3 réponses
Connectez-vous…
EJ
#1
Membre enregistré
18 messages
Popularité : +1 (1 vote)
Posté le 10 décembre 2017 - 11:29
Bonjour,
Je dois écrire un programme sous Windev 22, qui doit communiquer avec SAP B1 via la DI API livré par SAP.
Comme je commence dans l'utilisation des Framework sous Windev, voici la démarche que j'ai adopté:
* Installation du SDK SAP B1
* Importation dans Windev => Je vois bien toutes les classes et méthodes
* J'ai crée un projet Windev (executable 32bits)
* J'arrive à me connecter via la DI API sur le serveur.
cl
MaCompany
est un
SAPbobsCOM.CompanyClass
cl
MaCompany.Server
=
"hanab1:30015"
cl
MaCompany.LicenseServer
=
"hanab1:40000"
cl
MaCompany.language
=
BoSuppLangs.ln_French
cl
MaCompany.DbServerType
=
BoDataServerTypes.dst_HANADB
cl
MaCompany.DbUserName
=
"SYSTEM"
cl
MaCompany.DbPassword
=
"Toto"
cl
MaCompany.CompanyDB
=
"MAN_BASE"
cl
MaCompany.UserName
=
"Mon_User"
cl
MaCompany.Password
=
"Mon@MDP"
n
Retour
=
cl
MaCompany.Connect
(
)
s
MessRetour
=
cl
MaCompany.GetLastErrorDescription
(
)
n
NumErr
=
cl
MaCompany.GetLastErrorCode
(
)
SI
n
NumErr
<
>
0
ALORS
Info
(
s
MessRetour
,
n
NumErr
)
SINON
Info
(
"Connexion OK"
)
FIN
* Je veux lire une fiche BusinnessPartner (Client) via la méthode "GetByKey" => Erreur
cl
MonBusinessPartner
est un
SAPbobsCOM.BusinessPartnersClass dynamic
cl
MonBusinessPartner
=
cl
MaCompany.GetBusinessObject
(
SAPbobsCOM.BoObjectTypes.oBusinessPartners
)
n
Retour
=
cl
MonBusinessPartner.GetByKey
(
"C00000001"
)
s
MessRetour
=
cl
MaCompany.GetLastErrorDescription
(
)
n
NumErr
=
cl
MaCompany.GetLastErrorCode
(
)
Info
(
s
MessRetour
,
n
NumErr
)
J'ai l'erreur suivante lors de l’exécution
Erreur à la ligne 46 du traitement Clic sur BTN_SansNom1.
L'invocation de la méthode
du type <__ComObject> a échoué
L'invocation de la méthode
du type <__ComObject> a échoué
----- Informations techniques -----
Projet : Mon_Projet_SAP
Appel WL :
Traitement de 'Clic sur BTN_SansNom1' (fenMenu.BTN_SansNom1), ligne 46, thread 0
Que s'est-il passé ?
L'invocation de la méthode
du type <__ComObject> a échoué
L'invocation de la méthode
du type <__ComObject> a échoué
Code erreur : 200002
Niveau : erreur fatale
Dump de l'erreur du module 'wd220net4.dll' (22.0.9.0).
Identifiant des informations détaillées (.err) : 200002
Informations supplémentaires :
EIT_PILEWL :
Clic sur BTN_SansNom1 (fenMenu.BTN_SansNom1), ligne 46
EIT_DATEHEURE : 10/12/2017 11:19:55
EIT_TYPE_WDFILE : <2>
EIT_IDCODE : <18>
Assistance
N'arrivant pas forcement a comprendre pourquoi, j'ai crée un projet sous Visual Studio 2017 avec le code suivant
Public Class Form1
Public oCompany = New SAPbobsCOM.Company
Public nRetour As Integer
Public nErrCode As Integer
Public sErrMess As String
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
oCompany.Server = "hanab1:30015"
oCompany.LicenseServer = "hanab1:40000"
oCompany.language = SAPbobsCOM.BoSuppLangs.ln_French
oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_HANADB
oCompany.DbUserName = "SYSTEM"
oCompany.DbPassword = "Toto"
oCompany.CompanyDB = "MAN_BASE"
oCompany.UserName = "Mon_User"
oCompany.Password = "Mon@MDP"
nRetour = oCompany.Connect()
If nRetour <> 0 Then
sErrMess = oCompany.GetLastErrorDescription()
nErrCode = oCompany.GetLastErrorCode()
MessageBox.Show(sErrMess)
MessageBox.Show(nErrCode)
Else
MessageBox.Show("Connexion OK")
End If
Dim MonBusinessPartner As SAPbobsCOM.BusinessPartners
MonBusinessPartner = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners)
MonBusinessPartner.GetByKey("C00000001")
End Sub
End Class
En VB, je récupère bien ma fiche BusinessPartner.
Si quelqu'un a une idée, elle est vraiment la bien la venue.
Merci à tous
Signaler
0
0
EJ
#2
Membre enregistré
18 messages
Popularité : +1 (1 vote)
Posté le 12 décembre 2017 - 08:41
Personne n'a une petite idée....
J'ai fait aussi le test dans un projet en C# et cela fonctionne.
Je pense que l'assignation de l'objet n'est pas bonne avec Windev.
Voici le code en C#
SAPbobsCOM.BusinessPartners oBusinessP = null;
oBusinessP = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners);
oBusinessP.GetByKey("C00000001");
J'ai quand même envoyé une demande au support PCSOFT
Si quelqu'un à une idée ?
Signaler
0
0
Jerome
#3
Posté le 10 décembre 2020 - 13:00
Bonjour,
Je remonte ton post pour savoir si tu as pu résoudre ce soucis? J'ai les memes besoin et je semble me heurter aux memes problemes.
Cordialement,
Jerome
Signaler
0
0
Jean-Francois Desbiens
#4
Posté le 28 février 2023 - 13:46
Bonjour, j'obtiens le même résultat que vous, avez-vous trouvé la solution? Est-ce que PC Soft vous répondu?
Merci,
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte