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

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

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

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:

  • insert pour insérer une donnée

  • update pour modifier une donnée

  • clear pour supprimer une donnée

<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

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