Reportez-vous à la documentation de Mise en oeuvre
Présentation
Un modèle d'import export s'identifie par un code alphanumérique. Outre un intitulé, on définit, sur deux onglets, les caractéristiques techniques du modèle.
Fermer
Champs
Les champs suivants sont présents dans cet onglet :
| Code qui identifie le modèle d'import-export. |
| Permet de définir un intitulé associé à chaque fiche. |
| Cette case à cocher permet d'activer ou de désactiver la fiche courante sans pour autant perdre son contenu. Une fiche désactivée ne peut pas être utilisée (par appel de son code) dans d'autres fiches (documents, paramétrages...), ou lors de traitements de masse. Les habilitations sur une fonction donnée peuvent interdire la création d'une fiche active. Dans ce cas, la case est désactivée par défaut, et est modifiable uniquement par un utilisateur autorisé, ou via un circuit de signature défini par Workflow. |
Fermer
Présentation
Cet onglet définit les caractéristiques générales du modèle, c'est-à-dire :
Fermer
Champs
Les champs suivants sont présents dans cet onglet :
Général
| Définit le code de l'objet a importer ou exporter. Dans le cas de l'export, cette zone est facultative; le nom de la table principale à exporter est indiqué dans le bloc des identificateurs. |
| Permet d'initialiser le contexte (notamment si un même objet est utilisé par plusieurs fonctions) et de vérifier les droits d'accès. En effet, les utilisateurs doivent avoir les droits d'accès idoines à la fonction pour pouvoir se servir du modèle. Ce champ est obligatoire. |
| Module d'appartenance du paramétrage. Ce champ permet de renseigner si l'écran doit être créé dans la base de données du dossier. Il l'est si le module auquel l'écran est rattaché est actif pour le dossier. |
| Un code activité permet :
Ainsi, si le code activité est non actif, l'élément marqué ne sera pas utilisable, et le code associé (s'il y en a) ne sera pas généré ni activable. |
| Ce code d'accès permet de restreindre l'accès à la fiche courante à certains utilisateurs. Le droit d'exécution attaché à un code utilisateur est traité de façon particulière dans le cas des modèles d'import-export : si un utilisateur n'a pas le droit d'exécution, il ne pourra pas utiliser le modèles pour importer ou exporter des données. |
| Définit le traitement standard dans lequel que se trouvent les étiquettes des actions qui sont appelées dans les traitements d'import-export. Ces traitements permettent de faire des initialisations, des contrôles complémentaires, et des mises à jour si nécessaire. On trouvera en annexe technique la structure d'un tel programme. Il est à noter que des traitements standards nommés en général IMPXXX, XXX étant le code de l'import, sont fournis pour un certain nombre d'imports. Pour plus d'information sur ces actions, cf. la documentation annexe correspondante. |
| Définit le traitement spécifique, qui est appelé avant le traitement standard, et qui permet de réaliser les mêmes actions en désactivant si nécessaire ce que fait le traitement standard. Les actions possibles sont notamment des initialisations, des contrôles complémentaires, et des mises à jour si nécessaire. Pour plus d'information sur ces actions, cf. la documentation annexe correspondante. |
Structure
| Définit la structure utilisée pour gérer les données dans le fichier à importer ou exporter. Pour plus d'informations, cf. le paragraphe correspondant. |
| Définit le séparateur entre deux champs. Pour saisir un caractère non imprimable, il faut entrer un '\' (barre de fraction inversée) suivi de 3 chiffres représentant le code ascii du caractère en base décimale. |
| Définit le séparateur entre deux enregistrements (groupes de données). Pour saisir un caractère non imprimable, il faut entrer un '\' (barre de fraction inversée) suivi de 3 chiffres représentant le code ascii du caractère en base décimale. Souvent, on utilise :
|
| Le délimiteur de champ (généralement le caractère " ) est ajouté en première et dernière position des champs de type alphanumérique. Les champs numériques et dates ne sont pas concernés par ce délimiteur. Il s'agit fréquemment d'un des caractères suivants :
|
| Définit le format des caractères utilisés dans le fichier :
|
Export
| Si cette zone est cochée, il sera possible d'utiliser ce modèle en Export de données. |
| Ce champ, uniquement affiché, stocke la valeur du numéro de chrono lorsque le dernier export a eu lieu. Ceci permet, lorsqu'on réalise des exports chronologiques, de ne traiter que ce qui a été modifié depuis que le dernier export a eu lieu. |
Transcodage
| Lorsqu'on utilise le jeu de caractère ascii, il est possible d'utiliser différents formats standardisés :
|
| Définit le séparateur décimal utilisé pour les chiffres. Si cette zone est vide, on va considérer que le séparateur décimal est le '.' (point). |
| Définit la manière dont sont codés les champs de type date (ordre et nombre de caractères pour l'année). Seul l'ordre des chiffres et le nombre de caractères de l'année peut ainsi être spécifié. A l'import, d'éventuels caractères de séparation entre champs sont filtrés; ainsi des dates sous la forme 29-05-59, ou 09/04/1991 sont décodés correctement. Le sous-programme de décodage tient compte de la variable adxdcs du moteur, renseignée par le paramètre DCS se trouvant dans les paramètres généraux pour définir la manière dont est décodée une année sur deux chiffres. DCS représente l'année « pivot » qui définit le changement de siècle. Par exemple, si DCS vaut 1940, toute année sur deux chiffres inférieure ou égale à 40 sera considérée comme faisant partie du vingt-et-unième siècle, et toute année supérieure sera considérée comme faisant partie du vingtième siècle. On sera ainsi capable d'exprimer les années entre 1940 et 2039 sur deux chiffres. Le format AAAA-MM-JJ est réservé pour les exports de type XML. |
| Intitulé associé au code précédent. |
| Les champs de type "menu local" sont stockés sous forme d'un nombre représentant leur rang dans la table. Selon la valeur de cette zone le modèle va exporter (ou s'attendre à trouver en import) :
Compte tenu du fait que les intitulés du menu local ne sont que des libellés utilisés en affichage, la valeur stockée dans la base étant le rang dans la table, il est parfaitement possible de changer l'intitulé des menus locaux le temps d'un import, pour que l'algorithme de reconnaissance fonctionne correctement. Attention toutefois, le fait de changer des intitulés de menus locaux ne peut être fait qu'en mode mono-utilisateur, aussi ceci n'est pas envisageable dans des transferts réguliers ou automatisés. |
| Intitulé associé au code précédent. |
Import
| Si cette zone est cochée, il sera possible d'utiliser ce modèle en Importation de données. |
| Permet d'autoriser la modification d'un enregistrement existant pendant l'import |
| Lorsque cette case est cochée, l'import de données alimente le sas d'import-export avec les données erronées. Le fait d'alimenter le sas n'empêche pas par ailleurs de créer un fichier d'erreur. |
| Signale que l'intégration des données dans la base se fait en utilisant des actions spécifiques définies dans le traitement dont le nom est donné dans la rubrique Traitement import. Ce traitement spécifique possède un nombre restreint de points d'entrée et nécessite donc d'écrire un traitement incluant tous les contrôles que l'on, souhaite faire. Son intérêt réside dans le fait qu'on peut ainsi regrouper des contrôles afin d'optimiser le programme d'import. La structure des traitements d'imports spécifique est décrite en annexe.On devra notamment y trouver les actions suivantes :
|
| Si cette case n'est pas cochée, les événements de workflow relatifs aux opérations élémentaires (création, modification en gestion d'objet) ne sont plus appelés. Ainsi, si on lance des imports aboutissant à des mises à jour en masse, on évite le déclenchement d'une multitude d'événements de ce type, ce qui peut être préjudiciable aux performances de l'import et provoquer l'envoi de messages en masse. Pour autant, les événements de workflow relatifs au déclenchement de l'import ne sont pas désactivés. |
Tableau Identificateurs
|   |
| Définit le niveau d'imbrication du groupe. Le niveau 1 est le niveau principal, un niveau N+1 définit un sous-détail du niveau N qui le précède. |
| Identifie le groupe par un code de 5 caractères maximum, code qui sera repris dans le tableau des champs de l'onglet suivant, et dans le fichier lui-même, comme en-tête de groupe. |
| Ce tableau des indicateurs définit la structure des groupes d'enregistrements. Cf le paragraphe correspondant. |
| Définit la clé de la table liée utilisée pour accéder au détail des enregistrement du groupe, à partir de valeurs de champs des tables de niveau supérieur utilisées dans l'expression de lien. |
| Définit l'expression de lien, c'est-à-dire une suite de valeurs, séparées par un point-virgule, qui donne les valeurs de clé qui lient la table de détail à l'enregistrement d'en-tête. |
| Dans le cas d'un type de fichier de longueur fixe, il faut indiquer le nombre de caractères de chaque enregistrement. |
Fermer
Présentation
Dans ce tableau, on définit les différents champs à importer, organisés en groupes identifiés par la colonne Code, dans laquelle on retrouve l'un des codes définis dans le tableau des indicateurs du premier onglet (le champ peut rester vide si aucune table n'a été définie).
Cet onglet contient le tableau définissant la structure détaillée des groupes existants dans le premier onglet. Il est à noter :
Fermer
Champs
Les champs suivants sont présents dans cet onglet :
Tableau Champs
|   | |
| Cette zone, n'est saisie que si le tableau des identificateurs de groupes de l'onglet précédent n'est pas vide. Elle permet de rattacher l'information à exporter ou importer à un groupe de données. | |
| Définit la table de la base de données où est définie la donnée à importer ou exporter. Il est à noter que :
| |
| Permet d'indiquer le nom de la zone de la table à importer ou exporter. Différentes syntaxes sont ici possibles pour définir les informations à extraire ou intégrer :
| |
| Indiquer un commentaire pour faciliter lacompréhension du paramètrage. | |
| Trois choix sont possibles dans cette zone :
| |
| Cette colonne n'est utile que dans le cas d'un format en longueur fixe ; dans ce cas, la position donne le décalage par rapport au début du bloc ou de l'enregistrement ( positions données en nombre d'octets, 1 signifiant que l'on se trouve au début du bloc ou de l'enregistrement). Les positions doivent être compatibles avec la taille de l'enregistrement. | |
| Cette zone détermine la longueurdu champ sur le fichier séquentiel. | |
| Cette colonne n'est saisie que si le format est en longueur fixe. Pour les montants numériques, le format saisi est défini sous la forme nnn ou nnn.mmm, sachant que ces chiffres peuvent être préfixés par < ou > (cadrage gauche ou droite en complétant avec des zéros, le formattage droit étant utilisé par défaut), préfixés ou post-fixés par le caractère + (signe obligatoire avant/après le chiffre), et préfixé par le caractère * (le séparateur décimal ne doit pas apparaître). Le tableau ci-dessous montre des exemples, de formattage pour un montant donné (les espaces sont ici remplacés par des # ) :
Pour un format alphanumérique, les seules directives de formatage possibles sont < ou > (cadrage à droite ou à gauche, sachant que les chaînes de caractères sont complétées par des espaces). | |
| Ce champ est utilisé lorsqu'on réalise des imports/exports au format XML. En effet, lorsqu'un fichier XML est créée, on a besoin de davantage d'informations, notamment pour pouvoir créer un fichier XSD décrivant la structure du fichier XML et ainsi contrôler sa validité avec des outils de vérification de syntaxe intégrés aux différents logiciels ETL. Ce champ définit si un modèle doit être associé à la description faite dans la description XSD. Si ce champ est renseigné, le fichier XSD contiendra une spécification de type :
On retrouvera dans des tutoriels en ligne (tel celui-ci) les syntaxes qui peuvent être utilisées pour les patterns. | |
| Ce champ est utilisé lorsqu'on réalise des imports/exports au format XML. En effet, lorsqu'un fichier XML est créée, on a besoin de davantage d'informations, notamment pour pouvoir créer un fichier XSD décrivant la structure du fichier XML et ainsi contrôler sa validité avec des outils de vérification de syntaxe intégrés aux différents logiciels ETL. Ce champ définit le code de la balise décrivant le champ exporté dans le modèle, telle qu'elle apparaîtra dans le fichier XML. | |
| Ce champ est utilisé lorsqu'on réalise des imports/exports au format XML. En effet, lorsqu'un fichier XML est créée, on a besoin de davantage d'informations, notamment pour pouvoir créer un fichier XSD décrivant la structure du fichier XML et ainsi contrôler sa validité avec des outils de vérification de syntaxe intégrés aux différents logiciels ETL. Ce champ définit si le champ est obligatoire ou non. Si la valeur de ce champ est égal à Oui, le fichier XSL contiendra une spécification de type minOccurs="1" | |
| Ce numéro, s'il existe, fait référence à une table de transcodage utilisable pour transcoder le champ lu et le rendre conforme au format attendu. |
Génération du fichier
|   |
| Permet de définir le chemin d'un fichier de données par défaut qui sera proposé lors du lancement de l'import ou de l'export (et utilisé de façon automatique en cas de lancement d'un enchaînement d'import ou d'export). Si le chemin fichier est relatif, le répertoire de base est supposé être le répertoire de base d'installation du progiciel. Le chemin peut intégrer le caractère #. Si c'est le cas, il y aura gestion des numéros séquentiels :
Par exemple, si le chrono export est égal à 156, /u/tmp/fic# permet de générer le fichier /u/tmp/fic00156. |
| Permet d'imposer un répertoire final dans lequel le fichier va être transféré après avoir été importé. En l'absence de valeur, on utilise le répertoire donné dans les paramètres généraux de l'import/export. |
Fermer
Icône Actions
Champs
Les champs suivants sont présents dans cette fenêtre :
Bloc numéro 1
| Définit la table dont on veut sélectionner les champs à insérer. |
|   |
| On définit dans cette colonne le nom de zone de la table telle qu'elle sera définie dans le progiciel (un champ de nom NOMCHAMP défini dans une table d'abréviation ABV pourra être accédé par la syntaxe [F:ABV]NOMCHAMP ). Pour les champs créés en spécifique, le nom de zone doit commencer par X_, Y_ ou Z_. Dans la base de données, chaque zone correspond à un ou plusieurs champs (selon que la zone est ou non dimensionnée : les champs correspondants s'appellent NOMCHAMP_0, NOMCHAMP_1, NOMCHAMP_2…) Pour saisir et afficher le champ correspondant dans un écran, on lui donnera le même nom dans le dictionnaire des écrans, et on utilisera simultanément l'écran et la table en gestion d'objet. |
| Intitulé associé au code précédent. |
| Si le champ est égal à Oui, la zone est insérée dans le tableau principal. Par défaut, les champs non présents dans le tableau principal sont proposés à Oui, et ceux présents sans le tableau principal sont proposés à Non. |
Fermer
Permet d'insérer globalement un ensemble de champs issus d'une table dans un modèle, à partir de la ligne courante du tableau.
Cette fonction n'est présente que pour les modèles avec un type de fichier en longueur fixe. Elle permet de recalculer la position de chacun des champs du groupe de données courant (ayant le même l'indicateur de la ligne). Le recalcul se fait en partant de la position 1 sur le premier champ du groupe, et en y ajoutant la longueur de chaque champ pour obtenir la position du champ suivant.
Fermer
Par défaut, les états suivants sont associés à la fonction :
PRTSCR : Impression écran
Mais ceci peut être modifié par paramétrage.
Les champs suivants sont présents dans la fenêtre ouverte par ce bouton : Bloc numéro 1
Bloc numéro 2
Fermer Ce bouton permet de recopier la définition de la fiche depuis ou vers un autre dossier. |
Les champs suivants sont présents dans la fenêtre ouverte par ce bouton : Tableau Bornes
Tableau Critères
Fermer Donne accès à un écran dans lequel on peut définir des valeurs par défaut de critères pour filtrer les données exportées. Lorsqu'on lance l'export, les critères sont affichés et peuvent être modifiés ; lorsqu'on lance un enchaînement d'exports, les critères sont automatiquement appliqués sans saisie, sur chacun des modèles pour lesquels ils ont été définis. |
Cette fonction, accessible lorsque le format d'export est XML, permet de produire un fichier XSD décrivant la structure du fichier créé par le modèle. Ce fichier est créé dans le sous-répertoire suivant du répertoire où se trouvent les dossiers sur le serveur d'application :
X3_PUB/DOSSIER/GEN/ALL/WEBS (où DOSSIER est le nom du dossier courant)
Le nom de ce fichier est WWIMPMODELE.xsd (MODELE étant le nom du modèle d'import-export).
Ce fichier XSD définit le format des données afin de permettre un contrôle préliminaire de validité syntaxique par des outils de type ETL. La syntaxe obtenue intègre (outre des en-têtes standard) des lignes du type :
<xs:complexType name="ADI">
<xs:sequence>
<xs:element name="ADI_NUMTAB" type="ADI_NUMTAB" minOccurs="1" maxOccurs="1"/>
<xs:element name="ADI_CODE" type="ADI_CODE" minOccurs="0" maxOccurs="1"/>
...
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ADI_NUMTAB">
<xs:restriction base="xs:int">
<xs:minExclusive value="-32768"/>
<xs:maxExclusive value="32767"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ADI_CODE">
<xs:restriction base="xs:string"/>
<xs:maxLength value="5"/>
<xs:pattern value="{[A-Z]}*"/>
</xs:restriction>
</xs:simpleType>
On voit ici des exemples de champs de type numérique, puis alphabétique. Quelques commentaires à propos de la façon dont est générée cette syntaxe :
Cette fonction permet d'accéder à la gestion de la documentation, sur le premier paragraphe de la documentation (si elle existe) associé à la fiche courante.
Cette fonction permet d'accéder à la gestion des liens. Elle permet de définir des liens entre la fiche courante et d'autres fiches (par exemple des liens entre fonctions et paramètres). Ces liens, purement documentaires, permettent d'alimenter la mécanique de génération des squelettes de documentation.
Ce menu permet de lancer une génération de documentation. La génération peut se lancer également à partir du bouton [Génération] dans le bas de la fenêtre.
Trois types de génération peuvent être lancées, séparément ou simultanément :
Les bornes proposées par défaut tiennent compte de la fiche en cours, mais elles peuvent être modifiées au lancement.
Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie :
L'objet n'a pas été défini comme importable (case à cocher Import non cochée dans l'onglet Divers).
On saisit deux fois le même code associé à des groupes différents.
Ce message est affiché lorsqu'on exprime un lien dans le tableau des groupes en utilisant un champ ZZZ qui n'est référencé dans aucune des tables (XXXXX, YYYYY, ...) définies dans les lignes précédentes.
Dans le tableau des champs, pour le groupe G, on n'a pas de ligne indiquant l'endroit où se trouve l'identificateur de groupe (syntaxe /).
On a tenté, dans le lignes décrivant les champs, d'insérer un champ issu d'une table qui ne peut pas être liée à la table principale du groupe.
La longueur définie par le format numérique (mmm) est différente de la longueur du champ définie dans la colonne précédente (nnn).
Aucun test d'existence de répertoire n'est fait sur le chemin défini par défaut dans le modèle (le répertoire peut très bien ne pas encore exister : ce contrôle ne sera fait qu'au lancement de l'import ou de l'export)
Lorsque l'on paramètre un modèle d'import, il faut avoir à l'esprit ces quelques principes :
Autant l'export de données est toujours possible quel que soit l'objet, autant l'import ne l'est pas toujours. Les mécanismes automatiques de décodage des flux de données et l'appel des contrôles liés à l'objet automatise grandement l'import, mais ne suffit pas pour permettre un import automatique sur les objets complexes. Ainsi, tout objet n'est pas importable.
Dans le dossier de référence, un modèle d'import (modifiable) est fourni pour chaque objet dont l'import est possible. Il peut néanmoins y avoir des spécificités liées à cet import : ceci est défini dans l'aide en ligne associée au modèle d'imports pour lesquels des particularités existent (cette aide est accessible par Alt + F1 lorsque le modèle est chargé).
On trouvera la liste des aides correspondantes (classées par module) à partir du lien suivant.
Le choix de la structure des fichiers à importer ou exporter dépend des possibilités d'extraction ou d'intégration que l'on trouve dans le progiciel avec lequel on veut dialoguer.
Dans tous les cas, les données doivent être organisées en groupes logiques de lignes, qui peuvent être de types différents (en-tête, détail, sous-détail, par exemple), ou d'un type unique. L'organisation de ces groupes est définie dans le tableau des identificateurs situé sur le premier onglet du modèle.
Chaque groupe est associé à une des tables de la base de données (la première est forcément la table principale de l'objet, les suivantes sont définies par des liens à partir des précédentes). Lorsqu'on utilise le modèle pour réaliser un export d'objet, il est possible de définir des liens avec n'importe quelle table de la base sur laquelle un lien théorique existe, afin d'extraire des données liées. Par contre, pour un modèle d'import, seules les tables mise à jour par l'objet sont effectivement utilisables : il est par exemple vain d'espérer importer simultanément la commande et le client, l'objet commande n'ayant pas été prévu pour cela.
Il est important de noter que ce tableau peut être vide si une structure de données à importer ou exporter est basée sur le parcours de la seule table principale (dans ce cas, la colonne Code de la page suivante restera vide). Il n'est pas non plus nécessaire de faire plusieurs groupes de données si plusieurs tables liées doivent être exportées simultanément. En effet, si on fait apparaître, dans un même groupe de données, des zones extraites de différentes tables, le traitement d'export va tenter de résoudre les liens entre tables en utilisant la structure des liens décrite dans le dictionnaire. Ceci suppose bien évidemment que l'on n'ait qu'un seul lien possible de la table principale du groupe vers la table décrite (sinon, le premier lien rencontré va être utilisé, et il se peut que ce ne soit pas le bon).
Il y a un cas particulier où il est nécessaire de créer au moins un groupe : si le modèle est défini en longueur fixe (dans ce cas, il est en effet nécessaire que l'on définisse quelque part une longueur d'enregistrement, et ceci se fait dans le tableau des groupes). Si on ne désire pas que l'indicateur de groupe soit obligatoirement présent dans la liste des champs, il suffit de définir ce groupe avec un code vide : seul un groupe pourra alors être défini, et la colonne Code ne sera plus saisie dans l'onglet suivant.
Le tableau des identificateurs n'est accessible en saisie que si l'objet est de type simple. Si on définit des identificateurs de groupe, on associe à chaque identificateur un niveau, une table, et des conditions de liens qui permettent relier les lignes entre elles.
Le niveau vaut 1 pour la table principale à importer ou exporter (qui n'est pas saisie dans le tableau, mais déduite de l'objet associé au modèle).
Pour toute table liée à une table précédente, le niveau est égal au niveau de la table précédente si un lien biunivoque existe entre les deux tables, et vaut ce niveau plus un si plusieurs enregistrements sont liés à un enregistrement de la table précédente. Le lien est caractérisé par la clé de la table destination à lire, et par l'expression des segments de clés dont la valeur définit les lignes liées.
Imaginons par exemple que l'on définisse des groupes selon l'exemple ci-dessous :
Niveau | Groupe |
1 | A |
2 | B |
2 | C |
3 | D |
On obtiendra alors l'imbrication suivante d'informations :
Groupe A enregistrement 1 |
|
|
| Groupe B enregistrement 1.1 |
|
| Groupe B enregistrement 1.2 |
|
| ... |
|
| Groupe B enregistrement 1.N |
|
| Groupe C enregistrement 1.1 |
|
|
| Groupe D enregistrement 1.1.1 |
|
| Groupe D enregistrement 1.1.2 |
|
| ... |
|
| Groupe D enregistrement 1.1.M |
| Groupe C enregistrement 1.2 |
|
|
| Groupe D enregistrement 1.2.1 |
|
| ... |
| Groupe C enregistrement 1.Q |
|
|
| Groupe D enregistrement 1.Q.1 |
|
| ... |
|
| Groupe D enregistrement 1.Q.R |
Groupe A enregistrement 2 |
|
|
| Groupe B enregistrement 2.1 |
|
| ... |
|
Pour illustrer ce paramétrage, on peut prendre l'exemple d'un modèle (d'export uniquement) mettant en jeu les sociétés et sites :
Le tableau ci-dessous résume le tableau des Identificateurs tels qu'il serait saisi :
Niveau | Code | Table | Clé | Lien | |
1 | CPY | COMPANY | CPY0 |
| enregistrement principal du groupe |
1 | CUR | TABCUR | TCU0 | [CPY]RGCCUR | 1 enregistrement lié |
2 | FCY | FACILITY | FCY1 | [CPY]CPY | N enregistrements liés |
2 | ADP | ADOVAL | ADW0 | [CPY]CPY | M enregistrements liés |
Les formats de fichier sont déterminés par le type, qui peut prendre l'une des valeurs ci dessous.
Il s'agit d'un fichier en longueur variable, dont tous les champs sont séparés par un séparateur (le séparateur de champ noté SC).
Champ 1 enregistrement 1 | SC | Champ 2 enregistrement 1 | SC | ... | Champ N enregistrement 1 | SC |
Champ 1 enregistrement 2 | SC | Champ 2 enregistrement 2 | SC | ... | Champ N enregistrement 2 | SC |
Il s'agit d'un fichier en longueur variable, dont tous les champs sont séparés par un séparateur (le séparateur de champ). Lorsqu'un enregistrement est terminé, un autre séparateur (le séparateur de ligne noté SL) vient remplacer le séparateur de champ.
Champ 1 enregistrement 1 | SC | Champ 2 enregistrement 1 | SC | ... | Champ N enregistrement 1 | SL |
Champ 1 enregistrement 2 | SC | Champ 2 enregistrement 2 | SC | ... | Champ N enregistrement 2 | SL |
Il s'agit d'un fichier en longueur variable de même type que le fichier 'séparateur d'enregistrement' (deux séparateurs distincts). Mais en plus, les champs de type chaîne de caractères sont encadrés par un délimiteur de champ (noté DC, dans l'exemple ci-dessous, le deuxième champ est de type alphanumérique).
Champ 1 enregistrement 1 | SC | DC | Champ 2 enregistrement 1 | DC | SC | ... | Champ N enregistrement 1 | SL |
Champ 1 enregistrement 2 | SC | DC | Champ 2 enregistrement 2 | DC | SC | ... | Champ N enregistrement 2 | SL |
Il s'agit d'un fichier dont les champs sont définis en longueur fixe, sans séparateur de champ. La longueur totale de l'enregistrement doit alors être donnée en paramètre. Il peut y avoir un séparateur de ligne. Si c'est le cas, sa longueur ne doit pas être décomptée dans la longueur de l'enregistrement.
On définit de même la longueur de chaque groupe lorsque des groupes de données sont définis dans le tableau des indicateurs.
Chp 1 enreg 1 | < ---------Champ 2 enregistrement 1------------ > | ... | < --Champ N enregistrement 1-- > | SL |
Chp 1 enreg 2 | < ---------Champ 2 enregistrement 2------------ > | ... | < --Champ N enregistrement 2-- > | SL |
Il s'agit d'un format où les données sont définies dans des balises au format XML.
A l'export, on retrouve un ensemble d'informations important liées à la fois au modèle et à l'extraction. Le menu Options / Export schéma d'un modèle permet par ailleurs d'exporter un fichier XSD décrivant la structure du fichier créé par le modèle.
A l'import, les données utiles sont plus restreintes, on peut donc limiter celles-ci dans le fichier que l'on cherche à importer.
Ce format est le format variable 'Séparateur d'enregistrement' ou le format délimité (si le champ Délimiteur de champ est renseigné).
Si dans le modèle d'import/export plusieurs niveaux sont définis, une seule ligne est générée.
Indicateur niveau 1 | Champ 1 enreg 1 | SC | DC | Champ 2 enreg 1 | DC | SC | ... | Indicateur niveau 2 | Champ 1 enreg 2
| SC | DC | Champ 2 enreg 2 | SL |
Lors de l'import, l'utilisation de ce type de format a pour conséquence un regroupement de toutes les lignes de détail d'un niveau donné sous le même en-tête dès lors que tous les champs répétés dans l'en-tête sont strictement identiques.
Ce format est le même format que le format 'A plat' plus une ligne entête supplémentaire correspondant aux intitulés des champs du modèle.
Ce format est notamment utilisé en Allemagne, pour les fichiers de type GDPDU.
On trouvera des informations complémentaires dans les annexes techniques suivantes :