Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

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