Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
← Back to JCL Basics
JCL Basics | Advanced | COBOL

KSDS Sequential Read

Problem Description

Read VSAM KSDS file sequentially.

Expected Output

Processing KSDS records in sequence

Hints

OPEN INPUT, READ with AT END, CLOSE.

Solution

IDENTIFICATION DIVISION. PROGRAM-ID. VSAMSQRD. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT VSAM-FILE ASSIGN TO VSAMFILE ORGANIZATION IS INDEXED ACCESS MODE IS SEQUENTIAL RECORD KEY IS VS-KEY FILE STATUS IS WS-FILE-STATUS. DATA DIVISION. FILE SECTION. FD VSAM-FILE. 01 VS-RECORD. 05 VS-KEY PIC X(10). 05 VS-DATA PIC X(70). WORKING-STORAGE SECTION. 01 WS-FILE-STATUS PIC XX. 01 WS-EOF PIC 9 VALUE 0. 01 WS-COUNT PIC 9(5) VALUE 0. PROCEDURE DIVISION. OPEN INPUT VSAM-FILE. IF WS-FILE-STATUS NOT = "00" DISPLAY "OPEN ERROR: " WS-FILE-STATUS STOP RUN END-IF. PERFORM UNTIL WS-EOF = 1 READ VSAM-FILE AT END MOVE 1 TO WS-EOF NOT AT END ADD 1 TO WS-COUNT DISPLAY "KEY: " VS-KEY " DATA: " VS-DATA END-READ END-PERFORM. CLOSE VSAM-FILE. DISPLAY "TOTAL RECORDS: " WS-COUNT. STOP RUN.

Explanation:

ORGANIZATION IS INDEXED for KSDS. ACCESS MODE SEQUENTIAL for sequential read.