![]() |
JCL & Procedure Overrides Overrides and Parameter Substitution |
| When technology complements business | Copyright © 1987-2012 SimoTime Enterprises All Rights Reserved |
| The SimoTime Home Page |
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.
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 describe the JCL Members in more detail.
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 * //* (C) Copyright 1987-2012 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. //* //STEPJ030 EXEC JCLOVRP3,DSNAME30=SIMOTIME.WORK.DATA30 //STEPP30.SYSUT2 DD DISP=(NEW,CATLG) //*
This JCL Member (JCLOVRJ9.JCL) is a single-step job that will delete three sequential files. The IEFBR14 Program with three (3) DD statements 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 * //* (C) Copyright 1987-2012 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) //*
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.
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 JCL Procedure is provided by SimoTime Enterprises * //* (C) Copyright 1987-2012 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.PARMLIB(JCLOVR10),DISP=SHR //SYSUT2 DD DSN=&DSNAME10, // DISP=(NEW,CATLG,DELETE), // STORCLAS=MFI, // SPACE=(TRK,5), // DCB=(RECFM=FB,LRECL=80,DSORG=PS) //* // PEND //*
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 JCL Procedure is provided by SimoTime Enterprises * //* (C) Copyright 1987-2012 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.PARMLIB(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 //*
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 JCL Procedure is provided by SimoTime Enterprises * //* (C) Copyright 1987-2012 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 DISP 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.PARMLIB(JCLOVR30),DISP=SHR //SYSUT2 DD DSN=&DSNAME30, // DISP=OLD, // STORCLAS=MFI, // SPACE=(TRK,5), // DCB=(RECFM=FB,LRECL=80,DSORG=PS) //* // PEND //*
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.
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...
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…
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…
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.
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 document and the links to other documents are intended to provide a choice of alternatives.
Permission to use, copy, modify and distribute this software, documentation or training material for any purpose requires a fee to be paid to SimoTime Enterprises. Once the fee is received by SimoTime the latest version of the software, documentation or training material 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, documentation or learning material for any purpose. It is provided "AS IS" without any expressed 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, documentation or training material.
This section includes links to documents with additional information that is beyond the scope and purpose of this document. The first sub-section requires an internet connection, the second sub-section references locally available documents.
Note: A SimoTime License is required for the items to be made available on a local server.
The following links will require an internet connect.
A good place to start is The SimoTime Home Page for access to white papers, program examples and product information.
This suite of programs and documentation is available for download. Link to an Evaluation zPAK Option that includes the program members, documentation and control files.
Explore The JCL Connection in the SimoTime Library for more examples of JCL coding techniques and batch utility programs.
Explore The ASCII and EBCDIC translation tables. These tables are provided for individuals that need to better understand the bit structures and differences of the encoding formats.
Explore The File Status Return Codes to interpret the results of accessing VSAM data sets and QSAM files.
Explore The Micro Focus Web Site for more information about products and services available from Micro Focus.
The following links may be accessible without an internet connection.
Explore Variable Substitution with SET Statement using standard JCL syntax.
Explore using JCL Procedures with substitution parameters to perform repetitive tasks
Explore The File Status Return Codes to interpret the results of accessing VSAM data sets and QSAM files.
Check out The SimoTime Glossary for a list of terms and definitions used in the documents provided by SimoTime.
This document was created and is maintained by SimoTime Enterprises.
If you have any questions, suggestions, comments or feedback please call or send an e-mail to: helpdesk@simotime.com
We appreciate hearing from you.
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 |
| JCL & Procedure Overrides, Overrides and Parameter Substitution |
| Copyright © 1987-2012 SimoTime Enterprises All Rights Reserved |
| When technology complements business |
| http://www.simotime.com |