Manipulation Avancée des Fichiers en COBOL
Dans cette leçon, nous allons approfondir la gestion des fichiers en COBOL en abordant des techniques avancées comme le traitement séquentiel et direct, ainsi que la gestion des erreurs.
Fichiers Séquentiels vs Fichiers Directs
Les fichiers séquentiels sont lus ou écrits dans l'ordre, du début à la fin. Les fichiers directs permettent d'accéder à des enregistrements spécifiques sans lire les enregistrements précédents. Voici comment définir et utiliser ces types de fichiers :
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FichierSeq ASSIGN TO 'seqfile.txt'
ORGANIZATION IS LINE SEQUENTIAL.
SELECT FichierDirect ASSIGN TO 'directfile.dat'
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS Id.
DATA DIVISION.
FILE SECTION.
FD FichierSeq.
01 EnregistrementSeq.
05 Nom PIC X(20).
05 Age PIC 99.
FD FichierDirect.
01 EnregistrementDirect.
05 Id PIC 9(4).
05 NomDirect PIC X(20).
05 AgeDirect PIC 99.
Gestion des Erreurs
Il est crucial de gérer les erreurs lors de la lecture ou de l'écriture des fichiers. En COBOL, cela se fait en utilisant l'instruction INVALID KEY ou AT END. Voici un exemple :
PROCEDURE DIVISION.
OPEN INPUT FichierSeq
READ FichierSeq INTO EnregistrementSeq
AT END
DISPLAY 'Fin du fichier atteinte.'
NOT AT END
DISPLAY 'Nom: ', Nom
DISPLAY 'Age: ', Age
END-READ
CLOSE FichierSeq.
OPEN I-O FichierDirect
MOVE 1234 TO Id
READ FichierDirect
INVALID KEY
DISPLAY 'Enregistrement non trouvé.'
NOT INVALID KEY
DISPLAY 'Nom: ', NomDirect
DISPLAY 'Age: ', AgeDirect
END-READ
CLOSE FichierDirect.
Mise à Jour des Enregistrements dans un Fichier Direct
La mise à jour des fichiers directs implique de localiser un enregistrement spécifique, de le modifier et de le réécrire. Voici un exemple :
PROCEDURE DIVISION.
OPEN I-O FichierDirect
MOVE 1234 TO Id
READ FichierDirect
INVALID KEY
DISPLAY 'Enregistrement non trouvé.'
NOT INVALID KEY
MOVE 'Nouvel Age' TO AgeDirect
REWRITE EnregistrementDirect
DISPLAY 'Enregistrement mis à jour.'
END-READ
CLOSE FichierDirect.
Ces techniques avancées vous permettent de gérer les fichiers de manière plus efficace et de manipuler les données avec une grande flexibilité dans vos programmes COBOL.
Aucun commentaire:
Enregistrer un commentaire