Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. RPG et CL
  3. Opérations sur les fichiers
Extrait - RPG et CL Maîtrisez la programmation sur AS/400
Extraits du livre
RPG et CL Maîtrisez la programmation sur AS/400
1 avis
Revenir à la page d'achat du livre

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.

ATTENTION : hormis la création d’une clé en double et la numéricité d’une zone déclarée numérique, ces deux modes ne font strictement aucun contrôle sur la validité des données. Il est donc fortement déconseillé de les utiliser.

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.

06ep01.png

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.

06ep02.png

É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.

06ep03.png

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 à retenir

Faire 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.