Les formats d’importation

Dans cette partie, vous trouvez des explications sur comment importer des données en fonction du format de fichier d'import, par exemple pour des fichiers CSV, il y a des contraintes et des astuces à connaître afin d'éviter certains pièges.

 

 

Le format CSV :  

 

La méthode d'importation proposée par défaut (et conseillée) est basée sur le format EXCEL .CSV Dans ce mode particulier, quelques contraintes existent si vous souhaitez exploiter vos données avant de les importer, avec des applications comme EXCEL.

 

Pour être certain que vos données sont bien celles que vous souhaitez importer il est conseillé d'ouvrir le fichier à importer avec un outil autre que EXCEL, en effet EXCEL interprète les valeurs et les affiche autrement que leur contenu réel. Et si vous modifiez le fichier en l'enregistrant dans EXCEL ces données sont transformées.

Par exemple le code postal 06000 (code postal de Nice) va devenir 6000 après un passage sous EXCEL si on ne prend pas quelques précautions. Autre exemple, les nombres de plus de 11 chiffres sont sauvegardés au format mathématique, un SIRET "12001234112345" sera transformé en la valeur 1,20012E+13.

 

Vous devez donc vérifier vos données à importer en ouvrant le fichier avec le bloc notes Windows ou avec NotePad.

 

Vous devez vérifier que :

- les champs sont séparés par un point-virgule (;)

- chaque ligne se termine par un CR LF Carriage Return (code 13) et Line Feed (code 10)

- si un champ contient le caractère point-virgule (;), il doit être encapsulé par des guillemets (")

- les pré zéros sont bien présents par exemple sur les codes postaux

- les nombres avec beaucoup de chiffres sont corrects, par exemple les SIRET

- les champs ne sont pas décalés, ce qui peut arriver si des CR LF sont à l'intérieur de certaines données

- en toute fin du fichier il doit y avoir un CR LF supplémentaire

 

Par contre les valeurs numériques utilisant le point comme séparateur de décimales sont acceptées, il n'y a pas besoin de les modifier. Ou bien si vouas avez des guillemets encapsulant des données, vous pouvez les laisser.

 

Exemples de champs provenant d'un fichier EXCEL et qui vont être importés de façon incorrecte :

 

Valeur entrée sous EXCEL Ce que EXCEL va enregistrer Ce qui sera importé
06000 6000 6000
12001234112345 1,20012E+13 1,20012E+13

 

 

 

Astuce pour contourner ces contraintes liées à EXCEL

 

Si vos données proviennent d'un fichier CSV provenant d'un export de données d'un dossier oxygène ou d'une autre application, et que vous voulez les modifier dans EXCEL avant des les importer dans votre dossier oxygène, il existe une astuce simple qui permet de conserver les données complètes comme les pré zéros, les grands nombres, etc.

 

Renommer votre fichier .CSV en .TXT puis ouvez ce fichier avec EXCEL. Vous aurez alors dans EXCEL un assistant permettant de définir la structure du fichier, avec l'indication du séparateur des données, et pour chaque colonne vous pourrez choisir le format. Il faut alors choisir le format texte pour les données comme le SIRET, le code postal, etc

 

Exemple d'un fichier de 3 clients avec leur code postal et leur SIRET :

on voit dans le fichier ouvert avec le bloc notes Windows que l'on a les pré zéros sur le code postal, et que les SIRET sont corrects.

 

On renomme le fichier en .TXT, puis on ouvre EXCEL et on va chercher ce fichier, on a l'assistant dans EXCEL :

 

  

 

Il faut indiquer ici que le fichier a un en-tête et faire "suivant".

 

Dans cette 2ème phase il faut choisir le séparateur point virgule, et faire "suivant".

EXCEL affiche les données et on voit les colonnes, ce qui permet de vérifier que les données sont bien alignées. Si des colonnes sont décalées ici c'est qu'il y a des CR LF à l'intérieur des données, dans ce cas il faut corriger les données par un outil comme le bloc notes Windows, et recommencer cette procédure.

 

On a ensuite le dernier écran de l'assistant :

 

Dans cet écran on doit définir le format de chaque colonne, et c'est ici que l'on peut indiquer par exemple que la colonne code postal et celle du SIRET sont des textes et pas des nombres. Sélectionner une à une chaque colonne et choisir "texte". Par contre ce n'est pas la peine de changer les colonnes "standard" en texte, si le résultat affiché est correct. Ci-dessus on n'a pas modifié la colonne des codes client ni celle des noms.

 

Le fait de définir une colonne en format texte permet de conserver son contenu sans que EXCEL ne l'interprète. Et voici le résultat une fois le fichier ouvert :

 

 

On a bien dans EXCEL nos données avec les pré zéros des codes postaux, et les SIRET sont corrects. Les colonnes de type texte ont un petit triangle vert. On peut alors modifier des données, en utilisant les fonctions EXCEL, puis on va enregistrer le fichier modifié, au format CSV avec séparateur point virgule :

 

 

Et si on le ré-ouvre avec le bloc notes on pourra voir que nos données sont correctes, EXCEL ne les a pas transformées.

 

 

Cas des exports de données à partir des listes des écrans dans Oxygène

 

Dans les listes des écrans dans Oxygène vous avez une fonction d'export EXCEL des données de la liste en cours, avec ce bouton  Cette fonction est très pratique pour exporter des données existantes, afin de les modifier avant de les réimporter. Par exemple si on souhaite changer le code famille d'une liste de clients, ajouter des adresses mail manquantes, etc.

 

Or dans cet export le traitement crée un fichier temporaire de type CSV et il ouvre ce fichier avec EXCEL. Mais dès cette ouverture on a le problème sur les données numériques, exemple avec l'export de 3 clients :

 

On ne peut donc pas exploiter directement ce fichier et l'enregistrer car EXCEL a déjà transformé les données. Pour éviter cela il faut fermer EXCEL sans enregistrer, puis aller chercher le fichier temporaire, et procéder comme indiqué ci-dessus dans le chapitre "astuce".. 

Le fichier temporaire est dans un répertoire de votre PC que vous pouvez trouver dans les propriétés du fichier dans EXCEL. Par exemple il peut être dans le répertoire ci-dessous, ou bien un répertoire équivalent mais avec le code utilisateur Windows à la place de "public" :

 

 

Et voici le contenu de ce fichier quand on l'ouvre avec le bloc notes, on voit que les données sont correctes, encapsulées par des guillemets. Ces guillemets ne sont pas gênants, vous pouvez les laisser. 

 

 

Cas des exports de données à partir de l'outil "requêtes et exports" d'Oxygène

 

Il s'agit de l'outil d'impression et d'export de données qui se trouve au menu d'accueil dans Oxygène ici :

 

 

Dans le cas des exports effectués avec cet outil, le format CSV crée un fichier correct, dont voici un exemple :

 

 

On a bien les pré zéros et les SIRET complets, on peut donc utiliser ces fichiers avec EXCEL à condition de passer par l'astuce décrite ci-dessus afin qu'EXCEL conserve les données complètes.

 

 

Le format XML  

Ce format peut être utilisé pour l'import des pièces de ventes uniquement. Cf Description du fichier XML.    

Avec ce format les données sont encapsulées dans des balises, chaque balise a pour code le code du champ correspondant tel que défini dans la description.

 

Les autres formats 

Il est aussi possible de sélectionner n'importe quel format géré par Oxygène (à l'exception des formats de taille fixe). Le format sélectionné sera utilisé pour l'ensemble des fichiers à importer. Si aucun des formats proposés ne correspond aux fichiers texte à importer, il est possible de créer dynamiquement dans la base système d'Oxygène son propre format en indiquant toutes ses caractéristiques.  

 

Le format créé ne doit pas être de taille fixe, ni au niveau des champs, ni au niveau des enregistrements.  

La variable gérant la caractéristique "En-tête contient le code" est forcée au démarrage de l’importation. Il n'est donc pas nécessaire de modifier le format choisi sous Oxygène pour qu'il ait cette caractéristique.

 

L’importation va se servir de l’en-tête des fichiers textes (1ère ligne) pour connaître les champs concernés par l’importation.  

Cette solution permet aussi d'éviter la nécessité de créer à vide, lors de l'exportation, des zones non gérées par le logiciel d'origine et d'accepter un ordre de champ quelconque.

 

Les codes de champs doivent obligatoirement être en majuscules dans l'en-tête du fichier texte. L'en-tête du fichier texte correspond à sa première ligne. Cette 1ère ligne doit impérativement contenir les codes de champs tels que définis dans la liste des champs que vous pouvez importer. Vous trouverez les codes de champ dans la page de description des fichiers textes.