Xtools : Gestionnaire des fichiers Harmony
Descriptif du programme Xtools
Xtools est l'utilitaire de gestion des fichiers "Harmony". Il traite aussi bien les fichiers locaux que les fichiers situés sur un serveur de données.
Au démarrage, le programme affiche un tableau vide. Vous pouvez alors soit sélectionner / pointer un ensemble de fichiers, soit appeler une fonction applicable à un fichier isolé, soit appeler une fonction " diverse " :
La sélection et le pointage permettent de choisir une liste de fichiers, auxquels on pourra ensuite appliquer des opérations :
La sélection se fait à deux niveaux : Un format sur le nom de fichier : Exemple : S* Un filtre qui porte sur le nom, la taille, la date de dernière écriture, le type, l'extension, l'indicateur " fichier verrouillé " et la contenance d'une chaîne de caractères, pour affiner la recherche. Ces critères peuvent être combinés avec les opérateurs logiques "and" et "or". Exemples : size > 0 and type <> I string = 'USE' or type = U
Le pointage présente la liste des fichiers sélectionnés, permettant ensuite d'appliquer à chaque fichier une des opérations suivantes : Suppression , Effacement , Copie vers un autre dossier avec éventuellement compression ou décompression. Réorganisation , Régénération des clés , Contrôle d'intégrité. Impression de la liste des fichiers , Génération d'un fichier pilote d'après un modèle
D'autres opérations sont réservées à un fichier isolé :
Affichage / modification du contenu (enregistrement / enregistrement). Affichage / modification du contenu d'après la description de l'enregistrement dans le dictionnaire des données. Affichage / modification du contenu " brut " du fichier (donc sans notion d'enregistrement). Modification des caractéristiques. Création d'un fichier séquentiel indexé , Affichage / modification du paramétrage des clés, d'un séquentiel indexé Réorganisation , Régénération des clés Copie logique d'un fichier (avec possibilité de copie partielle, de modification du nom du fichier des données, …) Création, Changement de nom Suppression Effacement, Exploration d'un dossier par Xtools , Exploration d'un dossier par l'explorateur de Windows , Ouverture d'un fichier par le programme associé
Enfin, Xtools offre quelques fonctions " diverses " :
Changement des chemins implicites. Test d'ouverture d'un fichier , Interprétation d'un code d'erreur Harmony
Remarque :
Les fonctions sont appelées soit au menu, soit par une touche de raccourci clavier, soit par un bouton de la barre d'outils. Le menu est actif pendant les opérations de pointage mais devient inactif en cours d'exécution d'une opération.
Sélectionner des fichiers
Méthodes de sélection
Une sélection de fichiers est déclenchée de trois manières :
En garnissant le champ <Chemin> (il faut obligatoirement indiquer un chemin valide) et éventuellement les champs <Format> et <Filtre>, puis en validant la saisie.
En cliquant sur le bouton Parcourir (équivalent au choix <Chemin ® Sélectionner> du menu). Xtools ouvre ici une boîte de dialogue qui permet de sélectionner un chemin en naviguant dans les dossiers ou en choisissant un chemin implicite.
Par le menu <Rechercher>.
Sélection dans un seul dossier
Les deux premières méthodes ne traitent qu'un seul chemin et la sélection correspondante n'affiche que le contenu d'un seul dossier. Le tableau présente alors uniquement les fichiers correspondant au filtre et au format indiqués ET les dossiers fils du dossier choisi.
Pour afficher ensuite le contenu d'un dossier fils, tapez la touche Return ou double-cliquez sur la ligne affichant ce dossier fils.
Pour afficher le contenu du dossier père du dossier courant, cliquez sur le bouton Dossier Parent (ou sélectionnez le choix <Chemin ® Monter d'un niveau> du menu).
Attention : lorsque vous opérez une nouvelle sélection, la sélection en cours est PERDUE, sans demande de confirmation.
Cette sélection des fichiers tient compte de trois paramètres :
Pour modifier un ou plusieurs de ces paramètres, cliquez dans le champ correspondant en haut de l'écran. Après validation de la saisie, le tableau est actualisé avec les fichiers répondant aux nouveaux critères choisis.
Remarque : en bas et à gauche de l'écran, Xtools affiche le nombre de fichiers pointés / le nombre de fichiers sélectionnés.
Sélection dans plusieurs dossiers et recherche de fichiers
Pour rechercher des fichiers et / ou pour sélectionner des fichiers dans plusieurs dossiers, utilisez le choix du menu <Rechercher>, qui ouvre la boîte de dialogue " Recherche de fichier ".
Cette recherche tient compte de trois paramètres :
La boîte de dialogue permet la saisie du filtre et / ou du format. Le ou les chemins sont à choisir parmi la liste des chemins paramétrés dans Harmony et proposés à l'écran dans un tableau en mode sélection multiple (avec possibilité d'ajouter temporairement des chemins dans ce tableau). La méthode pour effectuer des sélections dans un tel tableau est décrite dans la rubrique consacrée au pointage des fichiers sélectionnés.
L'ajout (temporaire) d'un chemin s'obtient par la touche F3, le bouton Création ou en cliquant sur la colonne d'état affichant une étoile. Comme la création n'est que temporaire, le programme saute la saisie du nom du chemin et propose de renseigner uniquement le chemin lui-même (pour créer un chemin de façon permanente, appelez le choix <Chemin ® Changer les chemins Implicites> du menu - qui fait appel à Xpath - puis cliquez sur le bouton Chemins pour charger le zoom des chemins).
Lorsqu'ici vous sélectionnez un chemin, sachez que vous sélectionnez également tous les sous-dossiers du dossier choisi. Après validation de la boîte de dialogue, Xtools affiche maintenant les fichiers (correspondant au filtre et au format indiqués) de tous les dossiers ET sous-dossiers choisis. Les sous-dossiers eux-mêmes n'apparaissent pas.
Chaque ligne de tableau affiche alors une colonne supplémentaire (par rapport au cas de la sélection dans un dossier unique décrite précédemment), qui présente le dossier contenant le fichier.
Attention : Dans ce cas, la liste pourra contenir des fichiers portant le même nom. Si vous leur appliquez une fonction de copie, compression ou décompression, ces fichiers homonymes seront tous copiés dans le même fichier destination : le contenu final de ce dernier correspondra alors au dernier fichier copié.
Filtre
Un filtre est une fonction booléenne (résultat = vrai ou faux) appliquée aux fichiers trouvés dans le ou les dossiers choisis. Il permet de spécifier des critères de recherche pour ces fichiers : lors de la sélection, Xtools parcourt le(s) dossier(s) et applique le filtre à chaque fichier ; si le résultat est positif, le fichier est sélectionné.
La syntaxe de l'expression FILTRE est la suivante :
Critère Op_Test Constante [ Op_Booléen Critère Op_Test ... ]
Exemples :
DATE > 01/06/01 DATE > 01/06/01 or DATE = 01/05/01 DATE > 01/06/01 and TYPE <> I
Les critères qui peuvent figurer à gauche d'un opérateur de test sont :
DATE | Date de dernière modification du fichier. |
EXTEND | Extension du fichier. |
SIZE | Taille du fichier en octets. |
TYPE | Type du fichier (U, N, I). |
NAME | Nom du fichier. |
LOCK | Indicateur de fichier verrouillé. |
COMPRESS | Indicateur de fichier comprimé. |
STRING | Chaîne de caractères à trouver dans le fichier. |
VERSION | Version du fichier. |
ERROR | Indicateur d'erreur de compilation. |
DEBUG | Indicateur de compilation en mode débogueur. |
Les opérateurs de test sont :
= | Egal. |
> | Supérieur. |
>= | Supérieur ou égal. |
<= | Inférieur ou égal. |
< | Inférieur. |
<> | Différent. |
LIKE | Ressemblance avec un format (Cf. rubrique consacrée au format). |
Les opérateurs booléens sont :
AND | Et. |
OR | Ou. |
NOT | Négation (opérateur unaire). |
Les constantes pour LOCK, COMPRESSE, ERROR et DEBUG sont :
YES | Fichier verrouillé (erreur 003D) ou comprimé. |
NO | Fichier non verrouillé ou non comprimé. |
Remarques :
Sauf pour les critères STRING, EXTEND et VERSION, les constantes ne doivent pas être entourées d'apostrophes ni de guillemets.
Les expressions peuvent être parenthésées.
Il n'y a pas de niveau de priorité entre les opérateurs : l'expression est évaluée de gauche à droite.
Les dates peuvent être saisies comme dans les masques, par exemple : JJ/MM/AAAA, JJMMAAAA, JJ/MM/AA, JJMMAA, JJ/MM, JJMM.
La recherche de chaîne ne distingue pas les minuscules et les majuscules. La chaîne et le contenu du fichier sont convertis en majuscules avant la comparaison. Les caractères accentués sont aussi convertis (par exemple : ù à U ; é à E).
La recherche de chaîne n'est pas faite dans les fichiers paramètres et clés des fichiers Séquentiels Indexés.
Format
Un format est une suite de caractères interprétés par l'opérateur LIKE pour opérer une sélection suivant le nom du fichier :
* | Indique une suite de caractères quelconques. |
? | Indique un seul caractère quelconque. |
() | Contient une liste de caractères autorisés. |
)( | Contient une liste de caractères interdits. |
- | Indique un intervalle s'il est placé dans une liste. |
Autre | Les autres caractères doivent correspondre exactement. |
Il est possible d'indiquer plusieurs formats en les séparant par des ; (point virgule).
Exemples : les formats suivants sont corrects :
S* | Tous les fichiers dont le nom commence par S. |
I | Tous les fichiers dont le nom contient un I. |
S*;I | Tous les fichiers dont le nom commence par S ou dont le nom contient un I. |
S(A-D)* | Tous les fichiers dont le nom commence par SA, SB, SC ou SD. |
Remarques :
La sélection peut être particulièrement longue dans les cas suivants : - Recherche avec STRING sur de gros fichiers. - Sélection sur tout un volume avec filtre sur le type de fichier.
Vous pouvez interrompre la sélection en cours en tapant une touche quelconque au clavier. Ceci provoque l'affichage du message suivant : "Voulez-vous abandonner la sélection en cours ?". F10 demande la poursuite de la sélection, F9 son abandon.
Pointer les fichiers sélectionnés
Après une sélection, les fichiers sont affichés par ordre alphabétique sur leur nom (il est possible de les trier suivant d'autres critères). Les dossiers fils du dossier en cours sont également affichés dans le cas d'une sélection sur un dossier unique.
Le pointage sert à déterminer, parmi les fichiers sélectionnés, ceux auxquels il faudra appliquer une opération multi-fichiers (les fichiers pointés sont affichés avec une coche dans la colonne d'état).
Les fichiers sélectionnés sont affichés dans un tableau. Un tableau est un objet standard d'Harmony qui comporte :
Une ligne d'en-têtes de colonnes.
Une colonne d'état, située à gauche du tableau.
Des colonnes de donnée.
Eventuellement un ascenseur vertical et un ascenseur horizontal.
Sur un tableau, vous pouvez :
Opérations concernant la présentation du tableau
Cliquer sur un en-tête de colonne pour afficher les fichiers dans l'ordre de tri désigné par celle-ci. Un deuxième clic sur l'en-tête de colonne change le sens du tri (croissant / décroissant : une flèche dans l'en-tête rappelle le sens courant).
Changer la largeur d'une colonne, en cliquant sur la frontière droite de l'en-tête puis en faisant glisser le pointeur à droite ou à gauche.
Changer la position d'une colonne, en cliquant sur l'en-tête de cette colonne puis en la faisant glisser vers sa nouvelle position.
Changer la hauteur des lignes, en cliquant sur la frontière entre deux lignes de la colonne d'état puis en faisant glisser le pointeur vers le haut ou vers le bas.
Déplacer l'ascenseur horizontal, pour afficher les colonnes n'apparaissant pas à l'écran.
Augmenter le nombre de lignes affichées, en agrandissant ou en maximisant la fenêtre.
Déplacements dans le tableau
Vous déplacer sur une ligne, en cliquant dessus ou en vous servant des touches de déplacement (Flèche en haut, Flèche en bas, Début, Fin).
Afficher la page suivante de la liste, en cliquant entre le curseur et la flèche inférieure de l'ascenseur vertical ou en tapant Page Suivante. Le déplacement par l'ascenseur ne dépointe pas les fichiers contrairement à la touche Page Suivante.
Afficher la page précédente de la liste, en cliquant entre le curseur et la flèche supérieure de l'ascenseur vertical ou en tapant Page Précédente. Le déplacement par l'ascenseur ne dépointe pas les fichiers contrairement à la touche Page Précédente.
Afficher la liste à partir d'un fichier donné, en déplaçant le curseur de l'ascenseur vertical.
Faire défiler la liste d'une ligne vers le haut ou vers le bas, en cliquant sur la flèche inférieure ou supérieure de l'ascenseur vertical. Le déplacement par l'ascenseur ne dépointe pas les fichiers contrairement aux touches fléchées.
Accéder directement au premier fichier de la liste dont le nom commence par les lettres saisies.
Opérations sur les fichiers
Modifier le nom du fichier de la ligne courante en tapant la touche F4.
Ouvrir un menu " Pop-Up " qui propose d'explorer le dossier par Xtools, d'ouvrir l'explorateur sur le dossier ou d'ouvrir le fichier avec le programme correspondant au type du fichier.
Réactualiser la liste des fichiers affichés en tapant F5 ou par le choix du menu <Chemin ® Actualiser>.
Opérations de pointage
Pointer l'ensemble des lignes en tapant Ctrl+A ou par le choix du menu <Edition ® Pointer tout les fichiers>.
Pointer une ligne, en cliquant sur la colonne d'état en regard de cette ligne.
Pointer un groupe de lignes contiguës : sélectionnez d'abord la ligne de départ puis cliquez sur la ligne de fin (ou déplacez-vous au clavier à la manière habituelle jusqu'à atteindre la ligne de fin), tout en maintenant la touche Shift enfoncée.
Pointer des lignes non contiguës : après avoir sélectionné une ou plusieurs lignes, cliquez sur les nouvelles lignes à sélectionner (ou tapez Espace après vous être positionné au clavier à la manière habituelle), tout en gardant la touche Ctrl enfoncée. Remarques : La touche Espace fonctionne en bascule c'est à dire qu'elle sélectionne une ligne non sélectionnée et qu'elle désélectionne une ligne déjà sélectionnée. Vous pouvez aussi combiner les touches Shift et Ctrl pour sélectionner plusieurs groupes disjoints de lignes contiguës.
Inverser l'état de pointage de tous les fichiers en tapant CTRL+B ou par le choix du menu <Edition ® Inverser le pointage>. Les fichiers qui étaient pointés auparavant ne le sont plus et les autres le deviennent.
Oter les fichiers pointés de la liste en tapant Shift+F3 ou par le choix du menu <Edition ® Oter les fichiers pointés>.
Remarque : pendant le pointage, il est également possible d'appeler des fonctions à effectuer sur un fichier isolé ou de créer un nouveau fichier.
Présélection d'un répertoire au démarrage de Xtools
Vous pouvez demander qu'à l'appel de Xtools, celui-ci affiche immédiatement une sélection de fichiers. Pour ce faire, créez un raccourci sur Xtools.dhop en faisant suivre son nom des paramètres suivants :
/env -format format -filtre filtre -chemin chemin
(/env est obligatoire, tout autre paramètre non renseigné est mis à espace).
Exemples de raccourcis :
c:\Divalto\Sys\xrtDiva.exe xtools.dhop /env -format f* -chemin /Divalto/sys
c:\Divalto\Sys\xrtDiva.exe xtools.dhop /env -filtre date > 01/06/01 -chemin /Divalto/fic
Fonctions de Xtools
Appel des fonctions de Xtools
Les fonctions de Xtools sont appelées de trois manières :
Par un raccourci clavier pendant le pointage. Les raccourcis claviers sont indiqués dans le menu ou dans la bulle d'information.
Par un bouton pendant le pointage. Le fonctionnement est identique aux raccourcis claviers.
Par le menu. Si le choix est mono-fichier, Xtools demande le nom du fichier à traiter tout en proposant le courant. Par la touche F2 ou le bouton Suivant, Xtools propose le suivant du tableau de pointage. Il propose le précédent par Shift+F2 ou le bouton Précédent. Si le choix est multi-fichiers, Xtools effectue le traitement choisi sur tous les fichiers pointés.
Fonctions mono-fichier
Créer un fichier
La création d'un fichier non séquentiel indexé s'obtient uniquement par le menu <Fichier ® Créer>. Xtools demande le nom du fichier à créer, son type et sa longueur d'enregistrements. Le bouton parcourir permet de désigner le dossier dans lequel il faut créer le fichier sans avoir à saisir le chemin.
Afficher / Modifier le contenu d'un fichier
Cette fonction est appelée par :
La touche Entrée ou un double clic sur le fichier à afficher.
Le bouton Affichage.
Le choix du menu <Fichier ® Afficher / Modifier>.
Si le choix est appelé par le menu, Xtools demande le nom du fichier ainsi que le numéro ou la clé du premier enregistrement à afficher ; l'appel par la touche Entrée ou le bouton Affichage provoque l'affichage à partir du début du fichier.
Le fichier est affiché en mode liste dans un tableau sur les 2000 premiers octets de chaque enregistrement. La première colonne du tableau affiche la clé ou le numéro de l'enregistrement. Les colonnes suivantes affichent l'enregistrement par tranche de 50 octets.
En mode liste, les touches suivantes sont traitées :
Page précédente, Page suivante, Touches fléchées | Déplacements dans la liste. |
Début | Positionnement au début du fichier. |
Fin | Positionnement à la fin du fichier. |
Shift+F1 | Appel de l'aide. |
Shift+F4 | Passage en mode fiche sur l'enregistrement désigné par le curseur. |
F6 | Recherche d'une chaîne de caractères et affichage à partir de celle-ci, si elle est trouvée. |
F7 | Positionnement sur l'occurrence suivante de la chaîne. |
Remarque : si le fichier est de type S.I. ou normal fixe, Page précédente se fait par positionnement direct. Pour les autres fonctions, les 100 dernières adresses d'enregistrement sont conservées. Si on recule de plus de 100 enregistrements, le repositionnement peut durer un certain moment.
En mode fiche, on affiche un enregistrement, en Ansi et en Hexadécimal. Si l'enregistrement comporte plus de 400 octets, on l'affiche sur plusieurs pages sur lesquelles on se rend par Page précédente et Page suivante. Les touches/boutons suivants sont traités :
Page précédente Page suivante Touches fléchées | Déplacements. |
Début | Affichage du premier enregistrement du fichier. |
Fin | Affichage du dernier enregistrement du fichier. |
Shift+F1 | Appel de l'aide. |
F2 | Affichage de l'enregistrement suivant. |
Shift+F2 | Affichage de l'enregistrement précédent. |
Shift+F3 | Suppression d'un enregistrement si S.I. ou mise à espaces si fichier Normal. |
F4 | Passage en modification de l'enregistrement si le fichier n'est pas de type U. |
Shift+F4 | Passage en mode Liste. |
F5 ou Bouton Packé | Définition de la zone packée. Si votre enregistrement contient une zone packée, vous pouvez demander à Xtools d'afficher le contenu dépacké de cette zone, à la suite de l'enregistrement normal : cliquez sur le bouton Packé et indiquez la position et la taille de la zone packée. |
F6 | Recherche d'une chaîne de caractères. |
F7 | Recherche de l'occurrence suivante de la chaîne. |
En modification, les touches suivantes sont traitées :
Page précédente, Page suivante | Si l'enregistrement a plus de 400 octets. |
Tab ou Entrée | Mode Ansi <=> mode Hexadécimal. |
Début | Positionnement sur le premier octet affiché. |
Fin | Positionnement sur le dernier octet affiché. |
Shift+F1 | Appel de l'aide. |
Shift+F3 | Initialisation à espace de l'enregistrement. |
F9 | Abandon des modifications et passage en mode consultation. |
F10 | Validation des modifications et passage en mode consultation. |
Afficher / Modifier le contenu d'un fichier d'après le dictionnaire
Cette fonction est appelée par le choix du menu <Fichier ® Afficher / Modifier d'après le dictionnaire>. Elle permet d'afficher les enregistrements d'un fichier d'après leur description dans le dictionnaire des données.
Choix de l'enregistrement à afficher
Lorsque vous appelez cette fonction pour la première fois (pour un enregistrement donné), vous devez introduire le nom réel du fichier, ainsi que le nom du dictionnaire des données, le nom du fichier et le nom de l'enregistrement dans le dictionnaire. Par la suite, si vous avez sauvegardé votre paramétrage dans un fichier, vous pouvez introduire simplement le nom du fichier paramètres : vous retrouverez alors le paramétrage sauvegardé.
En saisie d'un nom de fichier, le bouton Parcourir ouvre la boîte de dialogue permettant de sélectionner le fichier en naviguant dans les dossiers ou en sélectionnant un chemin implicite. En saisie du champ " Nom d'enregistrement ", le bouton Parcourir permet de sélectionner l'enregistrement dans la liste des enregistrements du dictionnaire.
Affichage de l'enregistrement
La boîte de saisie initiale validée, Xtools affiche un tableau présentant UN enregistrement du fichier. Chaque ligne du tableau présente UNE donnée de cet enregistrement. Les premières colonnes affichent la description de la donnée dans le dictionnaire (nom, libellé, position, longueur, nature), la dernière affiche la valeur de cette donnée dans le fichier. Au dessus du tableau, la clé en cours est également affichée et peut être saisie.
Remarque : le dictionnaire renseigne sur l'existence et la position d'un code enregistrement pour l'enregistrement sélectionné. Le cas échéant, Xtools n'affiche que les enregistrements du fichier dont le code enregistrement correspond à celui précisé dans le dictionnaire.
Plus précisément, les colonnes du tableau contiennent :
Le mnémonique de la donnée (à saisir au moment de la création). F7 permet de sélectionner la donnée parmi la liste des données de l'enregistrements. Le mnémonique de la donnée peut être à espace si on choisit de saisir la position et la longueur de la donnée (dans ce cas, la donnée est considérée comme alphanumérique).
Le libellé de la donnée dans le dictionnaire (en affichage).
La position de la donnée dans l'enregistrement. A saisir si on a laissé le mnémonique en colonne 1 à espace.
La taille de la donnée dans l'enregistrement. A saisir si on a laissé le mnémonique en colonne 1 à espace.
La nature de la donnée (en affichage).
La valeur de la donnée dans l'enregistrement (d'une longueur maximum de 128 caractères).
Choix des données à afficher
Au départ, le tableau est affiché vide : vous devez préciser les données que vous voulez voir à l'écran. Pour inclure une donnée dans le tableau, cliquez sur l'étoile de création ou tapez F3 (si le focus est sur le champ " Clé ", tapez d'abord Return pour passer en consultation du tableau). Saisissez le mnémonique de la donnée (ou tapez F7 pour le sélectionner dans le dictionnaire) ou alors laissez le mnémonique à espace et saisissez la position et la longueur à afficher.
Une fois le tableau garni avec les données voulues, vous pouvez sauvegarder les paramètres d'affichage dans un fichier (bouton Enregistrement des paramètres dans un fichier). Vous pourrez ainsi retrouver ce paramétrage lors d'une consultation ultérieure.
Fonctions disponibles à ce niveau
F3 ou bouton Création | Ajout d'une donnée dans le tableau. |
F4 ou bouton Modification | Modification du mnémonique, de la position / longueur ou de la valeur de la donnée courante. |
Shift+F3 ou bouton Suppression | Suppression de l'affichage d'une donnée. |
Début ou bouton Premier enregistrement | Affichage du premier enregistrement (dont le code enregistrement correspond) d'après la clé en cours. |
Fin ou bouton Dernier enregistrement | Affichage du dernier enregistrement (dont le code enregistrement correspond) d'après la clé en cours. |
F2 ou bouton Enregistrement suivant | Affichage de l'enregistrement suivant (dont le code enregistrement correspond). |
Shift+F2 ou bouton Enregistrement précédent | Affichage de l'enregistrement précédent (dont le code enregistrement correspond). |
Shift+F10 ou bouton Autre enregistrement ou Clic dans le champ " Clé " | Saisie d'une clé de départ. Après validation, affichage du premier enregistrement (dont le code enregistrement correspond) à partir de cette clé. |
Shift+F6 ou bouton Réécriture de l'enregistrement dans le fichier | Après confirmation, réécriture de l'enregistrement dans le fichier, en tenant compte des modifications effectuées dans la colonne " Valeur de la donnée ". Xtools effectue une affectation DIVA d'après la nature de la donnée avec la valeur saisie. |
F5 ou bouton Enregistrement des paramètres dans un fichier | Enregistrement du paramétrage courant dans un fichier, de façon à ne pas avoir à ressaisir la liste des données à afficher entre deux utilisations. Lors des appels suivants au choix " Afficher / Modifier d'après le dictionnaire ", entrez le nom du fichier paramètres pour retrouver le même tableau. |
F6 ou bouton Imprimer | Impression de l'enregistrement. |
Afficher / Modifier le contenu physique d'un fichier
Cette fonction est appelée par :
La touche Ctrl+C sur le fichier à afficher.
Le choix du menu <Fichier ® Afficher / Modifier (fichier physique)>.
Elle lit le fichier sans tenir compte de la structure Harmony des enregistrements, c'est à dire qu'elle lit le contenu du fichier tel qu'il est écrit sur le disque (en-tête Harmony excepté). Xtools lit le fichier par paquets de 400 octets. La modification du fichier est possible mais il faut faire attention à ne pas modifier les longueurs d'enregistrement.
Si le choix est appelé par le menu, Xtools demande le nom du fichier ainsi que le numéro d'octet à partir duquel il faut démarrer l'affichage. L'appel par la touche Ctrl+C provoque l'affichage à partir du début du fichier.
Le fichier est affiché en mode liste dans un tableau par tranches de 400 octets divisées en colonnes de 50 octets. La première colonne du tableau affiche le numéro d'octet correspondant au début des 400 octets. Les touches traitées sont les mêmes que pour le choix Afficher / Modifier le contenu d'un fichier.
Copier un fichier
La fonction de copie de fichier est appelée uniquement depuis le menu <Fichier ® Copier un fichier>. Elle permet de recopier un fichier vers un autre et se distingue de la copie multiple par les caractéristiques suivantes :
Changement possible du nom du fichier destinataire.
Type du fichier destination éventuellement différent de celui du source.
Copie partielle.
Copie des seuls paramètres du séquentiel indexé.
Possibilité de changer le nom du fichier des données si Séquentiel Indexé.
Copie sans effacement du fichier destination.
Xtools demande le nom des fichiers source et destination. Par F2 ou le bouton ® et Shift+F2 ou le bouton ¬, on peut sélectionner le suivant ou le précédent du tableau de pointage.
Si l'on désire faire une copie partielle, il faut saisir le premier et le dernier enregistrement à copier.
Si le fichier destination existe déjà et si le fichier source n'est pas de type séquentiel indexé, Xtools demande : "Effacement préalable (O/N)" pour déterminer s'il faut remplacer ou copier à la suite.
Si le fichier destination n'existe pas, il demande à le créer. En cas de réponse négative, la copie est annulée, sinon il est toujours créé avec le même type que le fichier source.
La copie
Origine de type N ou U. Xtools effectue un copie logique et tous les types de fichier sont acceptés en destination.
Origine de type I. Seuls les paramètres du séquentiel indexé sont copiés et il est possible de changer le nom du fichier des données dans les paramètres du fichier destination. Une régénération des clés est ensuite nécessaire.
Modifier les caractéristiques d'un fichier
L'affichage des caractéristiques d'un fichier est obtenu par la touche Shift F4 pendant le pointage. C'est le mode fiche du pointage, dans lequel on affiche des informations complémentaires sur le fichier.
En mode fiche, les touches suivantes sont traitées :
Flèches | Affichage du fichier suivant ou précédent. |
Entrée | Affichage du contenu du fichier. |
Shift+F5 | Affichage / modification des clés si le fichier est séquentiel indexé. |
La modification des caractéristiques est obtenue uniquement par le menu <Fichier ® Modifier les caractéristiques>. Xtools demande le nom du fichier à traiter (le fichier désigné par le curseur dans le pointage est proposé). Sont alors modifiables :
Longueur des enregistrements | Longueur des enregistrements du fichier (0 si longueurs variables). |
Protection | Protection (E=effacement, R=lecture, N=non, W=écriture). |
Version de la base | Numéro de version du fichier. Voir remarque ci-dessous. |
Toujours contrôler la version | Cochez cette case pour que la version du fichier soit toujours contrôlée par les programmes qui l'utilise. Voir remarque ci-dessous. |
Dictionnaire | Nom du dictionnaire contenant la description du fichier. |
Mnémonique fichier dans le dictionnaire | Dans ce dictionnaire, nom du fichier correspondant. Ce champ et le précédent doivent être renseignés si un filtre est programmé pour ce fichier (instruction Diva HFILTER). |
Remarque concernant la version des fichiers :
Harmony peut effectuer un test de cohérence entre les programmes et les fichiers qu'ils utilisent, afin qu'une erreur soit détectée si un programme tente d'accéder à une version d'un fichier qu'il ne sait pas traiter. Pour ce faire, un numéro de version doit être indiqué :
Au niveau du fichier physique : c'est le numéro saisi ici dans le champ « Version de la base ».
Au niveau du dictionnaire de données, dans le champ « Version » des propriétés de la base. Attention, ce numéro de version est enregistré dans les programmes objets au moment de leur compilation.
A l'exécution, comparaison est faite entre le numéro enregistré dans le programme et le numéro indiqué dans le fichier physique : une erreur est signalée dès que ces numéros ne sont pas strictement identiques. On distingue alors deux cas :
Un numéro de version est précisé dans le programme objet. Le contrôle de cohérence est toujours effectué : le fichier physique et le programme objet doivent être de versions identiques pour que l'accès au fichier soit autorisé. Ainsi, un programme compilé en version X ne pourra accéder ni à un fichier sans numéro de version ni à un fichier de version plus récente ou plus ancienne.
Aucun numéro de version n'est précisé dans le programme objet. Le contrôle de cohérence n'est fait que si la case « Toujours contrôler la version » est cochée. Ainsi, case cochée et version précisée, un programme sans version ne pourra pas accéder au fichier ; il pourra par contre y accéder si la case n'est pas cochée, que le fichier ait ou non un numéro de version.
Pour mettre en oeuvre le contrôle de cohérence, il faut compiler les nouveaux programmes avec un numéro de version dans le dictionnaire et livrer les nouveaux fichiers avec ce numéro de version et la case « Toujours contrôler la version » cochée.
Supprimer un fichier
Ce choix est appelé à partir du menu <Fichier ® Supprimer>, par le bouton ou la touche Suppr. Si aucun ou un seul fichier est pointé, Xtools demande le nom du fichier à supprimer. Si un fichier est pointé, il est proposé par défaut. Si plusieurs fichiers sont pointés, on effectue la suppression des fichiers pointés.
Si le fichier est séquentiel indexé, seul le fichier des clés est supprimé.
La suppression du fichier passe par une confirmation avec le message "Suppression du fichier xxxxxx Oui Non Tous Abandon". Le choix Tous supprime tous les fichiers pointés, sans confirmation fichier par fichier.
Effacer un fichier
Ce choix est appelé à partir du menu <Fichier ® Effacer>, ou avec le bouton Effacement. Si aucun fichier n'est pointé, Xtools demande le nom du fichier à effacer. Si un fichier est pointé, il est proposé par défaut.
Un fichier séquentiel indexé est réinitialisé, c'est à dire que le fichier des données est effacé.
L'effacement du fichier passe par une confirmation avec le message "Effacement du fichier xxxxxx Oui Non Tous Abandon". Le choix Tous efface tous les fichiers pointés, sans confirmation fichier par fichier.
Renommer un fichier
Le changement du nom d'un fichier est obtenu par le menu <Fichier ® Renommer>, le bouton correspondant ou par la touche F4.
Si le choix est obtenu par le menu, Xtools demande l'ancien nom du fichier (le fichier désigné par le curseur dans le pointage est proposé par défaut) puis son nouveau nom. Ce nouveau nom ne doit pas comporter de chemin. Le fichier est renommé dans le même dossier.
Dans tous les cas, si on renomme un fichier Séquentiel Indexé, Xtools propose également de renommer le fichier des données dans les paramètres du Séquentiel Indexé.
Créer un fichier séquentiel indexé
Les caractéristiques d'un fichier séquentiel-indexé sont résumées dans le tableau suivant :
Lettres clés invalides | Nombre maximum de données composant la clé | Taille maximum d'une clé | Taille maximale des fichiers |
Espace 00 et FF binaires | 16 | 239 | 4G x 4Go |
La création d'un fichier séquentiel indexé s'obtient uniquement par le choix du menu <Isam ® Créer un Séquentiel Indexé>.
La création se déroule en trois phases :
Saisie du nom du fichier des clés (celle du nom du fichier des données est facultative). L'extension standard .dhfi est automatiquement ajoutée au nom du fichier des clés. Sauf précision contraire, le fichier des données sera créé dans le même dossier que le fichier des clés et portera le même nom, mais avec l'extension .dhfd. Il est conseillé de ne pas mentionner ici de dossier pour le fichier des données. A défaut, il est impératif qu'à l'utilisation un chemin implicite mène à ce dossier.
Saisie des caractéristiques du fichier des données (s'il doit être créé). Si le fichier des données existe déjà, Xtools le signale et permet de changer son nom. Il est en effet possible de créer un fichier des clés et de l'indexer sur un fichier des données déjà existant : après la création, il suffira de régénérer les clés. Si le fichier des données n'existe pas encore, le fichier séquentiel indexé est initialisé (pas de régénération nécessaire).
Paramétrage des clés. Cette saisie se déroule comme la modification, sauf que l'on n'a pas accès au nom du fichier des données (Cf. rubrique suivante).
Afficher / Modifier les paramètres d'un fichier séquentiel indexé
Ce choix est appelé par :
La touche Shift+F5.
Le bouton Isam.
Le choix du menu <Isam ® Afficher / Modifier la description des clés>.
Si le choix est appelé par le menu, Xtools demande le nom du fichier à traiter (le fichier désigné par le curseur dans le pointage est proposé par défaut). L'appel par la touche Shift+F5 ou le bouton Isam affiche directement les paramètres du fichier pointé.
Le nom du fichier des données peut être modifié en cliquant dans le champ correspondant.
Les clés sont présentées dans un tableau (standard), chaque ligne (clé) contenant les informations suivantes :
La lettre clé (valeurs interdites : 00 et FF binaires, espace) ou le Nom de la clé. Il faut saisir soit un nom de clé (cas des clés nommées), soit une lettre clé. Pour la lettre clé, on peut entrer soit une valeur numérique, soit une lettre (exemple : 65 = 'A'). ATTENTION, minuscule et majuscule sont significatives.
La position du code enregistrement. (0 si la clé n'est pas conditionnelle).
Le type de test à effectuer sur le code enregistrement pour déterminer si la clé doit être générée ou non.
La valeur du code enregistrement.
La description des données composant la clé (sous forme de 1 à 16 positions – longueurs).
Les touches, boutons et opérations à la souris valides sont ici les suivants :
Flèche en bas | Ligne (clé) suivante. |
Flèche en haut | Ligne (clé) précédente. |
Début | Première ligne (clé). |
Fin | Dernière ligne (clé). |
F2 | Ligne (clé) suivante. |
F3 ou Inser | Création d'une nouvelle ligne (clé). |
F4 | Modification de la ligne (clé) courante. |
F9 ou Echap | Abandon. |
F10 ou Entrée | Validation. |
Shift+F2 | Ligne (clé) précédente. |
Shift+F3 ou Suppr | Suppression de la ligne (clé) courante ou de la sélection. |
Page Précédente | Page précédente. |
Page Suivante | Page suivante. |
Shift+Inser | Insertion du contenu du presse-papiers. |
Ctrl+Inser | Copie de la sélection dans le presse-papiers. |
Shift+Suppr | Suppression de la sélection avec copie dans le presse-papiers. |
Ctrl+P | Impression de la description des clés. |
Clic souris (colonne d'état) | Modification de la ligne (clé) correspondante. |
Clic souris (étoile) | Création d'une nouvelle ligne (clé). |
Clic souris (autre colonne) | Positionnement sur la ligne (clé) correspondante. |
Ascenseurs | Déplacements accélérés dans la liste. |
Ctrl+A | Sélection de toutes les lignes. |
Shift+Déplacement | Sélection de lignes contiguës. |
Ctrl+Déplacement | Déplacement sans désélection. |
Espace | Sélection de la ligne courante. |
Shift+Ctrl+Déplact | Sélection de lignes contiguës sans désélection. |
Shift+Clic | Sélection de lignes contiguës. |
Ctrl+Clic | Sélection de lignes non contiguës. |
Shift+Ctrl+Clic | Sélection de lignes contiguës sans désélection. |
Régénérer un fichier séquentiel indexé
Cette fonction est appelée à partir du menu <Isam ® Régénérer>. Si aucun ou un seul fichier est pointé, Xtools demande le nom du fichier à traiter (si un fichier est pointé, il est proposé par défaut). Si plusieurs fichiers sont pointés, Xtools effectue le traitement demandé sur tous les fichiers pointés. Remarque : les régénérations sont faites par le programme XREOF.
Réorganiser un fichier séquentiel indexé
Cette fonction est appelée à partir du menu <Isam ® Réorganiser>. Si aucun ou un seul fichier est pointé, Xtools demande le nom du fichier à traiter (si un fichier est pointé, il est proposé par défaut). Si plusieurs fichiers sont pointés, Xtools effectue le traitement demandé sur tous les fichiers pointés. Remarque : les réorganisations sont faites par le programme XREOF.
Attention : avant de lancer une réorganisation des fichiers, il faut avoir effectué une sauvegarde des fichiers à réorganiser. Un incident survenant pendant la réorganisation (par exemple une coupure secteur) peut provoquer la destruction des données.
Explorer un dossier avec Xtools
Cette fonction est accessible depuis le menu " Pop-Up ", appelé en cliquant avec le bouton droit de la souris sur la ligne du fichier ou du dossier concerné.
Elle permet d'afficher la liste des fichiers inclus dans le dossier et correspondant au filtre et au format. Si la ligne courante correspond à un dossier, on affiche ses fichiers ; si elle correspond à un fichier, on affiche les fichiers du dossier contenant ce fichier. Cette fonction est particulièrement intéressante après une recherche de fichier multi-dossier car elle permet de se placer directement dans le dossier du fichier trouvé.
Explorer un dossier avec l'explorateur
Cette fonction est accessible depuis le menu " Pop-Up ", appelé en cliquant avec le bouton droit de la souris sur la ligne du fichier ou du dossier concerné.
Elle permet d'ouvrir l'explorateur de Windows sur le dossier concerné ou sur le dossier contenant le fichier concerné.
Ouvrir un fichier avec le programme associé
Cette fonction est accessible depuis le menu " Pop-Up ", appelé en cliquant avec le bouton droit de la souris sur la ligne du fichier ou du dossier concerné. Elle permet d'ouvrir le fichier pointé avec le programme associé (c.a.d. suivant son extension).
Exemples :
Xwin (.dhsp, .dhse, .dhsi) XrtDiva (.dhop) DivaltoViewer (.dhvw) Excel (.xls).
Si la ligne correspond à un dossier, Xtools ouvre l'explorateur sur ce dossier.
Fonctions multi-fichier
Supprimer les fichiers pointés
La suppression des fichiers pointés est appelée par :
La touche Suppr.
Le bouton Suppression.
Le choix du menu <Fichier ® Supprimer>.
Si le fichier est séquentiel indexé, seul le fichier des clés est supprimé.
La suppression passe par une confirmation avec le message : " Suppression du fichier xxxxxx Oui Non Tous Abandon " :
Oui | Confirme la suppression du fichier affiché et Xtools redemandera une confirmation pour le fichier suivant. |
Non | Le fichier affiché n'est pas supprimé et Xtools redemandera une confirmation pour le fichier suivant. |
Tous | Confirme la suppression du fichier affiché et Xtools ne demandera plus de confirmation pour les fichiers suivants : ceux-ci seront donc tous supprimés. |
Abandon | Xtools abandonne la suppression. |
Effacer les fichiers pointés
L'effacement des fichiers pointés est appelé par :
La touche Shift F9.
Le bouton Effacement.
Le choix du menu <Fichier ® Effacer>.
Un fichier séquentiel indexé est réinitialisé, c'est à dire que le fichier des données est effacé.
L'effacement passe par une confirmation avec le message " Effacement du fichier xxxxxx Oui Non Tous Abandon " (voir rubrique précédente).
Régénérer les clés des fichiers pointés
La régénération est appelée depuis le menu <Isam ® Régénérer>.
Seuls les fichiers de type séquentiel indexé sont traités.
Xtools appelle (sans confirmation) XREOF pour chaque fichier concerné. En cas d'erreur de régénération, Xtools affiche un message d'erreur à acquitter puis poursuit avec le fichier suivant.
Réorganiser les fichiers pointés
La réorganisation est appelée depuis le menu <Isam ® Réorganiser>.
Le déroulement est identique à la régénération (il est toutefois possible d'arrêter la réorganisation, par exemple si les sauvegardes – fortement conseillées – n'ont pas été effectuées).
Attention : avant de lancer une réorganisation des fichiers, il faut avoir effectué une sauvegarde des fichiers à réorganiser. Un incident survenant pendant la réorganisation (par exemple une coupure secteur) peut provoquer la destruction des données.
Copier les fichiers pointés
La copie des fichiers pointés est appelé par :
La touche F8.
Le bouton Copie.
Le choix du menu <Fichier ® Copier>.
Xtools demande le chemin destination qui désigne le dossier dans lequel il faut copier les fichiers. Le bouton Parcourir ouvre une boîte de dialogue qui permet de sélectionner un chemin en naviguant dans les dossiers ou en choisissant un chemin implicite. Si le dossier de destination n'existe pas, Xtools propose de le créer.
Xtools effectue une copie " physique " des fichiers (par paquet d'octets, et non une copie logique qui s'effectue enregistrement par enregistrement). Le type du fichier destination sera toujours égal à celui du fichier origine. Le fichier destination est toujours effacé avant la copie :
Fichier origine de type Séquentiel Indexé. Si vous demandez la copie d'un fichier paramètres et clés, le fichier destination est créé ou transformé dans le même type que le fichier paramètres et clés d'origine. Xtools effectue une copie complète (paramètres et clés) : une régénération des clés n'est donc pas nécessaire. Attention : le nom du fichier des données dans le fichier paramètres destination sera en final identique à celui dans le fichier origine.
Fichier origine de type Normal (N). Le fichier destination est créé ou transformé en type N avec la même longueur d'enregistrements que le fichier d'origine.
Fichier origine de type U. Le fichier destination est créé ou transformé en type U.
Déroulement de la copie
La création du fichier destination est effectuée après le message de confirmation suivant :
" Création du fichier /CHEMIN/FICHIER Oui, Non, Tous, Abandon, aUcun ? "
Oui | Le fichier est créé et copié et une confirmation sera redemandée pour le prochain fichier à créer. |
Non | Le fichier n'est ni créé ni copié et une confirmation sera redemandée pour le prochain fichier à créer. |
Tous | Le fichier est créé et copié et les prochains fichiers à créer le seront sans demande de confirmation. |
Abandon | La copie est arrêtée. |
AUcun | Le fichier et les suivants ne seront pas créés. Seuls les fichiers déjà existants seront ensuite copiés. |
Si le fichier destination existe déjà, son remplacement est effectué après le message de confirmation suivant :
" Remplacement du fichier /CHEMIN/FICHIER Oui, Non, Tous, Abandon, aUcun ? "
Oui | Le fichier est remplacé et une confirmation de remplacement sera redemandée pour le prochain fichier destination existant déjà. |
Non | Le fichier n'est pas copié et une confirmation sera redemandée pour le prochain fichier à remplacer. |
Tous | Le fichier est remplacé et les prochains fichiers à remplacer le seront sans demande de confirmation. |
Abandon | La copie est arrêtée. |
AUcun | Le fichier et les suivants à remplacer ne sont pas copiés. Seuls les fichiers dont la destination n'existe pas encore sont copiés. |
Pour effectuer la copie, Xtools ouvre le fichier source en mode réservé. Si le fichier est déjà ouvert par une autre tâche, Xtools pose la question suivante :
" Désirez-vous effectuer la copie en mode partagé ? Oui, Non, Tous, Abandon".
Oui | Xtools fait une tentative de copie en ouvrant le fichier source en mode partagé. Une confirmation sera redemandée pour le prochain fichier en erreur de partage. Si le fichier est ouvert en mode réservé par une autre tâche, Xtools affiche un message d'erreur. |
Non | Le fichier n'est pas copié et une confirmation sera redemandée pour le prochain fichier en erreur de partage. |
Tous | Xtools fait une tentative de copie en ouvrant le fichier source en mode partagé. Il fera de même pour tous les prochains fichiers en erreur de partage sans demande de confirmation. |
Abandon | La copie est arrêtée. |
Comprimer / décomprimer les fichiers pointés
La compression des fichiers pointés est appelé par :
La touche CTRL+D.
Le choix du menu <Fichier ® Comprimer>.
La décompression des fichiers pointés est appelé par :
La touche CTRL+E.
Le choix du menu <Fichier ® Décomprimer>.
Après compression, le nom du fichier destination est changé par rapport au nom d'origine : Xtools remplace le "." de l'extension d'origine par un "" (ou ajoute "" si le nom d'origine n'a pas d'extension) et ajoute l'extension .dhzi.
Exemples :
fic.doc donnera fic_doc.dhzi fic donnera fic_.dhzi
Remarques :
Xtools demande le chemin destination qui désigne le dossier dans lequel il faut copier les fichiers. Le bouton Parcourir ouvre une boîte de dialogue qui permet de sélectionner un chemin en naviguant dans les dossiers ou en choisissant un chemin implicite. Si le dossier de destination n'existe pas, Xtools propose de le créer.
Le fichier destination est toujours effacé avant la copie.
Xtools refuse la compression d'un fichier déjà comprimé et la décompression d'un fichier non comprimé.
La création du fichier destination est effectuée après le message de confirmation suivant (Cf. rubrique consacrée à la copie de fichiers) : " Création du fichier /CHEMIN/FICHIER Oui, Non, Tous, Abandon, aUcun ? ".
Si le fichier destination existe déjà, son remplacement est effectué après le message de confirmation suivant (Cf. rubrique consacrée à la copie de fichiers) : " Remplacement du fichier /CHEMIN/FICHIER Oui, Non, Tous, Abandon, aUcun ? ".
Contrôler l'intégrité des fichiers pointés
Remarque préliminaire
Par la suite, lorsque nous parlerons de fichier « .err », « .new » et « .old », il s'agira du fichier « Xxxx.err/new/old », où Xxxx désigne le nom (sans extension) du fichier contrôlé.
Méthodologie du programme de contrôle d'intégrité
Pour chaque fichier pointé, le fichier des données est balayé séquentiellement. Xtools contrôle la longueur de chaque ligne lue par rapport à la taille de la table indiquée dans le dictionnaire. Si le fichier contient plusieurs tables, Xtools détermine à quelle table correspond une ligne grâce aux identifiants décrits dans le dictionnaire.
Pour chaque ligne lue, deux cas peuvent se produire :
Une table a été trouvée et la longueur lue est identique à la longueur attendue : Les champs de la table non masqués dans SQL au niveau du dictionnaire sont contrôlés (voir point suivant). Si une erreur est détectée :
Dans un champ de type numérique, date, heure ou date+heure, ce champ est mis à espace.
Dans un champ de type alphanumérique, les caractères non affichables sont remplacés par des points (".").
Un message d'erreur est ajouté au compte-rendu pour chaque champ erroné (voir paragraphe « Compte-rendu des erreurs »).
Aucune table n'a été trouvée (identifiant inconnu) ou la longueur lue ne correspond pas : Un message d'erreur est ajouté au compte-rendu.
Les lignes erronées ou comportant des champs erronés sont écrites dans un fichier d'erreurs « .err ». Dans ce fichier, les lignes sont dépackées si la table a été trouvée (d'après son identifiant) et si la longueur de l'enregistrement est correcte. Sinon, elle est écrite tel quelle.
Contrôles d'intégrité des champs
Champ alpha. Si l'option « Binaire autorisé » n'est pas cochée dans les propriétés du champ dans le dictionnaire, Xtools vérifie qu'il ne contient que des caractères affichables. Sinon, Xtools ne fait aucune vérification sur le champ.
Champ numérique ou numérique,D. Xtools vérifie que le champ ne contient que des caractères numériques (0..9), éventuellement des espaces, un signe et une virgule.
Champ date, date mensuelle, date+heure, heure. Xtools vérifie que le champ contient une date et/ou une heure valide. Les champs comportant des espaces non significatifs font l'objet d'une correction automatique : les espaces sont remplacés par des zéros. Remarque : les corrections automatiques ne sont pas répertoriées dans le compte-rendu. Par contre, le nombre total de dates corrigées est indiqué dans le récapitulatif du compte-rendu.
Champ d'un autre type. Xtools ne vérifie pas les autres types de champ.
L'option correction automatique
L'option « Correction automatique » permet de générer un fichier corrigé « .new ». Les lignes lues de longueur erronée ou qui ne correspondent pas à une table identifiée ne sont pas écrites dans le fichier corrigé (mais le sont dans le fichier des erreurs).
A la fin du contrôle, Xtools propose, pour chaque fichier ayant fait l'objet de corrections, de remplacer le fichier initial par le fichier corrigé. Il convient de vérifier la nature des corrections dans le compte-rendu des erreurs avant de valider cette opération.
Si le remplacement est demandé, le fichier initial est toutefois conservé avec l'extension « .old ». Les clés du nouveau fichier sont régénérées par Xtools s'il s'agit d'un séquentiel indexé.
Compte-rendu des erreurs
Un compte-rendu au format HTML est généré dans le fichier 'xtools_cif.htm'. Il est affiché à la fin du contrôle. Il contient une ligne par champ en erreur ainsi qu'un récapitulatif par fichier traité.
Lig HFD | Lig New | Lig Err | Table | Champ | Message | Valeur | Clé primaire ou 1ère clé générée |
1 | 1 | 1 | CA | BALRUPT1(1) | Non Numérique | 2ab | A999 |
1 | 1 | 1 | BALRUPT1(3) | Non Numérique | &123 | A999 | |
8 | 8 | 2 | CC | CONFFCT(6) | Non Alpha | A998 | |
8 | 8 | 2 | CONFFCT(7) | Non Alpha | A998 | ||
8 | 8 | 2 | CONFFCT(8) | Non Alpha | A998 |
Lig HFD : Numéro d'enregistrement dans le fichier à contrôler (fichier des données).
Lig NEW : Numéro d'enregistrement dans le fichier « .new ».
Lig ERR : Numéro d'enregistrement dans le fichier des erreurs « .err ».
Table : Nom de la table concernée. Il n'est renseigné que si l'on a pu le déterminer à partir de l'identifiant.
Message : Message d'erreur.
Valeur : Contenu du champ ou du début de l'enregistrement en erreur.
Clé primaire ou 1ère clé générée : valeur d'une clé permettant de lire la ligne erronée par Xtools (vous pouvez copier cette valeur dans le presse-papier à partir du document HTML et ensuite la coller dans la zone de saisie de la clé dans Xtools).
Récapitulatif des opérations effectuées
Par exemple :
2056 | Enregistrements lus. |
0 | Enregistrement à espace. |
2037 | Enregistrements écrits dans /Divalto/ficvg_52/ccfdce51.new |
19 | Enregistrements supprimés. |
19 | Enregistrements en erreur. |
1084 | Enregistrements lus pour la table C3. |
19 | Enregistrements lus pour la table C4. |
41 | Enregistrements lus pour la table C5. |
912 | Enregistrements lus pour la table C8. |
35 | Dates corrigées automatiquement. |
12 | Dates DH corrigées automatiquement. |
Durée | 00:00:03. |
Enregistrements à espaces : Ils sont ignorés.
Enregistrements supprimés : Ils n'ont pas été écrits dans le fichier « .new » à cause d'une erreur « grave » (longueur erronée ou type inconnu). Si l'on valide « Copie vers l'original » en fin de traitement, ces enregistrements sont perdus.
Enregistrements en erreur : Enregistrements pour lesquels au moins une erreur a été détectée.
Enregistrements lus pour la table : Comptage du nombre de lignes par table.
Dates corrigées automatiquement : Champs de type date ayant fait l'objet d'une correction automatique (suppression des espaces non significatifs).
Dates DH corrigées automatiquement : Idem pour les champs de type date+heure ou heure.
Remarques importantes
Le contrôle d'intégrité utilise la description des tables et des champs du dictionnaire de données. Les caractéristiques du fichier doivent obligatoirement comporter le nom du dictionnaire ainsi que le nom du fichier dans le dictionnaire.
Pour les fichiers séquentiels Indexés, il faut obligatoirement pointer le nom du fichier des clés (.dhfi).
Seuls les champs ayant la propriété « non masqués dans SQL » dans le dictionnaire de données sont vérifiés.
Les champs alphas ayant la propriété « Binaire autorisé » dans le dictionnaire ne sont pas vérifiés.
Imprimer les fichiers pointés
La liste des fichiers pointés est appelée par :
La touche Ctrl+P.
Le choix du menu <Fichier ® Imprimer>.
Cette fonction imprime une ligne pour chaque fichier pointé, reprenant en partie les informations affichées dans le tableau de pointage.
Créer un fichier pilote
La génération d'un fichier pilote est accessible uniquement par le choix du menu <Outils ® Créer un fichier pilote>. Elle permet par exemple de générer des pilotes de compilation ou de régénération des clés.
Xtools demande le nom d'un fichier modèle et le nom du fichier pilote à générer. Le bouton Parcourir ouvre une boîte de dialogue qui permet de sélectionner le fichier en naviguant dans les dossiers ou en choisissant un chemin implicite. Si le fichier à générer existe, il propose de l'effacer ou au contraire d'écrire à la suite.
Le fichier modèle est constitué de deux parties nommées 1 et 2. La partie 1 est optionnelle : elle est présente si une des lignes du fichier commence par la chaîne "/DEBUT", absente sinon (cette chaîne "/DEBUT" en première colonne d'une ligne sépare partie 1 et partie 2).
Si la partie 1 est présente, Xtools la copie telle quelle dans le fichier de sortie. Ensuite, et pour chaque fichier pointé, il copie la partie 2 du fichier modèle dans le fichier à générer en effectuant le remplacement de 4 paramètres de substitution ayant la signification suivante (exemple avec le fichier /Divalto/sys/xtools.dhop) :
$0 | « | Nom complet (chemin+nom+extension) | /Divalto/sys/xtools.dhop |
$1 | « | Chemin terminé par '/' | /Divalto/sys/ |
$2 | « | Nom du fichier (ni chemin, ni extension) | xtools |
$3 | « | Extension précédée de "." | .dhop |
Exemple : Soit les 2 fichiers pointés /Divalto/src/xpath.dhse et /Divalto/src/xtools.dhse.
Si le fichier modèle contient la ligne suivante : xFormCompiler,$0,$1$2.dhoe,o,,, on obtiendra le fichier pilote de compilation suivant : xFormCompiler,/Divalto/src/xpath.dhse,/Divalto/src/xpath.dhoe,o,,, xFormCompiler,/Divalto/src/xtools.dhse,/Divalto/src/xtools.dhoe,o,,,
Si le fichier modèle contient les lignes suivantes : ;Compilation des masques de l'application xxx ;… /DEBUT xFormCompiler,$0,$1$2.dhoe,o,,, on obtiendra le fichier pilote suivant : ;Compilation des masques de l'application xxx ;… xFormCompiler,/Divalto/src/xpath.dhse,/Divalto/src/xpath.dhoe,o,,, xFormCompiler,/Divalto/src/xtools.dhse,/Divalto/src/xtools.dhoe,o,,,
Fonctions diverses
Changer les chemins implicites
Xtools permet de changer les chemins implicites de la tâche courante par le choix du menu <Chemin ® Changer les chemins Implicites>.
Ce choix fait appel à l'utilitaire Xpath.dhop.
Tester l'ouverture d'un fichier
Ce choix permet de simuler l'ouverture d'un fichier par un programme d'application. Il demande en entrée :
Le nom du fichier à tester. Normalement, on saisira ici uniquement le nom du fichier proprement dit (car les programmes d'application ne précisent généralement pas le chemin d'accès). Le fichier est ouvert en utilisant la méthode des "chemins Harmony". Si vous n'avez pas précisé de chemin d'accès, Xtools tente d'ouvrir le fichier en suivant la liste des chemins implicites courante.
En réponse, Xtools affiche le nom complet du fichier ouvert OU une erreur si la tentative d'ouverture a échoué.
Vous pouvez ainsi vérifier dans quel dossier se trouve le fichier qui sera ouvert par une application (avec la liste des chemins implicites courante) ou si la liste d'implicites courante mène bien au fichier.
Interpréter un code d'erreur Harmony
Ce choix permet de connaître la signification d'un code d'erreur Harmony. Il faut saisir le code en hexadécimal.
Exemples :
0A36 003D
Interpréter un code d'erreur Windows
Ce choix permet de connaître la signification d'un code d'erreur Windows (parmi les plus courants).
Garnissage du nom de dictionnaire et de fichier
Ce choix renseigne les champs "Dictionnaire" et "Mnémonique fichier dans le dictionnaire" dans l'en tête de fichiers physiques (voir rubrique Modifier les caractéristiques d'un fichier).
Xtools parcourt un répertoire complet, à la recherche des fichiers et des dictionnaires ; lorsqu'il rencontre un fichier dont le nom physique correspond à un nom de fichier physique d'un dictionnaire, il garnit son en tête, si celle-ci n'est pas à jour, avec le nom du dictionnaire et le nom du fichier dans le dictionnaire.