Explorer le code, créer des solutions et partager des connaissances dans le monde fascinant du développement logiciel.

mardi 7 mai 2024

Apprendre COBOL : Gestion Avancée des Fichiers

Apprendre COBOL : Gestion Avancée des Fichiers
Apprendre COBOL : Gestion Avancée des Fichiers

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.

© 2024 Codez avec moi

Aucun commentaire:

Enregistrer un commentaire