Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

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

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 21-06-2021 12:17:56

RomainP94  
Membre
Date d'inscription: 28-05-2018
Messages: 5
Pépites: 43
Banque: 0

PB2019 : Générer un fichier xml

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 :

Code: 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 :

Code:

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 :

Code: xml

<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 :

Code: xml

<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 :

Code: xml

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

 

Pied de page des forums

Propulsé par FluxBB 1.2.22