ch4 ch6

Chapitre V: Utilisation des fichiers séquentiels






Bien maintenant que l'on sait se servir un peu mieux de cette fabuleuse machine qu'est l'AS/400, si on passé aux choses sérieuses; Abordons le problème des fichiers.


1) Création d'un fichier séquentiel

2) Utilisation dans un programme exemple SCREER

3) Que fait le programme exemple SCREER




Programme exemple sur les fichiers



IDENTIFICATION DIVISION.
PROGRAMM-ID.SCREER.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
        SELECT FGRILLE ASSIGN TO WORKSTATION-GPERSONNE
                ORGANIZATION TRANSACTION
                CONTROL-AREA FTOUCHES.
        SELECT FPERSONNEL ASSIGN TO DATABASE-PERSONNEL
        ORGANIZATION SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD FGRILLE LABEL RECORD OMITTED.
01 EGRILLE.
        COPY DDS-PERSONNE1 OF GPERSONNE.
FD FPERSONNEL LABEL RECORD STANDARD.
01 EPERSONNEL.
        COPY DDS-ALL-FORMATS OF PERSONNEL.
WORKING STORAGE SECTION.
01 FTOUCHES PIC XX.
88 F3 VALUE "03".
PROCEDURE DIVISION.
DEBUT.
        OPEN I-O FGRILLE OUTPUT FPERSONNEL.
TQ.
        INITIALIZE PERSONNE1.
        WRITE EGRILLE FORMAT "PERSONNE1".
        READ FGRILLE.
        IF F3 GO TO FIN.
        WRITE EPERSONNEL.
        GO TO TQ.
FIN.
        CLOSE FGRILLE FPERSONNEL.
        STOP RUN.


1) Création d'un fichier séquentiel


Nous allons créer un fichier comportant des informations dans lequel il y aura en plus un nom d'enregistrement.
Pour notre exemple, le nom du fichier est PERSONNEL, le nom d'enregistrement est ENRPERS.
Pour définir des caractères, on écrit simplement le nom de la variable et sa taille.
Pour définir des numériques, on écrit le nom de la variable suivit d'un S et sa taille.
Les décimaux s'écrivent comme pour les grilles d'écran en mettant le nombre de chiffres total, suivi du S et du nombre de décimales.

Exemple:


Retour au programme.



2) Utilisation dans un programme exemple SCREER



SELECT FPERSONNEL ASSIGN TO DATABASE-PERSONNEL


Dans le cas ci-dessus, nous avons à faire à un fichier que l'on a créé, sur lequel nous devons sauvegarder nos propres données au fur et à mesure des modifications, contrairement aux grilles d'écran, qui une fois définies, restent telles quels. Par conséquent, au lieu d'attacher les données à la station de travail, on les attache à la DATABASE. C'est à dire que cette fois, le fichier se trouve dans une zone de données. Pour le reste, cela fonctionne presque comme une grille d'écran, avec deux noms FPERSONNEL et EPERSONNEL.

Retour au programme.


ORGANIZATION SEQUENTIAL.


Un fichier de données peut s'organisé sous trois mode:


Ici, on traite le cas du séquentiel. C'est à dire que la recherche des données se fait dans l'ordre du fichier. L'organisation indéxée se fera dans le chapitre VI: Utilisation des fichiers indéxés Cette ligne est facultative car en cobol l'organisation séquentiel est par défaut.

Retour au programme.


COPY DDS-PERSONNE1 OF GPERSONNE.


Comme je vous l'ai expliqué dans le chapitre sur l'utilisation des grilles d'écran, on peut definir une seule grille. C'est ce que l'on fait ici en ne recupérant que la grille PERSONNE1. De ce fait, si vous faites d'autres programmes utilisant d'autres grilles vous n'emcombrez pas les précédents programmes et de toute façon vous n'avez aucunes modifications à y apporter.

Retour au programme.


FD FPERSONNEL LABEL RECORD STANDARD.


Ici on défini le fichier de données. Le nom FPERSONNEL doit donc être clair comme FGRILLE pour les grilles d'écran. Le LABEL RECORD STANDARD sert quant à lui à donnér le type d'enregistrement éffectué.

Retour au programme.


OUTPUT FPERSONNEL.


Le programme exemple permet de créer des enregistrements, donc le fichier est ouvert en sortie.
On sort du programme pour mettre des informations dans le fichier. On peut l'ouvrir en entrée (INPUT) pour les programmes de visualisation ou d'impression sans modifications des données ou en entrée-sortie (I-O) pour les mises à jour. On a aussi le mode EXTEND qui permet de rajouter un enregistrement. Cela signifie que le programme SCREER ne sert qu'une seule fois pour la création du premier enregistrement. En entreprise, ce programme ne sera donc pas mis à la disposition du personnel car si par inadvertance on l'utilise dans le but d'ajouter un employé on efface tous les autres.
Cela sera expliqué dans le chapitre VII: D'autres programmes séquentiels.

Retour au programme.


MOVE CORR PERSONNE1 TO ENRPERS.


On constate ici que l'on utilise le MOVE CORRESPONDING de la même manière qu'avec les grilles d'écran. Cependant le MOVE se fait avec le nom d'enregistrement du fichier ce qui fait une troisième appellation du fichier: FPERSONNEL, EPERSONNEL et ENRPERS.

Retour au programme.


WRITE EPERSONNEL.


Le WRITE est obligatoire pour sauvegarder les données sur le disque dur comme les grilles d'écran pour afficher les données à l'écran.

Retour au programme.

3) Que fait le programme exemple SCREER


Le fichier PERSONNEL contient toutes les informations sur un employé d'une entreprise. Ce programme affiche une grille d'écran sur laquelle on effectue la saisie des informations et on les sauvegarde dans le fichier.



Chapître précédent!! Chapître suivant!!

RETOUR AU SOMMAIRE