Format des données et des fichiers repris
Format des données
Les données dans la base Y2 sont échangées régulièrement de façon synchrone ou asynchrone avec plusieurs autres applications. Il est de la responsabilité des enseignes d’intégrer des informations cohérentes et compatibles avec les formats d’échange les plus courants. C’est pourquoi, en dehors des champs de type BLOB, les données texte intégrées dans les tables Y2 doivent être dans le jeu de caractère standard UNICODE, en évitant :
Les caractères de contrôle suivants :
U+0001–U+0008, U+000B–U+000C, U+000E–U+001F :
this includes most (not all) C0 control characters
U+007F–U+0084, U+0086–U+009F : this
includes a C0 control character, and all but one C1 control.
Les non-caractères suivants :
U+FDD0–U+FDEF
U+1FFFE–U+1FFFF, U+2FFFE–U+2FFFF, U+3FFFE–U+3FFFF,
U+4FFFE–U+4FFFF, U+5FFFE–U+5FFFF, U+6FFFE–U+6FFFF, U+7FFFE–U+7FFFF, U+8FFFE–U+8FFFF,
U+9FFFE–U+9FFFF, U+AFFFE–U+AFFFF, U+BFFFE–U+BFFFF, U+CFFFE–U+CFFFF, U+DFFFE–U+DFFFF,
U+EFFFE–U+EFFFF, U+FFFFE–U+FFFFF, U+10FFFE–U+10FFFF.
Les formats de fichiers supportés sont les suivants :
ANSI
Unicode UTF-16 LE (Little Endian) avec BOM
Unicode UTF-16 BE (Big Endian) avec BOM
Notez que seuls les fichiers au format DOS / Windows sont gérés (pas UNIX / Linux). Il est possible de reprendre des fichiers comportant ou non un en-tête de ligne.
Fichier avec en-tête de ligne
Le fichier doit être de type ASCII, colonné sans séparateur de champ, ou non colonné avec séparateur de champ. Un en-tête de ligne est un ensemble de 6 caractères fixes figurant impérativement au début de chaque ligne du fichier de données repris.
Attention !
L’absence ou la non-conformité de ces caractères attendus empêche donc le traitement du fichier de données importé.
La suite des informations figurant sur une ligne est paramétrable dans les formats d’importation fournis par défaut. Les 6 caractères fixes se décomposent de la façon suivante :
Les trois premiers caractères identifient le type de données présent sur la ligne. Ils sont indiqués dans le format d’importation utilisé.
Le quatrième caractère identifie le type de ligne. Historiquement C était utilisé pour création, et M pour modification, mais aucun contrôle n’est actuellement effectué sur ces caractères.
Le cinquième caractère identifie le numéro de séquence. Tous les enregistrements repris actuellement par les formats d’importation proposés par défaut sont mono-séquence, et la valeur de ce caractère doit par conséquent être 1.
Le sixième caractère doit être à blanc. Il est utilisé pour "toper" la ligne lors de l’importation du fichier de données :
Caractère à blanc : ligne non encore traitée
T : ligne en cours de traitement
I : ligne intégrée (c’est-à-dire présente dans la base de données)
R : ligne rejetée (c’est-à-dire absente de la base de données)
B : ligne en cours de traitement par le mode Bulk (méthode d’insertion en masse)
Le septième caractère d’une ligne correspond à la position 0 dans le format d’importation du fichier de données, et marque le début de la suite des enregistrements, hors en-tête.
Exemple de fichier avec en-tête de ligne :
PF1C1 001Jeans
PF1C1 002Robe
PF1C1 003Tailleur
PF1C1 004Manteau
Dans l’exemple ci-dessus :
L’identifiant de chaque ligne est PF1 : ce paramètre doit être indiqué dans le format d’importation par défaut.
C (4ème caractère) implique une création.
1 pour la seule et unique séquence par enregistrement.
Le fichier importé comporte comme informations :
le code famille à la position 0, longueur sur 3 caractères: 001, 002, 003...
le libellé à la position 3, longueur sur 35 caractères : Jeans, Robe, Tailleur...
Fichier sans en-tête de ligne
Le module est également capable d’intégrer des fichiers sans en-tête de ligne. Dans ce cas, les fichiers ne sont pas "topés" lors de leur traitement, et il est donc possible de les intégrer plusieurs fois sans manipulation particulière. La réintégration des fichiers traite alors à nouveau la totalité des lignes.
Exemple de fichier sans en-tête de ligne :
0013000000183441 1
0013000000137932 6
0013000000138649 34
0013000000138649 1
0013000000138649 31
Attention !
L’importation de fichiers de données sans en-tête de ligne est déconseillé pour les raisons suivantes :
Il ne fournit aucune information sur le traitement des lignes. Il est donc possible d’intégrer plusieurs fois un même fichier et doubler ainsi les enregistrements. De plus, la réintégration ne permet pas de traiter uniquement les informations rejetées lors du premier traitement.
Il est par ailleurs impossible de distinguer un fichier dont le contenu a été correctement intégré d’un autre dont le contenu a été totalement ou partiellement rejeté, ou non traité.
Enfin, il n’est pas possible d’avoir plusieurs formats d’importation pour une provenance.