MainframeMaster

COBOL Tutorial

COBOL SEQUENTIAL Clause - Quick Reference

Progress0 of 0 lessons

Overview

The SEQUENTIAL clause is used to define sequential file organization and access in COBOL. It specifies that records must be processed in the order they appear in the file, from the first record to the last, providing efficient sequential processing.

Purpose and Usage

  • Sequential processing - Process records in order
  • File organization - Define sequential file structure
  • Access control - Control how records are accessed
  • Performance optimization - Optimize for sequential operations
  • Batch processing - Support batch processing operations

Syntax

The SEQUENTIAL clause is used in the FILE-CONTROL paragraph of the ENVIRONMENT DIVISION.

Basic Syntax

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
* Basic SEQUENTIAL syntax SELECT file-name ASSIGN TO physical-file-name ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL. * Complete example IDENTIFICATION DIVISION. PROGRAM-ID. SEQUENTIAL-EXAMPLE. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT SEQUENTIAL-FILE ASSIGN TO 'DATA/SEQUENTIAL.DAT' ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS WS-FILE-STATUS. DATA DIVISION. FILE SECTION. FD SEQUENTIAL-FILE. 01 FILE-RECORD. 05 RECORD-DATA PIC X(80). WORKING-STORAGE SECTION. 01 WS-FILE-STATUS PIC XX. PROCEDURE DIVISION. MAIN-LOGIC. OPEN INPUT SEQUENTIAL-FILE READ SEQUENTIAL-FILE CLOSE SEQUENTIAL-FILE STOP RUN.

SEQUENTIAL defines sequential file organization and access.

Practical Examples

Examples of using the SEQUENTIAL clause in different scenarios.

Input Sequential File

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
* Input sequential file SELECT INPUT-FILE ASSIGN TO 'INPUT.DAT' ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS WS-INPUT-STATUS. * Processing loop PROCEDURE DIVISION. PROCESS-FILE. OPEN INPUT INPUT-FILE READ INPUT-FILE AT END MOVE 'Y' TO END-OF-FILE-FLAG NOT AT END PERFORM PROCESS-RECORD END-READ PERFORM UNTIL END-OF-FILE-FLAG = 'Y' READ INPUT-FILE AT END MOVE 'Y' TO END-OF-FILE-FLAG NOT AT END PERFORM PROCESS-RECORD END-READ END-PERFORM CLOSE INPUT-FILE.

SEQUENTIAL for input file processing.

Output Sequential File

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
* Output sequential file SELECT OUTPUT-FILE ASSIGN TO 'OUTPUT.DAT' ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS WS-OUTPUT-STATUS. * Writing records PROCEDURE DIVISION. WRITE-RECORDS. OPEN OUTPUT OUTPUT-FILE MOVE "Record 1" TO RECORD-DATA WRITE FILE-RECORD MOVE "Record 2" TO RECORD-DATA WRITE FILE-RECORD MOVE "Record 3" TO RECORD-DATA WRITE FILE-RECORD CLOSE OUTPUT-FILE.

SEQUENTIAL for output file creation.

Input-Output Sequential File

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
* Input-output sequential file SELECT UPDATE-FILE ASSIGN TO 'UPDATE.DAT' ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS WS-UPDATE-STATUS. * Updating records PROCEDURE DIVISION. UPDATE-RECORDS. OPEN I-O UPDATE-FILE READ UPDATE-FILE AT END MOVE 'Y' TO END-OF-FILE-FLAG NOT AT END PERFORM UPDATE-RECORD END-READ PERFORM UNTIL END-OF-FILE-FLAG = 'Y' READ UPDATE-FILE AT END MOVE 'Y' TO END-OF-FILE-FLAG NOT AT END PERFORM UPDATE-RECORD END-READ END-PERFORM CLOSE UPDATE-FILE. UPDATE-RECORD. * Modify record data ADD 1 TO RECORD-COUNTER REWRITE FILE-RECORD.

SEQUENTIAL for file updates.

Best Practices

Understanding best practices ensures effective use of the SEQUENTIAL clause.

Best Practices

  • Use for batch processing - Choose SEQUENTIAL for batch operations
  • Process entire files - Read files from beginning to end
  • Handle end-of-file - Always check for end-of-file conditions
  • Optimize I/O - Use buffered I/O for better performance
  • Validate file status - Check file status after operations

Test Your Knowledge

1. What is the primary purpose of the SEQUENTIAL clause in COBOL?

  • To sequence program execution
  • To define sequential file organization and access
  • To sequence data types
  • To sequence memory allocation

2. In which COBOL division is the SEQUENTIAL clause typically used?

  • IDENTIFICATION DIVISION
  • ENVIRONMENT DIVISION
  • DATA DIVISION
  • PROCEDURE DIVISION

3. What does SEQUENTIAL organization mean for file access?

  • Random access to any record
  • Records must be accessed in order from beginning to end
  • Access to records by key value
  • Access to records by position

4. Can SEQUENTIAL files be updated in place?

  • Yes, any record can be updated
  • No, sequential files cannot be updated
  • Yes, but only the current record being read
  • Only with special permissions

5. What is the relationship between SEQUENTIAL and RANDOM access modes?

  • They are the same thing
  • SEQUENTIAL processes records in order, RANDOM allows direct access
  • SEQUENTIAL is faster than RANDOM
  • They cannot be used together

Frequently Asked Questions