PROFESSIONAL NEWSGROUPS
WINDEV
,
WEBDEV
and
WINDEV Mobile
Home
|
Recent messages
|
Connect
|
Sign out
|
English
Home
→
WINDEV 2024
→
Utilisation DI API SAP B1 HANA
Utilisation DI API SAP B1 HANA
Started by EJ, Dec., 10 2017 11:29 AM - 3 replies
Connect yourself…
EJ
#1
Registered member
18 messages
Popularité : +1 (1 vote)
Posted on December, 10 2017 - 11:29 AM
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
Report
0
0
EJ
#2
Registered member
18 messages
Popularité : +1 (1 vote)
Posted on December, 12 2017 - 8:41 AM
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 ?
Report
0
0
Jerome
#3
Posted on December, 10 2020 - 1:00 PM
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
Report
0
0
Jean-Francois Desbiens
#4
Posted on February, 28 2023 - 1:46 PM
Bonjour, j'obtiens le même résultat que vous, avez-vous trouvé la solution? Est-ce que PC Soft vous répondu?
Merci,
Report
0
0
→ Go back to WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (earlier versions)
WEBDEV (earlier versions)
WINDEV Mobile (earlier versions)
Reports & Queries
Off-topic
Tools
Français
English
Español
Portuguesa
Close this window
Search type
Only topics
All the messages
Search period
Any time
Past hour
Past 24 hours
Past week
Past month
Past year
Cancel
Preview of your message
Adding an image
Import an image from a URL
Send an image from a file of your disk
Drop a file or click "Browse..."
or
Cancel
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Text