SuperBOL File Viewer Premium

SuperBOL File Viewer est un outil de visualisation de fichiers de données COBOL. Il prend en charge les types d’organisation suivants :

  • SEQUENTIAL et LINE SEQUENTIAL ;
  • INDEXED ;
  • RELATIVE.

Ces fichiers ont typiquement des extensions comme .dat, .seq ou .idx.

Important

SuperBOL File Viewer est une fonctionnalité Premium. Une version gratuite permet de visualiser les fichiers comportant au plus 100 enregistrements. Au-delà, une clé de licence est nécessaire (voir Ajouter une licence SuperBOL). Contactez superbol@ocamlpro.com pour les offres commerciales.

Prérequis

Les fichiers de données COBOL ne peuvent pas être interprétés seuls : leur structure est définie par le programme COBOL qui les utilise. Pour ouvrir un fichier de données, il vous faut donc :

  • un programme COBOL (fichier .cob ou .cbl) contenant la déclaration du fichier dans la section FILE-CONTROL ainsi que la description des enregistrements dans la DATA DIVISION ;
  • éventuellement, des copybooks (.cpy) référencés par ce programme pour décrire la structure des champs.

Il est donc nécessaire d’identifier au préalable quel programme COBOL définit le fichier que vous souhaitez visualiser.

Ouverture d’un fichier

Étape 1 : Ouvrir le fichier de données

Deux méthodes permettent d’ouvrir un fichier de données dans VSCode :

  • Via le menu Fichier : allez dans File > Open File... et sélectionnez directement votre fichier de données.
  • Via l’explorateur de fichiers : ouvrez le dossier contenant vos fichiers avec File > Open Folder..., puis double-cliquez sur le fichier de données souhaité (par exemple un fichier d’extension .dat) dans le panneau explorateur à gauche.

Une fois le fichier ouvert, une fenêtre de sélection de schéma apparaît au centre de l’écran.

Étape 2 : Sélectionner le programme COBOL de définition

L’ouverture du fichier requiert l’association d’un programme COBOL qui en décrit le format.

Fenêtre de sélection du fichier source déclarant le fichier de donnée ouvert.

Fenêtre de sélection du fichier source déclarant le fichier de donnée ouvert.
  • Première ouverture : cliquez sur Select a COBOL File... et sélectionnez le fichier .cob ou .cbl correspondant sur votre ordinateur. Ce programme peut se trouver dans le projet ouvert ou à n’importe quel autre emplacement sur votre disque. L’association est sauvegardée pour les ouvertures ultérieures de ce fichier de données, dans l’espace de travail courant.

  • Ouvertures suivantes : si le fichier a déjà été associé à un programme COBOL, un bouton Reuse layout from <programme>, rappelant le nom de ce fichier COBOL, apparaît au-dessus et vous permet de réutiliser directement l’association précédente.

Il est également possible de visualiser le fichier brut sans programme COBOL en cliquant sur View as Raw Data.

Tip

Si vous n’avez pas accès au programme COBOL correspondant, vous pouvez tout de même ouvrir le fichier en cliquant sur View as Raw Data pour en inspecter le contenu brut.

Étape 3 : Désambiguïsation (si nécessaire)

Note

Cette étape n’apparaît que si le programme COBOL sélectionné déclare plusieurs fichiers dans sa section FILE-CONTROL. Si un seul fichier est déclaré, le fichier s’ouvre directement.

Un même programme COBOL peut déclarer plusieurs fichiers dans sa section FILE-CONTROL. Dans ce cas, une fenêtre de désambiguïsation s’affiche pour vous demander de choisir la déclaration correspondant au fichier que vous souhaitez ouvrir.

Fenêtre de désambiguïsation des déclarations de fichier (dans le cas où plusieurs fichiers de données sont déclarés par un même programme COBOL).

Fenêtre de désambiguïsation des déclarations de fichier (dans le cas où plusieurs fichiers de données sont déclarés par un même programme COBOL).

Sélectionnez la déclaration appropriée dans la liste déroulante, puis cliquez sur Confirm pour valider.

Interface de la visionneuse

Une fois le fichier ouvert avec le programme COBOL associé, la visionneuse affiche les données structurées sous forme de tableau, avec une ligne par enregistrement et une colonne par champ (les colonnes pouvant être groupées pour représenter les groupes de données COBOL).

Interface principale de la visionneuse de fichiers.

Interface principale de la visionneuse de fichiers.

De haut en bas, l’interface se divise en trois parties principales dans lesquelles plusieurs interactions sont possibles :

  • l’en-tête, indiquant l’organisation du fichier et son nombre total d’enregistrements, ainsi qu’un panneau de contrôle ;

  • le tableau de données où les colonnes peuvent être déplacées librement, à l’exception de la colonne No des numéros d’enregistrement qui reste fixée à gauche, et où un champ ne peut pas être sorti du groupe auquel il appartient;

  • le panneau de navigation.

La première ligne du tableau est fixée sous les noms de colonnes et indique la clause PIC et l’USAGE de chaque champ. Le survol de l’une de ses cellules affiche des informations complémentaires sur le champ, comme le fait qu’il soit signé et la façon dont il est stocké.

Tableaux (instruction OCCURS)

Un groupe comportant une clause OCCURS n est affiché comme un tableau de colonnes appelées “occurrences” indexées par un entier.

Groupe OCCURS replié : une seule colonne grisée résume les occurrences.

Groupe OCCURS replié : une seule colonne grisée résume les occurrences.

À l’ouverture du fichier, ce tableau est replié et n’affiche qu’une seule colonne grisée, intitulée (n folded occurrences)n est le nombre d’occurrences, et dont les cellules contiennent “...”. Le tableau reste ainsi lisible lorsqu’un enregistrement répète un grand nombre de champs.

Le même tableau OCCURS déplié : une colonne par occurrence.

Le même tableau OCCURS déplié : une colonne par occurrence.

Un clic n’importe où sur l’en-tête du groupe le déplie, et un nouveau clic le replie. Déplié, le groupe remplace cette colonne unique par une colonne par occurrence.

Les en-têtes de ces colonnes reprennent le nom du champ suivi de son indice d’occurrence. Les occurrences restent côte à côte et dans l’ordre de leurs indices lorsque les colonnes sont déplacées.

Imbrication de tableaux OCCURS.

Imbrication de tableaux OCCURS.

Lorsqu’un tableau OCCURS en contient un autre, chaque occurrence du groupe extérieur possède sa propre copie du groupe intérieur, repliée elle aussi à l’ouverture du fichier. Chaque copie se déplie et se replie indépendamment des autres.

Le tableau OCCURS intérieur déplié dans la première occurrence du tableau extérieur.

Le tableau OCCURS intérieur déplié dans la première occurrence du tableau extérieur.

Le filtre d’une colonne d’occurrence ne s’applique qu’à cette occurrence. La recherche globale, qui porte sur l’ensemble des colonnes, porte en revanche sur toutes les occurrences.

Dans la fenêtre de détails d’un enregistrement, les noms de champs conservent leur indice d’occurrence.

Fenêtre de détails d’un enregistrement : les occurrences y conservent leur indice.

Fenêtre de détails d’un enregistrement : les occurrences y conservent leur indice.

Visualisation des données

Détails d’un enregistrement. Chaque champ présente des étiquettes sur le type de donnée PIC, l’encodage et la valeur associée tout à droite.

Détails d’un enregistrement. Chaque champ présente des étiquettes sur le type de donnée PIC, l’encodage et la valeur associée tout à droite.

En double-cliquant sur une ligne du tableau, une fenêtre s’ouvre pour afficher les détails de l’enregistrement associé. La structure de l’enregistrement présente les données de façon arborescente pour distinguer visuellement les différents groupes. Les groupes sont rétractés à l’ouverture de la fenêtre : cliquer sur le nom d’un groupe le déplie, et un nouveau clic le rétracte.

En haut de la fenêtre se trouvent des boutons de formatage :

  • un bouton Show PIC and USAGE permet d’afficher ou de cacher les étiquettes, ce qui permet notamment d’alléger visuellement l’interface;

  • un bouton Show non-significant characters permet d’afficher les caractères non-significatifs dans les valeurs à droite : les espaces en tête et en queue des valeurs textuelles sont représentés par des points médians (·) et les zéros en tête des valeurs numériques sont grisés. Les signes sont également affichés à la position où ils sont stockés, en tête ou en queue de la valeur.

Formatage

Boutons de formatage des valeurs des enregistrements.

Boutons de formatage des valeurs des enregistrements.

En haut à gauche de la fenêtre principale se trouvent des boutons permettant de formater les données.

De manière similaire à la fenêtre précédente de détails des données, il est possible d’afficher ou de cacher les caractères non significatifs avec l’interrupteur Show non-significant characters. Il s’agit du même réglage dans les deux fenêtres : le modifier dans l’une le modifie dans l’autre. Comme la sélection des colonnes, l’état de cet interrupteur et celui de Show PIC and USAGE sont conservés pour les ouvertures ultérieures de la visionneuse.

Avec l’interrupteur Show only records with errors, il est aussi possible de ne conserver que les enregistrements comportant des erreurs (notamment de typage, lorsque les valeurs ne correspondent pas au type PIC spécifié). Cela permet de repérer facilement les données à corriger. Les enregistrements comportant des erreurs sont surlignés dans le tableau en permanence, que cet interrupteur soit activé ou non.

Filtrage

Filtrage de l’ensemble colonnes

Panneau de gestion de l’affichage des colonnes.

Panneau de gestion de l’affichage des colonnes.

En haut à droite de la fenêtre principale se trouve un bouton Columns permettant d’ouvrir un panneau flottant avec la liste des champs. Cette liste suit la structure de l’enregistrement : les champs d’un groupe apparaissent indentés sous son nom.

Il devient ainsi possible de sélectionner quelles colonnes sont affichées ou cachées en cochant ou décochant les cases correspondantes. Cocher ou décocher un groupe s’applique à l’ensemble de ses champs, et la case d’un groupe partiellement affiché est dans un état intermédiaire. Des boutons Select all et Unselect all sont aussi présents pour sélectionner et désélectionner l’ensemble des colonnes.

Décocher un groupe OCCURS masque également la colonne affichée lorsqu’il est replié, de sorte que le groupe disparaît entièrement du tableau.

La sélection est conservée pour les ouvertures ultérieures de la visionneuse, et le nombre de colonnes cachées est indiqué à côté du bouton Columns.

Une barre de recherche en haut du panneau permet de chercher des colonnes spécifiques.

Tip

Dans le cas où l’on voudrait afficher seulement un petit nombre de colonnes précises, on pourrait donc tout décocher avec Unselect all et chercher les colonnes à cocher avec la barre de recherche.

Un bouton “plein écran” en haut à droite de la fenêtre flottante permet aussi d’avoir une vue plus large et confortable dans le cas où il y aurait une grande profondeur des données.

Filtrage des données d’une colonne

Fenêtre flottante de filtrage des données d’une colonne.

Fenêtre flottante de filtrage des données d’une colonne.

Chaque colonne possède une icône “entonnoir” à droite de son nom permettant de filtrer les données affichées selon certains critères.

Quel que soit le type du champ, les filtres sont :

  • Contains pour ne garder que les enregistrements dont la valeur à la colonne sélectionnée contient le texte entré;
  • Starts with lorsque la valeur commence par l’entrée;
  • Ends with lorsque la valeur termine par l’entrée;
  • Equals lorsque la valeur est identique à l’entrée;
  • Blank lorsque la valeur est vide;
  • Not blank lorsque la valeur est non vide.

Les comparaisons sont sensibles à la casse. Le filtre est appliqué en cliquant sur Apply, et Clear le supprime.

Recherche globale

Barre de recherche globale accompagnée d’un bouton de remise à zéro de tous les filtres.

Barre de recherche globale accompagnée d’un bouton de remise à zéro de tous les filtres.

Une barre de recherche est disponible en haut à droite de la fenêtre principale. Elle permet d’effectuer une recherche de valeur dans l’ensemble des colonnes du fichier de données (de la même manière que l’on rechercherait un mot-clé manuellement dans le filtre associé à chaque colonne) : un enregistrement est conservé dès que l’un de ses champs contient le texte recherché, là aussi de manière sensible à la casse. La validation de la recherche se fait sur la touche Entrée.

La barre est suivie d’un bouton Clear all filters qui remet à zéro tous les filtres, que ce soit la recherche ou les filtres propres aux colonnes.