Powered By Blogger

Sunday, March 27, 2011

COBOL: Accepting and Displaying data.

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.

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
/*

No comments:

Post a Comment