0% found this document useful (0 votes)
11 views3 pages

Vsam Assign2

The document outlines a COBOL program designed to read a flat file containing 105 records, each 75 bytes long, and split it into five output files, each containing 20 records. It includes sections for file control, data definitions, and procedures for opening, reading, writing, and closing files. The program uses sequential access for both input and output files, and it tracks the status of file operations throughout its execution.

Uploaded by

sanamvai002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views3 pages

Vsam Assign2

The document outlines a COBOL program designed to read a flat file containing 105 records, each 75 bytes long, and split it into five output files, each containing 20 records. It includes sections for file control, data definitions, and procedures for opening, reading, writing, and closing files. The program uses sequential access for both input and output files, and it tracks the status of file operations throughout its execution.

Uploaded by

sanamvai002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

IDENTIFICATION DIVISION.

00010000
PROGRAM-ID. SAMPLE. 00020000
ENVIRONMENT DIVISION. 00030000
* 00030124
*THEIR IS A FLAT FILE WITH 105 RECODS EACH REC LENGTH IS 75BYTES 00031024
* SPLIT INPUT FILE INTO 5 OUTPUT FILES EACH OUTPUT FILE CONTAINS 00032024
* 20 RECORDS REMAINING COMES TO OUTPUT1 FILE 00033024
* 00034024
* 00035024
INPUT-OUTPUT SECTION. 00040000
FILE-CONTROL. 00050000
SELECT EMP-FILE ASSIGN TO DISK1 00060000
ORGANIZATION IS SEQUENTIAL 00070000
ACCESS MODE IS SEQUENTIAL 00080000
FILE STATUS IS FS. 00090000
* 00100000
SELECT OUT-FILE1 ASSIGN TO DISK2 00110000
ORGANIZATION IS SEQUENTIAL 00120000
ACCESS MODE IS SEQUENTIAL 00130000
FILE STATUS IS FS1. 00140000
* 00150022
SELECT OUT-FILE2 ASSIGN TO DISK3 00160000
ORGANIZATION IS SEQUENTIAL 00170000
ACCESS MODE IS SEQUENTIAL 00180000
FILE STATUS IS FS2. 00190000
* 00190100
SELECT OUT-FILE3 ASSIGN TO DISK4 00191022
ORGANIZATION IS SEQUENTIAL 00192000
ACCESS MODE IS SEQUENTIAL 00193000
FILE STATUS IS FS3. 00194000
* 00195000
SELECT OUT-FILE4 ASSIGN TO DISK5 00196022
ORGANIZATION IS SEQUENTIAL 00197000
ACCESS MODE IS SEQUENTIAL 00198000
FILE STATUS IS FS4. 00199000
* 00199100
SELECT OUT-FILE5 ASSIGN TO DISK6 00199222
ORGANIZATION IS SEQUENTIAL 00199300
ACCESS MODE IS SEQUENTIAL 00199400
FILE STATUS IS FS5. 00199500
* 00199622
DATA DIVISION. 00201000
FILE SECTION. 00210000
FD EMP-FILE. 00220000
01 EMP-REC. 00230000
02 NAME PIC X(80). 00240014
FD OUT-FILE1. 00320000
01 EMP-REC. 00330000
02 ENAME PIC X(80). 00340014
FD OUT-FILE2. 00420000
01 EMP-REC. 00430000
02 EAME PIC X(80). 00440014
FD OUT-FILE3. 00450000
01 EMP-REC. 00460000
02 ENAME PIC X(80). 00470014
FD OUT-FILE4. 00480000
01 EMP-REC. 00490000
02 ENAME PIC X(80). 00490114
FD OUT-FILE5. 00491000
01 EMP-REC. 00492000
02 ENAME PIC X(80). 00493014
WORKING-STORAGE SECTION. 00520000
01 FS PIC 9(2). 00530000
01 FS1 PIC 9(2). 00540000
01 FS2 PIC 9(2). 00550000
01 FS3 PIC 9(2). 00551000
01 FS4 PIC 9(2). 00552000
01 FS5 PIC 9(2). 00553000
01 CNT PIC 9(2) VALUE ZERO. 00554000
PROCEDURE DIVISION. 00560000
PERFORM OPEN-PARA. 00570000
PERFORM READ-PARA UNTIL FS = 10. 00580000
* PERFORM WRITE-PARA. 00581012
PERFORM CLOSE-PARA. 00590000
STOP RUN. 00600000
OPEN-PARA. 00610002
OPEN INPUT EMP-FILE. 00620000
DISPLAY 'FILE OPEN STATUS IS....;' FS. 00630000
OPEN OUTPUT OUT-FILE1. 00640000
DISPLAY 'FILE OPEN STATUS IS....;' FS1. 00650000
OPEN OUTPUT OUT-FILE2. 00660000
DISPLAY 'FILE OPEN STATUS IS....;' FS2. 00670000
OPEN OUTPUT OUT-FILE3. 00671000
DISPLAY 'FILE OPEN STATUS IS....;' FS3. 00672000
OPEN OUTPUT OUT-FILE4. 00673004
DISPLAY 'FILE OPEN STATUS IS....;' FS4. 00674000
OPEN OUTPUT OUT-FILE5. 00675004
DISPLAY 'FILE OPEN STATUS IS....;' FS5. 00676000
READ-PARA. 00680002
READ EMP-FILE 00690000
AT END 00700000
DISPLAY ' PROCESS COMPLETED.....;' 00710000
NOT AT END 00720000
ADD 1 TO CNT 00721006
DISPLAY 'FILE READ STATUS IS:' FS 00721111
* END-READ. 00722013
*WRITE-PARA. 00723012
IF CNT <= 2 00730000
MOVE EMP-REC OF EMP-FILE TO EMP-REC OF OUT-FILE1 00740017
WRITE EMP-REC OF OUT-FILE1 00741017
ELSE IF CNT >= 2 AND <= 4 00750016
MOVE EMP-REC OF EMP-FILE TO EMP-REC OF OUT-FILE2 00751017
WRITE EMP-REC OF OUT-FILE2 00752017
ELSE IF CNT >= 4 AND <= 6 00770016
MOVE EMP-REC OF EMP-FILE TO EMP-REC OF OUT-FILE3 00771017
WRITE EMP-REC OF OUT-FILE3 00780013
ELSE IF CNT >= 6 AND <= 8 00790016
MOVE EMP-REC OF EMP-FILE TO EMP-REC OF OUT-FILE4 00791017
WRITE EMP-REC OF OUT-FILE4 00800013
ELSE IF CNT >= 8 AND <= 10 00810016
MOVE EMP-REC OF EMP-FILE TO EMP-REC OF OUT-FILE5 00811017
WRITE EMP-REC OF OUT-FILE5 00820013
END-IF 00860000
END-IF 00870000
END-IF 00880000
END-IF 00890013
END-IF 00891020
IF 00892023
CNT = 10 00893023
INITIALIZE CNT 00894023
END-IF 00895023
END-READ. 00900013
CLOSE-PARA. 00910000
CLOSE EMP-FILE OUT-FILE1 OUT-FILE2 OUT-FILE3 OUT-FILE4 00920000
OUT-FILE5. 00930000
DISPLAY 'FILE CLOSE STATUS IS:' FS FS1 FS2 FS3 FS4 FS5. 00940000

You might also like