Open In App

File Handling Verbs in COBOL

The collection of records belonging to the same entity is known as File. These records are stored permanently. File handling helps to organize these records in an ascending/descending order. It makes searching, accessing these records more easily and efficient. The records are generally stored on a magnetic tape or a disk.

Advantages of file handling:

  1. It has unlimited storage and thus stores a large volume of data.
  2. It stores the data permanently on the device.
  3. It reduces the re-editing of data.

Disadvantages of file handling:

  1. It provides slow access.
  2. Cannot perform operations efficiently.

File handling verbs in COBOL helps to perform different desired operations on the files. These verbs are:



  1. OPEN
  2. CLOSE
  3. READ
  4. WRITE
  5. REWRITE
  6. START
  7. DELETE

Below is a detailed description of these file handling verbs.

Syntax:



OPEN {INPUT/OUTPUT/EXTEND/I-O} file_name_1[,file_name_2,...].

Example:




IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
    FILE-CONTROL.
         SELECT FILE1 ASSIGN TO DISK
         ORGANIZATION LINE SEQUENTIAL.
DATA DIVISION.
    FILE SECTION.
       FD FILE1.
           01 STUDENT.
             02 RNO PIC 99.
             02 NAME PIC A(7).
             02 PERC PIC 99.99.
    WORKING-STORAGE SECTION.
        77 CHOICE PIC 9.
        77 EOF PIC 9.
PROCEDURE DIVISION.
    OPEN OUTPUT FILE1.
    DISPLAY "FILE1 OPENED".
    CLOSE FILE1.
    STOP RUN.

Syntax: 

CLOSE file_name_1[,file_name_2,....].

Example:




IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
    FILE-CONTROL.
         SELECT FILE1 ASSIGN TO DISK
         ORGANIZATION LINE SEQUENTIAL.
DATA DIVISION.
    FILE SECTION.
       FD FILE1.
           01 STUDENT.
             02 RNO PIC 99.
             02 NAME PIC A(7).
             02 PERC PIC 99.99.
    WORKING-STORAGE SECTION.
        77 CHOICE PIC 9.
        77 EOF PIC 9.
PROCEDURE DIVISION.
    OPEN OUTPUT FILE1.
    DISPLAY "FILE1 OPENED".
    CLOSE FILE1.
    DISPLAY "FILE1 CLOSED".
    STOP RUN.

Syntax:

READ file-name RECORD [INTO identifier-1] AT END imperative statement. 

Example:




IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
    INPUT-OUTPUT SECTION.
        FILE-CONTROL.
            SELECT FILE1 ASSIGN TO DISK
             ORGANIZATION LINE SEQUENTIAL.
DATA DIVISION.
    FILE SECTION.
        FD FILE1.
           01 STUDENT.
             02 RNO PIC 99.
             02 NAME PIC A(7).
             02 PERC PIC 99.99.
    WORKING-STORAGE SECTION.
           77 CHOICE PIC 9.
           77 EOF PIC 9.
PROCEDURE DIVISION.
      OPEN INPUT FILE1.
      PERFORM W-PARA UNTIL EOF = 1.
      CLOSE FILE1.
      STOP RUN.
        
      W-PARA.
             READ FILE1 AT END MOVE 1 TO EOF.
           IF EOF = 0
                   DISPLAY "RNO: ",RNO,"NAME: ",NAME,"PERCENTAGE: ",PERC.

Syntax:

WRITE record-name [ FROM identifier-1].

Example:




IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
    INPUT-OUTPUT SECTION.
        FILE-CONTROL.
            SELECT FILE1 ASSIGN TO DISK
             ORGANIZATION LINE SEQUENTIAL.
DATA DIVISION.
    FILE SECTION.
        FD FILE1.
           01 STUDENT.
             02 RNO PIC 99.
             02 NAME PIC A(7).
             02 PERC PIC 99.99.
    WORKING-STORAGE SECTION.
           77 CHOICE PIC 9.
           77 EOF PIC 9.
PROCEDURE DIVISION.
      OPEN OUTPUT FILE1.
      MOVE 1 TO RNO.
      MOVE 'XYZ' TO NAME.
      MOVE 34.56 TO PERC.
      WRITE STUDENT.
      CLOSE FILE1.
      STOP RUN.

Syntax:

REWRITE record-name [FROM identifier-1].

Example:




IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
    INPUT-OUTPUT SECTION.
        FILE-CONTROL.
            SELECT FILE1 ASSIGN TO DISK
             ORGANIZATION LINE SEQUENTIAL.
DATA DIVISION.
    FILE SECTION.
        FD FILE1.
           01 STUDENT.
             02 RNO PIC 99.
             02 NAME PIC A(7).
             02 PERC PIC 99.99.
    WORKING-STORAGE SECTION.
           77 CHOICE PIC 9.
           77 EOF PIC 9.
PROCEDURE DIVISION.
      OPEN I-O FILE1.
      READ FILE1 AT END MOVE 1 TO EOF.
          IF EOF = 0
              IF RNO = 5 
                  MOVE 'XYZ' TO NAME
                  REWRITE STUDENT.
      CLOSE FILE1.
      STOP RUN.

Syntax: 

START file-name [KEY IS {EQUAL TO/ = /GREATER THAN/ > /NOT LESS THAN/NOT < THAN} data-name] [INVALID KEY imperative statement].

Example:




IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
    INPUT-OUTPUT SECTION.
        FILE-CONTROL.
            SELECT FILE1 ASSIGN TO DISK
             ORGANIZATION IS INDEXED.
              ACCESS MODE IS DYNAMIC.
              RECORD-KEY IS RNO.
DATA DIVISION.
    FILE SECTION.
        FD FILE1.
           01 STUDENT.
             02 RNO PIC 99.
             02 NAME PIC A(7).
             02 PERC PIC 99.99.
    WORKING-STORAGE SECTION.
           77 CHOICE PIC 9.
           77 EOF PIC 9.
PROCEDURE DIVISION.
      OPEN I-O FILE1.
      START FILE1 KEY IS NOT LESS THAN 5
          INVALID KEY DISPLAY " WRONG KEY".
      CLOSE FILE1.
      STOP RUN.

Syntax:

DELETE file-name [ INVALID KEY imperative statement]. 

Example:




IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
    INPUT-OUTPUT SECTION.
        FILE-CONTROL.
            SELECT FILE1 ASSIGN TO DISK
             ORGANIZATION IS INDEXED.
              ACCESS MODE IS DYNAMIC.
              RECORD-KEY IS RNO.
DATA DIVISION.
    FILE SECTION.
        FD FILE1.
           01 STUDENT.
             02 RNO PIC 99.
             02 NAME PIC A(7).
             02 PERC PIC 99.99.
    WORKING-STORAGE SECTION.
           77 CHOICE PIC 9.
           77 EOF PIC 9.
PROCEDURE DIVISION.
      OPEN I-O FILE1.
      MOVE 5 TO RNO.
      DELETE FILE1 
          INVALID KEY DISPLAY " WRONG KEY".
      CLOSE FILE1.
      STOP RUN.


Article Tags :