PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → [WD16] générer fichier XML au norme SEPA
[WD16] générer fichier XML au norme SEPA
Started by Laty, Mar., 10 2011 12:19 PM - 22 replies
Registered member
26 messages
Posted on March, 10 2011 - 12:19 PM
Bonjour a tous,

je dois écrire une programme qui génère un fichier XML au norme SEPA, j'avoue je suis un peu perdu...
j'ai télécharger le XML Schema description mais je n'arrive pas a l'ouvrir??
ensuite je ne serai pas comment m'y prendre, par quoi commencer,
de l'aide please
Posted on March, 14 2011 - 11:18 AM
salut,

cela ne suffit pas il faut se référer à la doc disponible en ligne pour comprendre les arcanes de la norme ISO 20022 XML qui inclus tous les formats de fichiers d'échanges entre banques/banques ou banques/clients.

Toutefois, tu souhaites générer un fichier SEPA mais tu parles du SCT, SDD ou d'autre chose ?

plus d'info me contacter
Posted on March, 14 2011 - 4:16 PM
salut,

j'ai trouvé le format de fichier d'échange banque/client sur le site ISO20022, je suis entrain de comprendre.
après cette étape je dois personnaliser un logiciel de paie existant pour pouvoir généré un fichier XML au norme SEPA sous windev.

pour la suite je ne sais pas comment faire sous windev,
comment faire le lien entre mon fichier xml et les données de ma table? iban bic, etc
je sais que avec windev on peut créer un fichier XML mais comment je peux lui imposer le format de mon fichier?
merci pour ton aide, c'est précieux pour moi
STD? SDD? je ne vois pas de quoi il s'agit?
latifa
Posted on March, 21 2011 - 10:50 AM
Bonjour,

La norme ISO 200222 XML contient l'ensemble des formats d'échanges B2B/B2C.

s'agissant d'un logiciel de paie, il s'agit vraissemblablement du format SCT (SEPA CREDIT TRANSFERT) afin d'émettre des virements.

La description des modèles de documents UNIFI (ISO 20022) en XML est
réalisée au sein de schémas. Un schéma utilise un langage de description spécifique (XSD). Les schémas permettent de décrire les balises qui sont présentes dans le document, la structure et l’enchaînement de ces balises (hiérarchie des balises) ainsi que les codes autorisés pour certaines données, le nombre d’occurrences possibles,la présence obligatoire ou facultative de certaines données…

Le schéma XML CustomerCreditTransferInitiation a été défini par SWIFT et a été validé par l’International Organization for Standardization (ISO) et fait donc partie de la bibliothèque des standards UNIFI ISO 20022.
Le XSD qui correspond à la description de la structure générale pour les virements SEPA (et pour l’acquisition de virements internationaux non éligibles SEPA), est pain.001.001.02.

il faut donc analyser ce shémat pour implémenter le fichier.

je reste à ta disposition ainsi qu'à ceux qui ont besoins d'infos (directement à mon adresse électronique).
Registered member
26 messages
Posted on March, 21 2011 - 5:44 PM
Bonjour,
merci pour ton explication, j'ai bien analysé la description du schema mais c'est bien la pain.001.001.03?
ma question est la suivante:
pour implanter ce fichier est ce que c'est possible de partir sur un exemple valide? càd instance xml valide et le modifier par rapport a mes besoins

si oui comment replacer les données de mon fichier avec les donnes de ma table?
merci pour ton aide
Posted on March, 21 2011 - 6:59 PM
oui, mais as tu un exemple sous la main ? De plus cette solution n'est pas très "professionnelle".

donc, il est préférable de travailler avec un schéma (ce qui s'avère lourd et complexe pour le ISO 200022), soit en constituant tes propres balises afin d'enrichir le fichier Xml des données de ta base.

ou encore tu fais abstraction du schéma pour générer ton fichier en t'appuyant sur un fichier xml en ta possession.
Registered member
26 messages
Posted on March, 22 2011 - 12:11 AM
oui j'ai un exemple récent de fihicer XML,
pour générer le fichier XML, est ce que j'ai besoin d'écrire tout le code, ou y-t-il une autre méthode plus performante?
voici un bout de code, tu me diras stp si je suis ds la bon direction.
je te remercie bcp, excuse si j'abuse un peu, mais je débute avec windev et XML.


DocXML est une chaîne = "XML"
InfoXML est une chaîne // Chaîne résultat
Indice est un entier
PositionXML est un entier

XMLDocument(DocXML,"") // Crée un document XML vierge

//niveau lot
// ----------
XMLAjouteFils(DocXML,"pain.001.001.03","",Vrai) // Elément Racine
XMLAjouteFils(DocXML,"GrpHdr","",Vrai) // Noeud "Père"


XMLAjouteFils(DocXML,"MsgId","DEDIETRICHTHERSOGEFRPP48484")
XMLAjouteFils(DocXML,"CreDtTm","2010-09-28T11:44:49")
XMLAjouteFils(DocXML,"BtchBookg","true")
XMLAjouteFils(DocXML,"NbOfTxs","1")
XMLAjouteFils(DocXML,"CtrlSum",NumériqueVersChaîne(1157.73))
XMLAjouteFils(DocXML,"Grpg","MIXED")


XMLAjouteFils(DocXML,"InitgPty","",Vrai)
XMLAjouteFils(DocXML,"Nm","DE DIETRICH THERMIQUE ")
XMLAjouteFils(DocXML,"PstlAdr","",Vrai)
XMLAjouteFils(DocXML,"StrtNm","84.25")
XMLAjouteFils(DocXML,"BldgNb","57")
XMLAjouteFils(DocXML,"PstCd","58524")
XMLAjouteFils(DocXML,"TwnNm","MERTZWILER")
XMLAjouteFils(DocXML,"Ctry","FR")
XMLParent(DocXML)
Posted on March, 24 2011 - 10:28 AM
Bonjour,

le bon format est pain.001.001.03

Importer le fichier xsd dans le projet windev

puis:
virmtXML est un XMLDocument , Description = "pain.001.001.03"
virmtXML.Document.CstmrCdtTrfInitn.GrpHdr.MsgId="REF MESSAGE"
virmtXML.Document.CstmrCdtTrfInitn.GrpHdr.NbOfTxs="00002"
virmtXML.Document.CstmrCdtTrfInitn.GrpHdr.CtrlSum="1500.00"
XMLSauve(virmtXML,"test.xml",XMLDocumentDéfaut)


Cordialement
Registered member
26 messages
Posted on March, 24 2011 - 11:58 PM
bonsoir,

a quoi sert d'importer le fichier ds le projet?
Je l'ai importé mais je n'arrive pas a l'ouvrir depuis Windev!!!est-ce normal?!!
je vois que tu as ignoré une bonne partie du schéma et tu as commencé par Groupe Header, est_ce parce que sont des infos pas utiles!!?
enfin, concernant la partie qui se répète +++ fois, comment tu l'as géré? boucle sur l'ensemble de table?
merci de ton aide.
Posted on March, 25 2011 - 10:25 AM
L'importer dans le projet permet de gerer le code comme indiqué precedement.

Tu n'a plus besoi de definir balise par balise mais seulement le chemein complet et Windev genere tout seul le cheminement.

pour les element repetitif, il faut rajouter [n] a la fin de la ligne avant la valeur ou n correspond au N° de la ligne .

A+
Registered member
26 messages
Posted on March, 25 2011 - 5:21 PM
salut Grego30,
ok je vois mieux maintenant

a la fin de ton code tu sauvegardes ton document XML dans un fichier, mais d'ou il vient ce fichier!! tu 'as créé
car j'ai crée un fichier xml mais ca ne marche pas, voila le code que j'execute a travers d'un bouton

virmtXML est un xmlDocument, description="pain.001.001.03"
virmtXML.Document.CstmrCdtTrfInitn.GrpHdr.MsgId="REF MESSAGE"
virmtXML.Document.CstmrCdtTrfInitn.GrpHdr.NbOfTxs="00002"
virmtXML.Document.CstmrCdtTrfInitn.GrpHdr.CtrlSum="1500.00"
XMLSauve(virmtXML,"C:\temp\test.xml",XMLDocumentDéfaut)
merci bcp de ton aide, ca me permet vraiment d'avancer rapidement
A+
Posted on March, 28 2011 - 12:27 PM
Non pas besoin de créer de fichier avant.

le xmlsauve créer le fichier.

ton code doit fonctionner tel-quel.
Posted on March, 29 2011 - 12:58 PM
Deux informations importantes :

il ne faut pas confondre la disparition du protocole de communication bancaire ETEBAC le 30 septembre 2011 (qui est la conséquence directe de la disparition du protocole réseau X25 de France Télécom), avec la norme ISO 20022 xml sur laquelle s’appuie les nouveaux moyens de paiements SEPA comme le SCT (virement SEPA). il arrive que certains techniciens bancaires confondent les deux problématiques.

Le 14 janvier dernier, le comité SEPA Français à validé l'idée selon laquelle les virements domestiques franco-français(formats AFB160 et AFB320 qui avaient été définis en leur temps par le CFONB) seraient définitivement arrêtés à compter de fin juin 2013. Donc d'ici là tous les formats de fichiers cohabitent.
Registered member
26 messages
Posted on March, 30 2011 - 1:25 PM
Bonjour Grégo,

mon code ne fonctionne que si je supprime <description = "pain.001.001.03">
donc il y a quelque chose qui ne respecte pas la validité de mon XSD
penses_tu que ca un rapport avec l'élement Schema de mon xsd suivant?

<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xs="http://www.w3.org/2001/XMLSchema"

excuse ça fait une matiné que je suis dessus mais je ne trouve pas
merci de ton aide
Registered member
26 messages
Posted on March, 31 2011 - 5:34 PM
bonjour,
j'ai un petit soucis avec le format de la date "ISODateTime "de mon fichier xml

voila mon code:
virmtXML.Document.CstmrCdtTrfInitn.GrpHdr.CreDtTm="2011-03-31T15:29:00.000Z"

voici l'erreur générer lors de la compil:

La valeur '2011-00-03T31:00:05.029' ne respecte pas le schéma XSD.

de l'aide svp, je cherche en attendant, un petit coup de main est le bienvenue-:)
Registered member
26 messages
Posted on April, 01 2011 - 3:36 PM
je cherche à valider mon fichier XML
mais j'ai un message d'erreur sur la line de code:

virmtXML.Document."pain.001.001.02".GrpHdr.MsgId..Texte="ABC/06/09/28/CCT001"

l'erreur est :"L'expression n'est pas évaluable
merci de votre aide
Posted on June, 10 2011 - 6:40 PM
Bonjour,

J'ai utilisé ce programme allemand pour valider mon fichier Xml.

http://subsembly.com/de/sepa-api.html

Cordialement Denis
Posted on August, 19 2011 - 4:13 PM
Bonjour,

Pouvez vous m'indiquer l'endroit où vous avez trouver les XSD pain.008.001.02 et pain.001.001.03

S'il vous plait,

J'ai fait tous les sites présents sur google et impossible de trouver ces deux XSD.

Merci d'avance pour votre aide,

Cordialement,
Posted on March, 21 2013 - 3:15 PM
tu peux trouver le fichier xsd sur le site www.iso20022.org
Attention il faut chercher un peu
ou http://www.iso20022.org/documents/messages/pain/schemas/pain.008.001.02.zip
bien a toi
Posted on August, 19 2013 - 4:00 PM
Bonjour,
je suis actuellement en stage pour developper un module pour une application web de gestion de copropriétés afin de pouvoir émettre des virements et des prélèvements a l'aide de la norme SEPA (SCT, SDD).
le module doit permettre à chaque copropriété à partir de sa session de faire des pélèvements sur les comptes bancaires de ses propriétaires et émettre des virements sur les comptes bancaires de ses fournisseurs.
chaque copropriété possède son propre compte bancaire.
l'appli gère environ 1000 copropriétés.
Si quelqu'un s'est déja confronté a ce genre de problématique, une aide est la bienvenue.
je connait la procédure à suivre pour mettre en place la norme SEPA avce une banque mais ce que je cherche, est un moyen s'il existe, afin d'éviter de traiter chaque banque de chaque copropriété.

merci d'avance.
cordialement,
Posted on November, 13 2013 - 9:25 AM
Mass-generation.com
Posted on September, 27 2018 - 9:56 AM
Bonjour,
Les bibliothèques des fichiers XML ISO2022 sont disponible dans la base SWIFT.
Vous y trouverez:
Le descriptif de chaque type de fichier (SCT SEPA, hors SEPA, SDD, des exemples ..)
Bien évidemment il faut être abonné chez SWIFT
Sinon, la description des fichiers et des valeurs attendues dans les balises sont disponibles gratuitement dans les services télématiques de votre banque.
Il faut savait que:
le format XMLpain_001_001_03 pour les SCT peut être utilisé pour les opérations purement SEPA (en euro dans les pays de la zone SEPA) mais également à l'international (USA, CANADA,ASIE PACIFIQUE, RUSSIE..) en respectant quelques règles spécifiques pour chaque pays (valeurs à renseigner dans quelques balises).
En fait c'est votre banque qui traduira ce message par un message interbancaire SWIFT MT101.

==> donc le XMLpain_001_001_03 peut remplacer avantageusement les CFONB160 et le CFONB320 anciens formats Franco Français.

pour assurer le succès de vos instructions bancaires hors zone SEPA, il faut prévoir de renseigner :
-nom et adresse du bénéficiaire
-nom et adresse de la banque du bénéficiaire
-Code SWIFT de la banque intermédiaire éventuelle, (les banques du continent Américain n'adhérant généralement pas à la messagerie SWIFT)
-Code local de l'opération pour le contrôle des flux.

Ce besoin de développer un générateur de fichiers ISO20022XML étant général à beaucoup d'entre nous, je suis preneur de vos avancées sur le sujet. :)
Posted on December, 02 2021 - 3:16 PM
Bonjour.
Je remonte le sujet après avoir lu que beaucoup de développeurs finissent par développer leur propre système de génération de fichier XML pour les prélèvement SEPA en banque.
Et bien j'en suis.

Avez-vous un code concret fonctionnel pour des exemples ?
Merci
Banque CM