Opérations sur les fichiers
Introduction
On peut modifier et créer des données dans un fichier existant de plusieurs façons.
Par programme, ce qui est la façon la plus normale, mais on peut intervenir sur le contenu des fichiers par DFU ou par SQL. On peut également copier des données d’un fichier vers un autre.
La partie programme sera étudiée dans le chapitre Le langage RPG.
Les modifications et visualisations manuelles
On a parfois besoin de visualiser ou de modifier les données d’un fichier. Voici les diverses techniques pour y parvenir.
1. Le DFU
Avec le DFU (Data File Utility) on peut visualiser chaque enregistrement d’un fichier, le modifier et, bien que l’option soit cachée, le supprimer.
L’accès à un enregistrement peut se faire soit par le numéro d’enregistrement, soit par un logique quelconque. L’avantage est la rapidité, à condition de connaître la clé d’accès. Néanmoins, si on ne connaît que le début de la clé, il suffira de saisir la partie connue, de paginer avant et on se positionnera sur le premier enregistrement qui contient le début de la clé. C’est quasiment instantané, même sur un très gros fichier. L’inconvénient, c’est que si, par erreur, on modifie une donnée de l’enregistrement, cette modification sera prise en compte le temps de faire [Entrée]. C’est une commande qu’il vaut mieux maîtriser parfaitement avant de l’utiliser sur le fichier du personnel.
Sur une ligne de commande, saisir la commande :
UPDDTA FIC00P.
Le fichier étant dans une bibliothèque de la *LIBL, l’écran suivant s’affiche dans la mesure où le fichier comporte au moins un enregistrement. Dans le cas contraire, c’est un écran de saisie qui s’affichera.
En appuyant sur les touches [Rollup] ou [Rolldown] on verra s’afficher les enregistrements successifs contenus dans le fichier. Ne pas oublier que, sauf verrouillage, les modifications sont immédiatement enregistrées dans le fichier.
Écran de saisie à partir du logique FIC02L. De la même façon que dans le cas précédent, cet écran ne s’affichera que si le fichier est vide, sinon seule la clé sera affichée. En saisissant la fonction seulement et en appuyant sur la touche [PageDn] le premier enregistrement contenant le code fonction sera affiché, ou le premier ayant un code fonction plus grand, ou alors l’AS/400 dira qu’on est en fin de fichier.
Au risque de me répéter, faire très attention car les modifications éventuelles seront immédiatement enregistrées....
Exercice
Créer un fichier physique contenant quatre zones, un numéro de séquence unique sur 10 en numérique étendu, un libellé sur 35 alphanumérique, un top, alphanumérique sur 1 et une date sur 8 étendu. On fera un logique à clé unique sur le numéro de séquence, un autre sur la date et un dernier avec exclusion sur le top, si le top est à "1" l’enregistrement sera exclu.
Les fichiers seront nommés FXXXXXX, c’est au choix de chacun.
Compiler le tout et conserver pour une utilisation ultérieure.
Les leçons à retenirFaire toujours très attention aux modifications directes dans les fichiers, même si l’on peut souvent revenir à la case départ, il peut y avoir des effets de bord redoutables entre-temps.
Donc éviter la précipitation, surtout lorsqu’on croit maîtriser parfaitement le système, c’est souvent là que l’on commet le plus d’erreurs.