Re: [XML][Etat] Liaison fichier en prog...

Posté par drcharly93 le 2/5/2005 14:10:28
Bonjour,

C'est dans la conception a mon avis que vous vous méprenez.

en effet un etat à pour but de parcourir les enregistrement d'un fichier ou bien d'une requête ou meme d'un fichier texte en toute d'une source de données.

Vous vous cherchez à créer un etat qui va afficher le contenu de X fichier XML qui se trouvent dans un répertoire.

Je pense que vous vous y êtes mal pris.

Ce qu'il faut faire dans l'optique ou vos fichiers XML ont toutes la meme structure.

Déclarer le modele d'un fichier XML dans votre analyse (Plus facile pour la définition de l'état).

Créer un etat basé sur le fichier défini dans l'analyse.
avec l'ntete en début de document et le détail dans le corps de l'etat.

dans la fenetre qui appel votre etat créer une procédure qui va lister dans un tableau tous les fichiers XML à editer
Dans ce tableau vous y stockerez votre entete en séparant chaque element par exemple par une tabulation

pour demander l'impression
iImprimeEtat(,,1)
Nom de l'état ==> nom de l'etat que vous avez créé
Nom du tableau ==> nom de la variable qui contient le tableau
1 ==> indice du tableau qui contient les informations d'entête du fichier XML a éditer.

Dans la déclaration global de votre etat insérer cette ligne
PROCEDURE Etat(tblEntete, Indice)
//tblEntete = tableau contenant l'entete des fichiers xml a editer
//Indice = N° du de l'indice du tableau correspondant au fichier XML pour lequel on désire editer le détail.

dans l'etat, dans le bloc corps, après impression du bloc inserer ce code
[code]
SI Indice < dimension(tblEntete) Alors
 iImprimeEtat(<Nom de l'etat>, <Nom du tableau>, Indice + 1)
FIN

Ainsi tantque le tableau n'aura pas été intégralement parcouru l'impression sera relancé su l'élément suivant dant le tableau d'entete.

Cette idée est purement théorique et n'a pas été testée, elle peut donc comporter des erreurs.

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=2185&post_id=9155