Le forum (ô combien francophone) des utilisateurs de Powerbuilder.


Bonjour
Je viens vers vous en espérant trouver une réponse à mon problème.
Je souhaite générer un fichier xml à partir d'une datawindow.
Tout d'abord voici le resultset désiré dans le fichier xml :
<contrats>
<contrat>
<produit>...</produit>
<date_souscription>...</date_souscription>
<soucripteurs>
<souscripteur>
<nom>...</nom>
<prenom>...</prenom>
<date_naissance>...</date_naissance>
</souscripteur>
<souscripteur>
<nom>...</nom>
<prenom>...</prenom>
<date_naissance>...</date_naissance>
</souscripteur>
<soucripteurs>
<supports>
<support>
<isin>...</isin>
<libelle>...</libelle>
</support>
<support>
<isin>...</isin>
<libelle>...</libelle>
</support>
</supports>
</contrat>
</contrats>
Est ce possible via PowerBuilder ?
Car j'ai énormément de mal à jouer sur les "Starts group header" et "Starts detail".
Mes données en sortie de procédure stockée sont les suivantes :
CONTRAT_NUM PROD_CD CONTRAT_DTSOUSC PERS_NOM PERS_PRENOM PERS_DTNAISS SUPPORT_ISIN SUPPORT_LIB 00234678 P7081 03/04/2010 ZAY JEAN 02/03/1975 6894302 INVESTISS01 00234678 P7081 03/04/2010 ZAY JEAN 02/03/1975 98756838 INVESTISS02 00234678 P7081 03/04/2010 BERT PAUL 04/26/1938 6894302 INVESTISS01 00234678 P7081 03/04/2010 BERT PAUL 04/26/1938 98756838 INVESTISS02
Dans l'état actuel des choses, j'obtiens ceci :
<contrats>
<contrat contrat_num="00234678">
<produit>P7081</produit>
<date_souscription>2010-03-04 00:00:00</date_souscription>
<soucripteurs>
<souscripteur>
<nom>ZAY</nom>
<prenom>JEAN</prenom>
<date_naissance>1975-02-03 00:00:00</date_naissance>
</souscripteur>
<soucripteurs>
<supports>
<support>
<isin>6894302</isin>
<libelle>INVESTISS01</libelle>
<isin>98756838</isin>
<libelle>INVESTISS02</libelle>
</support>
<support>
<isin>6894302</isin>
<libelle>INVESTISS01</libelle>
<isin>98756838</isin>
<libelle>INVESTISS02</libelle>
</support>
</supports>
</contrat>
</contrats>
Et ce n'est pas vraiment ce que j'attends :
- il me manque un de mes souscripteurs
- les supports sont doublés
Idéalement je m'attends à avoir :
<contrats>
<contrat contrat_num="00234678">
<produit>P7081</produit>
<date_souscription>2010-03-04 00:00:00</date_souscription>
<soucripteurs>
<souscripteur>
<nom>ZAY</nom>
<prenom>JEAN</prenom>
<date_naissance>1975-02-03 00:00:00</date_naissance>
</souscripteur>
<souscripteur>
<nom>BERT</nom>
<prenom>PAUL</prenom>
<date_naissance>1938-04-26 00:00:00</date_naissance>
</souscripteur>
<soucripteurs>
<supports>
<support>
<isin>6894302</isin>
<libelle>INVESTISS01</libelle>
</support>
<support>
<isin>98756838</isin>
<libelle>INVESTISS02</libelle>
</support>
</supports>
</contrat>
</contrats>
Ci joint un extrait de l'export de ma datawindow :
xml="<?xml version=~"1.0~" encoding=~"UTF-16LE~" standalone=~"no~"?><contrats><contrat contrat_num=~"contrat_num~"><produit>prod_cd</produit><date_souscription>contrat_dtsousc</date_souscription><personnes><personne><nom>pers_nom</nom><prenom>pers_prenom</prenom><date_naissance>pers_dtnaiss</date_naissance></personne></personnes><supports><support __pbband=~"group~"><isin __pbband=~"detail~">support_isin</isin><libelle>support_lib</libelle></support></supports></contrat></contrats>"
Avez-vous une idée de la faisabilité ? ou de l'erreur que je commets ?
Merci
Hors ligne