JCL PROG
MTPLP06.RAC1.PS
d ===>
***************************** Top of D
//MTPLP06B JOB NOTIFY=&SYSUID
//J1 JCLLIB ORDER=MTPLP06.RACH.PDS
//STEP1 EXEC PROC=CAL2
MTPLP06.RACH.PDS(CAL2) - 01.14 Columns 00001 00
===> Scroll ===> P
***************************** Top of Data **************************
//PROC1 PROC
//EXEC1 EXEC PGM=IEFBR14
//DD1 DD DSN=MTPLP06.RAT019.PS,VOL=SER=MTPUN1,UNIT=SYSDA,
// SPACE=(TRK,(1,1),RLSE),DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// DISP=(NEW,CATLG,DELETE)
//SYSIN DD DUMMY
MTPLP06.RACH.PDS(CALL) - 01.02
===>
***************************** Top o
//JOB1 JOB NOTIFY=&SYSUID
//J1 JCLLIB ORDER=MTPLP06.RACH.PDS
//STEP1 EXEC PROC=CTLG
MTPLP06.RACH.PDS(CTLG) - 01.06 Columns 0
===> Scroll
***************************** Top of Data *******************
//PROC1 PROC
//EXEC1 EXEC PGM=IEFBR14
//DD1 DD DSN=MTPLP06.SMITHA21.PDS,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// SPACE=(TRK,(2,2,3),RLSE),UNIT=SYSDA,VOL=SER=MTPUN1,
// DISP=(NEW,CATLG,DELETE)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
MTPLP06.RACH.PDS(INST) - 01.01  p; Columns 00001
d ===> Scroll ===
***************************** Top of Data ***********************
//MTPLP06B JOB NOTIFY=&SYSUID
//PROC1 PROC
//EXEC1 EXEC PGM=IEFBR14
//DD1 DD DSN=MTPLP06.INRR.PS,DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// VOL=SER=MTPUN1,SPACE=(TRK,(1,1),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSPRINT DD SYSOUT=*
// PEND
//EXEC2 EXEC PROC=PROC1
//SYSIN DD DUMMY
MTPLP06.RACH.PDS(IEHL) - 01.01
===>
***************************** Top of Data ***
//MTPLP06A JOB NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEHLIST
//SYSPRINT DD SYSOUT=*
//DD1 DD DISP=OLD,UNIT=SYSDA,VOL=SER=MTPUN1
//SYSIN DD *
LISTVTOC VOL=SYSDA=MTPUN1
/*
//
MTPLP06.RACH.PDS(COND) - 01.00 Columns 00001 00072
===> Scroll ===> PAGE
***************************** Top of Data *****************************
//MTPLP06A JOB NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEHLIST
//SYSPRINT DD SYSOUT=*
//DD1 DD DISP=OLD,UNIT=SYSDA,VOL=SER=MTPUN1
//SYSIN DD *
LISTVTOC VOL=SYSDA=MTPUN1
/*
//STEP2 EXEC PGM=IEFBR14,COND=(4,EQ,STEP1)
//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=MTPLP06.CONR.PS,VOL=SER=MTPUN1,
// UNIT=SYSDA,DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(2,2),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSIN DD DUMMY
MTPLP06.RACH.PDS(SORT) - 01.02
===>
***************************** Top of Data *******
//JOB1 JOB NOTIFY=&SYSUID
//EXEC1 EXEC PGM=SORT
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=MTPLP06.SORTR.PDS(MEM),DISP=SHR
//SORTOUT DD DSN=MTPLP06.SORTS.PDS(SMI),DISP=SHR
//SYSIN DD *
SORT FIELDS=(1,4,CH,D)
/*
//
MTPLP06.RACH.PDS(MERGE) - 01.02  p;
===>
***************************** Top of Data ******
//MTPLP06A JOB NOTIFY=&SYSUID
//EXEC1 EXEC PGM=ICEMAN
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTIN1 DD DSN=MTPLP06.SORTR.PDS(MEM),DISP=OLD
//SORTIN2 DD DSN=MTPLP06.SORTS.PDS(SMI),DISP=OLD
//SORTOUT DD DSN=MTPLP06.MERG1.PDS(OP),DISP=OLD
//SYSIN DD *
MERGE FIELDS=(1,3,CH,D)
/*
//
MTPLP06.RACH.PDS(OVRDD) - 01.01  p; Columns 00001 00
===> Scroll ===> P
***************************** Top of Data **************************
//MTPLP06A JOB NOTIFY=&SYSUID
//PROC1 PROC
//EXEC1 EXEC PGM=IEFBR14
//DD1 DD DSN=MTPLP06.RS.PS,
// VOL=SER=MTPUN1,UNIT=SYSDA,
// DISP=(NEW,CATLG,DELETE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),SPACE=(TRK,(2,2),RLSE)
//SYSPRINT DD SYSOUT=*
// PEND
//EXEC2 EXEC PROC=PROC1
//EXEC1.DD1 DD DSN=MTPLP06.SR.PS
//SYSIN DD DUMMY
( BASE MODEL OF GDG PROGRAM FIRST CREATED)
MTPLP06.RACGEN.PS
===>
***************************** Top of Data ******
//MTPLP06A JOB NOTIFY=&SYSUID
//EXEC1 EXEC PGM=IEFBR14
//DD1 DD DSN=MTPLP06.GEN1.GDG1(+2),
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// VOL=SER=MTPUN1,SPACE=(TRK,(2,2),RLSE),
// DCB=(MTPLP06.BASEG.GDG)
//SYSIN DD DUMMY
(GENERATION CREATED)
MTPLP06.RACH.PDS(GDG) - 01.18
===>
***************************** Top of Data ******
//JOB1 JOB NOTIFY=&SYSUID
//EXEC1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//DD1 DD DSN=MTPLP06.BASEG.GDG, --> ( BASEG REMAINS EMPTY)&
// DISP=(NEW,CATLG,DELETE),SPACE=(TRK,0),
// UNIT=SYSDA,VOL=SER=MTPUN1,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSIN DD *
DEFINE GENERATIONDATAGROUP -
(NAME(MTPLP06.GEN1.GDG1) -
SCRATCH -  p;
EMPTY -  p;
LIMIT (3))
/*
//
COBOL PROGRAMS
MTPLP06.RSCOB.PDS(COBCOMP) - 01.59 Columns 00001 0
===> Scroll ===>
***************************** Top of Data *************************
//MTPLP06A JOB NOTIFY=&SYSUID
//JOBPROC JCLLIB ORDER=MAINTEC.PROC.LIB
//COBCL EXEC IGYWCL,
// PGMLIB=MTPLP06.LIBRARY.PDS, --> LOADLIB NAME  p;
// GOPGM=RDFINE --> MEMBER NAME ;
//COBOL.SYSIN DD DSN=MTPLP06.RSCOB.PDS(RDFINE),DISP=SHR -->SRC
/*
( another original compiler)
EDIT MTPLP06.MYFILES1.PDS(COBRUN) - 01.99 Columns 00001
Command ===> Scroll ===>
****** ***************************** Top of Data ************************
000100 //MTPLP06A JOB NOTIFY=&SYSUID
001200 //RUN EXEC PGM=PERFORM1
001300 //STEPLIB DD DSN=MTPLP06.LOADNEW.PDS,DISP=SHR --> LOAD LIB
001400 //SYSPRINT DD SYSOUT=*
001401 //*SYSOUT DD SYSOUT=*
001402 //DD1 DD DSN=MTPLP06.MYFILES1.PDS(INFILE1),DISP=SHR
001403 //* DCB=(BLKSIZE=800,LRECL=80,RECFM=FB),
001404 //* UNIT=SYSDA,SPACE=(TRK,(1,2),RLSE)
001405 //DD2 DD DSN=MTPLP06.MYFILES1.PDS(OUTFILE),DISP=SHR
001406 //* DCB=(BLKSIZE=800,LRECL=80,RECFM=FB),
001407 //* UNIT=SYSDA,SPACE=(TRK,(1,2),RLSE)
001500 //SYSIN DD *
002100 //
MTPLP06.RSCOB.PDS(COBRUN) - 01.99 Columns 0000
===> Scroll ==
***************************** Top of Data **********************
//MTPLP06A JOB NOTIFY=&SYSUID
//RUN EXEC PGM=RDFINE
//STEPLIB DD DSN=MTPLP06.LIBRARY.PDS,DISP=SHR --> LOAD LIB
//SYSPRINT DD SYSOUT=*
//*SYSOUT DD SYSOUT=*
//*DD1 DD DSN=MTPLH02.COBOL.PS2,DISP=SHR
//* DCB=(BLKSIZE=800,LRECL=80,RECFM=FB),
//* UNIT=SYSDA,SPACE=(TRK,(1,2),RLSE)
//*DD2 DD DSN=MTPLH02.COBOL.PS2,DISP=(NEW,CATLG,DELETE),
//* DCB=(BLKSIZE=800,LRECL=80,RECFM=FB),
//* UNIT=SYSDA,SPACE=(TRK,(1,2),RLSE)
//SYSIN DD *
100
123
09
9A
//
EDIT MTPLP06.RSCOB.PDS(ADD1) - 01.19
Command ===>
****** ***************************** Top of Data **********
000100 *PROGRAM TO PERFORM ADDTION.
000200 IDENTIFICATION DIVISION.
000300 PROGRAM-ID. ADD2.
000400 ENVIRONMENT DIVISION.
000500 DATA DIVISION.
000600 WORKING-STORAGE SECTION.
000700 77 A PIC 9(2).
000800 77 B PIC 9(2).
000900 77 C PIC 9(2).
001000 PROCEDURE DIVISION.
001100 ACCEPT A.
001200 ACCEPT B.
001300 ADD A TO B GIVING C.
001400 DISPLAY "ENTER A= ", A ", ENTER B= ", B.
001500 * DISPLAY "ENTER B=", B.
001600 DISPLAY "RESULT OF ADDITION IS =", C.
001700 STOP RUN.
EDIT MTPLP06.RSCOB.PDS(DAMS) - 01.34
Command ===>
****** ***************************** Top of Da
000100 *PROGRAM TO PERFORM ADDTION.
000200 IDENTIFICATION DIVISION.
000300 PROGRAM-ID. DAMS.
000400 ENVIRONMENT DIVISION.
000500 DATA DIVISION.
000600 WORKING-STORAGE SECTION.
000700 77 A PIC 9(2).
000800 77 B PIC 9(2).
000900 77 C PIC 9(2).
000910 *77 D PIC 9(2).
000920 77 E PIC X(2) VALUE SPACES.
001000 PROCEDURE DIVISION.
001100 ACCEPT A.
001200 ACCEPT B.
001300 ACCEPT C.
001310 * ACCEPT D.
001400 DISPLAY "VALUE OF A= ", A.
001401 DISPLAY "VALUE OF B= ", B.
001402 DISPLAY "VALUE OF C= ", C.
001403 * DISPLAY "VALUE OF D= ", D.
001404 DIVIDE A BY B GIVING C.
001410 * DISPLAY "RESULT IS:- ", B, E, C, E, D.
001420 DISPLAY "RESULT IS:- ", C.
001500 * DISPLAY D.
001600 STOP RUN.
EDIT MTPLP06.RSCOB.PDS(EXAM) - 01.06
Command ===>
****** ***************************** Top of Data **
000110 *PROGRAM TO MOVE CONTENT.
000200 IDENTIFICATION DIVISION.
000300 PROGRAM-ID. SMITHA.
000400 ENVIRONMENT DIVISION.
000500 DATA DIVISION.
000600 WORKING-STORAGE SECTION.
000700 77 D PIC A(3).
000800 77 B PIC 9(3).
000900 77 C PIC X(4).
001000 PROCEDURE DIVISION.
001100 ACCEPT D.
001200 ACCEPT B.
001300 ACCEPT C.
001400 MOVE C TO B.
001500 DISPLAY D.
001600 DISPLAY B.
001700 DISPLAY C.
MTPLP06.RSCOB.PDS(INFILE) - 01.01
===>
***************************** Top of D
11111RACHANA 25000
22222SMITHA 18000
33333VISHAL 25000
MTPLP06.RSCOB.PDS(OUTFILE) - 01.00 (OUTPUT WE GET)/p>
d ===>
***************************** Top of Da
11111 RACHANA 25000 02500
22222 SMITHA 18000 01800
33333 VISHAL 25000 02500
EDIT MTPLP06.RSCOB.PDS(MOVE1) - 01.30
Command ===>
****** ***************************** Top of Data ***
000100 *PROGRAM TO MOVE CONTENT.
000200 IDENTIFICATION DIVISION.
000300 PROGRAM-ID. SMITHA.
000400 ENVIRONMENT DIVISION.
000500 DATA DIVISION.
000600 WORKING-STORAGE SECTION.
000700 77 D PIC A(3).
000800 77 B PIC 9(3).
000900 77 C PIC X(3).
001000 PROCEDURE DIVISION.
001010 ACCEPT D.
001020 ACCEPT B.
001030 ACCEPT C.
001100 MOVE C TO D.
001110 DISPLAY D.
001120 DISPLAY B.
001130 DISPLAY C.
STOPRUN.
MTPLP06.RSCOB.PDS(RDFINE) - 01.14 C
==>
*************************** Top of Data ***********
*PROGRAM TO REDEFINE A DATA ITEM.
IDENTIFICATION DIVISION.
PROGRAM-ID. SMITHA.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 EMPDETAILS.
02 PINFO.
05 FNAME PIC A(10) VALUE "SMITHA".
05 MNAME PIC A(10) VALUE "MANI".
05 LNAME PIC A(10) VALUE "JAISWAL".
05 AGE PIC 9(2) VALUE 23.
02 OINFO REDEFINES PINFO.
05 EMPID PIC X(5).
05 EMPPOST PIC A(12).
05 EMPSAL PIC 9(5).
05 EMPGRADE PIC X(2).
PROCEDURE DIVISION.
MOVE "ST123" TO EMPID.
MOVE "SOFT_TRAINEE" TO EMPPOST.
MOVE 18000 TO EMPSAL.
MOVE "A3" TO EMPGRADE.
* ACCEPT EMPID.
* ACCEPT EMPPOST.
* ACCEPT EMPSAL.
* ACCEPT EMPGRADE.
DISPLAY PINFO.
DISPLAY OINFO.
STOP RUN.
EDIT MTPLP06.RSCOB.PDS(REN1) - 01.14
Command ===>
****** ***************************** Top of Data ****
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. RACH.
000300 ENVIRONMENT DIVISION.
000400 DATA DIVISION.
000410 WORKING-STORAGE SECTION.
000500 01 EMPDATA.
000510 02 REC1.
000600 05 EMPN PIC A(5)BB.
000700 05 EMPID PIC 9(2)BB.
000800 05 AGE PIC 9(2)BB.
000900 02 REC2.
001000 05 ESAL PIC 9(5)BB.
001100 05 EBON PIC 9(5)BB.
001200 66 REC3 RENAMES AGE THRU EBON.
001300 PROCEDURE DIVISION.
001400 ACCEPT EMPN.
001500 ACCEPT EMPID.
001600 ACCEPT AGE.
001700 ACCEPT ESAL.
001800 ACCEPT EBON.
001900 DISPLAY "REC1:- ", REC1.
002000 DISPLAY "REC2:- ", REC2.
002100 DISPLAY "REC3:- ", REC3.
002200 STOP RUN.
MTPLP06.RSCOB.PDS(PCOB) - 01.07
==>
*************************** Top of Data *****
IDENTIFICATION DIVISION.
PROGRAM-ID. PCOB.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INFILE ASSIGN TO DD1.
SELECT OUTFILE ASSIGN TO DD2.
DATA DIVISION.
FILE SECTION.
FD INFILE.
01 IN-REC.
02 EMPID PIC 9(5).
02 EMPNAME PIC A(10).
02 EMPSAL PIC 9(5).
02 FILLER PIC X(60).
FD OUTFILE.
01 OUT-REC.
02 EMPID1 PIC 9(5).
02 FILLER PIC X(2).
02 EMPNAME1 PIC A(10).
02 FILLER PIC X(2).
02 EMPSAL1 PIC 9(5).
02 FILLER PIC X(2).
02 EMPBONUS PIC 9(5).
02 FILLER PIC X(49).
WORKING-STORAGE SECTION.
77 EOF PIC X(3) VALUE 'NO'.
PROCEDURE DIVISION.
MAINPARA.
OPEN INPUT INFILE
OUTPUT OUTFILE.
READ INFILE AT END MOVE 'YES' TO EOF.
PERFORM BONUS-PARA UNTIL EOF = 'YES'.
CLOSE INFILE OUTFILE.
STOP RUN.
MTPLP06.MYFILES1.PDS(FACT1) - 01.04
===>
**************************** Top of Data *********
*PROGRAM TO CALCULATE FACTORIAL OF A NUMBER.
IDENTIFICATION DIVISION.
PROGRAM-ID. FACT.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM PIC 9(1) VALUE 4.
01 FAC PIC 9(3) VALUE 1.
PROCEDURE DIVISION.
ACCEPT NUM.
MAINPARA.
IF NUM = 0
DISPLAY "FACT = 1"
END-IF.
PERFORM PARA1 UNTIL NUM = 1.
DISPLAY "FACTORIAL = ", FAC.
STOPRUN.
MTPLP06.MYFILES1.PDS(INFILE) - 01.04
===>
***************************** Top of Dat
11111RACHANA 25000
22222SMITHA 18000
33333VISHAL 25000
44444NAZISH 16000
55555UPENDRA 17000
66666JITENDRA 19000
77777SOMENDRA 20000
MTPLP06.MYFILES1.PDS(OUTFILE) - 01.00 ( GET OUTPUT)
===>
**************************** Top of Data *******
-------------------------------------------------
MAINTEC-TECHNOLOGIES
-------------------------------------------------
EMPID EMPNAME EMPSAL EMPBONUS
11111 RACHANA 25000 02500
22222 SMITHA 18000 01800
33333 VISHAL 25000 02500
44444 NAZISH 16000 01600
µ 55555 UPENDRA 17000 01700
66666 JITENDRA 19000 01900
77777 SOMENDRA 20000 02000
*************************** Bottom of Data *****
EDIT MTPLP06.MYFILES1.PDS(PERFORM1) - 01.13 Column
Command ===> Scr
****** ***************************** Top of Data ****************
000001 *PROGRAM TO DEMONSTRATE THE USE OF HEADER AND PERFOR
000002 IDENTIFICATION DIVISION.
000003 PROGRAM-ID. EMPD.
000004 ENVIRONMENT DIVISION.
000005 INPUT-OUTPUT SECTION.
000006 FILE-CONTROL.
000007 SELECT INFILE ASSIGN TO DD1.
000008 SELECT OUTFILE ASSIGN TO DD2.
000009 DATA DIVISION.
000010 FILE SECTION.
000011 FD INFILE.
000012 01 IN-REC.
000013 02 EMPID PIC 9(5).
000014 02 EMPNAME PIC A(10).
000015 02 EMPSAL PIC 9(5).
000016 02 FILLER PIC X(60).
000017 FD OUTFILE.
000018 01 OUT-REC.
000019 02 FILLER PIC X(5).
000020 02 EMPID1 PIC 9(5).
000021 02 FILLER PIC X(5).
000022 02 EMPNAME1 PIC A(10).
000023 02 FILLER PIC X(2).
000024 02 EMPSAL1 PIC 9(5).
000025 02 FILLER PIC X(6).
000026 02 EMPBONUS PIC 9(5).
000027 02 FILLER PIC X(37).
000028 WORKING-STORAGE SECTION.
000029 77 EOF PIC X(3) VALUE 'NO'.
000030 01 HEADER1.
000031 02 FILLER PIC X(80) VALUE ALL '-'.
000032 01 HEADER2.
000033 02 FILLER PIC X(80) VALUE SPACES.
000034 01 HEADER3.
000035 02 FILLER PIC X(20) VALUE SPACES.
000036 02 FILLER PIC X(20) VALUE 'MAINTEC-TECHNOLOGIES'.
000037 01 HEADER4.
000038 02 FILLER PIC X(5) VALUE SPACES.
000039 02 FILLER PIC X(5) VALUE 'EMPID'.
000040 02 FILLER PIC X(5) VALUE SPACES.
000041 02 FILLER PIC X(7) VALUE 'EMPNAME'.
000042 02 FILLER PIC X(5) VALUE SPACES.
000043 02 FILLER PIC X(6) VALUE 'EMPSAL'.
000044 02 FILLER PIC X(5) VALUE SPACES.
000045 02 FILLER PIC X(8) VALUE 'EMPBONUS'.
000046 PROCEDURE DIVISION.
000047 MAINPARA.
000048 OPEN INPUT INFILE.
000049 OPEN OUTPUT OUTFILE.
000050 WRITE OUT-REC FROM HEADER1.
000051 WRITE OUT-REC FROM HEADER2.
000052 WRITE OUT-REC FROM HEADER3.
000053 WRITE OUT-REC FROM HEADER2.
000054 WRITE OUT-REC FROM HEADER1.
000055 WRITE OUT-REC FROM HEADER4.
000056 PERFORM BONUS-PARA UNTIL EOF = 'YES'.
000057 CLOSE INFILE OUTFILE.
000058 STOP RUN.
000059 BONUS-PARA.
000060 READ INFILE AT END MOVE "YES" TO EOF NOT AT END
000061 MOVE EMPID TO EMPID1
000062 MOVE EMPNAME TO EMPNAME1
000063 MOVE EMPSAL TO EMPSAL1
000064 MULTIPLY EMPSAL BY 0.1 GIVING EMPBONUS
000065 WRITE OUT-REC
000066 END-READ.
MTPLP06.MYFILES1.PDS(PERFORM1) - 01.13 Columns
==> Scrol
*************************** Top of Data ******************
*PROGRAM TO DEMONSTRATE THE USE OF HEADER AND PERFORM.
IDENTIFICATION DIVISION.
PROGRAM-ID. EMPD.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INFILE ASSIGN TO DD1.
SELECT OUTFILE ASSIGN TO DD2.
DATA DIVISION.
FILE SECTION.
FD INFILE.
01 IN-REC.
02 EMPID PIC 9(5).
02 EMPNAME PIC A(10).
02 EMPSAL PIC 9(5).
02 FILLER PIC X(60).
FD OUTFILE.
01 OUT-REC.
02 FILLER PIC X(5).
02 EMPID1 PIC 9(5).
02 FILLER PIC X(5).
02 EMPNAME1 PIC A(10).
02 FILLER PIC X(2).
02 EMPSAL1 PIC 9(5).
02 FILLER PIC X(6).
02 EMPBONUS PIC 9(5).
02 FILLER PIC X(37).
WORKING-STORAGE SECTION.
77 EOF PIC X(3) VALUE 'NO'.
01 HEADER1.
02 FILLER PIC X(80) VALUE ALL '-'.
01 HEADER2.
02 FILLER PIC X(80) VALUE SPACES.
01 HEADER3.
02 FILLER PIC X(20) VALUE SPACES.
02 FILLER PIC X(20) VALUE 'MAINTEC-TECHNOLOGIES'.
01 HEADER4.
02 FILLER PIC X(5) VALUE SPACES.
02 FILLER PIC X(5) VALUE 'EMPID'.
02 FILLER PIC X(5) VALUE SPACES.
02 FILLER PIC X(7) VALUE 'EMPNAME'.
02 FILLER PIC X(5) VALUE SPACES.
02 FILLER PIC X(6) VALUE 'EMPSAL'.
02 FILLER PIC X(5) VALUE SPACES.
02 FILLER PIC X(8) VALUE 'EMPBONUS'.
PROCEDURE DIVISION.
MAINPARA.
OPEN INPUT INFILE.
OPEN OUTPUT OUTFILE.
WRITE OUT-REC FROM HEADER1.
WRITE OUT-REC FROM HEADER2.
WRITE OUT-REC FROM HEADER3.
WRITE OUT-REC FROM HEADER1.
WRITE OUT-REC FROM HEADER4.
PERFORM BONUS-PARA UNTIL EOF = 'YES'.
CLOSE INFILE OUTFILE.
STOP RUN.
BONUS-PARA.
READ INFILE AT END MOVE "YES" TO EOF NOT AT END
MOVE EMPID TO EMPID1
MOVE EMPNAME TO EMPNAME1
MOVE EMPSAL TO EMPSAL1
MULTIPLY EMPSAL BY 0.1 GIVING EMPBONUS
WRITE OUT-REC
END-READ.
EDIT MTPLP06.MYFILES1.PDS(PERFORM2) - 01.17 Columns
Command ===> Scro
****** ***************************** Top of Data *****************
000001 *PROGRAM TO DEMONSTRATE THE USE OF HEADER AND PERFORM
000002 IDENTIFICATION DIVISION.
000003 PROGRAM-ID. EMPD.
000004 ENVIRONMENT DIVISION.
000005 INPUT-OUTPUT SECTION.
000006 FILE-CONTROL.
000007 SELECT INFILE ASSIGN TO DD1.
000008 SELECT OUTFILE ASSIGN TO DD2.
000009 DATA DIVISION.
000010 FILE SECTION.
000011 FD INFILE.
000012 01 IN-REC.
000013 02 EMPID PIC 9(5).
000014 02 EMPNAME PIC A(10).
000015 02 EMPSAL PIC 9(5).
000016 02 FILLER PIC X(60).
000017 FD OUTFILE.
000018 01 OUT-REC.
000019 02 FILLER PIC X(5).
000020 02 EMPID1 PIC 9(5).
000021 02 FILLER PIC X(5).
000022 02 EMPNAME1 PIC A(10).
000023 02 FILLER PIC X(2).
000024 02 EMPSAL1 PIC 9(5).
000025 02 FILLER PIC X(6).
000026 02 EMPBONUS PIC 9(5).
000027 02 FILLER PIC X(37).
000028 WORKING-STORAGE SECTION.
000029 77 EOF PIC X(3) VALUE 'NO'.
000030 01 TOTAL PIC 9(7) VALUE ZERO.
000031 01 EMPB PIC 9(7) VALUE ZERO.
000032 01 E1 PIC 9(6).
000033 01 E2 PIC 9(6).
000034 01 HEADER1.
000035 02 FILLER PIC X(80) VALUE ALL '-'.
000036 01 HEADER2.
000037 02 FILLER PIC X(80) VALUE SPACES.
000038 01 HEADER3.
000039 02 FILLER PIC X(20) VALUE SPACES.
000040 02 FILLER PIC X(20) VALUE 'MAINTEC-TECHNOLOGIES'.
000041 01 HEADER4.
000042 02 FILLER PIC X(5) VALUE SPACES.
000043 02 FILLER PIC X(5) VALUE 'EMPID'.
000044 02 FILLER PIC X(5) VALUE SPACES.
000045 02 FILLER PIC X(7) VALUE 'EMPNAME'.
000046 02 FILLER PIC X(5) VALUE SPACES.
000047 02 FILLER PIC X(6) VALUE 'EMPSAL'.
000048 02 FILLER PIC X(5) VALUE SPACES.
000049 02 FILLER PIC X(8) VALUE 'EMPBONUS'.
000050 01 HEADER5.
000051 02 FILLER PIC X(17) VALUE SPACES.
000052 02 FILLER PIC X(8) VALUE "TOTAL = ".
000053 02 TOTS PIC 9(7).
000054 02 FILLER PIC X(5) VALUE SPACES.
000055 02 TOTB PIC 9(7).
000056 PROCEDURE DIVISION.
000057 MAINPARA.
000058 OPEN INPUT INFILE.
000059 OPEN OUTPUT OUTFILE.
000060 WRITE OUT-REC FROM HEADER1.
000061 WRITE OUT-REC FROM HEADER2.
000062 WRITE OUT-REC FROM HEADER3.
000063 WRITE OUT-REC FROM HEADER2.
000064 WRITE OUT-REC FROM HEADER1.
000065 WRITE OUT-REC FROM HEADER4.
000066 PERFORM BONUS-PARA UNTIL EOF = 'YES'.
000067 MOVE TOTAL TO TOTS.
000068 MOVE EMPB TO TOTB.
000069 WRITE OUT-REC FROM HEADER1.
000070 WRITE OUT-REC FROM HEADER5.
000071 WRITE OUT-REC FROM HEADER1.
000072 CLOSE INFILE OUTFILE.
000073 STOP RUN.
000074 BONUS-PARA.
000075 MOVE EMPSAL TO E1.
000076 ADD E1 TO TOTAL GIVING TOTAL.
000077 ADD E2 TO EMPB GIVING EMPB.
000078 READ INFILE AT END MOVE "YES" TO EOF NOT AT END
000079 MOVE EMPID TO EMPID1
000080 MOVE EMPNAME TO EMPNAME1
000081 MOVE EMPSAL TO EMPSAL1
000082 MULTIPLY EMPSAL BY 0.1 GIVING EMPBONUS
000083 MOVE EMPBONUS TO E2
000084 WRITE OUT-REC
000085 END-READ.
EDIT MTPLP06.MYFILES1.PDS(PERFORM3) - 01.29 Columns 00
Command ===> Scroll
****** ***************************** Top of Data ********************
000001 *PROGRAM TO DEMONSTRATE THE USE OF HEADER AND PERFORM.
000002 IDENTIFICATION DIVISION.
000003 PROGRAM-ID. PERFM.
000004 ENVIRONMENT DIVISION.
000005 INPUT-OUTPUT SECTION.
000006 FILE-CONTROL.
000007 SELECT INFILE ASSIGN TO DD1.
000008 * FILE STATUS IS FS1.
000009 SELECT OUTFILE ASSIGN TO DD2.
000010 * FILE STATUS IS FS2.
000011 DATA DIVISION.
000012 FILE SECTION.
000013 FD INFILE.
000014 01 IN-REC.
000015 02 EMPID PIC 9(5).
000016 02 EMPNAME PIC A(10).
000017 02 EMPSAL PIC 9(5).
000018 02 FILLER PIC X(60).
000019 FD OUTFILE.
000020 01 OUT-REC.
000021 02 FILLER PIC X(5).
000022 02 EMPID1 PIC 9(5).
000023 02 FILLER PIC X(5).
000024 02 EMPNAME1 PIC A(10).
000025 02 FILLER PIC X(2).
000026 02 EMPSAL1 PIC 9(5).
000027 02 FILLER PIC X(6).
000028 02 EMPBONUS PIC 9(5).
000029 02 FILLER PIC X(37).
000030 WORKING-STORAGE SECTION.
000031 77 EOF PIC X(3) VALUE 'NO'.
000032 *77 FS1 PIC X(2).
000033 *77 FS2 PIC X(2).
000034 01 TOTAL PIC 9(7). 000036 01 I PIC 9(2) VALUE 0.
000037 01 HEADER1.
000038 02 FILLER PIC X(80) VALUE ALL '-'.
000039 01 HEADER2.
000040 02 FILLER PIC X(80) VALUE SPACES.
000041 01 HEADER3.
000042 02 FILLER PIC X(20) VALUE SPACES.
000043 02 FILLER PIC X(20) VALUE 'MAINTEC-TECHNOLOGIES'.
000044 01 HEADER4.
000045 02 FILLER PIC X(5) VALUE SPACES.
000046 02 FILLER PIC X(5) VALUE 'EMPID'.
000047 02 FILLER PIC X(5) VALUE SPACES.
000048 02 FILLER PIC X(7) VALUE 'EMPNAME'.
000049 02 FILLER PIC X(5) VALUE SPACES.
000050 02 FILLER PIC X(6) VALUE 'EMPSAL'.
000051 02 FILLER PIC X(5) VALUE SPACES.
000052 02 FILLER PIC X(8) VALUE 'EMPBONUS'.
000053 01 HEADER5.
000035 *01 E1 PIC 9(6).
000054 02 FILLER PIC X(4) VALUE SPACES.
000055 02 FILLER PIC X(20) VALUE "TOTAL OF 5 RECORDS=".
000056 02 FILLER PIC X(1) VALUE SPACES.
000057 02 TOTS PIC 9(7).
000058 PROCEDURE DIVISION.
000059 MAINPARA.
000060 OPEN INPUT INFILE.
000061 * DISPLAY FS1.
000062 OPEN OUTPUT OUTFILE.
000063 * DISPLAY FS2.
000064 INITIALIZE HEADER5.
000065 WRITE OUT-REC FROM HEADER1.
000066 WRITE OUT-REC FROM HEADER2.
000067 WRITE OUT-REC FROM HEADER3.
000068 WRITE OUT-REC FROM HEADER2.
000069 WRITE OUT-REC FROM HEADER1.
000070 WRITE OUT-REC FROM HEADER4.
000071 PERFORM BONUS-PARA 5 TIMES.
000072 MOVE TOTAL TO TOTS.
000073 WRITE OUT-REC FROM HEADER1.
000074 WRITE OUT-REC FROM HEADER5.
000075 WRITE OUT-REC FROM HEADER1.
000076 MOVE ZERO TO TOTAL.
000077 PERFORM BONUS-PARA UNTIL EOF = 'YES'.
000078 MOVE TOTAL TO TOTS.
000079 WRITE OUT-REC FROM HEADER1.
000080 WRITE OUT-REC FROM HEADER5.
000081 WRITE OUT-REC FROM HEADER1.
000082 CLOSE INFILE OUTFILE.
000083 * DISPLAY FS1.
000084 * DISPLAY FS2.
000085 STOP RUN.
000086 BONUS-PARA.
000087 READ INFILE NEXT AT END MOVE "YES" TO EOF NOT AT END
000088 ADD EMPSAL TO TOTAL GIVING TOTAL
000089 MOVE EMPID TO EMPID1
000090 MOVE EMPNAME TO EMPNAME1
000091 MOVE EMPSAL TO EMPSAL1
000092 MULTIPLY EMPSAL BY 0.1 GIVING EMPBONUS
000093 WRITE OUT-REC
000094 END-READ.
EDIT MTPLP06.TONEW.PDS(EVAL1) - 01.23 Columns 00001 000
Command ===> Scroll ===> PA
****** ***************************** Top of Data ***************************
000001 *PROGRAM TO DEMONSTRATE THE USE OF EVALUATE.
000002 IDENTIFICATION DIVISION.
000003 PROGRAM-ID. EVAL.
000004 ENVIRONMENT DIVISION.
000005 DATA DIVISION.
000006 WORKING-STORAGE SECTION.
000007 77 MONTH PIC 99 VALUE 1.
000008 77 DAYZ PIC 99.
000009 PROCEDURE DIVISION.
000010 MAINPARA.
000011 PERFORM PARA1 VARYING MONTH FROM 1 BY 1 UNTIL MONTH > 12.
000012 STOP RUN.
000013 PARA1.
000014 EVALUATE MONTH
000015 WHEN MONTH = 4 OR 6 OR 9 OR 11
000016 MOVE 30 TO DAYZ
000017 WHEN 2
000018 MOVE 28 TO DAYZ
000019 WHEN OTHER
000020 MOVE 31 TO DAYZ
000021 DISPLAY "NO. OF DAYS =", DAYZ
000022 END-EVALUATE.
000023 COMPUTE MONTH = MONTH + 1.
EDIT MTPLP06.TONEW.PDS(REF1) - 01.07 Columns 00001
Command ===> Scroll ===
****** ***************************** Top of Data ***********************
000001 *PROGRAM TO DEMONSTRATE THE USE OF REFERENCE MODIFICATION.
000002 IDENTIFICATION DIVISION.
000003 PROGRAM-ID. SMITHA.
000004 ENVIRONMENT DIVISION.
000005 DATA DIVISION.
000006 WORKING-STORAGE SECTION.
000007 01 NAME PIC A(6) VALUE "SMITHA".
000008 01 B PIC 9.
000009 01 C PIC A(6).
000010 PROCEDURE DIVISION.
000011 PERFORM PARA1 VARYING B FROM 1 BY 1 UNTIL B > 6.
000012 STOP RUN.
000013 PARA1.
000014 MOVE NAME(B: ) TO C.
000015 DISPLAY C.