ID DIVISION.
PROGRAM-ID. FILEOPEN.
*****************************************************************
*** READING RECORDS RANDOMLY FROM KSDS ***
*****************************************************************
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INFILE ASSIGN TO DD1
ORGANIZATION INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS ENO
FILE STATUS IS INFL-ST.
DATA DIVISION.
FILE SECTION.
FD INFILE.
01 INREC.
04 ENO PIC X(4).
04 ENAME PIC X(4).
04 EMOB PIC X(10).
04 FILLER PIC X(62).
WORKING-STORAGE SECTION.
01 INFL-ST PIC X(2).
88 INFL-OK VALUE '00'.
88 END-INFL VALUE '10'.
PROCEDURE DIVISION.
000-MAIN.
DISPLAY 'FILE READING STARTS'.
PERFORM 100-OPEN-PARA
THRU 100-OPEN-PARA-EXIT
PERFORM 200-PROCESS-PARA
THRU 200-PROCESS-PARA-EXIT
PERFORM 300-CLOSE-PARA
THRU 300-CLOSE-PARA-EXIT
PERFORM 999-STOP-RUN
THRU 999-STOP-RUN-EXIT.
000-EXIT.
EXIT.
100-OPEN-PARA.
OPEN INPUT INFILE
IF INFL-OK
DISPLAY 'INFILE OPENING SUCCESFULLY'
ELSE
DISPLAY 'ERROR OPENING INFILE:' INFL-ST
PERFORM 999-STOP-RUN
THRU 999-STOP-RUN-EXIT
END-IF.
100-OPEN-PARA-EXIT.
EXIT.
200-PROCESS-PARA.
ACCEPT ENO
READ INFILE
KEY IS ENO
INVALID KEY
DISPLAY 'INVALID KEY'
NOT INVALID KEY
DISPLAY INREC
END-READ.
200-PROCESS-PARA-EXIT.
EXIT.
300-CLOSE-PARA.
CLOSE INFILE
IF INFL-OK
DISPLAY 'INFILE CLOSE SUCCESSFULLY'
ELSE
DISPLAY 'ERROR CLOSE SUCCESSFULLY' INFL-ST
GO TO 300-CLOSE-PARA-EXIT
END-IF.
300-CLOSE-PARA-EXIT.
EXIT.
999-STOP-RUN.
DISPLAY 'PROGRAM READING ENDED'
STOP RUN.
999-STOP-RUN-EXIT.
EXIT.
PROGRAM-ID. FILEOPEN.
*****************************************************************
*** READING RECORDS RANDOMLY FROM KSDS ***
*****************************************************************
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INFILE ASSIGN TO DD1
ORGANIZATION INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS ENO
FILE STATUS IS INFL-ST.
DATA DIVISION.
FILE SECTION.
FD INFILE.
01 INREC.
04 ENO PIC X(4).
04 ENAME PIC X(4).
04 EMOB PIC X(10).
04 FILLER PIC X(62).
WORKING-STORAGE SECTION.
01 INFL-ST PIC X(2).
88 INFL-OK VALUE '00'.
88 END-INFL VALUE '10'.
PROCEDURE DIVISION.
000-MAIN.
DISPLAY 'FILE READING STARTS'.
PERFORM 100-OPEN-PARA
THRU 100-OPEN-PARA-EXIT
PERFORM 200-PROCESS-PARA
THRU 200-PROCESS-PARA-EXIT
PERFORM 300-CLOSE-PARA
THRU 300-CLOSE-PARA-EXIT
PERFORM 999-STOP-RUN
THRU 999-STOP-RUN-EXIT.
000-EXIT.
EXIT.
100-OPEN-PARA.
OPEN INPUT INFILE
IF INFL-OK
DISPLAY 'INFILE OPENING SUCCESFULLY'
ELSE
DISPLAY 'ERROR OPENING INFILE:' INFL-ST
PERFORM 999-STOP-RUN
THRU 999-STOP-RUN-EXIT
END-IF.
100-OPEN-PARA-EXIT.
EXIT.
200-PROCESS-PARA.
ACCEPT ENO
READ INFILE
KEY IS ENO
INVALID KEY
DISPLAY 'INVALID KEY'
NOT INVALID KEY
DISPLAY INREC
END-READ.
200-PROCESS-PARA-EXIT.
EXIT.
300-CLOSE-PARA.
CLOSE INFILE
IF INFL-OK
DISPLAY 'INFILE CLOSE SUCCESSFULLY'
ELSE
DISPLAY 'ERROR CLOSE SUCCESSFULLY' INFL-ST
GO TO 300-CLOSE-PARA-EXIT
END-IF.
300-CLOSE-PARA-EXIT.
EXIT.
999-STOP-RUN.
DISPLAY 'PROGRAM READING ENDED'
STOP RUN.
999-STOP-RUN-EXIT.
EXIT.
No comments:
Post a Comment