JCL Expansion Program

Tuesday, April 30, 201318comments

Recently I was working for a client who didnt have JSCAN/JEM to expand and do syntax/dataset xref checking of a JCL before actually submitting it. As You would understand as a developer how useful it is to have such a utility. And this prompted me to create the JCLEXP tool which checks for things like dataset existance, symbolic parameters expansion, PROCs and Include Members Expansion, Sysin's or other Parm Files Existance etc.

  • Note that the tool doesnot do a JCL syntax check. 
  • You can View/Edit/Browse files directly or using Fileaid directly from the tool's output panel.
  • You can get a list of all input and output files used in the job.
  • You can resolve the actual GDG version dataset going to be used in the job.
  • Most importantly You can see the errors that the job has in its cross references with other modules/datasets.

In a nutshell this Exec Reads in the i/p JCL and Expands the Includes, Procs, Symbolic variables in the Job. It also scans for any Datasets, GDG Base, GDG Versions, Sysins, Includes, Procs cross reference errors.

JCLEXP is a ISREDIT command and it runs on the JCL member You currently are in. The utility consists of three Rexx Routines which need to be placed in your clist library and three ISPF panels which need to be placed in your ISPPLIB.

The Rexx Modules are:

  1. JCLEXP    - The main Driver Program
  2. JCLDSFA - Interface program with FileAid
  3. JCLDSFB - Interface program with FileAid

The Panels are:
  1. JCLEXP0 - Main Panel with choices of Output Desired
  2. JCLEXP1 - Panel for Input Datasets List and actions
  3. JCLEXP2 - Panel for Output Datasets List
You can download the zip file containing the above modules below.

Please feel free to edit the program to make cosmetic or required changes to meet your application and system environment. After You copy the modules in the corresponding libraries, You can start using the tool program as below:

  • In any JCL member in view or edit mode, issue the command JCLEXP

  • After Expansaion is done, You will see the panel as seen below:

  • Option 1 shows the expanded code with all the expansion errors encountered. This is the place where you would go mostly.

  • Option 2 will give You the details  of all the input files used in your job. Here You can view/edit the file directly or thru file aid from this panel.

  • Option 3 will take you to the panel which lists all the output datasets from your job.

Share this article :

+ comments + 18 comments

October 22, 2013 at 4:51 AM

This is great!

Can it be used in batch mode to capture the expanded JCL of multiple JCL decks. If not, would it be straightforward to convert?

October 22, 2013 at 6:20 AM

In Batch Mode you would better run the job using typerun=scan

October 23, 2013 at 3:43 AM

Okay - what I wanted to do was determine what each JCL member called (PROC, program etc). and return just a list of objects accessed by the JCL deck in CSV form, like this:

JCL Member Name,Proc Name,Program Name,Referenced Filename

Values would repeat as required in the output, like this:

In which, JCL member "JOB1JCL" repeats five times, Proc "J1PROC1" repeats three times. Each value is repeated as needed according to how many objects are referenced in each 'context' (JOB, PROC, PROGRAM etc).

I do not want to write fully-expanded JCL to a dataset (I'd then need to write a parser to extract what I need), only the bits of information I require. That's why your script looked a great place to start - it does all the difficult stuff already.


October 23, 2013 at 5:01 AM

Hmm...You can check out the xreftool that I had developed..its there as a separete blog in this website...that guy gives you all the places where a particular module is referenced. That tool acutally builds a xref database in form of flat files, after building the db, you can write your scripts to generate the report that you want from this db. That may not be exactly what you want, but may be helpful if you want to look at...Thanks...

March 20, 2014 at 5:25 AM


I couldnt able to see the attachment. Kindly confirm whether it is available still in this link?

April 19, 2014 at 9:18 AM

Meenakshi, Sorry for the late response..Yes its still there as a box document.

February 14, 2016 at 3:55 PM

Hi, is the zip file still available for the JCL Expansion Program? I can't seem to find it on the page.

February 28, 2016 at 7:51 AM

Hi please send the expand jcl rexx code to me. I am unable to find it here in this page. my mail id is aravindhan.devarajan@gmail.com

May 28, 2016 at 12:30 PM

I have a requirement that I want to expand all job under a PDS and search particular string in those expanded jobs, Instead to doing JJSCAN one by one and then search the string.

I want write the JOB name in separate file which contains the string I am searching for.

IS this possible using JCL or REXX ?


July 21, 2016 at 12:28 PM

Is this ZIP file still available? I would like to try out the code.

June 19, 2017 at 4:09 AM

Hi... can i get the zip file.

March 28, 2018 at 6:24 PM

Hi, can I get the zip file? The plug in is not supported. My email address is ztnawal@yahoo.com. Thanks!

April 6, 2018 at 12:28 AM

Hi I cannot find the zip file. Can you please send me at jigarc6@gmail.com

April 10, 2018 at 7:20 AM

Hi , can you send me zip file to reddybava2014@gmail.com ,I will try once.thankyou.

June 4, 2018 at 7:58 AM

will be of grt help if you can shre the sample code. i am trying to code a similar rexx

September 22, 2018 at 3:54 AM

Hi can you send me zip file to kgjothi@gmail.com. Thanks!

November 20, 2018 at 5:14 AM

hi, i couldnt find the zip file...can you please send to my mail RAMASUBBU4ALL@GMAIL.COM

Post a Comment

Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Atom's Arena - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger