Tuesday, 17 April 2012

IEBEDIT


IEBEDIT
//MYJOB JOB                                  
//STEP1 EXEC PGM=IEBEDIT                    
//SYSPRINT DD SYSOUT=*                      
//SYSUT1   DD DSN=KC03H0E.MCA3.PDS(A),DISP=SHR
//SYSUT2   DD SYSOUT=(*,INTRDR)              
//SYSIN    DD *                              
       EDIT TYPE=INCLUDE,STEPNAME=(STEP2,STEP3)
/*                                          
//                                          

Content in member a
//PRINT JOB                                                  
//STEP1 EXEC PGM=IEFBR14                                    
//DD1 DD DSN=KC03H0E.A8.M7,DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))
//STEP2 EXEC PGM=IEFBR14                                    
//DD1 DD DSN=KC03H0E.B8.M7,DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))
//STEP3 EXEC PGM=IEFBR14                                    
//DD1 DD DSN=KC03H0E.C8.M7,DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))
//STEP4 EXEC PGM=IEFBR14                                    
//DD1 DD DSN=KC03H0E.D8.M7,DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))
//STEP5 EXEC PGM=IEFBR14                                    
//DD1 DD DSN=KC03H0E.E8.M7,DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))

COBOL program to manipulate the student details


//MYJOB JOB 1,'MCA'                            
//STEP1 EXEC IGYWCLG                            
       IDENTIFICATION DIVISION.                  
       PROGRAM-ID. LAB1.                        
       ENVIRONMENT DIVISION.                    
       CONFIGURATION SECTION.                    
       INPUT-OUTPUT SECTION.                    
       FILE-CONTROL.                            
           SELECT INPUT-FILE ASSIGN TO DA-S-INPUT.
           SELECT PRNT-FILE ASSIGN TO UR-S-PRNT.
           EJECT                                
       DATA DIVISION.                            
           SKIP3                                
       FILE SECTION.                            
        FD INPUT-FILE                            
           BLOCK CONTAINS 0 RECORDS      
           LABEL RECORDS ARE STANDARD.    
       01 INPUT-REC PIC X(80).            
           SKIP2                          
        FD PRNT-FILE                      
           LABEL RECORDS ARE OMITTED.    
       01 PRNT-REC PIC X(125).            
       WORKING-STORAGE SECTION.          
       01 INPUT-DATA.                    
         03 I-NAME PIC X(5).              
         03 REG PIC 9(4).                
         03 MARK1 PIC 9(2).              
         03 MARK2 PIC 9(2).              
         03 MARK3 PIC 9(2).              
         03 TOT PIC 9(3).                
         03 AVG PIC 9(3).9(2).          
         03 FILLER PIC X(21).            
       01 PRNT-DATA1.                    
         03 FILLER PIC X(5) VALUE SPACES.
         03 L-NAME1 PIC X(5).            
         03 FILLER PIC X(5) VALUE SPACES.  
         03 L-REG PIC 9(4).                
         03 FILLER PIC X(3) VALUE SPACES.  
         03 L-MARK1 PIC 9(2).              
         03 FILLER PIC X(3) VALUE SPACES.  
         03 L-MARK2 PIC 9(2).              
         03 FILLER PIC X(3) VALUE SPACES.  
         03 L-MARK3 PIC 9(2).              
         03 FILLER PIC X(4) VALUE SPACES.  
         03 L-TOT PIC 9(3).                
         03 FILLER PIC X(4) VALUE SPACES.  
         03 L-AVG PIC 9(3).9(2).          
       01 PRNT-HEADING1.                  
         03 FILLER PIC X(5) VALUE SPACES.  
         03 FILLER PIC X(5) VALUE 'NAME'.  
         03 FILLER PIC X(5) VALUE SPACES.  
         03 FILLER PIC X(4) VALUE 'REG'.  
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(2) VALUE 'M1'.    
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(2) VALUE 'M2'.  
         03 FILLER PIC X(3) VALUE SPACES.
         03 FILLER PIC X(2) VALUE 'M3'.  
         03 FILLER PIC X(4) VALUE SPACES.
         03 FILLER PIC X(3) VALUE 'TOT'.  
         03 FILLER PIC X(4) VALUE SPACES.
         03 FILLER PIC X(3) VALUE 'AVG'.  
       01 MISC.                          
        03 EOF-I PIC 9 VALUE 0.          
       PROCEDURE DIVISION.                
       MAINLINE.                        
           OPEN INPUT INPUT-FILE        
           OUTPUT PRNT-FILE.            
           PERFORM READ-INPUT.          
           PERFORM PRINT-HEAD.          
           PERFORM LOOP1                
           UNTIL EOF-I = 1.            
           CLOSE INPUT-FILE            
           PRNT-FILE.                  
           STOP RUN.                    
       PRINT-HEAD.                            
           WRITE PRNT-REC FROM PRNT-HEADING1  
           AFTER ADVANCING PAGE.              
           MOVE SPACES TO PRNT-REC.            
           WRITE PRNT-REC                      
           AFTER ADVANCING 1 LINE.            
       LOOP1.                                  
           PERFORM PRINT-NAMES.                
           PERFORM READ-INPUT.                
       PRINT-NAMES.                            
           ADD MARK1,MARK2,MARK3 GIVING TOT.    
           DIVIDE TOT BY 3 GIVING AVG.          
           MOVE I-NAME TO L-NAME1.              
           MOVE REG TO L-REG.                  
           MOVE MARK1 TO L-MARK1.              
           MOVE MARK2 TO L-MARK2.              
           MOVE MARK3 TO L-MARK3.              
           MOVE TOT TO L-TOT.                  
           MOVE AVG TO L-AVG.                  
           WRITE PRNT-REC FROM PRNT-DATA1      
           AFTER ADVANCING 1 LINE.            
       READ-INPUT.                            
           READ INPUT-FILE INTO INPUT-DATA    
           AT END MOVE 1 TO EOF-I.            
//GO.SYSOUT DD SYSOUT=*                        
//GO.SYSPRINT DD SYSOUT=*                      
//GO.INPUT DD *                                
ANU  123 909090                                
BALA 567 808080                                
CEMA 901 707070                                
DEVI 345 606060      
//GO.PRNT DD SYSOUT=*

COBOL program to manipulate the railway reservetion details


//MYJOB JOB 1,'MCA'                              
//STEP1 EXEC IGYWCLG                            
       IDENTIFICATION DIVISION.                  
       PROGRAM-ID. LAB1.                        
       ENVIRONMENT DIVISION.                    
       CONFIGURATION SECTION.                    
       INPUT-OUTPUT SECTION.                    
       FILE-CONTROL.                            
           SELECT INPUT-FILE ASSIGN TO DA-S-INPUT.
           SELECT PRNT-FILE ASSIGN TO UR-S-PRNT.
           EJECT                                
       DATA DIVISION.                            
           SKIP3                                
       FILE SECTION.                  
        FD INPUT-FILE                
           BLOCK CONTAINS 0 RECORDS  
           LABEL RECORDS ARE STANDARD.
       01 INPUT-REC PIC X(80).        
           SKIP2                      
        FD PRNT-FILE                  
           LABEL RECORDS ARE OMITTED.
       01 PRNT-REC PIC X(125).        
       WORKING-STORAGE SECTION.      
       01 INPUT-DATA.            
         03 I-NAME PIC X(5).      
         03 NO1 PIC 9(4).        
         03 SRC1 PIC 9(8).        
         03 DES1 PIC 9(8).        
         03 FARE1 PIC 9(2).      
         03 DIS1 PIC 9(3).        
         03 TOT PIC 9(5).9(2).    
         03 FILLER PIC X(21).    
       01 PRNT-DATA1.            
         03 FILLER PIC X(5) VALUE SPACES.    
         03 L-NAME1 PIC X(5).                
         03 FILLER PIC X(5) VALUE SPACES.    
         03 L-NO1 PIC 9(4).                  
         03 FILLER PIC X(3) VALUE SPACES.    
         03 L-SRC1 PIC 9(8).                
         03 FILLER PIC X(3) VALUE SPACES.    
         03 L-DES1 PIC 9(8).                
         03 FILLER PIC X(3) VALUE SPACES.    
         03 L-FARE1 PIC 9(2).                
         03 FILLER PIC X(4) VALUE SPACES.    
         03 L-DIS1 PIC 9(3).                
         03 FILLER PIC X(4) VALUE SPACES.    
         03 L-TOT PIC 9(5).9(2).            
       01 PRNT-HEADING1.                    
         03 FILLER PIC X(5) VALUE SPACES.    
         03 FILLER PIC X(5) VALUE 'NAME'.    
         03 FILLER PIC X(5) VALUE SPACES.    
         03 FILLER PIC X(4) VALUE 'NO'.      
         03 FILLER PIC X(3) VALUE SPACES.    
         03 FILLER PIC X(10) VALUE 'SRC'.    
         03 FILLER PIC X(3) VALUE SPACES.    
         03 FILLER PIC X(5) VALUE 'DES'.    
         03 FILLER PIC X(3) VALUE SPACES.    
         03 FILLER PIC X(4) VALUE 'FARE'.    
         03 FILLER PIC X(4) VALUE SPACES.    
         03 FILLER PIC X(4) VALUE 'DIST'.    
         03 FILLER PIC X(4) VALUE SPACES.    
         03 FILLER PIC X(7) VALUE 'TOTAL'.  
       01 MISC.                              
         03 EOF-I PIC 9 VALUE 0.    
       PROCEDURE DIVISION.          
       MAINLINE.                    
           OPEN INPUT INPUT-FILE    
           OUTPUT PRNT-FILE.        
           PERFORM READ-INPUT.      
           PERFORM PRINT-HEAD.      
           PERFORM LOOP1            
           UNTIL EOF-I = 1.        
           CLOSE INPUT-FILE        
           PRNT-FILE.                        
           STOP RUN.                        
       PRINT-HEAD.                          
           WRITE PRNT-REC FROM PRNT-HEADING1
           AFTER ADVANCING PAGE.            
           MOVE SPACES TO PRNT-REC.          
           WRITE PRNT-REC                    
           AFTER ADVANCING 1 LINE.          
       LOOP1.                                
           PERFORM PRINT-NAMES.              
           PERFORM READ-INPUT.              
       PRINT-NAMES.                        
           MULTIPLY DIS1 BY FARE1 GIVING TOT.
           MOVE I-NAME TO L-NAME1.          
           MOVE NO1 TO L-NO1.              
           MOVE SRC1 TO L-SRC1.            
           MOVE DES1 TO L-DES1.            
           MOVE FARE1 TO L-FARE1.          
           MOVE DIS1 TO L-DIS1.            
           MOVE TOT TO L-TOT.              
           WRITE PRNT-REC FROM PRNT-DATA1
           AFTER ADVANCING 1 LINE.        
       READ-INPUT.                        
           READ INPUT-FILE INTO INPUT-DATA
           AT END MOVE 1 TO EOF-I.        
//GO.SYSOUT DD SYSOUT=*                  
//GO.SYSPRINT DD SYSOUT=*                
//GO.INPUT DD *                          
ANU  123 MADURAI.CHENNAI.20100            
LAVI 567 MADURAI.CHENNAI.20100            
//GO.PRNT DD SYSOUT=*

COBOL program to manipulate the employee details


//MYJOB JOB (1245),'MCA',MSGLEVEL=(1,1),REGION=0M,            
//  NOTIFY=KC03H0E,MSGCLASS=A,CLASS=A                          
//COBOL1 EXEC IGYWCLG,                                          
// PARM.COBOL='TEST,RENT,APOST,OBJECT,NODYNAM,LIB,SIZE(5048376)'
//COBOL.SYSPRINT DD SYSOUT=*                                    
//COBOL.SYSIN DD *                                              
       IDENTIFICATION DIVISION.                                
       PROGRAM-ID. LAB1.                                        
       ENVIRONMENT DIVISION.                                    
       CONFIGURATION SECTION.                                  
       INPUT-OUTPUT SECTION.                                    
       FILE-CONTROL.                                            
           SELECT INPUT-FILE ASSIGN TO DA-S-INPUT.              
           SELECT PRNT-FILE ASSIGN TO UR-S-PRNT.                
           EJECT                                                
       DATA DIVISION.                        
          SKIP3                              
       FILE SECTION.                          
         FD INPUT-FILE                        
               BLOCK CONTAINS 0 RECORDS      
               LABEL RECORDS ARE STANDARD.    
        01 INPUT-REC PIC X(80).              
               SKIP2                          
          FD PRNT-FILE                        
                LABEL RECORDS ARE OMITTED.    
         01 PRNT-REC PIC X(225).        
       WORKING-STORAGE SECTION.          
        01 INPUT-DATA.                  
         03 I-NAME PIC X(5).            
         03 ENO PIC 9(4).                
         03 BASIC PIC 9(5).              
         03 DA PIC 9(4).                
         03 HRA PIC 9(4).                
         03 EPF PIC 9(4).                
         03 IT PIC 9(4).                
         03 GROSS PIC 9(5).            
         03 NET PIC 9(5).9(2).          
         03 FILLER PIC X(21).          
        01 PRNT-DATA1.                  
         03 FILLER PIC X(3) VALUE SPACES.
         03 L-NAME1 PIC X(5).          
         03 FILLER PIC X(3) VALUE SPACES.
         03 L-ENO PIC 9(4).            
         03 FILLER PIC X(3) VALUE SPACES.
         03 L-BASIC1 PIC 9(5).          
         03 FILLER PIC X(3) VALUE SPACES.
         03 L-DA1 PIC 9(4).              
         03 FILLER PIC X(3) VALUE SPACES.
         03 L-HRA1 PIC 9(4).              
         03 FILLER PIC X(3) VALUE SPACES.
         03 L-PF1 PIC 9(4).              
         03 FILLER PIC X(3) VALUE SPACES.
         03 L-IT1 PIC 9(4).              
         03 FILLER PIC X(3) VALUE SPACES.
         03 L-GROSS PIC 9(5).            
         03 FILLER PIC X(3) VALUE SPACES.  
         03 L-NET PIC 9(5).9(2).          
       01 PRNT-HEADING1.                  
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(5) VALUE 'NAME'.  
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(4) VALUE 'ENO'.  
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(5) VALUE 'BASIC'.
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(4) VALUE 'DA'.    
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(4) VALUE 'HRA'.    
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(4) VALUE 'PF'.    
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(4) VALUE 'IT'.    
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(5) VALUE 'GROSS'.  
         03 FILLER PIC X(3) VALUE SPACES.  
         03 FILLER PIC X(5) VALUE 'NET'.
       01 MISC.                        
         03 EOF-I PIC 9 VALUE 0.        
       PROCEDURE DIVISION.              
       MAINLINE.                        
           OPEN INPUT INPUT-FILE        
           OUTPUT PRNT-FILE.            
           PERFORM READ-INPUT.          
           PERFORM PRINT-HEAD.          
           PERFORM LOOP1                
           UNTIL EOF-I = 1.                    
           CLOSE INPUT-FILE                    
           PRNT-FILE.                          
           STOP RUN.                            
       PRINT-HEAD.                              
           WRITE PRNT-REC FROM PRNT-HEADING1    
           AFTER ADVANCING PAGE.                
           MOVE SPACES TO PRNT-REC.            
           WRITE PRNT-REC                      
           AFTER ADVANCING 1 LINE.              
       LOOP1.                                        
           PERFORM PRINT-NAMES.                      
           PERFORM READ-INPUT.                      
       PRINT-NAMES.                                  
           ADD BASIC DA HRA GIVING GROSS.            
           SUBTRACT EPF IT FROM GROSS GIVING NET.    
           MOVE I-NAME TO L-NAME1.                  
           MOVE ENO TO L-ENO.                        
           MOVE BASIC TO L-BASIC1.                  
           MOVE DA TO L-DA1.                        
           MOVE HRA TO L-HRA1.            
           MOVE EPF TO L-PF1.            
           MOVE IT TO L-IT1.              
           MOVE GROSS TO L-GROSS.        
           MOVE NET TO L-NET.            
           WRITE PRNT-REC FROM PRNT-DATA1
           AFTER ADVANCING 1 LINE.        
       READ-INPUT.                        
           READ INPUT-FILE INTO INPUT-DATA
           AT END MOVE 1 TO EOF-I.        
//GO.SYSOUT DD SYSOUT=*          
//GO.SYSPRINT DD SYSOUT=*        
//GO.INPUT DD *                  
KAVI 1230500002000300020001000    
ARUN 5672400002500200010001000    
BRIN 9014300001500200010001500    
DEVI 3458200003000250010002000    
//GO.PRNT DD SYSOUT=*        


COBOL program to manipulate the bank details


//MYJOB JOB 1,'MCA'                                
//STEP1 EXEC IGYWCLG                                
       IDENTIFICATION DIVISION.                      
       PROGRAM-ID. LAB1.                            
       ENVIRONMENT DIVISION.                        
       CONFIGURATION SECTION.                        
       INPUT-OUTPUT SECTION.                        
       FILE-CONTROL.                                
           SELECT INPUT-FILE ASSIGN TO DA-S-INPUT.  
           SELECT PRNT-FILE ASSIGN TO UR-S-PRNT.    
           EJECT                                    
       DATA DIVISION.                                
           SKIP3                                    
       FILE SECTION.                                
        FD INPUT-FILE                                
            BLOCK CONTAINS 0 RECORDS        
            LABEL RECORDS ARE STANDARD.    
        01 INPUT-REC PIC X(80).            
            SKIP2                          
         FD PRNT-FILE                      
            LABEL RECORDS ARE OMITTED.      
        01 PRNT-REC PIC X(125).            
        WORKING-STORAGE SECTION.            
        01 INPUT-DATA.                      
          03 NAME1 PIC X(5).                
          03 NO1 PIC 9(4).          
          03 BAL PIC 9(4).              
          03 DEP PIC 9(4).              
          03 WID PIC 9(4).              
          03 TOT PIC 9(4).              
          03 FILLER PIC X(21).          
        01 PRNT-DATA1.                  
          03 FILLER PIC X(5) VALUE SPACES.
          03 L-NAME1 PIC X(5).          
          03 L-NO1 PIC 9(4).            
          03 FILLER PIC X(3) VALUE SPACES.  
          03 L-BAL PIC 9(4).                
          03 FILLER PIC X(4) VALUE SPACES.  
          03 L-DEP PIC 9(4).                
          03 FILLER PIC X(4) VALUE SPACES.  
          03 L-WID PIC 9(4).                
          03 FILLER PIC X(4) VALUE SPACES.  
          03 L-TOT PIC 9(4).                
          03 FILLER PIC X(4) VALUE SPACES.  
        01 PRNT-HEADING1.                  
          03 FILLER PIC X(5) VALUE SPACES.  
          03 FILLER PIC X(5) VALUE 'NAME'.  
          03 FILLER PIC X(5) VALUE SPACES.  
          03 FILLER PIC X(4) VALUE 'ACNO'.  
          03 FILLER PIC X(4) VALUE SPACES.  
          03 FILLER PIC X(4) VALUE 'BAL'.  
          03 FILLER PIC X(4) VALUE SPACES.  
          03 FILLER PIC X(4) VALUE 'DEP'.  
          03 FILLER PIC X(4) VALUE SPACES.  
          03 FILLER PIC X(4) VALUE 'WID'.  
          03 FILLER PIC X(4) VALUE SPACES.  
          03 FILLER PIC X(4) VALUE 'TOT'.    
        01 MISC.                            
         03 EOF-I PIC 9 VALUE 0.            
        PROCEDURE DIVISION.                  
        MAINLINE.                            
            OPEN INPUT INPUT-FILE            
            OUTPUT PRNT-FILE.                
            PERFORM READ-INPUT.              
            PERFORM PRINT-HEAD.              
            PERFORM LOOP1                      
            UNTIL EOF-I = 1.                  
            CLOSE INPUT-FILE                  
            PRNT-FILE.                        
            STOP RUN.                          
        PRINT-HEAD.                            
            WRITE PRNT-REC FROM PRNT-HEADING1  
            AFTER ADVANCING PAGE.              
            MOVE SPACES TO PRNT-REC.          
            WRITE PRNT-REC                    
            AFTER ADVANCING 1 LINE.        
        LOOP1.                              
            PERFORM PRINT-NAMES.            
            PERFORM READ-INPUT.            
        PRINT-NAMES.                        
            ADD BAL , DEP GIVING TOT.      
            SUBTRACT TOT FROM WID GIVING TOT.
            MOVE NAME1 TO L-NAME1.          
            MOVE NO1 TO L-NO1.              
            MOVE BAL TO L-BAL.              
            MOVE DEP TO L-DEP.                
            MOVE WID TO L-WID.                
            MOVE TOT TO L-TOT.                
            WRITE PRNT-REC FROM PRNT-DATA1    
            AFTER ADVANCING 1 LINE.          
        READ-INPUT.                          
            READ INPUT-FILE INTO INPUT-DATA  
            AT END MOVE 1 TO EOF-I.          
//GO.SYSOUT DD SYSOUT=*                      
//GO.SYSPRINT DD SYSOUT=*                    
//GO.INPUT DD *        
ANU  123 600011601161  
BALA 567 800011801181  
CEMA 901 700011701171  
//GO.PRNT DD SYSOUT=*          

COBOL program to display the input data by using file

//MYJOB JOB 1,'MCA',MSGLEVEL=(1,1),REGION=0M,    
//  NOTIFY=KC03H0E,MSGCLASS=A,CLASS=A              
//STEP1 EXEC IGYWCLG                                
       IDENTIFICATION DIVISION.                    
       PROGRAM-ID. LAB1.                            
       ENVIRONMENT DIVISION.                        
       CONFIGURATION SECTION.                      
       INPUT-OUTPUT SECTION.                        
       FILE-CONTROL.                                
           SELECT INPUT-FILE ASSIGN TO DA-S-INPUT.  
           SELECT PRNT-FILE ASSIGN TO UR-S-PRNT.    
           EJECT                                    
       DATA DIVISION.                              
       FILE SECTION.                                
        FD INPUT-FILE                              
           LABEL RECORDS ARE STANDARD.
       01 INPUT-REC PIC X(80).        
        FD PRNT-FILE                  
           LABEL RECORDS ARE OMITTED.  
       01 PRNT-REC PIC X(125).        
       WORKING-STORAGE SECTION.        
       01 INPUT-DATA.                  
         03 I-NAME PIC X(20).          
       01 PRNT-DATA1.                  
         03 O-NAME PIC X(20).          
       01 MISC.                        
         03 EOF-I PIC 9 VALUE 0.        
       PROCEDURE DIVISION.              
       PARA1.                          
           OPEN INPUT INPUT-FILE        
           OUTPUT PRNT-FILE.            
           PERFORM READ-INPUT.          
           PERFORM LOOP1                
           UNTIL EOF-I = 1.            
           CLOSE INPUT-FILE            
           PRNT-FILE.                  
           STOP RUN.                    
       LOOP1.                          
           PERFORM PRINT-NAMES.        
           PERFORM READ-INPUT.          
       PRINT-NAMES.                    
           MOVE I-NAME TO O-NAME.      
           WRITE PRNT-REC FROM PRNT-DATA1
           AFTER ADVANCING 1 LINE.      
       READ-INPUT.                      
           READ INPUT-FILE INTO INPUT-DATA
           AT END MOVE 1 TO EOF-I.      
//GO.SYSOUT DD SYSOUT=*                  
//GO.SYSPRINT DD SYSOUT=*                
//GO.INPUT DD *                          
NAME                                    
......                                  
CEMA                                    
ANU                                      
//GO.PRNT DD SYSOUT=*                    

Prime Number


//MYJOB JOB 1,'MCA'                  
//STEP1 EXEC IGYWCLG                  
      IDENTIFICATION DIVISION.      
      PROGRAM-ID. PRIME.            
      ENVIRONMENT DIVISION.          
      DATA DIVISION.                
      WORKING-STORAGE SECTION.      
      77 N PIC 9(2) VALUE 11.        
      77 Q PIC 9(3).                
      77 R PIC 9(3).                
      77 I PIC 9(3).                
      PROCEDURE DIVISION.            
      PARA-A.                        
          DISPLAY "ENTER AN INTEGER:".
          DISPLAY N.
PERFORM PARA2 VARYING I FROM 2 BY 1 UNTIL I > N.
          STOP RUN.                                    
       PARA2.                                          
          DIVIDE N BY I GIVING Q REMAINDER R.          
          IF R = 0                                      
          DISPLAY "NOT PRIME"                          
          STOP RUN.                                    
          ELSE                                          
          DISPLAY "PRIME".                              
          STOP RUN.
//GO.SYSOUT DD SYSOUT=*                     
//GO.SYSPRINT DD SYSOUT=* 
//GO.INPUT DD *           
//GO.PRNT DD SYSOUT=*

Copy using instream procedure



//IEJOB JOB
//MYPROC PROC
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=KC03H0E.FINAL.PDS(M1)
//SYSUT2 DD DISP=SHR,DSN=KC03H0E.FINAL.PDS(M2)
//         PEND
//STEP1 EXEC MYPROC
//SYSIN DD *



M1

//CATLG PROC
//STEP1    EXEC  PGM=IEFBR14
//DD1 DD    DSN=KC03H0E.Z2.Z2,DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))
//SYSPRINT DD SYSOUT=*



IEBUPDTE


//IEBUPDTE EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=*
//SYSUT2   DD DISP=(NEW,CATLG),DSN=KC03H0E.NEW22.PDS,
//         SPACE=(CYL,(5,5,5),RLSE),
//         RECFM=FB,LRECL=80,BLKSIZE=0
//SYSIN    DD *
./ ADD NAME=MEMBER1
HAI
./ ADD NAME=MEMBER2
WELCOME

IEBPTPCH


//IEBPTPCH JOB
//         EXEC PGM=IEBPTPCH
//SYSUT1   DD DSN=KC03H0E.MCA2.PDS(A),DISP=SHR
//SYSUT2   DD DSN=KC03H0E.MCA2.PDS(A1),DISP=SHR
//SYSIN    DD *
 PRINT TYPORG=PS
/*
//SYSPRINT DD SYSOUT=*
//

IEBEDIT


//MYJOB JOB
//MYPROC PROC
//STEP1 EXEC PGM=IEBEDIT
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=KC03H11.Y.X(M1)
//SYSUT2 DD DISP=SHR,DSN=KC03H11.Y.X(M2)
//         PEND
//STEP1 EXEC MYPROC
//SYSIN DD *

IEBCOMPR


//MYJOB JOB
//MYPROC PROC
//STEP1 EXEC PGM=IEBCOMPR
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=KC03H0E.X.Y(M1)
//SYSUT2 DD DISP=SHR,DSN=KC03H0E.Y.X(M1)
//         PEND
//STEP1 EXEC MYPROC
//SYSIN DD *

IDCAMS


//IDCAMS JOB
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//DD1 DD DSN=KC03H0E.MCA2.PDS(A),DISP=SHR
//SYSIN DD *
  PRINT -
  INFILE ( DD1 ) -
  CHAR
/*

Covert job stream to instream procedure


//JOB1  JOB 1
//MYPROC PROC
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=KC03H0E.J1.PDS,
// DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))
//STEP2 EXEC PGM=IEFBR14
//DD1 DD DSN=KC03H0E.J1.PDS,
// DISP=(OLD,DELETE,DELETE)
//STEP1.DD1 DD
//STEP2.DD1 DD
//   PEND
//STEP3 EXEC MYPROC
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY

Alternate index


//MYJOB JOB 1,'MCA'
//KSDCRTS1 EXEC PGM=IDCAMS
//SYSPRINT DD   SYSOUT=*
//SYSIN    DD   *
 DEFINE    CLUSTER  (NAME (KC03H11.DATA.ALTKSD) -
                     TRACKS (45 15)             -
                     RECORDSIZE (512 512)       -
                     FREESPACE (10 15)          -
                     KEYS (12 0)                -
                     INDEXED)                   -
           DATA     (NAME (KC03H0E.DATA.ALTKSD.DAT)  -
                     CISZ (8192))                    -
           INDEX    (NAME (KC03H0E.DATA.ALTKSD.IDX))
/*

Nested Procedure


//JOB1 JOB
//PROC1 PROC
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=KC03H0E.X0.Y0,DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))
//    PEND
//PROC2 PROC
//STEP2 EXEC PROC1
//STEP3 EXEC PGM=IEFBR14
//DD1 DD DSN=KC03H0E.X0.Y0,DISP=(OLD,DELETE,DELETE)
//    PEND
//STEP4 EXEC PROC2

Nullifing Parameters


//MYJOB JOB 1,NOTIFY=KC03H0E
//MYPROC PROC
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=KC03H0E.Y04.Y04
//       DISP=(NEW,CATLG),
//       SPACE=(TRK,(5,2,1)),
//       DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSPRINT DD SYSOUT=*
//       PEND
//STEP2 EXEC PROC=MYPROC
//STEP1.DD1 DD DCB=(RECFM=,LRECL=,BLKSIZE=)
//SYSIN DD DUMMY

Sequencing multiple changes


//JOB1 JOB 1,'MCA'
//MYPROC PROC
//STEP1 EXEC PGM=IEFBR14,TIME=10
//DD1 DD DSN=KC03H0E.M4.M4,
// DISP=(NEW,CATLG),
// SPACE=(TRK,(5,2,0)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSPRINT DD SYSOUT=*
//       PEND
//STEP3 EXEC MYPROC,TIME.STEP1=20
//STEP1.DD1 DD DCB=(RECFM=FB,LRECL=80,BLKSIZE=6400)
//SYSIN DD *

Modifying exec parameters


//MYJOB JOB 1,NOTIFY=KC03H0E
//MYPROC PROC
//STEP1 EXEC PGM=IEFBR14,TIME=10
//DD1 DD DSN=KC03H0E.Y0.Y0,
//    DISP=(NEW,CATLG),
//    SPACE=(TRK,(5,2,1))
//SYSPRINT DD SYSOUT=*
//    PEND
//STEP2 EXEC PROC=MYPROC,TIME.STEP1=20
//SYSIN DD DUMMY

Modifying dd parameters


//MYJOB JOB 1,NOTIFY=KC03H0E
//MYPROC PROC
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=KC03H0E.ZZ0.ZZ0,
//    DISP=(NEW,CATLG),
//    SPACE=(TRK,(5,2,1))
//SYSPRINT DD SYSOUT=*
//    PEND
//STEP2 EXEC PROC=MYPROC
//STEP2 EXEC PROC=MYPROC
//STEP1.DD1 DD DSN=KC03H0E.ZZ0.ZZ0,
//          DISP=(OLD,DELETE,DELETE)
//SYSIN DD DUMMY

Override dd parameters


//JOB1 JOB 1,'MCA'
//MYPROC PROC
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=KC03H0E.M7.M7,
// DISP=(NEW,CATLG),
// SPACE=(TRK,(5,2,0)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSPRINT DD SYSOUT=*
//       PEND
//STEP3 EXEC MYPROC
//STEP1.DD1 DD DCB=(RECFM=FB,LRECL=80,BLKSIZE=6400)
//SYSIN DD *

Adding dd parameters


//MYJOB JOB 1,NOTIFY=KC03H0E
//MYPROC PROC
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=KC03H11.ZYX.ZYX,
//    DISP=(NEW,CATLG),
//    SPACE=(TRK,(5,2,1))
//    PEND
//STEP2 EXEC  PROC=MYPROC
//STEP1.DD1 DD DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*

Sorting by using modifying dd parameters


//MYJOB JOB 1,NOTIFY=KC03H0E
//MYPROC PROC
//STEP1 EXEC PGM=SORT
//SORTIN DD DSN=KC03H0E.X.Y(MEMBER2),DISP=SHR
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//       PEND
//STEP2 EXEC PROC=MYPROC
//STEP1.SORTIN DD DSN=KC03H0E.X.Y(MEMBER1),
//             DISP=SHR
//SYSIN DD *
  SORT FIELDS(1,3,CH,A)

Sorting using procedure


//MYJOB    JOB 1
//MYPROC   PROC
//MYSORT   EXEC PGM=SORT
//SORTIN   DD DISP=SHR,DSN=&SORTDSN
//SORTOUT  DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//         PEND
//STEP1    EXEC MYPROC,SORTDSN=KC03H0E.EXAM.PDS(M1)
//SYSIN     DD *
  SORT FIELDS=(1,3,BI,D)

  SORT FIELDS=(1,3,CH,A)

Model


//KC03H0E JOB
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  REPRO -
  INDATASET(KC03H0E.Y.X(M1)) -
  OUTDATASET(KC03H0E.Y.X(M2))
  IF LASTCC = 0
      THEN
         DELETE (KC03H0E.Y.X(M1))
/*
//

Print


//JOB1 JOB                          
//STEP1 EXEC PGM=IDCAMS            
//SYSPRINT DD SYSOUT=*              
//DD1 DD DSN=KC03H0E.Y.X(M1),DISP=SHR
//SYSIN   DD *                      
   PRINT           -                
   INFILE(DD1)  CHAR                
/*                                  
//                    

REPRO


//REPRO1 JOB 1
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SOURCE DD DSN=KC03H0E.Y.X(M1),
// DISP=OLD
//TARGET DD DSN=KC03H0E.Y.X(M2),
// DISP=OLD
//SYSIN DD *
  REPRO -
  INFILE(SOURCE) -
  OUTFILE(TARGET)
/*

RRDS


//RRDS JOB 1
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
  DEFINE CLUSTER -
  (NAME(KC03H0E.RRDS2.CLUSTER) -
  VOLUMES(VSAM02) -
  CYLINDERS(200) -
  CONTROLINTERVALSIZE(4096) -
  RECORDSIZE(50,50) -
  NUMBERED)
/*
//

KSDS


//KSDS JOB 1
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
  DEFINE CLUSTER -
  (NAME(KC03H0E.KSDS3.CLUSTER) -
  VOLUMES(VSAM02) -
  CYLINDERS(2,1) -
  CONTROLINTERVALSIZE(4096) -
  KEYS(9,0) -
  RECORDSIZE(50,50)) -
  DATA -
  (NAME(KC03H0E.KSDS3.DATA)) -
  INDEX -
  (NAME(KC03H0E.KSDS3.INDEX) -
    CONTROLINTERVALSIZE(1024))
/*
//

ESDS


//ESDS JOB 1
// EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
  DEFINE CLUSTER -
  (NAME(KC03H0E.ESDS1.CLUSTER) -
  VOLUMES(VSAM02) -
  CYLINDERS(2,1) -
  CONTROLINTERVALSIZE(4096) -
  RECORDSIZE(50,50) -
  NONINDEXED)
/*
//

Display text Using Procedure


//DISP1 JOB 1,'MCA',                                            
// MSGLEVEL=(1,1),                                                
// REGION=512K,                                                  
// NOTIFY=KC03H0E,MSGCLASS=A,CLASS=A                              
//PROC1 PROC                                                      
//STEP1 EXEC PGM=GENCHAR,                                        
//         PARM='RULES'                                          
//GENFILE DD DSNAME=&&ONE,SPACE=(TRK,1),UNIT=SYSDA,DISP=(NEW,PASS)
//ALPHA DD DSNAME=TSOEFFF.STUDENT.BIGTYPE.JCL,DISP=SHR            
//STEPLIB DD DSNAME=TSOEFFF.STUDENT.LOADLIB.JCL,DISP=SHR          
//SYSPRINT DD SYSOUT=*                                            
//STEP2 EXEC PGM=IEBPTPCH                                        
//SYSPRINT DD SYSOUT=*                                            
//SYSUT1 DD DSNAME=&&ONE,DISP=(SHR,PASS)                          
//SYSUT2 DD SYSOUT=*      
//SYSIN DD DSNAME=TSOEFFF.STUDENT.SYSIN.JCL,DISP=SHR    
// PEND                                                
//STEP1 EXEC PROC1,REGION=512K                          
//STEP1.GENFILE DD SPACE=(TRK,2)            

Delete Dataset using procedure


//DEL1 JOB 1
//MYPROC   PROC
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=KC03H0E.MCA5.SORT5,DISP=(OLD,DELETE,DELETE)
//SYPRINT DD SYSOUT=*
//         PEND
//STEP2 EXEC MYPROC
//SYSIN DD *

Create Dataset using procedure


//CRT1 JOB 1
//MYPROC   PROC
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=&CREATE1,DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))
//SYPRINT DD SYSOUT=*
//         PEND
//STEP2 EXEC MYPROC,CREATE1=KC03H0E.MCA5.SORT5
//SYSIN DD *

Copy members in one pds to another


//MYJOB JOB                          
//MYPROC PROC                        
//STEP1 EXEC PGM=IEBCOPY              
//SYSPRINT DD SYSOUT=*                
//SYSUT1 DD DISP=SHR,DSN=KC03H0E.X.Y  
//SYSUT2 DD DISP=SHR,DSN=KC03H0E.Y.X  
//         PEND                      
//STEP1 EXEC MYPROC                  
//SYSIN DD *        

Concatenate datasets


//JOB1 JOB
//STEP1 EXEC PGM=IEBGENER
//SYSUT1 DD DSN=KC03H0E.Y.X(M1),DISP=SHR
//       DD DSN=KC03H0E.Y.X(M2),DISP=SHR
//SYSUT2 DD DSN=KC03H0E.MCA2.PDS(A),DISP=SHR
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*

Compare dataset using procedure


//MYJOB JOB
//MYPROC PROC
//STEP1 EXEC PGM=IEBCOMPR
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=KC03H0E.X.Y(M1)
//SYSUT2 DD DISP=SHR,DSN=KC03H0E.Y.X(M1)
//         PEND
//STEP1 EXEC MYPROC
//SYSIN DD *

Catalog procedure


Procedure definition

//CATLG PROC                                                      
//STEP1    EXEC  PGM=IEFBR14                                      
//DD1 DD    DSN=KC03H0E.Z2.Z2,DISP=(NEW,CATLG),SPACE=(TRK,(5,2,0))
//SYSPRINT DD SYSOUT=*    
     
Invoking procedure

//MYJOB  JOB 1,'MCA',CLASS=A              
//       JCLLIB ORDER=(KC03H0E.MCA2.PDS)  
//STEP2  EXEC CATALOG1                    
//SYSIN DD *                                

Backward reference(vol)


//JOB1 JOB 1,'MCA'
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSNAME=KC03H0E.MCA7.PDS,VOL=SER=PACK12,
//    DISP=(NEW,CATLG),
//    SPACE=(TRK,(5,2,0))
//STEP2 EXEC PGM=IEFBR14
//DD2 DD DSNAME=KC03H0E.MCA8.PDS,
//    DISP=(NEW,CATLG),
//    SPACE=(TRK,(1,0,0)),VOL=REF=*.STEP1.DD1
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY

Backward reference(pgm)


//JOB1 JOB 1,'MCA'
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=KC03H0E.MCA5.PDS,
// DISP=(NEW,CATLG),          
// SPACE=(TRK,(5,2,0))        
//STEP2 EXEC PGM=*.STEP1.DD1  
//SYSPRINT DD SYSOUT=*        
//SYSIN DD DUMMY  

Backward reference(dsn)


//JOB1 JOB 1,'MCA'          
//STEP1 EXEC PGM=IEFBR14      
//DD1 DD DSNAME=KC03H0E.MK.CC5,
//    DISP=(NEW,CATLG),      
//    SPACE=(TRK,(5,2,0))    
//STEP2 EXEC PGM=IEFBR14      
//DD2 DD DSNAME=*.STEP1.DD1  
//SYSPRINT DD SYSOUT=*        
//SYSIN DD DUMMY                                    

Backward reference(dcb)


//JOB1 JOB 1,'MCA'                          
//STEP1 EXEC PGM=IEFBR14                    
//DD1 DD DSN=KC03H0E.MKU.CC,DISP=(NEW,CATLG),
// SPACE=(TRK,(10,2,1)),                    
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)      
//STEP2 EXEC PGM=IEFBR14                    
//DD2 DD DSN=KC03H0E.MKU.CC1,DISP=(NEW,CATLG),
// SPACE=(TRK,(1,1,0)),                      
// DCB=*.STEP1.DD1    

Display text in block letters


//DISP1 JOB 1,'MCA',NOTIFY=KC03H0E                      
//MYPROC PROC                                            
//STEP1 EXEC PGM=GENCHAR,                                
//      PARM='MCA'                                      
//GENFILE DD DSN=&&ONE,DISP=(NEW,PASS),SPACE=(TRK,1)    
//ALPHA DD DSN=TSOEFFF.STUDENT.BIGTYPE.JCL,DISP=SHR      
//STEPLIB DD DSN=TSOEFFF.STUDENT.LOADLIB.JCL,DISP=SHR    
//SYSPRINT DD SYSOUT=*                                  
//STEP2 EXEC PGM=IEBPTPCH                                
//SYSPRINT DD SYSOUT=*                                  
//SYSUT1 DD DSN=&&ONE,DISP=(SHR,PASS)                    
//SYSUT2 DD SYSOUT=*                                    
//SYSIN DD DSN=TSOEFFF.STUDENT.SYSIN.JCL,DISP=SHR        
//   PEND                                                
//STEP3 EXEC MYPROC