JCL & Procedure Overrides
 Overrides and Parameter Substitution
http://www.simotime.com
When technology complements business    Copyright © 1987-2010  SimoTime Enterprises  All Rights Reserved
  Table of Contents Version 10.03.20 
  Introduction
  JCL Members
 
  JCL Member to Create Files (a multi-step Job)
  JCL Member to Delete Files
  JCL Procedures (or PROC's)
 
  A PROC to Create DATA10
  A PROC to Create DATA20
  A PROC to Create DATA30
  A Partitioned Data Set (PDS) for Parameter Cards
 
  A PDS Member with with Record Content for DATA10
  A PDS Member with with Record Content for DATA20
  A PDS Member with with Record Content for DATA30
  Summary
 
  Software Agreement and Disclaimer
  Downloads and Links to Similar Pages
  Comments or Suggestions
  About SimoTime

Introduction
(Next) (Previous) (Table-of-Contents)

The purpose of this example is to show how to use ZOS (or MVS) JCL and Procedures (or PROC's) with substitution parameters and overrides (or PROC override). The examples will run on an IBM Mainframe with ZOS or in a Micro Focus Environment using Mainframe Express or the Server Enterprise Edition.

JCL Members
(Next) (Previous) (Table-of-Contents)

This example has two (2) JCL Members. The first JCL Member will show the use of "PROCedure EXECution" with parameter substitution and procedural overrides to create sequential data files using IEBGENER. The DSN and DISP used by the PROC's will be defined in the JCL Member and passed to the PROC via substitution or an override.

The second JCL Member will delete the files created by the first JCL Member. The following sections of this document will descirbe the JCL Members in more detail.

JCL Member to Create Files (a multi-step Job)
(Next) (Previous) (Table-of-Contents)

This JCL Member (JCLOVRJ1.JCL) is a multi-step job that will create three sequential files. Each job step will execute a PROC to create a file. The following is a listing of the JCL Member. The embedded comments should help in understanding what the JCL Member is doing.

//JCLOVRJ1 JOB SIMOTIME,CLASS=1,MSGCLASS=0,NOTIFY=CSIP1
//* *******************************************************************
//*                   This program is provided by:                    *
//*                    SimoTime Enterprises, LLC                      *
//*           (C) Copyright 1987-2010 All Rights Reserved             *
//*             Web Site URL:   http://www.simotime.com               *
//*                   e-mail:   helpdesk@simotime.com                 *
//* *******************************************************************
//*
//* Text   - An Example of Parameter Substitution and Overrides
//* Author - SimoTime Enterprises
//* Date   - January 24, 1996
//*
//* Note   - To cleanup files run JCLOVRJ9
//*
//* *******************************************************************
//* Step 1 of 3, Execute the procedure,
//*              Create DATA10 using parameter substitution with a
//*              separate SET statement.
//*
//         SET  DSNAME10=SIMOTIME.WORK.DATA10
//STEPJ010 EXEC JCLOVRP1
//*
//*
//* *******************************************************************
//* Step 2 of 3, Execute the procedure,
//*              Create DATA20 using a Procedural Override.
//*
//STEPJ020 EXEC JCLOVRP2
//STEPP20.SYSUT2 DD DSN=SIMOTIME.WORK.DATA20
//*
//* *******************************************************************
//* Step 3 of 3, Execute the procedure, Create DATA30,
//*              Use a procedural override for DISP.
//*              Use parameter substitution for DSN,
//*              Create DATA30 using parameter substitution that is
//*              passed as an item on the EXEC ststement.
//*
//         SET  DSNAME30=SIMOTIME.WORK.DATA30
//STEPJ030 EXEC JCLOVRP3
//STEPP30.SYSUT2 DD DISP=(NEW,CATLG)
//*

JCL Member to Delete Files
(Next) (Previous) (Table-of-Contents)

This JCL Member (JCLOVRJ9.JCL) is a single-step job that will delete three sequential files. The IEFBR14 Program with three (3) DD staements is used. The DD statements use the DISP=(MOD,DELETE,DELETE) to delete the files. The following is a listing of the JCL Member.

//JCLOVRJ9 JOB SIMOTIME,ACCOUNT,CLASS=1,MSGCLASS=0,NOTIFY=CSIP1
//* *******************************************************************
//*                   THIS PROGRAM IS PROVIDED BY:                    *
//*                    SIMOTIME ENTERPRISES, LLC                      *
//*           (C) COPYRIGHT 1987-2010 ALL RIGHTS RESERVED             *
//*             WEB SITE URL:   HTTP://WWW.SIMOTIME.COM               *
//*                   E-MAIL:   HELPDESK@SIMOTIME.COM                 *
//* *******************************************************************
//*
//* TEXT   - Use IEFBR14 to delete filess
//* AUTHOR - SIMOTIME ENTERPRISES
//* DATE   - JANUARY 01, 1989
//*
//* *******************************************************************
//* Step 1 of 1, Delete any previously created sequential file...
//*
//STEP10   EXEC PGM=IEFBR14
//DATA10   DD  DSN=SIMOTIME.WORK.DATA10,DISP=(MOD,DELETE,DELETE),
//             STORCLAS=MFI,
//             SPACE=(TRK,5),
//             DCB=(RECFM=FB,LRECL=80,DSORG=PS)
//DATA20   DD  DSN=SIMOTIME.WORK.DATA20,DISP=(MOD,DELETE,DELETE),
//             STORCLAS=MFI,
//             SPACE=(TRK,5),
//             DCB=(RECFM=FB,LRECL=80,DSORG=PS)
//DATA30   DD  DSN=SIMOTIME.WORK.DATA30,DISP=(MOD,DELETE,DELETE),
//             STORCLAS=MFI,
//             SPACE=(TRK,5),
//             DCB=(RECFM=FB,LRECL=80,DSORG=PS)
//*

JCL Procedures (or PROC's)
(Next) (Previous) (Table-of-Contents)

This example has three (3) PROC's. Each PROC is will create a sequential file based on the parameters or overrides provided by the JCL Member (or step within a JCL Member) that is executing the PROC.

A PROC to Create DATA10
(Next) (Previous) (Table-of-Contents)

This PROC (JCLOVRP1.PRC) will create a sequential file. The name of the sequential file is determined by the content of &DSNAME10 that is set by the primary JCL Member.

//* *******************************************************************
//*                   This program is provided by:                    *
//*                    SimoTime Enterprises, LLC                      *
//*           (C) Copyright 1987-2010 All Rights Reserved             *
//*             Web Site URL:   http://www.simotime.com               *
//*                   e-mail:   helpdesk@simotime.com                 *
//* *******************************************************************
//*
//* Subject: Create a Record Sequential File, use IEBGENER
//* Author:  SimoTime Enterprises
//* Date:    January 1,1998
//*
//* This PROC needs the &DSNAME10 defined by the calling JCL member...
//* //       SET DSNAME10=AAAA.BBBB.CCCC
//* //       EXEC JCLOVRP1
//*
//*********************************************************************
//JCLOVRP1 PROC
//*
//*********************************************************************
//* Step 1 of 1, Create DATA10 from Procedure JCLOVRP1,
//*              the DSN for SYSUT2 uses parameter substitution.
//*
//STEPP10  EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  DUMMY
//* :....1....:....2....:....3....:....4....:....5....:....6....:....7....:....8
//SYSUT1   DD  DSN=SIMOTIME.PDS.PARMLIB1(JCLOVR10),DISP=SHR
//SYSUT2   DD  DSN=&DSNAME10,
//             DISP=(NEW,CATLG,DELETE),
//             STORCLAS=MFI,
//             SPACE=(TRK,5),
//             DCB=(RECFM=FB,LRECL=80,DSORG=PS)
//*
//         PEND
//*

A PROC to Create DATA20
(Next) (Previous) (Table-of-Contents)

This PROC (JCLOVRP2.PRC) will create a sequential file. The name of the sequential file is determined by the override that is provided by the primary JCL Member.

//* *******************************************************************
//*                   This program is provided by:                    *
//*                    SimoTime Enterprises, LLC                      *
//*           (C) Copyright 1987-2010 All Rights Reserved             *
//*             Web Site URL:   http://www.simotime.com               *
//*                   e-mail:   helpdesk@simotime.com                 *
//* *******************************************************************
//*
//* Subject: Create a Record Sequential File, use IEBGENER
//* Author:  SimoTime Enterprises
//* Date:    January 1,1998
//*
//* The DSN for SYSUT2 is overridden by the primary JCL Member
//*
//*********************************************************************
//JCLOVRP1 PROC
//*
//*********************************************************************
//* Step 1 of 1, Create DATA20 from Procedure JCLOVRP2,
//*              the DSN for SYSUT2 is determined by a procedural
//*              override provided by the primary JCL Member.
//*
//STEPP20  EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  DUMMY
//* :....1....:....2....:....3....:....4....:....5....:....6....:....7....:....8
//SYSUT1   DD  DSN=SIMOTIME.PDS.PARMLIB1(JCLOVR20),DISP=SHR
//SYSUT2   DD  DSN=SIMOTIME.DATA.JUNK,
//             DISP=(NEW,CATLG,DELETE),
//             STORCLAS=MFI,
//             SPACE=(TRK,5),
//             DCB=(RECFM=FB,LRECL=80,DSORG=PS)
//*
//         PEND
//*

A PROC to Create DATA30
(Next) (Previous) (Table-of-Contents)

This PROC (JCLOVRP3.PRC) will create a sequential file. The name of the sequential file is determined by the content of &DSNAME30 that is passed by the primary JCL Member. The DISP for SYSUT2 is determined by the override that is provided by the primary JCL Member. This example shows both the Parameter passing an override capability in a single job step.

//* *******************************************************************
//*                   This program is provided by:                    *
//*                    SimoTime Enterprises, LLC                      *
//*           (C) Copyright 1987-2010 All Rights Reserved             *
//*             Web Site URL:   http://www.simotime.com               *
//*                   e-mail:   helpdesk@simotime.com                 *
//* *******************************************************************
//*
//* Subject: Create a Record Sequential File, use IEBGENER
//* Author:  SimoTime Enterprises
//* Date:    January 1,1998
//*
//* This PROC needs the &DSNAME30 defined by the calling JCL member...
//* //       SET DSNAME30=AAAA.BBBB.CCCC
//* //       EXEC JCLOVRP3
//*
//* The DISPN is then overridden by the primary JCL Member
//*
//*********************************************************************
//JCLOVRP3 PROC
//*
//*********************************************************************
//* Step 1 of 1, Create DATA30 from Procedure JCLOVRP3,
//*              the DSN for SYSUT2 uses parameter substitution.
//*              The DISP is determined by a procedural override
//*              provided by the primary JCL Member.
//*
//STEPP30  EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  DUMMY
//* :....1....:....2....:....3....:....4....:....5....:....6....:....7....:....8
//SYSUT1   DD  DSN=SIMOTIME.PDS.PARMLIB1(JCLOVR30),DISP=SHR
//SYSUT2   DD  DSN=&DSNAME30,
//             DISP=OLD,
//             STORCLAS=MFI,
//             SPACE=(TRK,5),
//             DCB=(RECFM=FB,LRECL=80,DSORG=PS)
//*
//         PEND
//*

A Partitioned Data Set (PDS) for Parameter Cards
(Next) (Previous) (Table-of-Contents)

The data to be included in the files that are created is stored as PDS Members in a PDS (sometimes referred to as a library) named SIMOTIME.PDS.PARMLIB1. The following sections of this document describes the PDS Members in more detail.

A PDS Member with with Record Content for DATA10
(Next) (Previous) (Table-of-Contents)

This PDS Member (JCLOVR10.CTL) contains a single record that will be included in the SIMOTIME.WORK.DATA10 sequential file when it is created using IEBGENER. The following is a listing of the content of the PDS Member.

Record 001 for DATA10...

A PDS Member with with Record Content for DATA20
(Next) (Previous) (Table-of-Contents)

This PDS Member (JCLOVR20.CTL) contains the records that will be included in the SIMOTIME.WORK.DATA20 sequential file when it is created using IEBGENER. The following is a listing of the content of the PDS Member.

Record 001 for DATA20...
Record 002 for DATA20...

A PDS Member with with Record Content for DATA30
(Next) (Previous) (Table-of-Contents)

This PDS Member (JCLOVR30.CTL) contains the records that will be included in the SIMOTIME.WORK.DATA30 sequential file when it is created using IEBGENER. The following is a listing of the content of the PDS Member.

Record 001 for DATA30...
Record 002 for DATA30...
Record 003 for DATA30...

Summary
(Next) (Previous) (Table-of-Contents)

The purpose of this document is to assist as a tutorial for new programmers or as a quick reference for experienced programmers. In the world of programming there are many ways to solve a problem. This suite of JCL members and PROC's is provided as an example of overriding items in an executed Procedure from the primary JCL Member.

Software Agreement and Disclaimer
(Next) (Previous) (Table-of-Contents)

Permission to use, copy, modify and distribute this software for any non-commercial purpose and without fee is hereby granted, provided the SimoTime copyright notice appear on all copies of the software. The SimoTime name or Logo may not be used in any advertising or publicity pertaining to the use of the software without the written permission of SimoTime Enterprises.

Permission to use, copy, modify and distribute this software for any commercial purpose requires a fee to be paid to SimoTime Enterprises. Once the fee is received by SimoTime the latest version of the software will be delivered and a license will be granted for use within an enterprise, provided the SimoTime copyright notice appear on all copies of the software. The SimoTime name or Logo may not be used in any advertising or publicity pertaining to the use of the software without the written permission of SimoTime Enterprises.

SimoTime Enterprises makes no warranty or representations about the suitability of the software for any purpose. It is provided "AS IS" without any express or implied warranty, including the implied warranties of merchantability, fitness for a particular purpose and non-infringement. SimoTime Enterprises shall not be liable for any direct, indirect, special or consequential damages resulting from the loss of use, data or projects, whether in an action of contract or tort, arising out of or in connection with the use or performance of this software.

If you have any questions, suggestions or comments please call or send an e-mail to: helpdesk@simotime.com

Downloads and Links to Similar Pages
(Next) (Previous) (Table-of-Contents)

You may download this example at http://www.simotime.com/sim4dzip.htm#Jclovr01Zip as a Z-Pack. The Z-Packs provide individual programming examples, documentation and test data files in a single package. The Z-Packs are usually in zip format to reduce the amount of time to download.

Please view the complete list of SimoTime Z-Pack Examples at http://www.simotime.com/sim4dzip.htm.

Note: You must be attached to the Internet to download a Z-Pack or view the list.

Check out  JCL Variable Substitution  and  Using JCL Procedures  for additional examples.

Check out   The JCL Connection  for more mainframe JCL examples.

To review all the information available on this site start at   The SimoTime Home Page .

Comments or Suggestions
(Next) (Previous) (Table-of-Contents)

If you have any questions, suggestions or comments please call or send an e-mail to: helpdesk@simotime.com.

About SimoTime Enterprises
(Next) (Previous) (Table-of-Contents)

Founded in 1987, SimoTime Enterprises is a privately owned company. We specialize in the creation and deployment of business applications using new or existing technologies and services. We have a team of individuals that understand the broad range of technologies being used in today's environments. This includes the smallest thin client using the Internet and the very large mainframe systems. There is more to making the Internet work for your company's business than just having a nice looking WEB site. It is about combining the latest technologies and existing technologies with practical business experience. It's about the business of doing business and looking good in the process. Quite often, to reach larger markets or provide a higher level of service to existing customers it requires the newer Internet technologies to work in a complementary manner with existing corporate mainframe systems. Whether you want to use the Internet to expand into new market segments or as a delivery vehicle for existing business functions simply give us a call or check the web site at http://www.simotime.com.


Return-to-Top
Copyright © 1987-2010  SimoTime Enterprises  All Rights Reserved
When technology complements business
http://www.simotime.com