Import-export XML de données
Type de dataset | Import-export de données XML |
---|---|
DatasetType (5) | IMPEXPXML |
Nature de fichier joint | DATAHUB_IMPEXPXML |
Code chemin | DATAHUB_JOINT_IMPEXPXML |
Fichier pivot | Simple, le pivot contient uniquement le nom du fichier compagnon |
Fichier compagnon | Oui, format XML, qui indique les actions (import, export), les tables concernées, les champs et les types |
Fichier trace | Oui pour le résultat de l’import ou export |
IMPORTANT : l’import/export par Datahub se repose sur les modules d’import/export objet métier (xxTMCHKyyy5000). Seules les entités gérées par ailleurs avec un import/export standard sont éligibles du Datahub xml
Consultez l page objets métier pour plus de détails Objets métiers (V10.3)
Détails du fichier pivot
Le tableau suivant indique le format de balisage XML attendu
Les types traités sont :
valeurChaine indique une valeur de type chaîne de caractères alphanumériques
valeurDate indique une valeur de type date au format YYYYMMDD
valeurNum indique une valeur numérique sans séparateur de milliers
La colonne indique si la balise et sa valeur sont obligatoires ou non. 'Rec' signifie 'Recommandé' pour un traitement total automatique
Balise XML | Obligatoire | Observation |
---|---|---|
<?xml version="1.0" encoding="UTF-8"?> | Oui | Indique le format d'encodage des chaînes de caractères |
<DataHub DataSetType=valeurChaine> | Oui | L'attribut DATASETTYPE indique le type de pivot. Valeur: IMPEXPXML pour indiquer qu'il s'agit d’import/export de données XML |
<Source>valeurChaine</Source> | Rec | Permet d’identifier l’émetteur du pivot dans le dataset |
<Systeme>valeurChaine</Systeme> | Rec | Permet d’identifier le système émetteur dans le dataset |
<Dossier>valeurChaine</Dossier> | Oui | Code de dossier Divalto |
<Etablissement>valeurChaine</Etablissement> | Rec | Code d’établissement Divalto, si gestion du dossier par établissement |
<SwTicketNo>0</SwTicketNo> | Rec | Numéro de ticket de demande. La présence de la balise indique qu’on veut avoir un ticket en retour |
<FichierPrincipal>valeurChaine</FichierPrincipal> | Oui | Nom du fichier principal. Ce fichier au format XML indique l’action (import ou export) et les données concernées (tables, champs) |
Détails du fichier principal
Cas d’une demande d’export. Une balise indique, pour la table demandée, si le type des données doit être indiqué en retour dans la réponse.
Balise XML | Obligatoire | Observation |
---|---|---|
<xml> | Oui | Balise d’ouverture |
<export table=”NomTable” datatype=true | Oui | NomTable indique le nom de la table dans la base de données ERP à exporter datatype=true indique que dans la réponse doit figurer le type de chaque donnée. Par défaut, datatype=false, donc aucune indication sur le typage de donnéé |
<fields name=”ALL”/> ou <fields name=”NomDuChamp1”></fields> <fields name=”NomDuChamp2”/> | Oui | Pour obtenir tous les champs, utiliser le mot clé ALL Sinon indiquer le nom du champ à exporter. (Peuvent être trouvés depuis le zoom par l’explorateur de champs Ctrl+D) |
</xml> | Oui | Balise de clôture |
Cas d’une demande d’import. C’est au demandeur de donner les champs de la clé primaire qui permettra de traiter correctement la demande
Balise XML | Obligatoire | Observation |
---|---|---|
<xml> | Oui | Balise d’ouverture |
<import table=”NomTable” action=”NomAction” | Oui | NomTable indique le nom de la table dans la base de données ERP à importer. NomAction indique l’action:
|
<field name=”NomDuChamp1”>ValeurChamp1</fields> <field name=”NomDuChamp2” value=ValeurChamp2/> | Oui | L’attribut name indique le NomDuChamp à importer La valeur peut être donnée soit par la balise (cf ValeurChamp1) soit par l’attribut value (cf ValeurChamp2). |
</xml> | Oui | Balise de clôture |
NOTE 1 : Ce sont les propriétés de l’objet métier associé à chaque table qui indique si la suppression est autorisée. Voir la page technique pour plus d’informations
Exemples de fichiers
Exemple de fichier pivot pour import de données (pivot_impxml.dhub)
<?xml version="1.0" encoding="UTF-8"?>
<DataHub DataSetType="IMPEXPXML">
<Source>EXTERNE</Source>
<Dossier>998</Dossier>
<Etablissement></Etablissement>
<FichierPrincipal>import.xml</FichierPrincipal>
</DataHub>
Exemple de fichier pivot pour export de données (pivot_expxml.dhub)
<?xml version="1.0" encoding="UTF-8"?>
<DataHub DataSetType="IMPEXPXML">
<Source>EXTERNE</Source>
<Dossier>998</Dossier>
<Etablissement></Etablissement>
<FichierPrincipal>export.xml</FichierPrincipal>
</DataHub>
Exemple de fichier principal pour un import de données (import.xml)
Cas d’une modification du nom d’un client
<XML>
<import table="CLI" action="update">
<field name="DOS" value="998"/>
<field name="TIERS" value="C0001010"/>
<field name="NOM" value="NOM MODIFIE PAR DATAHUB"/>
</import>
</XML>
Cas d’une modification de l’encours de deux clients
<XML>
<import table = "CLI" action= "update">
<field name = "TIERS" value= "C0000001"/>
<field name = "ENMAX(1)" value= "250000,00"/>
</import>
<import table = "CLI" action= "update">
<field name = "TIERS" value= "C0000003"/>
<field name = "ENMAX(1)" value= "250000,00"/>
</import>
</XML>
Cas d’une modification d’un table et de l’insertion d’une autre dans la même demande
<XML entity="import" provider="XYZ" >
<import table = "CLI" action= "insert">
<field name = "CE1" value= "3"/>
<field name = "CE2" value= "1"/>
<field name = "DOS" value= "998"/>
<field name = "TIERS" value= "CTEST016"/>
<field name = "CONF" value= ""/>
<field name = "VISA" value= "2"/>
<field name = "NOM" value= "NEBOUT TEST16"/>
<field name = "CPT" value= "CTEST016"/>
</import><import table = "T046" action= "update">
<field name="DOS" value = "998"/>
<field name="REF" value = "ALB0001"/>
<field name="TIERS" value ="C0000001"/>
<field name="ATTEST" value = "ATT"/>
<field name="EDITCOD(1,1)" value = "2"/>
</import>
</XML>
Exemple de fichier principal pour un export de données (export.xml)
Cas d’un export de tous les code opérations avec tous les champs
<XML>
<export table="T025">
<fields name="ALL"/>
</export>
</XML>
Cas d’un export de tous les clients avec les champs DOS, TIERS et TEL, avec indication du typage dans la réponse
<XML>
<export table="CLI" datatype=true>
<fields name="DOS"/>
<fields name="TIERS"/>
<fields name="TEL"/>
</export>
</XML>
Cas d’un export de plusieurs tables en une seule demande avec indication du typage dans la réponse pour l’un d’eux
<XML entity="export" provider="XYZ" >
<export table = "T020" >
<fields name="ALL"/>
</export>
<export table = "T046" >
<fields name="ALL"/>
</export>
<export table = "CLI" datatype="true" >
<fields name="DOS"/>
<fields name="TIERS"/>
<fields name="TEL"/>
<fields name="NOMABR"/>
<fields name="STAT"/>
</export>
</XML>
Exemple de réponse à une demande d’export avec typage de données
Numérotation automatique et import XML datahub (V10.11)
Menu: C&L / Datahub / Superviseurs Dataset imports/exports XML
Dans un fichier XML d’import de données par le datahub, on peut utiliser la numérotation automatique pour les champs éligibles.
Le mot clé à utiliser est VALEURAUTO, comme dans les différents imports Excel.
Exemple ci-dessous, on intègre un nouveau client avec affectation automatique du code.
Les champs éligibles à cette numérotation sont les suivants:
Table | Champ | Commentaire |
---|
Table | Champ | Commentaire |
---|---|---|
CLI | Tiers | Code client (et implicitement compte comptable CLI.Cpt) |
FOU | Tiers | Code fournisseur (et implicitement compte comptable FOU.Cpt) |
PRO | Tiers | Code prospect |
T1 | AdrCod | Code adresse |
T2 | Contact | Code contact |
T3 | RibCod | Code RIB |
PRJAP | Affaire | Numéro d’affaire |
PRJAV | Projet | Code projet avant-vente |