COBOL CODE – Reading from a Sequential File

July 11, 2008

WRITE A COBOL PROGRAM WHICH READS THE LIBRARY FILE CONTAINING THE FOLLOWING INFORMATION -

NAME OF BOOK    AUTHOR    COST    OTHER INFORMATION
20 CHAR        20 CHAR

NOTE:-

1-THE FILE IS A SEQUENTIAL FILE OF LENGTH 80
2-THE FIELD LENGTHS ARE
BOOK NAME – 20 CHAR
AUTHOR – 20 CHAR
COST – 5 CHAR
OTHER INFO – 35

PROGRAM

IDENTIFICATION DIVISION.
PROGRAM-ID NETCOPY.
AUTHOR ROHIT.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT BOOKFILE ASSIGN TO BOOKDAT.
DATA DIVISION.
FILE SECTION.
FD BOOKFILE RECORD CONTAINS 80 CHARACTERS.
01 BOOKDETAILS.
88 ENDOFBOOKFILE VALUE HIGH-VALUES.
02 BOOKNAME PIC X(20).
02 BOOKAUTHOR PIC X(20).
02 BOOKCOST PIC 9(5).
02 BOOKOTHER PIC X(35).
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.
BEGIN.
OPEN INPUT BOOKFILE
READ BOOKFILE
AT END SET ENDOFBOOKFILE TO TRUE
END-READ
PERFORM UNTIL ENDOFBOOKFILE
DISPLAY BOOKNAME SPACE BOOKAUTHOR SPACE
DISPLAY BOOKCOST SPACE BOOKOTHER
READ BOOKFILE
AT END SET ENDOFBOOKFILE TO TRUE
END-READ
END-PERFORM
CLOSE BOOKFILE
STOP RUN.


EXECUTE JCL FOR COBOL + Mainframe

July 11, 2008

000001 //RUNCOB JOB ‘LEM01′,’MAC’,CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID
000002 //STEP1 EXEC PGM=COBOL <= OBJ PRM NAME
000003 //STEPLIB DD DISP=SHR,DSN=IBMMFS.MAC.LOAD <= LOAD MODULE PDS
000004 //JCLFILE DD DISP=SHR,DSN=IBMMFS.MAC.PSFILE <=COBOL QSAM FILE-ID
000005 //SYSPRINT DD SYSOUT=* <= OUTPUT STREAM ( * = X )
000006 //SYSIN DD * <= INPUT STREAM
000007 25
000008 /*
000009 //


COMPILE AND RUN JCL FOR COBOL

July 11, 2008

****** ***************************** Top of Data **************************************
000001 //COBCOMP JOB ‘IBMMFS’,'MAC’,CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID

000002 //PROCLIB JCLLIB ORDER=IBMMFS.PROC.COBOL   <= CONTAINS IGYWCL
000003 //STEP1 EXEC IGYWCL,
000004 // PARM.COBOL=’LIB,APOST,XREF,MAP,OFFSET’    <= COMPILER OPTIONS
000005 //COBOL.SYSIN DD DISP=SHR,DSN=IBMMFS.MAC.SOURCE(COBOL) <= I\P PGM
000006 //LKED.SYSLIB DD DISP=SHR,DSN=IBMMFS.MAC.COPY(SUBCOB) <= COPYLIB
000007 //LKED.SYSLMOD DD DISP=SHR,DSN=IBMMFS.MAC.LOAD(COBOL) <= O\P PGM
000008 //SYSPRINT DD SYSOUT=*
000009 //
****** **************************** Bottom of Data ************************************