PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → Webservices et tableau de classe
Webservices et tableau de classe
Started by Simbad, Mar., 22 2012 1:43 PM - 1 reply
Registered member
24 messages
Posted on March, 22 2012 - 1:43 PM
Bonjour,
J'utilise un webservice pour récupérer des enregistrements dans une base sybase ASA12 via une requête.
J'utilise la fonction 'FichierversTableau' avec un tableau de classe.
Articles est une classe
NOCFE est un entier
NLIGE est un entier
CDFOE est une chaîne
CDARE est une chaîne
DES2E est une chaîne
QTEGE est une chaîne
SLDQE est une chaîne
QTERE est un numérique
QTRTE est un numérique
FIN

Procedure PG_RCPT_ART(numcde)
tabArticles est un tableau de Articles
SI HExécuteRequête(REQ_RECEPT2,hRequêteDéfaut,numcde) ALORS
SI HNbEnr(REQ_RECEPT2)<>0 ALORS
FichierVersTableau(tabArticles,REQ_RECEPT2)
RENVOYER tabArticles
SINON
TableauSupprimeTout(tabArticles)
RENVOYER tabArticles
FIN
FIN

Lorsque je teste mon webservices, je vois bien mes différents enregistrements (voir résultat ci dessous)
<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Body>
-<ns1:PG_RCPT_ARTResponse xmlns:ns1="urn:WB_Focusmobile">
-<PG_RCPT_ARTResult>
<NOCFE>29548</NOCFE>
<NLIGE>5</NLIGE>
<CDFOE>LACHARTR</CDFOE>
<CDARE>VSF61</CDARE>
<DES2E>SPITFIX AVEC E+R 10-90</DES2E>
<QTEGE>200</QTEGE>
<SLDQE>E</SLDQE>
<QTERE>150</QTERE>
<QTRTE>50</QTRTE>
</PG_RCPT_ARTResult>
-<PG_RCPT_ARTResult>
<NOCFE>29548</NOCFE>
<NLIGE>8</NLIGE>
<CDFOE>LACHARTR</CDFOE>
<CDARE>U0082</CDARE>
<DES2E>BOULON TH ZN 6/8 8*20</DES2E>
<QTEGE>2000</QTEGE>
<SLDQE>E</SLDQE>
<QTERE>1800</QTERE>
<QTRTE>200</QTRTE>
</PG_RCPT_ARTResult>
</ns1:PG_RCPT_ARTResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Dans mon projet WM, j'utilise le code suivant :
tabArticles est un tableau de Articles = PG_RCPT_ART(gnUmcde) //gnUmcde = numéro de commande
Info(tabArticles..Occurrence)

Je récupéré bien le nb d'enregistrement reçu: 2 dans mon exemple mais je n'arrive pas à extraire les valeurs pour affecter dans une table à l'écran.

Je débute dans la programmation Windev, est-ce que quelqu'un pourrait me mettre sur la voie car je ne trouve pas d'information claire dans la documentation.

Merci
Registered member
24 messages
Posted on March, 23 2012 - 4:55 PM
J'ai trouvé la réponse à mon problème.

Pour ceux que ça intéresse, voici le code de récupération

tabArticles est un tableau de Articles = PG_RCPT_ART(gnUmcde)
nEnreg est un entier = tabArticles..Occurrence
POUR i = 1 A nEnreg
TableAjouteLigne(TABLE_ART,tabArticles[i]:nocfe,tabArticles[i]:NLIGE,tabArticles[i]:CDFOE,tabArticles[i]:CDARE,tabArticles[i]:DES2E,tabArticles[i]:QTEGE,tabArticles[i]:SLDQE,tabArticles[i]:QTERE,tabArticles[i]:QTRTE)
FIN