You can use the below code as reference for accepting and displaying data w.r.t. COBOL.
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. ACPTDISP.
000300 DATA DIVISION.
000400 WORKING-STORAGE SECTION.
000500 01 STUDENTDETAILS.
000600 02 STUDENTID PIC 9(7).
000700 02 STUDENTNAME.
000800 03 SURNAME PIC X(8).
000900 03 INITIALS PIC XX.
001000 02 COURSECODE PIC X(4).
001100 02 GENDER PIC X.
001200* YYMMDD
001300 01 CURRENTDATE.
001400 02 CURRENTYEAR PIC 9(4).
001500 02 CURRENTMONTH PIC 99.
001600 02 CURRENTDAY PIC 99.
001700* YYDDD
001800 01 DAYOFYEAR.
001900 02 FILLER PIC 9(4).
002000 02 YEARDAY PIC 9(3).
002100* HHMMSSSS S = S/100
002200 01 CURRENTTIME.
002300 02 CURRENTHOUR PIC 99.
002400 02 CURRENTMINUTE PIC 99.
002500 02 FILLER PIC 9(4).
002600 01 WS-TODAY PIC 9(8).
002700 01 WS-FUTURE-DATE PIC 9(8).
002800 01 COUNTER PIC S9(3) VALUE -150.
002900 PROCEDURE DIVISION.
003000 BEGIN.
003100 DISPLAY "ENTER STUDENT DETAILS USING TEMPLATE BELOW".
003200 DISPLAY "ENTER - ID,SURNAME,INITIALS,COURSECODE,GENDER"
003300 DISPLAY "SSSSSSSNNNNNNNNIICCCCG".
003400* MOVE '1234567QWERTYUIZXHJKLF' TO STUDENTDETAILS.
003500* ACCEPT STUDENTDETAILS.
003600 ACCEPT CURRENTDATE FROM DATE YYYYMMDD.
003700 ACCEPT DAYOFYEAR FROM DAY YYYYDDD.
003800 ACCEPT CURRENTTIME FROM TIME.
003900 DISPLAY "NAME IS ", INITIALS SPACE SURNAME.
004000 DISPLAY "DATE IS " CURRENTDAY SPACE CURRENTMONTH SPACE
004100 CURRENTYEAR.
004200 DISPLAY "TODAY IS DAY " YEARDAY " OF THE YEAR".
004300 DISPLAY "THE TIME IS " CURRENTHOUR ":" CURRENTMINUTE.
004400 MOVE FUNCTION CURRENT-DATE (1:8) TO WS-TODAY
004500 COMPUTE WS-FUTURE-DATE = FUNCTION DATE-OF-INTEGER (FUNCTION
004600 INTEGER-OF-DATE (WS-TODAY) + COUNTER)
004700 DISPLAY WS-TODAY
004800 DISPLAY WS-FUTURE-DATE
004900 STOP RUN.
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. ACPTDISP.
000300 DATA DIVISION.
000400 WORKING-STORAGE SECTION.
000500 01 STUDENTDETAILS.
000600 02 STUDENTID PIC 9(7).
000700 02 STUDENTNAME.
000800 03 SURNAME PIC X(8).
000900 03 INITIALS PIC XX.
001000 02 COURSECODE PIC X(4).
001100 02 GENDER PIC X.
001200* YYMMDD
001300 01 CURRENTDATE.
001400 02 CURRENTYEAR PIC 9(4).
001500 02 CURRENTMONTH PIC 99.
001600 02 CURRENTDAY PIC 99.
001700* YYDDD
001800 01 DAYOFYEAR.
001900 02 FILLER PIC 9(4).
002000 02 YEARDAY PIC 9(3).
002100* HHMMSSSS S = S/100
002200 01 CURRENTTIME.
002300 02 CURRENTHOUR PIC 99.
002400 02 CURRENTMINUTE PIC 99.
002500 02 FILLER PIC 9(4).
002600 01 WS-TODAY PIC 9(8).
002700 01 WS-FUTURE-DATE PIC 9(8).
002800 01 COUNTER PIC S9(3) VALUE -150.
002900 PROCEDURE DIVISION.
003000 BEGIN.
003100 DISPLAY "ENTER STUDENT DETAILS USING TEMPLATE BELOW".
003200 DISPLAY "ENTER - ID,SURNAME,INITIALS,COURSECODE,GENDER"
003300 DISPLAY "SSSSSSSNNNNNNNNIICCCCG".
003400* MOVE '1234567QWERTYUIZXHJKLF' TO STUDENTDETAILS.
003500* ACCEPT STUDENTDETAILS.
003600 ACCEPT CURRENTDATE FROM DATE YYYYMMDD.
003700 ACCEPT DAYOFYEAR FROM DAY YYYYDDD.
003800 ACCEPT CURRENTTIME FROM TIME.
003900 DISPLAY "NAME IS ", INITIALS SPACE SURNAME.
004000 DISPLAY "DATE IS " CURRENTDAY SPACE CURRENTMONTH SPACE
004100 CURRENTYEAR.
004200 DISPLAY "TODAY IS DAY " YEARDAY " OF THE YEAR".
004300 DISPLAY "THE TIME IS " CURRENTHOUR ":" CURRENTMINUTE.
004400 MOVE FUNCTION CURRENT-DATE (1:8) TO WS-TODAY
004500 COMPUTE WS-FUTURE-DATE = FUNCTION DATE-OF-INTEGER (FUNCTION
004600 INTEGER-OF-DATE (WS-TODAY) + COUNTER)
004700 DISPLAY WS-TODAY
004800 DISPLAY WS-FUTURE-DATE
004900 STOP RUN.
Plus some built-in functions for reference too.
For execution
//COBOLCOM JOB (0000),'COMPILE COBOL PGM',
// CLASS=A,MSGCLASS=0,MSGLEVEL=(1,1),NOTIFY=R01029
//PROCLIB JCLLIB ORDER='SYS1.ADMIN.PROCLIB'
//COB##COM EXEC IGYWCL,MEMBER=ACPTDISP,
// SRCELIB=R01029.COBOL.PGM,
// LOADLIB=R01029.COBOL.LOADLIB,
// PARM.COBOL='LIB,CODEPAGE(37),LIST',
// COPYLIB1=R01029.COBOL.DCLGEN
//RUN##PGM EXEC PGM=ACPTDISP,COND=(4,LE)
//READER DD DSN=R01029.COBOL.INPUT,DISP=SHR
//STEPLIB DD DSN=R01029.COBOL.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
If you want to enable the ACCEPT of STUDENT-DETAILS then add a SYSIN stream to the above job
//SYSIN DD *
1234567QWERTYUIZXHJKLF
/*
For execution
//COBOLCOM JOB (0000),'COMPILE COBOL PGM',
// CLASS=A,MSGCLASS=0,MSGLEVEL=(1,1),NOTIFY=R01029
//PROCLIB JCLLIB ORDER='SYS1.ADMIN.PROCLIB'
//COB##COM EXEC IGYWCL,MEMBER=ACPTDISP,
// SRCELIB=R01029.COBOL.PGM,
// LOADLIB=R01029.COBOL.LOADLIB,
// PARM.COBOL='LIB,CODEPAGE(37),LIST',
// COPYLIB1=R01029.COBOL.DCLGEN
//RUN##PGM EXEC PGM=ACPTDISP,COND=(4,LE)
//READER DD DSN=R01029.COBOL.INPUT,DISP=SHR
//STEPLIB DD DSN=R01029.COBOL.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
If you want to enable the ACCEPT of STUDENT-DETAILS then add a SYSIN stream to the above job
//SYSIN DD *
1234567QWERTYUIZXHJKLF
/*
No comments:
Post a Comment