Revised July 23, 2005

Download Syllabus and Homework 1 Specs

Download Mainframe Express Instruction Document

Download Project Files and Projects 1 – 4 Specifications

Download Sort Syntax 

Download VSAM Support Files 

Download Change Signs COBOL Program

Project 1 Program

Project 4 Grade Sheet

VSAM Codes

BCIS 3690: Information Systems Concepts

Fall 2005


This page is designed to contain important class information.  Check the links to the left to download data files and project assignments.  Check here periodically for tips and important reminders.

The book Zos JCL, 5th Ed. ISBN 0-471-23635-7 is no longer in print as of February of this year.  There are a few used copies that you may be able to buy and the book is available as an ebook, ISBN 0-471-42673-3 that can be purchased at wiley.com.   

MFJSORT Sample

//STEPx    EXEC PGM=MFJSORT
//SYSPRINT    DD SYSOUT=A
//SORTWK01  DD UNIT=SYSDA,SPACE=(TRK,(5))
//SORTIN        DD DSN=input file,DISP=SHR    
//SORTOUT   DD DSN=output file,DISP=(NEW,CATLG,DELETE),       
//           DCB=(RECFM=F,LRECL=enter output record length,DSORG=PS),
//           SPACE=(TRK,(5,1),RLSE),UNIT=SYSDA    
//SYSIN     DD *     
 
SORT FIELDS=(6,1,CH,A,21,8,ZD,A,29,4,ZD,A,1,5,ZD,A)   change these for your  sort
 END
/*

Note: The “S” in SORT FIELDS = must begin in column 2!  Other lines begin in column 1 

IEFBR14 Sample

//STEPx    EXEC PGM=IEFBR14
//ddname      DD  DSN=file name,DISP=(OLD,DELETE)

Note: ddname is not really used by this procedure.  File name is the name of the file you want to delete 

GENERATION DATA GROUP FILE CREATION

//**        THIS STEP CREATES AN ENTRY IN THE CATALOG FOR A GDG
//**
//STEP1     EXEC  PGM=IDCAMS
//SYSOUT    DD SYSOUT=A
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
    DELETE PRODGDG
    DEFINE GDG -
     (NAME(PRODGDG) EMPTY SCRATCH LIMIT(6))
/*
//**
//**        THIS STEP CREATES THE GDG BIAS FOR 6 GENERATIONS
//**
//STEP2     EXEC PGM=IEFBR14
//G1        DD   DSN=PRODGDG(+1),DISP=(NEW,CATLG),SPACE=(TRK,(1,1))
//G2        DD   DSN=PRODGDG(+2),DISP=(NEW,CATLG),SPACE=(TRK,(1,1))
//G3        DD   DSN=PRODGDG(+3),DISP=(NEW,CATLG),SPACE=(TRK,(1,1))
//G4        DD   DSN=PRODGDG(+4),DISP=(NEW,CATLG),SPACE=(TRK,(1,1))
//G5        DD   DSN=PRODGDG(+5),DISP=(NEW,CATLG),SPACE=(TRK,(1,1))
//G6        DD   DSN=PRODGDG(+6),DISP=(NEW,CATLG),SPACE=(TRK,(1,1))
//

GENERATION DATA GROUP FILE UPDATE AND FILE REFERBACK EXAMPLE

//STEP1    EXEC PGM=MFJSORT
//SYSPRINT  DD SYSOUT=A
//SORTWK01  DD UNIT=SYSDA,SPACE=(TRK,(5))
//SORTIN    DD DSN=PRODUCT,DISP=SHR
//SORTOUT   DD DSN=PRODGDG(+1),DISP=(NEW,CATLG,DELETE),
//           DCB=(RECFM=FB,BLKSIZE=550,LRECL=55),
//           SPACE=(TRK,(1,1),RLSE),UNIT=SYSDA
//SYSIN     DD *
 SORT FIELDS=(50,6,CH,A)
 END
/*
//STEP2   EXEC PGM=VALID
//PRODUCT   DD DSN=*.STEP1.SORTOUT,DISP=SHR
//

IDCAMS: DELETE, DEFINE, REPRO, PRINT EXAMPLE

//STEP1 EXEC PGM=IDCAMS
//SYSPRINT    DD SYSOUT=A
//SYSIN       DD *
  DELETE (CLUSTER.INVENT) -
       CLUSTER
//**
//STEP2 EXEC PGM=IDCAMS
//SYSPRINT    DD SYSOUT=A
//SYSIN       DD *
  DEFINE CLUSTER -
         (NAME (CLUSTER.INVENT) -
         RECORDS(200 10) -
         RECORDSIZE(171 171) -
         INDEXED -
         KEYS(6 0) ) -
              DATA -
                   (NAME (DATA.INVENT) ) -
              INDEX -
                   (NAME (INDEX.INVENT) )
/*
//**
//STEP3 EXEC PGM=IDCAMS
//SYSPRINT    DD SYSOUT=A
//OLDINV    DD DSN=INVENT,DISP=SHR
//NEWINV    DD DSN=CLUSTER.INVENT,DISP=SHR
//SYSIN       DD *
    REPRO INFILE (OLDINV) -
         OUTFILE (NEWINV)
/*
//STEP4   EXEC PGM=IDCAMS
//SYSPRINT  DD  SYSOUT=A
//INVENT     DD  DSN=CLUSTER.INVENT,DISP=SHR
//SYSIN     DD  *
    PRINT INFILE(INVENT) -
         CHARACTER
/*
//

Main Program, Sub Program Example with Run JCL

Main Program

       IDENTIFICATION DIVISION.
       PROGRAM-ID. MAINPROG.
       AUTHOR. CLINE.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 SUB-VARS.
          03  MESSAGE-TO-SUB      PIC X(20)  VALUE 'WHATCHA DOING?'.
          03  MESSAGE-FROM-SUB    PIC X(20).
       PROCEDURE DIVISION.
            DISPLAY '*************************'.
            DISPLAY SUB-VARS.
            CALL 'SUBPROG' USING SUB-VARS
            DISPLAY '*************************'.
            DISPLAY SUB-VARS.
            STOP RUN. 

Sub Program

       IDENTIFICATION DIVISION.
       PROGRAM-ID. SUBPROG.
       AUTHOR. CLINE.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       LINKAGE SECTION.
       01 SUB-VARIABLES.
          03  IN-DATA     PIC X(20).
          03  OUT-DATA    PIC X(20).
       PROCEDURE DIVISION USING SUB-VARIABLES.
           IF IN-DATA = 'WHATCHA DOING?'
                 MOVE 'I AM RUNNIING RIGHT NOW' TO OUT-DATA
             ELSE
                 MOVE 'I DID NOT UNDERSTAND THE QUESTION' TO
                 OUT-DATA.
           GOBACK.

Run JCL

//SUBJOB  JOB 'CLINE',MSGCLASS=X,CLASS=A
//**
//STEP1  EXEC PGM=MAINPROG
//



This page is maintained by Dr. Windsor