Robin Murray's Rexx Pages

Robin Murray's Rexx Pages

Robin Murray's Rexx Pages

Logo and link to Mike's book Canadian flag

Job Navigator

This application allows you to navigate through the JCL source of a job you pass to it by front-ending CA's great little JCLCheck™ product. You must have JCLCheck™ installed if you are going to use this application.

Today's modern JCL can be extremely complex, with nested procs and includes pulling in JCL source from many different libraries. This application will allow you to zero in on the exact source that you are interested in, without having to search proclib concatenations and do finds to get to where you want to go.

To call this program, you can enter 'NJ jobname' where jobname is a job defined to our production scheduler libraries (provided you have my FJ utility also installed). You may also pass a private lib by specifying 'NJ dataset-name'.

This application does not currently support instream procs or source that contains more than one job.


To illustrate what you can do with this, part of the IVP procedures when you install my utility libraries is to do a test navigation on SAMPJOB located in SAMPJCL (just enter "NJ SAMPJOB"). This is the first screen you will see (I may not have time to pretty up these web page pastings):

                           Job Navigator: Datasets             Row 1 to 3 of 3 
Command ===>                                                  Scroll ===> CSR  
                                                                               
Job 'MA133.TSO.SAMPLIB(SAMPJOB)'                                               
     Dataset                                       Disp      Step              
__   MA133.TSO.SAMPLIB                             REFER                       
__   MA133.TSO.SAMPLIB                             REFER     STEP1.STEP1       
__   BAD.DATA.SET                                  REFER     STEP1.STEP2       
******************************* Bottom of data ********************************
From this screen you may select any table entry, and it will take you to the exact line of JCL that corresponds to that entry. E will edit the JCL. V will view it. For this particular screen, you may also directly edit or view the dataset on the screen by entering >E or >V on the table line. Shifting to the right will show the same dataset list (not displayed here), but will reflect the DDName and type of dataset.

Shifting the display to the right again will show this next screen:

                           Job Navigator: Programs             Row 1 to 2 of 2 
Command ===>                                                  Scroll ===> CSR  
                                                                               
Job 'MA133.TSO.SAMPLIB(SAMPJOB)'                                               
     Program   Library                                       Step              
__   IEFBR14   ** LPA RESIDENT **                            STEP1.STEP1       
__   IEFBR14   ** LPA RESIDENT **                            STEP1.STEP2       
******************************* Bottom of data ********************************
This shows the programs that the JCL calls and from which library they are called. Again, you may select any line to edit the JCL line that refers to the program. Shifting to the right will show a continuation of this display, showing the proc from which the program was called.

Shifting the display to the right again will show this next screen:

                          Job Navigator: Procedures            Row 1 to 1 of 1 
Command ===>                                                  Scroll ===> CSR  
                                                                               
Job 'MA133.TSO.SAMPLIB(SAMPJOB)'                                               
     Proc      Library                                       Step              
__   SAMPPROC  MA133.TSO.SAMPLIB                             STEP1             
******************************* Bottom of data ********************************
This shows the procedures that are called from this JCL. Note that due to a bug in JCLCheck™ that I discovered and reported while I was building this application, only the last occurance of a proc will show in this report. This bug was apparently in the code for years, if not decades. Funny eh? Shifting this display to the right will show whether or not the proc was called from another proc (ie nested).

Shifting the display to the right again will show this next screen:

                           Job Navigator: Messages             Row 1 to 1 of 1 
Command ===>                                                  Scroll ===> CSR  
                                                                               
Job 'MA133.TSO.SAMPLIB(SAMPJOB)'                                               
     Message   Text                                                            
__   CAY6079E  DATA SET 'BAD.DATA.SET' SPECIFIED AS OLD OR SHR, BUT CANNOT BE  
******************************* Bottom of data ********************************
These are the JCLCheck™ error messages produced from the job, if any. Again, you can select the error message and it will take you to the exact line in the JCL that produced the error. Shifting to the right shows a continuation of the error messages.

Shifting the display to the right again will show this next screen:

                             Job Navigator: Print              Row 1 to 2 of 2 
Command ===>                                                  Scroll ===> CSR  
                                                                               
Job 'MA133.TSO.SAMPLIB(SAMPJOB)'                                               
     DD Name   C  Form  Writer    Dest      In proc          Step              
__   REPORT1   C        WTR1                SAMPPROC         STEP1.STEP1       
__   REPORT2   D        WTR2      R1        SAMPPROC         STEP1.STEP1       
******************************* Bottom of data ********************************
This summarizes the reports that the job produces, their class, form, writer, and dest. As usual, you can select these to take you to the sysout statement that contains the report line.


This job navigator application may help to increase your productivity if you maintain lots of complex JCL. If most of your JCL is relatively simple, the productivity gains are not as marked. In any case, if you use it, I hope you enjoy it!


Return to the utilities page.